From 221958bccb56642ae654d0a27eb2b27a17013700 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Thu, 1 Aug 2024 08:03:23 +0200 Subject: [PATCH 01/90] fix: bump node dependencies and cleanup (#4020) - migrate to yarn4 - fix duplicate dependencies in lock file - upgrade all possible upgrade - octokit/rest and octokit/auth-app both break updates see #3966 Tested with deployment of multi runner example --- .github/dependabot.yml | 5 +- lambdas/.gitignore | 11 +- lambdas/.yarn/releases/yarn-4.3.1.cjs | 894 + lambdas/.yarnrc.yml | 3 + .../functions/ami-housekeeper/package.json | 42 +- lambdas/functions/control-plane/package.json | 45 +- .../control-plane/src/gh-auth/gh-auth.ts | 4 +- .../functions/gh-agent-syncer/package.json | 40 +- .../termination-watcher/package.json | 40 +- lambdas/functions/webhook/package.json | 33 +- lambdas/libs/aws-powertools-util/package.json | 31 +- lambdas/libs/aws-ssm-util/package.json | 31 +- lambdas/package.json | 23 +- lambdas/yarn.lock | 19406 +++++++++------- 14 files changed, 12254 insertions(+), 8354 deletions(-) create mode 100755 lambdas/.yarn/releases/yarn-4.3.1.cjs create mode 100644 lambdas/.yarnrc.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7d8de4ff6a..7f1b848a21 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -34,9 +34,10 @@ updates: update-types: ["version-update:semver-major"] - dependency-name: "@middy/core" update-types: ["version-update:semver-major"] - - dependency-name: "@@octokit/*" + - dependency-name: "@octokit/*" update-types: ["version-update:semver-major"] - - dependency-name: "@@octokit/rest" + - dependency-name: "@octokit/rest" + - dependency-name: "@octokit/auth-app" - dependency-name: "eslint" update-types: ["version-update:semver-major"] commit-message: diff --git a/lambdas/.gitignore b/lambdas/.gitignore index b2e8d65c37..006fafb6a9 100644 --- a/lambdas/.gitignore +++ b/lambdas/.gitignore @@ -8,4 +8,13 @@ dist/ !/yarn.lock -.nx/cache \ No newline at end of file +.nx/cache +.nx/workspace-data + +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/lambdas/.yarn/releases/yarn-4.3.1.cjs b/lambdas/.yarn/releases/yarn-4.3.1.cjs new file mode 100755 index 0000000000..270158ae3b --- /dev/null +++ b/lambdas/.yarn/releases/yarn-4.3.1.cjs @@ -0,0 +1,894 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var $3e=Object.create;var NF=Object.defineProperty;var e_e=Object.getOwnPropertyDescriptor;var t_e=Object.getOwnPropertyNames;var r_e=Object.getPrototypeOf,n_e=Object.prototype.hasOwnProperty;var ve=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var Et=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),zt=(t,e)=>{for(var r in e)NF(t,r,{get:e[r],enumerable:!0})},i_e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of t_e(e))!n_e.call(t,a)&&a!==r&&NF(t,a,{get:()=>e[a],enumerable:!(o=e_e(e,a))||o.enumerable});return t};var Ze=(t,e,r)=>(r=t!=null?$3e(r_e(t)):{},i_e(e||!t||!t.__esModule?NF(r,"default",{value:t,enumerable:!0}):r,t));var vi={};zt(vi,{SAFE_TIME:()=>x7,S_IFDIR:()=>IP,S_IFLNK:()=>BP,S_IFMT:()=>Mu,S_IFREG:()=>_w});var Mu,IP,_w,BP,x7,k7=Et(()=>{Mu=61440,IP=16384,_w=32768,BP=40960,x7=456789e3});var nr={};zt(nr,{EBADF:()=>wo,EBUSY:()=>s_e,EEXIST:()=>A_e,EINVAL:()=>a_e,EISDIR:()=>u_e,ENOENT:()=>l_e,ENOSYS:()=>o_e,ENOTDIR:()=>c_e,ENOTEMPTY:()=>p_e,EOPNOTSUPP:()=>h_e,EROFS:()=>f_e,ERR_DIR_CLOSED:()=>OF});function Ll(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function s_e(t){return Ll("EBUSY",t)}function o_e(t,e){return Ll("ENOSYS",`${t}, ${e}`)}function a_e(t){return Ll("EINVAL",`invalid argument, ${t}`)}function wo(t){return Ll("EBADF",`bad file descriptor, ${t}`)}function l_e(t){return Ll("ENOENT",`no such file or directory, ${t}`)}function c_e(t){return Ll("ENOTDIR",`not a directory, ${t}`)}function u_e(t){return Ll("EISDIR",`illegal operation on a directory, ${t}`)}function A_e(t){return Ll("EEXIST",`file already exists, ${t}`)}function f_e(t){return Ll("EROFS",`read-only filesystem, ${t}`)}function p_e(t){return Ll("ENOTEMPTY",`directory not empty, ${t}`)}function h_e(t){return Ll("EOPNOTSUPP",`operation not supported, ${t}`)}function OF(){return Ll("ERR_DIR_CLOSED","Directory handle was closed")}var vP=Et(()=>{});var Ea={};zt(Ea,{BigIntStatsEntry:()=>ey,DEFAULT_MODE:()=>_F,DirEntry:()=>MF,StatEntry:()=>$m,areStatsEqual:()=>HF,clearStats:()=>PP,convertToBigIntStats:()=>d_e,makeDefaultStats:()=>Q7,makeEmptyStats:()=>g_e});function Q7(){return new $m}function g_e(){return PP(Q7())}function PP(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):UF.types.isDate(r)&&(t[e]=new Date(0))}return t}function d_e(t){let e=new ey;for(let r in t)if(Object.hasOwn(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):UF.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function HF(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var UF,_F,MF,$m,ey,qF=Et(()=>{UF=Ze(ve("util")),_F=33188,MF=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},$m=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=_F;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ey=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(_F);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function w_e(t){let e,r;if(e=t.match(E_e))t=e[1];else if(r=t.match(C_e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function I_e(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(m_e))?t=`/${e[1]}`:(r=t.match(y_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function DP(t,e){return t===ue?F7(e):GF(e)}var Hw,Bt,dr,ue,z,R7,m_e,y_e,E_e,C_e,GF,F7,Ca=Et(()=>{Hw=Ze(ve("path")),Bt={root:"/",dot:".",parent:".."},dr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},ue=Object.create(Hw.default),z=Object.create(Hw.default.posix);ue.cwd=()=>process.cwd();z.cwd=process.platform==="win32"?()=>GF(process.cwd()):process.cwd;process.platform==="win32"&&(z.resolve=(...t)=>t.length>0&&z.isAbsolute(t[0])?Hw.default.posix.resolve(...t):Hw.default.posix.resolve(z.cwd(),...t));R7=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};ue.contains=(t,e)=>R7(ue,t,e);z.contains=(t,e)=>R7(z,t,e);m_e=/^([a-zA-Z]:.*)$/,y_e=/^\/\/(\.\/)?(.*)$/,E_e=/^\/([a-zA-Z]:.*)$/,C_e=/^\/unc\/(\.dot\/)?(.*)$/;GF=process.platform==="win32"?I_e:t=>t,F7=process.platform==="win32"?w_e:t=>t;ue.fromPortablePath=F7;ue.toPortablePath=GF});async function SP(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function T7(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:Mg,mtime:Mg}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await jF(A,p,t,n,r,u,{...a,didParentExist:!0});for(let I of A)await I();await Promise.all(p.map(I=>I()))}async function jF(t,e,r,o,a,n,u){let A=u.didParentExist?await L7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=u.stableTime?{atime:Mg,mtime:Mg}:p,I;switch(!0){case p.isDirectory():I=await v_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():I=await S_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():I=await b_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(u.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((I||A?.mtime?.getTime()!==E.getTime()||A?.atime?.getTime()!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,E)),I=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),I=!0)),I}async function L7(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function v_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let E=await n.readdirPromise(u),I=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of E.sort())await jF(t,e,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),I)&&(h=!0);else(await Promise.all(E.map(async x=>{await jF(t,e,r,r.pathUtils.join(o,x),n,n.pathUtils.join(u,x),I)}))).some(x=>x)&&(h=!0);return h}async function P_e(t,e,r,o,a,n,u,A,p,h){let E=await n.checksumFilePromise(u,{algorithm:"sha1"}),I=420,v=A.mode&511,x=`${E}${v!==I?v.toString(8):""}`,C=r.pathUtils.join(h.indexPath,E.slice(0,2),`${x}.dat`),F;(ce=>(ce[ce.Lock=0]="Lock",ce[ce.Rename=1]="Rename"))(F||={});let N=1,U=await L7(r,C);if(a){let ae=U&&a.dev===U.dev&&a.ino===U.ino,le=U?.mtimeMs!==B_e;if(ae&&le&&h.autoRepair&&(N=0,U=null),!ae)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let J=!U&&N===1?`${C}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,te=!1;return t.push(async()=>{if(!U&&(N===0&&await r.lockPromise(C,async()=>{let ae=await n.readFilePromise(u);await r.writeFilePromise(C,ae)}),N===1&&J)){let ae=await n.readFilePromise(u);await r.writeFilePromise(J,ae);try{await r.linkPromise(J,C)}catch(le){if(le.code==="EEXIST")te=!0,await r.unlinkPromise(J);else throw le}}a||await r.linkPromise(C,o)}),e.push(async()=>{U||(await r.lutimesPromise(C,Mg,Mg),v!==I&&await r.chmodPromise(C,v)),J&&!te&&await r.unlinkPromise(J)}),!1}async function D_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function S_e(t,e,r,o,a,n,u,A,p){return p.linkStrategy?.type==="HardlinkFromIndex"?P_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):D_e(t,e,r,o,a,n,u,A,p)}async function b_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(DP(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Mg,B_e,YF=Et(()=>{Ca();Mg=new Date(456789e3*1e3),B_e=Mg.getTime()});function bP(t,e,r,o){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let u=t.pathUtils.join(e,n);return Object.assign(t.statSync(u),{name:n,path:void 0})};return new qw(e,a,o)}var qw,N7=Et(()=>{vP();qw=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw OF()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function O7(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var M7,ty,U7=Et(()=>{M7=ve("events");qF();ty=class extends M7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new ty(r,o,a);return n.start(),n}start(){O7(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){O7(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new ey:new $m;return PP(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;HF(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function ry(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=xP.get(t);typeof p>"u"&&xP.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=ty.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function Ug(t,e,r){let o=xP.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function _g(t){let e=xP.get(t);if(!(typeof e>"u"))for(let r of e.keys())Ug(t,r)}var xP,WF=Et(()=>{U7();xP=new WeakMap});function x_e(t){let e=t.match(/\r?\n/g);if(e===null)return H7.EOL;let r=e.filter(a=>a===`\r +`).length,o=e.length-r;return r>o?`\r +`:` +`}function Hg(t,e){return e.replace(/\r?\n/g,x_e(t))}var _7,H7,gf,Uu,qg=Et(()=>{_7=ve("crypto"),H7=ve("os");YF();Ca();gf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,_7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;nsetTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await T7(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(DP(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?Hg(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?Hg(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r,{compact:o=!1}={}){let a=o?0:2;return await this.writeFilePromise(e,`${JSON.stringify(r,null,a)} +`)}writeJsonSync(e,r,{compact:o=!1}={}){let a=o?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)} +`)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},Uu=class extends gf{constructor(){super(z)}}});var bs,df=Et(()=>{qg();bs=class extends gf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var _u,q7=Et(()=>{df();_u=class extends bs{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});function G7(t){let e=t;return typeof t.path=="string"&&(e.path=ue.toPortablePath(t.path)),e}var j7,Tn,Gg=Et(()=>{j7=Ze(ve("fs"));qg();Ca();Tn=class extends Uu{constructor(r=j7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return Bt.root}resolve(r){return z.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(ue.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(ue.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>{let n=a;return Object.defineProperty(n,"path",{value:r,configurable:!0,writable:!0}),n})}opendirSync(r,o){let n=typeof o<"u"?this.realFs.opendirSync(ue.fromPortablePath(r),o):this.realFs.opendirSync(ue.fromPortablePath(r));return Object.defineProperty(n,"path",{value:r,configurable:!0,writable:!0}),n}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,E)=>{h?p(h):A(E)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(ue.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}realpathSync(r){return ue.toPortablePath(this.realFs.realpathSync(ue.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(ue.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(ue.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(ue.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(ue.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(ue.fromPortablePath(r),o):this.realFs.statSync(ue.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(ue.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(ue.fromPortablePath(r),o):this.realFs.lstatSync(ue.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(ue.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(ue.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(ue.fromPortablePath(r),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(ue.fromPortablePath(r),ue.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(ue.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(ue.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(ue.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(ue.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(ue.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(ue.fromPortablePath(r),o)}async rmPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rm(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rm(ue.fromPortablePath(r),this.makeCallback(a,n))})}rmSync(r,o){return this.realFs.rmSync(ue.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?ue.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?ue.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o?o.recursive&&process.platform==="win32"?o.withFileTypes?this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(u=>a(u.map(G7)),n)):this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(u=>a(u.map(ue.toPortablePath)),n)):this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.readdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}readdirSync(r,o){return o?o.recursive&&process.platform==="win32"?o.withFileTypes?this.realFs.readdirSync(ue.fromPortablePath(r),o).map(G7):this.realFs.readdirSync(ue.fromPortablePath(r),o).map(ue.toPortablePath):this.realFs.readdirSync(ue.fromPortablePath(r),o):this.realFs.readdirSync(ue.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(ue.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}readlinkSync(r){return ue.toPortablePath(this.realFs.readlinkSync(ue.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(ue.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(ue.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(ue.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(ue.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var gn,Y7=Et(()=>{Gg();df();Ca();gn=class extends bs{constructor(r,{baseFs:o=new Tn}={}){super(z);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?z.normalize(r):this.baseFs.resolve(z.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var W7,Hu,K7=Et(()=>{Gg();df();Ca();W7=Bt.root,Hu=class extends bs{constructor(r,{baseFs:o=new Tn}={}){super(z);this.target=this.pathUtils.resolve(Bt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Bt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(W7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(W7,this.pathUtils.relative(this.target,r))}}});var ny,z7=Et(()=>{df();ny=class extends bs{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var jg,wa,qp,J7=Et(()=>{jg=ve("fs");qg();Gg();WF();vP();Ca();wa=4278190080,qp=class extends Uu{constructor({baseFs:r=new Tn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=jg.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:I}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=E,this.factorySync=I,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(_g(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(_g(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&wa)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&wa)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&wa)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&wa)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&wa)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw wo("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&wa)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw wo("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=ue.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&wa)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&wa)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&wa)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&wa)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&wa)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw wo("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&wa)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw wo("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&jg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&jg.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&jg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&jg.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async rmPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmPromise(r,o),async(a,{subPath:n})=>await a.rmPromise(n,o))}rmSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,o),(a,{subPath:n})=>a.rmSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&wa)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&wa)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>ry(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>Ug(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&jg.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(Bt.root,r.substring(o.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[u,{childFs:A,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||A.hasOpenFileHandles?.())){if(o>=p){A.saveAndClose?.(),this.mountInstances.delete(u),n-=1;continue}else if(r===null||n<=0){a=p;break}A.saveAndClose?.(),this.mountInstances.delete(u),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await o(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await o(a)}finally{a.saveAndClose?.()}}}getMountSync(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,o(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return o(a)}finally{a.saveAndClose?.()}}}}});var Zt,KF,Gw,V7=Et(()=>{qg();Ca();Zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),KF=class extends gf{constructor(){super(z)}getExtractHint(){throw Zt()}getRealPath(){throw Zt()}resolve(){throw Zt()}async openPromise(){throw Zt()}openSync(){throw Zt()}async opendirPromise(){throw Zt()}opendirSync(){throw Zt()}async readPromise(){throw Zt()}readSync(){throw Zt()}async writePromise(){throw Zt()}writeSync(){throw Zt()}async closePromise(){throw Zt()}closeSync(){throw Zt()}createWriteStream(){throw Zt()}createReadStream(){throw Zt()}async realpathPromise(){throw Zt()}realpathSync(){throw Zt()}async readdirPromise(){throw Zt()}readdirSync(){throw Zt()}async existsPromise(e){throw Zt()}existsSync(e){throw Zt()}async accessPromise(){throw Zt()}accessSync(){throw Zt()}async statPromise(){throw Zt()}statSync(){throw Zt()}async fstatPromise(e){throw Zt()}fstatSync(e){throw Zt()}async lstatPromise(e){throw Zt()}lstatSync(e){throw Zt()}async fchmodPromise(){throw Zt()}fchmodSync(){throw Zt()}async chmodPromise(){throw Zt()}chmodSync(){throw Zt()}async fchownPromise(){throw Zt()}fchownSync(){throw Zt()}async chownPromise(){throw Zt()}chownSync(){throw Zt()}async mkdirPromise(){throw Zt()}mkdirSync(){throw Zt()}async rmdirPromise(){throw Zt()}rmdirSync(){throw Zt()}async rmPromise(){throw Zt()}rmSync(){throw Zt()}async linkPromise(){throw Zt()}linkSync(){throw Zt()}async symlinkPromise(){throw Zt()}symlinkSync(){throw Zt()}async renamePromise(){throw Zt()}renameSync(){throw Zt()}async copyFilePromise(){throw Zt()}copyFileSync(){throw Zt()}async appendFilePromise(){throw Zt()}appendFileSync(){throw Zt()}async writeFilePromise(){throw Zt()}writeFileSync(){throw Zt()}async unlinkPromise(){throw Zt()}unlinkSync(){throw Zt()}async utimesPromise(){throw Zt()}utimesSync(){throw Zt()}async lutimesPromise(){throw Zt()}lutimesSync(){throw Zt()}async readFilePromise(){throw Zt()}readFileSync(){throw Zt()}async readlinkPromise(){throw Zt()}readlinkSync(){throw Zt()}async truncatePromise(){throw Zt()}truncateSync(){throw Zt()}async ftruncatePromise(e,r){throw Zt()}ftruncateSync(e,r){throw Zt()}watch(){throw Zt()}watchFile(){throw Zt()}unwatchFile(){throw Zt()}},Gw=KF;Gw.instance=new KF});var Gp,X7=Et(()=>{df();Ca();Gp=class extends bs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return ue.fromPortablePath(r)}mapToBase(r){return ue.toPortablePath(r)}}});var k_e,zF,Q_e,mi,Z7=Et(()=>{Gg();df();Ca();k_e=/^[0-9]+$/,zF=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,Q_e=/^([^/]+-)?[a-f0-9]+$/,mi=class extends bs{constructor({baseFs:r=new Tn}={}){super(z);this.baseFs=r}static makeVirtualPath(r,o,a){if(z.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!z.basename(o).match(Q_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=z.relative(z.dirname(r),a).split("/"),A=0;for(;A{JF=Ze(ve("buffer")),$7=ve("url"),eY=ve("util");df();Ca();kP=class extends bs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof URL)return(0,$7.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(!R_e(r,o))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return o}throw new Error(`Unsupported path type: ${(0,eY.inspect)(r)}`)}}});var rY,Io,mf,jp,QP,RP,iy,Lc,Nc,F_e,T_e,L_e,N_e,jw,nY=Et(()=>{rY=ve("readline"),Io=Symbol("kBaseFs"),mf=Symbol("kFd"),jp=Symbol("kClosePromise"),QP=Symbol("kCloseResolve"),RP=Symbol("kCloseReject"),iy=Symbol("kRefs"),Lc=Symbol("kRef"),Nc=Symbol("kUnref"),jw=class{constructor(e,r){this[F_e]=1;this[T_e]=void 0;this[L_e]=void 0;this[N_e]=void 0;this[Io]=r,this[mf]=e}get fd(){return this[mf]}async appendFile(e,r){try{this[Lc](this.appendFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;return await this[Io].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Nc]()}}async chown(e,r){try{return this[Lc](this.chown),await this[Io].fchownPromise(this.fd,e,r)}finally{this[Nc]()}}async chmod(e){try{return this[Lc](this.chmod),await this[Io].fchmodPromise(this.fd,e)}finally{this[Nc]()}}createReadStream(e){return this[Io].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Io].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[Lc](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??={},n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??=0,o??=0,o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Io].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Nc]()}}async readFile(e){try{this[Lc](this.readFile);let r=(typeof e=="string"?e:e?.encoding)??void 0;return await this[Io].readFilePromise(this.fd,r)}finally{this[Nc]()}}readLines(e){return(0,rY.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Lc](this.stat),await this[Io].fstatPromise(this.fd,e)}finally{this[Nc]()}}async truncate(e){try{return this[Lc](this.truncate),await this[Io].ftruncatePromise(this.fd,e)}finally{this[Nc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Lc](this.writeFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;await this[Io].writeFilePromise(this.fd,e,o)}finally{this[Nc]()}}async write(...e){try{if(this[Lc](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Nc]()}}async writev(e,r){try{this[Lc](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Nc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[mf]===-1)return Promise.resolve();if(this[jp])return this[jp];if(this[iy]--,this[iy]===0){let e=this[mf];this[mf]=-1,this[jp]=this[Io].closePromise(e).finally(()=>{this[jp]=void 0})}else this[jp]=new Promise((e,r)=>{this[QP]=e,this[RP]=r}).finally(()=>{this[jp]=void 0,this[RP]=void 0,this[QP]=void 0});return this[jp]}[(Io,mf,F_e=iy,T_e=jp,L_e=QP,N_e=RP,Lc)](e){if(this[mf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[iy]++}[Nc](){if(this[iy]--,this[iy]===0){let e=this[mf];this[mf]=-1,this[Io].closePromise(e).then(this[QP],this[RP])}}}});function Yw(t,e){e=new kP(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof u?.[sy.promisify.custom]<"u"&&(n[sy.promisify.custom]=u[sy.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let E={};o.length<3?h=o[1]:(E=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=E}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let o of iY){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of O_e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of iY){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof jw?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new jw(n,e)})}t.read[sy.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[sy.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function FP(t,e){let r=Object.create(t);return Yw(r,e),r}var sy,O_e,iY,sY=Et(()=>{sy=ve("util");tY();nY();O_e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","rmSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),iY=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","rmPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function oY(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function aY(){if(VF)return VF;let t=ue.toPortablePath(lY.default.tmpdir()),e=oe.realpathSync(t);return process.once("exit",()=>{oe.rmtempSync()}),VF={tmpdir:t,realTmpdir:e}}var lY,Oc,VF,oe,cY=Et(()=>{lY=Ze(ve("os"));Gg();Ca();Oc=new Set,VF=null;oe=Object.assign(new Tn,{detachTemp(t){Oc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=aY();for(;;){let o=oY("xfs-");try{this.mkdirSync(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Oc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Oc.has(a)){Oc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=aY();for(;;){let o=oY("xfs-");try{await this.mkdirPromise(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Oc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Oc.has(a)){Oc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Oc.values()).map(async t=>{try{await oe.removePromise(t,{maxRetries:0}),Oc.delete(t)}catch{}}))},rmtempSync(){for(let t of Oc)try{oe.removeSync(t),Oc.delete(t)}catch{}}})});var Ww={};zt(Ww,{AliasFS:()=>_u,BasePortableFakeFS:()=>Uu,CustomDir:()=>qw,CwdFS:()=>gn,FakeFS:()=>gf,Filename:()=>dr,JailFS:()=>Hu,LazyFS:()=>ny,MountFS:()=>qp,NoFS:()=>Gw,NodeFS:()=>Tn,PortablePath:()=>Bt,PosixFS:()=>Gp,ProxiedFS:()=>bs,VirtualFS:()=>mi,constants:()=>vi,errors:()=>nr,extendFs:()=>FP,normalizeLineEndings:()=>Hg,npath:()=>ue,opendir:()=>bP,patchFs:()=>Yw,ppath:()=>z,setupCopyIndex:()=>SP,statUtils:()=>Ea,unwatchAllFiles:()=>_g,unwatchFile:()=>Ug,watchFile:()=>ry,xfs:()=>oe});var Dt=Et(()=>{k7();vP();qF();YF();N7();WF();qg();Ca();Ca();q7();qg();Y7();K7();z7();J7();V7();Gg();X7();df();Z7();sY();cY()});var hY=_((cbt,pY)=>{pY.exports=fY;fY.sync=U_e;var uY=ve("fs");function M_e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o{yY.exports=dY;dY.sync=__e;var gY=ve("fs");function dY(t,e,r){gY.stat(t,function(o,a){r(o,o?!1:mY(a,e))})}function __e(t,e){return mY(gY.statSync(t),e)}function mY(t,e){return t.isFile()&&H_e(t,e)}function H_e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=A|p,I=r&h||r&p&&a===u||r&A&&o===n||r&E&&n===0;return I}});var wY=_((fbt,CY)=>{var Abt=ve("fs"),TP;process.platform==="win32"||global.TESTING_WINDOWS?TP=hY():TP=EY();CY.exports=XF;XF.sync=q_e;function XF(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){XF(t,e||{},function(n,u){n?a(n):o(u)})})}TP(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function q_e(t,e){try{return TP.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var bY=_((pbt,SY)=>{var oy=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",IY=ve("path"),G_e=oy?";":":",BY=wY(),vY=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),PY=(t,e)=>{let r=e.colon||G_e,o=t.match(/\//)||oy&&t.match(/\\/)?[""]:[...oy?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=oy?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=oy?a.split(r):[""];return oy&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},DY=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=PY(t,e),u=[],A=h=>new Promise((E,I)=>{if(h===o.length)return e.all&&u.length?E(u):I(vY(t));let v=o[h],x=/^".*"$/.test(v)?v.slice(1,-1):v,C=IY.join(x,t),F=!x&&/^\.[\\\/]/.test(t)?t.slice(0,2)+C:C;E(p(F,h,0))}),p=(h,E,I)=>new Promise((v,x)=>{if(I===a.length)return v(A(E+1));let C=a[I];BY(h+C,{pathExt:n},(F,N)=>{if(!F&&N)if(e.all)u.push(h+C);else return v(h+C);return v(p(h,E,I+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},j_e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=PY(t,e),n=[];for(let u=0;u{"use strict";var xY=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};ZF.exports=xY;ZF.exports.default=xY});var TY=_((gbt,FY)=>{"use strict";var QY=ve("path"),Y_e=bY(),W_e=kY();function RY(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=Y_e.sync(t.command,{path:r[W_e({env:r})],pathExt:e?QY.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=QY.resolve(a?t.options.cwd:"",u)),u}function K_e(t){return RY(t)||RY(t,!0)}FY.exports=K_e});var LY=_((dbt,eT)=>{"use strict";var $F=/([()\][%!^"`<>&|;, *?])/g;function z_e(t){return t=t.replace($F,"^$1"),t}function J_e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace($F,"^$1"),e&&(t=t.replace($F,"^$1")),t}eT.exports.command=z_e;eT.exports.argument=J_e});var OY=_((mbt,NY)=>{"use strict";NY.exports=/^#!(.*)/});var UY=_((ybt,MY)=>{"use strict";var V_e=OY();MY.exports=(t="")=>{let e=t.match(V_e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var HY=_((Ebt,_Y)=>{"use strict";var tT=ve("fs"),X_e=UY();function Z_e(t){let r=Buffer.alloc(150),o;try{o=tT.openSync(t,"r"),tT.readSync(o,r,0,150,0),tT.closeSync(o)}catch{}return X_e(r.toString())}_Y.exports=Z_e});var YY=_((Cbt,jY)=>{"use strict";var $_e=ve("path"),qY=TY(),GY=LY(),e8e=HY(),t8e=process.platform==="win32",r8e=/\.(?:com|exe)$/i,n8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function i8e(t){t.file=qY(t);let e=t.file&&e8e(t.file);return e?(t.args.unshift(t.file),t.command=e,qY(t)):t.file}function s8e(t){if(!t8e)return t;let e=i8e(t),r=!r8e.test(e);if(t.options.forceShell||r){let o=n8e.test(e);t.command=$_e.normalize(t.command),t.command=GY.command(t.command),t.args=t.args.map(n=>GY.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function o8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:s8e(o)}jY.exports=o8e});var zY=_((wbt,KY)=>{"use strict";var rT=process.platform==="win32";function nT(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function a8e(t,e){if(!rT)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=WY(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function WY(t,e){return rT&&t===1&&!e.file?nT(e.original,"spawn"):null}function l8e(t,e){return rT&&t===1&&!e.file?nT(e.original,"spawnSync"):null}KY.exports={hookChildProcess:a8e,verifyENOENT:WY,verifyENOENTSync:l8e,notFoundError:nT}});var oT=_((Ibt,ay)=>{"use strict";var JY=ve("child_process"),iT=YY(),sT=zY();function VY(t,e,r){let o=iT(t,e,r),a=JY.spawn(o.command,o.args,o.options);return sT.hookChildProcess(a,o),a}function c8e(t,e,r){let o=iT(t,e,r),a=JY.spawnSync(o.command,o.args,o.options);return a.error=a.error||sT.verifyENOENTSync(a.status,o),a}ay.exports=VY;ay.exports.spawn=VY;ay.exports.sync=c8e;ay.exports._parse=iT;ay.exports._enoent=sT});var ZY=_((Bbt,XY)=>{"use strict";function u8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Yg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Yg)}u8e(Yg,Error);Yg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I>",S=Br(">>",!1),y=">&",R=Br(">&",!1),V=">",X=Br(">",!1),$="<<<",ie=Br("<<<",!1),be="<&",Fe=Br("<&",!1),at="<",dt=Br("<",!1),Gt=function(L){return{type:"argument",segments:[].concat(...L)}},tr=function(L){return L},bt="$'",ln=Br("$'",!1),kr="'",mr=Br("'",!1),br=function(L){return[{type:"text",text:L}]},Kr='""',Kn=Br('""',!1),Os=function(){return{type:"text",text:""}},Ti='"',gs=Br('"',!1),no=function(L){return L},Si=function(L){return{type:"arithmetic",arithmetic:L,quoted:!0}},Ms=function(L){return{type:"shell",shell:L,quoted:!0}},io=function(L){return{type:"variable",...L,quoted:!0}},uc=function(L){return{type:"text",text:L}},uu=function(L){return{type:"arithmetic",arithmetic:L,quoted:!1}},cp=function(L){return{type:"shell",shell:L,quoted:!1}},up=function(L){return{type:"variable",...L,quoted:!1}},Us=function(L){return{type:"glob",pattern:L}},Pn=/^[^']/,so=Is(["'"],!0,!1),_s=function(L){return L.join("")},yl=/^[^$"]/,El=Is(["$",'"'],!0,!1),oo=`\\ +`,zn=Br(`\\ +`,!1),On=function(){return""},Li="\\",Mn=Br("\\",!1),_i=/^[\\$"`]/,ir=Is(["\\","$",'"',"`"],!1,!1),Oe=function(L){return L},ii="\\a",Ua=Br("\\a",!1),hr=function(){return"a"},Ac="\\b",Au=Br("\\b",!1),fc=function(){return"\b"},Cl=/^[Ee]/,PA=Is(["E","e"],!1,!1),fu=function(){return"\x1B"},Ie="\\f",Tt=Br("\\f",!1),pc=function(){return"\f"},Hi="\\n",pu=Br("\\n",!1),Yt=function(){return` +`},wl="\\r",DA=Br("\\r",!1),Ap=function(){return"\r"},hc="\\t",SA=Br("\\t",!1),Qn=function(){return" "},hi="\\v",gc=Br("\\v",!1),bA=function(){return"\v"},sa=/^[\\'"?]/,Ni=Is(["\\","'",'"',"?"],!1,!1),Uo=function(L){return String.fromCharCode(parseInt(L,16))},Xe="\\x",ao=Br("\\x",!1),dc="\\u",hu=Br("\\u",!1),qi="\\U",gu=Br("\\U",!1),xA=function(L){return String.fromCodePoint(parseInt(L,16))},Ha=/^[0-7]/,mc=Is([["0","7"]],!1,!1),ds=/^[0-9a-fA-f]/,Ht=Is([["0","9"],["a","f"],["A","f"]],!1,!1),Rn=Ag(),Ci="{}",oa=Br("{}",!1),lo=function(){return"{}"},Hs="-",aa=Br("-",!1),la="+",_o=Br("+",!1),wi=".",ms=Br(".",!1),ys=function(L,K,re){return{type:"number",value:(L==="-"?-1:1)*parseFloat(K.join("")+"."+re.join(""))}},Es=function(L,K){return{type:"number",value:(L==="-"?-1:1)*parseInt(K.join(""))}},qs=function(L){return{type:"variable",...L}},Un=function(L){return{type:"variable",name:L}},Dn=function(L){return L},Cs="*",We=Br("*",!1),tt="/",It=Br("/",!1),or=function(L,K,re){return{type:K==="*"?"multiplication":"division",right:re}},ee=function(L,K){return K.reduce((re,he)=>({left:re,...he}),L)},ye=function(L,K,re){return{type:K==="+"?"addition":"subtraction",right:re}},Ne="$((",ft=Br("$((",!1),pt="))",Lt=Br("))",!1),rr=function(L){return L},$r="$(",Gi=Br("$(",!1),ts=function(L){return L},bi="${",Ho=Br("${",!1),kA=":-",QA=Br(":-",!1),fp=function(L,K){return{name:L,defaultValue:K}},sg=":-}",du=Br(":-}",!1),og=function(L){return{name:L,defaultValue:[]}},mu=":+",co=Br(":+",!1),RA=function(L,K){return{name:L,alternativeValue:K}},yc=":+}",ca=Br(":+}",!1),ag=function(L){return{name:L,alternativeValue:[]}},Ec=function(L){return{name:L}},Dm="$",lg=Br("$",!1),ei=function(L){return e.isGlobPattern(L)},pp=function(L){return L},cg=/^[a-zA-Z0-9_]/,FA=Is([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Gs=function(){return ug()},yu=/^[$@*?#a-zA-Z0-9_\-]/,qa=Is(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),ji=/^[()}<>$|&; \t"']/,ua=Is(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Eu=/^[<>&; \t"']/,ws=Is(["<",">","&",";"," "," ",'"',"'"],!1,!1),Cc=/^[ \t]/,wc=Is([" "," "],!1,!1),Y=0,Pt=0,Il=[{line:1,column:1}],xi=0,Ic=[],ct=0,Cu;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function ug(){return t.substring(Pt,Y)}function dw(){return Bc(Pt,Y)}function TA(L,K){throw K=K!==void 0?K:Bc(Pt,Y),hg([pg(L)],t.substring(Pt,Y),K)}function hp(L,K){throw K=K!==void 0?K:Bc(Pt,Y),Sm(L,K)}function Br(L,K){return{type:"literal",text:L,ignoreCase:K}}function Is(L,K,re){return{type:"class",parts:L,inverted:K,ignoreCase:re}}function Ag(){return{type:"any"}}function fg(){return{type:"end"}}function pg(L){return{type:"other",description:L}}function gp(L){var K=Il[L],re;if(K)return K;for(re=L-1;!Il[re];)re--;for(K=Il[re],K={line:K.line,column:K.column};rexi&&(xi=Y,Ic=[]),Ic.push(L))}function Sm(L,K){return new Yg(L,null,null,K)}function hg(L,K,re){return new Yg(Yg.buildMessage(L,K),L,K,re)}function gg(){var L,K,re;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(re=wu(),re===r&&(re=null),re!==r?(Pt=L,K=n(re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function wu(){var L,K,re,he,Je;if(L=Y,K=Iu(),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();re!==r?(he=dg(),he!==r?(Je=bm(),Je===r&&(Je=null),Je!==r?(Pt=L,K=u(K,he,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;if(L===r)if(L=Y,K=Iu(),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();re!==r?(he=dg(),he===r&&(he=null),he!==r?(Pt=L,K=A(K,he),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;return L}function bm(){var L,K,re,he,Je;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=wu(),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=p(re),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;return L}function dg(){var L;return t.charCodeAt(Y)===59?(L=h,Y++):(L=r,ct===0&&Ct(E)),L===r&&(t.charCodeAt(Y)===38?(L=I,Y++):(L=r,ct===0&&Ct(v))),L}function Iu(){var L,K,re;return L=Y,K=Aa(),K!==r?(re=mw(),re===r&&(re=null),re!==r?(Pt=L,K=x(K,re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function mw(){var L,K,re,he,Je,mt,fr;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=xm(),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=Iu(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Pt=L,K=C(re,Je),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;return L}function xm(){var L;return t.substr(Y,2)===F?(L=F,Y+=2):(L=r,ct===0&&Ct(N)),L===r&&(t.substr(Y,2)===U?(L=U,Y+=2):(L=r,ct===0&&Ct(J))),L}function Aa(){var L,K,re;return L=Y,K=mg(),K!==r?(re=vc(),re===r&&(re=null),re!==r?(Pt=L,K=te(K,re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function vc(){var L,K,re,he,Je,mt,fr;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=Bl(),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=Aa(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Pt=L,K=ae(re,Je),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;return L}function Bl(){var L;return t.substr(Y,2)===le?(L=le,Y+=2):(L=r,ct===0&&Ct(ce)),L===r&&(t.charCodeAt(Y)===124?(L=we,Y++):(L=r,ct===0&&Ct(de))),L}function Bu(){var L,K,re,he,Je,mt;if(L=Y,K=wg(),K!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,ct===0&&Ct(Ee)),re!==r)if(he=qo(),he!==r){for(Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();Je!==r?(Pt=L,K=g(K,he),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;else Y=L,L=r;if(L===r)if(L=Y,K=wg(),K!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,ct===0&&Ct(Ee)),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=me(K),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;return L}function mg(){var L,K,re,he,Je,mt,fr,Cr,yn,oi,Oi;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(t.charCodeAt(Y)===40?(re=Ce,Y++):(re=r,ct===0&&Ct(Ae)),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=wu(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();if(mt!==r)if(t.charCodeAt(Y)===41?(fr=ne,Y++):(fr=r,ct===0&&Ct(Z)),fr!==r){for(Cr=[],yn=Qt();yn!==r;)Cr.push(yn),yn=Qt();if(Cr!==r){for(yn=[],oi=Ga();oi!==r;)yn.push(oi),oi=Ga();if(yn!==r){for(oi=[],Oi=Qt();Oi!==r;)oi.push(Oi),Oi=Qt();oi!==r?(Pt=L,K=xe(Je,yn),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;if(L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(t.charCodeAt(Y)===123?(re=Le,Y++):(re=r,ct===0&&Ct(ht)),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=wu(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();if(mt!==r)if(t.charCodeAt(Y)===125?(fr=H,Y++):(fr=r,ct===0&&Ct(rt)),fr!==r){for(Cr=[],yn=Qt();yn!==r;)Cr.push(yn),yn=Qt();if(Cr!==r){for(yn=[],oi=Ga();oi!==r;)yn.push(oi),oi=Ga();if(yn!==r){for(oi=[],Oi=Qt();Oi!==r;)oi.push(Oi),Oi=Qt();oi!==r?(Pt=L,K=Te(Je,yn),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;if(L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){for(re=[],he=Bu();he!==r;)re.push(he),he=Bu();if(re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r){if(Je=[],mt=dp(),mt!==r)for(;mt!==r;)Je.push(mt),mt=dp();else Je=r;if(Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Pt=L,K=Re(re,Je),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;if(L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){if(re=[],he=Bu(),he!==r)for(;he!==r;)re.push(he),he=Bu();else re=r;if(re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=ke(re),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}}}return L}function LA(){var L,K,re,he,Je;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){if(re=[],he=mp(),he!==r)for(;he!==r;)re.push(he),he=mp();else re=r;if(re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=Ye(re),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r;return L}function dp(){var L,K,re;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r?(re=Ga(),re!==r?(Pt=L,K=Se(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();K!==r?(re=mp(),re!==r?(Pt=L,K=Se(re),L=K):(Y=L,L=r)):(Y=L,L=r)}return L}function Ga(){var L,K,re,he,Je;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(et.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(Ue)),re===r&&(re=null),re!==r?(he=yg(),he!==r?(Je=mp(),Je!==r?(Pt=L,K=b(re,he,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function yg(){var L;return t.substr(Y,2)===w?(L=w,Y+=2):(L=r,ct===0&&Ct(S)),L===r&&(t.substr(Y,2)===y?(L=y,Y+=2):(L=r,ct===0&&Ct(R)),L===r&&(t.charCodeAt(Y)===62?(L=V,Y++):(L=r,ct===0&&Ct(X)),L===r&&(t.substr(Y,3)===$?(L=$,Y+=3):(L=r,ct===0&&Ct(ie)),L===r&&(t.substr(Y,2)===be?(L=be,Y+=2):(L=r,ct===0&&Ct(Fe)),L===r&&(t.charCodeAt(Y)===60?(L=at,Y++):(L=r,ct===0&&Ct(dt))))))),L}function mp(){var L,K,re;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(re=qo(),re!==r?(Pt=L,K=Se(re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function qo(){var L,K,re;if(L=Y,K=[],re=Bs(),re!==r)for(;re!==r;)K.push(re),re=Bs();else K=r;return K!==r&&(Pt=L,K=Gt(K)),L=K,L}function Bs(){var L,K;return L=Y,K=Ii(),K!==r&&(Pt=L,K=tr(K)),L=K,L===r&&(L=Y,K=km(),K!==r&&(Pt=L,K=tr(K)),L=K,L===r&&(L=Y,K=Qm(),K!==r&&(Pt=L,K=tr(K)),L=K,L===r&&(L=Y,K=Go(),K!==r&&(Pt=L,K=tr(K)),L=K))),L}function Ii(){var L,K,re,he;return L=Y,t.substr(Y,2)===bt?(K=bt,Y+=2):(K=r,ct===0&&Ct(ln)),K!==r?(re=cn(),re!==r?(t.charCodeAt(Y)===39?(he=kr,Y++):(he=r,ct===0&&Ct(mr)),he!==r?(Pt=L,K=br(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function km(){var L,K,re,he;return L=Y,t.charCodeAt(Y)===39?(K=kr,Y++):(K=r,ct===0&&Ct(mr)),K!==r?(re=Ep(),re!==r?(t.charCodeAt(Y)===39?(he=kr,Y++):(he=r,ct===0&&Ct(mr)),he!==r?(Pt=L,K=br(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function Qm(){var L,K,re,he;if(L=Y,t.substr(Y,2)===Kr?(K=Kr,Y+=2):(K=r,ct===0&&Ct(Kn)),K!==r&&(Pt=L,K=Os()),L=K,L===r)if(L=Y,t.charCodeAt(Y)===34?(K=Ti,Y++):(K=r,ct===0&&Ct(gs)),K!==r){for(re=[],he=NA();he!==r;)re.push(he),he=NA();re!==r?(t.charCodeAt(Y)===34?(he=Ti,Y++):(he=r,ct===0&&Ct(gs)),he!==r?(Pt=L,K=no(re),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;return L}function Go(){var L,K,re;if(L=Y,K=[],re=yp(),re!==r)for(;re!==r;)K.push(re),re=yp();else K=r;return K!==r&&(Pt=L,K=no(K)),L=K,L}function NA(){var L,K;return L=Y,K=Yr(),K!==r&&(Pt=L,K=Si(K)),L=K,L===r&&(L=Y,K=Cp(),K!==r&&(Pt=L,K=Ms(K)),L=K,L===r&&(L=Y,K=Dc(),K!==r&&(Pt=L,K=io(K)),L=K,L===r&&(L=Y,K=Eg(),K!==r&&(Pt=L,K=uc(K)),L=K))),L}function yp(){var L,K;return L=Y,K=Yr(),K!==r&&(Pt=L,K=uu(K)),L=K,L===r&&(L=Y,K=Cp(),K!==r&&(Pt=L,K=cp(K)),L=K,L===r&&(L=Y,K=Dc(),K!==r&&(Pt=L,K=up(K)),L=K,L===r&&(L=Y,K=yw(),K!==r&&(Pt=L,K=Us(K)),L=K,L===r&&(L=Y,K=pa(),K!==r&&(Pt=L,K=uc(K)),L=K)))),L}function Ep(){var L,K,re;for(L=Y,K=[],Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so));re!==r;)K.push(re),Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so));return K!==r&&(Pt=L,K=_s(K)),L=K,L}function Eg(){var L,K,re;if(L=Y,K=[],re=fa(),re===r&&(yl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(El))),re!==r)for(;re!==r;)K.push(re),re=fa(),re===r&&(yl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(El)));else K=r;return K!==r&&(Pt=L,K=_s(K)),L=K,L}function fa(){var L,K,re;return L=Y,t.substr(Y,2)===oo?(K=oo,Y+=2):(K=r,ct===0&&Ct(zn)),K!==r&&(Pt=L,K=On()),L=K,L===r&&(L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(_i.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(ir)),re!==r?(Pt=L,K=Oe(re),L=K):(Y=L,L=r)):(Y=L,L=r)),L}function cn(){var L,K,re;for(L=Y,K=[],re=uo(),re===r&&(Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so)));re!==r;)K.push(re),re=uo(),re===r&&(Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so)));return K!==r&&(Pt=L,K=_s(K)),L=K,L}function uo(){var L,K,re;return L=Y,t.substr(Y,2)===ii?(K=ii,Y+=2):(K=r,ct===0&&Ct(Ua)),K!==r&&(Pt=L,K=hr()),L=K,L===r&&(L=Y,t.substr(Y,2)===Ac?(K=Ac,Y+=2):(K=r,ct===0&&Ct(Au)),K!==r&&(Pt=L,K=fc()),L=K,L===r&&(L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(Cl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(PA)),re!==r?(Pt=L,K=fu(),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===Ie?(K=Ie,Y+=2):(K=r,ct===0&&Ct(Tt)),K!==r&&(Pt=L,K=pc()),L=K,L===r&&(L=Y,t.substr(Y,2)===Hi?(K=Hi,Y+=2):(K=r,ct===0&&Ct(pu)),K!==r&&(Pt=L,K=Yt()),L=K,L===r&&(L=Y,t.substr(Y,2)===wl?(K=wl,Y+=2):(K=r,ct===0&&Ct(DA)),K!==r&&(Pt=L,K=Ap()),L=K,L===r&&(L=Y,t.substr(Y,2)===hc?(K=hc,Y+=2):(K=r,ct===0&&Ct(SA)),K!==r&&(Pt=L,K=Qn()),L=K,L===r&&(L=Y,t.substr(Y,2)===hi?(K=hi,Y+=2):(K=r,ct===0&&Ct(gc)),K!==r&&(Pt=L,K=bA()),L=K,L===r&&(L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(sa.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(Ni)),re!==r?(Pt=L,K=Oe(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=OA()))))))))),L}function OA(){var L,K,re,he,Je,mt,fr,Cr,yn,oi,Oi,Bg;return L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(re=ja(),re!==r?(Pt=L,K=Uo(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===Xe?(K=Xe,Y+=2):(K=r,ct===0&&Ct(ao)),K!==r?(re=Y,he=Y,Je=ja(),Je!==r?(mt=si(),mt!==r?(Je=[Je,mt],he=Je):(Y=he,he=r)):(Y=he,he=r),he===r&&(he=ja()),he!==r?re=t.substring(re,Y):re=he,re!==r?(Pt=L,K=Uo(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===dc?(K=dc,Y+=2):(K=r,ct===0&&Ct(hu)),K!==r?(re=Y,he=Y,Je=si(),Je!==r?(mt=si(),mt!==r?(fr=si(),fr!==r?(Cr=si(),Cr!==r?(Je=[Je,mt,fr,Cr],he=Je):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r),he!==r?re=t.substring(re,Y):re=he,re!==r?(Pt=L,K=Uo(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===qi?(K=qi,Y+=2):(K=r,ct===0&&Ct(gu)),K!==r?(re=Y,he=Y,Je=si(),Je!==r?(mt=si(),mt!==r?(fr=si(),fr!==r?(Cr=si(),Cr!==r?(yn=si(),yn!==r?(oi=si(),oi!==r?(Oi=si(),Oi!==r?(Bg=si(),Bg!==r?(Je=[Je,mt,fr,Cr,yn,oi,Oi,Bg],he=Je):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r),he!==r?re=t.substring(re,Y):re=he,re!==r?(Pt=L,K=xA(re),L=K):(Y=L,L=r)):(Y=L,L=r)))),L}function ja(){var L;return Ha.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(mc)),L}function si(){var L;return ds.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(Ht)),L}function pa(){var L,K,re,he,Je;if(L=Y,K=[],re=Y,t.charCodeAt(Y)===92?(he=Li,Y++):(he=r,ct===0&&Ct(Mn)),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===Ci?(he=Ci,Y+=2):(he=r,ct===0&&Ct(oa)),he!==r&&(Pt=re,he=lo()),re=he,re===r&&(re=Y,he=Y,ct++,Je=Rm(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r))),re!==r)for(;re!==r;)K.push(re),re=Y,t.charCodeAt(Y)===92?(he=Li,Y++):(he=r,ct===0&&Ct(Mn)),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===Ci?(he=Ci,Y+=2):(he=r,ct===0&&Ct(oa)),he!==r&&(Pt=re,he=lo()),re=he,re===r&&(re=Y,he=Y,ct++,Je=Rm(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r)));else K=r;return K!==r&&(Pt=L,K=_s(K)),L=K,L}function Pc(){var L,K,re,he,Je,mt;if(L=Y,t.charCodeAt(Y)===45?(K=Hs,Y++):(K=r,ct===0&&Ct(aa)),K===r&&(t.charCodeAt(Y)===43?(K=la,Y++):(K=r,ct===0&&Ct(_o))),K===r&&(K=null),K!==r){if(re=[],et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue)),he!==r)for(;he!==r;)re.push(he),et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue));else re=r;if(re!==r)if(t.charCodeAt(Y)===46?(he=wi,Y++):(he=r,ct===0&&Ct(ms)),he!==r){if(Je=[],et.test(t.charAt(Y))?(mt=t.charAt(Y),Y++):(mt=r,ct===0&&Ct(Ue)),mt!==r)for(;mt!==r;)Je.push(mt),et.test(t.charAt(Y))?(mt=t.charAt(Y),Y++):(mt=r,ct===0&&Ct(Ue));else Je=r;Je!==r?(Pt=L,K=ys(K,re,Je),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;if(L===r){if(L=Y,t.charCodeAt(Y)===45?(K=Hs,Y++):(K=r,ct===0&&Ct(aa)),K===r&&(t.charCodeAt(Y)===43?(K=la,Y++):(K=r,ct===0&&Ct(_o))),K===r&&(K=null),K!==r){if(re=[],et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue)),he!==r)for(;he!==r;)re.push(he),et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue));else re=r;re!==r?(Pt=L,K=Es(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;if(L===r&&(L=Y,K=Dc(),K!==r&&(Pt=L,K=qs(K)),L=K,L===r&&(L=Y,K=Ya(),K!==r&&(Pt=L,K=Un(K)),L=K,L===r)))if(L=Y,t.charCodeAt(Y)===40?(K=Ce,Y++):(K=r,ct===0&&Ct(Ae)),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();if(re!==r)if(he=rs(),he!==r){for(Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();Je!==r?(t.charCodeAt(Y)===41?(mt=ne,Y++):(mt=r,ct===0&&Ct(Z)),mt!==r?(Pt=L,K=Dn(he),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r}return L}function vl(){var L,K,re,he,Je,mt,fr,Cr;if(L=Y,K=Pc(),K!==r){for(re=[],he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===42?(mt=Cs,Y++):(mt=r,ct===0&&Ct(We)),mt===r&&(t.charCodeAt(Y)===47?(mt=tt,Y++):(mt=r,ct===0&&Ct(It))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=Pc(),Cr!==r?(Pt=he,Je=or(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r;for(;he!==r;){for(re.push(he),he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===42?(mt=Cs,Y++):(mt=r,ct===0&&Ct(We)),mt===r&&(t.charCodeAt(Y)===47?(mt=tt,Y++):(mt=r,ct===0&&Ct(It))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=Pc(),Cr!==r?(Pt=he,Je=or(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r}re!==r?(Pt=L,K=ee(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;return L}function rs(){var L,K,re,he,Je,mt,fr,Cr;if(L=Y,K=vl(),K!==r){for(re=[],he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===43?(mt=la,Y++):(mt=r,ct===0&&Ct(_o)),mt===r&&(t.charCodeAt(Y)===45?(mt=Hs,Y++):(mt=r,ct===0&&Ct(aa))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=vl(),Cr!==r?(Pt=he,Je=ye(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r;for(;he!==r;){for(re.push(he),he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===43?(mt=la,Y++):(mt=r,ct===0&&Ct(_o)),mt===r&&(t.charCodeAt(Y)===45?(mt=Hs,Y++):(mt=r,ct===0&&Ct(aa))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=vl(),Cr!==r?(Pt=he,Je=ye(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r}re!==r?(Pt=L,K=ee(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;return L}function Yr(){var L,K,re,he,Je,mt;if(L=Y,t.substr(Y,3)===Ne?(K=Ne,Y+=3):(K=r,ct===0&&Ct(ft)),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();if(re!==r)if(he=rs(),he!==r){for(Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();Je!==r?(t.substr(Y,2)===pt?(mt=pt,Y+=2):(mt=r,ct===0&&Ct(Lt)),mt!==r?(Pt=L,K=rr(he),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;return L}function Cp(){var L,K,re,he;return L=Y,t.substr(Y,2)===$r?(K=$r,Y+=2):(K=r,ct===0&&Ct(Gi)),K!==r?(re=wu(),re!==r?(t.charCodeAt(Y)===41?(he=ne,Y++):(he=r,ct===0&&Ct(Z)),he!==r?(Pt=L,K=ts(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function Dc(){var L,K,re,he,Je,mt;return L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,2)===kA?(he=kA,Y+=2):(he=r,ct===0&&Ct(QA)),he!==r?(Je=LA(),Je!==r?(t.charCodeAt(Y)===125?(mt=H,Y++):(mt=r,ct===0&&Ct(rt)),mt!==r?(Pt=L,K=fp(re,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,3)===sg?(he=sg,Y+=3):(he=r,ct===0&&Ct(du)),he!==r?(Pt=L,K=og(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,2)===mu?(he=mu,Y+=2):(he=r,ct===0&&Ct(co)),he!==r?(Je=LA(),Je!==r?(t.charCodeAt(Y)===125?(mt=H,Y++):(mt=r,ct===0&&Ct(rt)),mt!==r?(Pt=L,K=RA(re,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,3)===yc?(he=yc,Y+=3):(he=r,ct===0&&Ct(ca)),he!==r?(Pt=L,K=ag(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.charCodeAt(Y)===125?(he=H,Y++):(he=r,ct===0&&Ct(rt)),he!==r?(Pt=L,K=Ec(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.charCodeAt(Y)===36?(K=Dm,Y++):(K=r,ct===0&&Ct(lg)),K!==r?(re=Ya(),re!==r?(Pt=L,K=Ec(re),L=K):(Y=L,L=r)):(Y=L,L=r)))))),L}function yw(){var L,K,re;return L=Y,K=Cg(),K!==r?(Pt=Y,re=ei(K),re?re=void 0:re=r,re!==r?(Pt=L,K=pp(K),L=K):(Y=L,L=r)):(Y=L,L=r),L}function Cg(){var L,K,re,he,Je;if(L=Y,K=[],re=Y,he=Y,ct++,Je=Ig(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r),re!==r)for(;re!==r;)K.push(re),re=Y,he=Y,ct++,Je=Ig(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r);else K=r;return K!==r&&(Pt=L,K=_s(K)),L=K,L}function wg(){var L,K,re;if(L=Y,K=[],cg.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(FA)),re!==r)for(;re!==r;)K.push(re),cg.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(FA));else K=r;return K!==r&&(Pt=L,K=Gs()),L=K,L}function Ya(){var L,K,re;if(L=Y,K=[],yu.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(qa)),re!==r)for(;re!==r;)K.push(re),yu.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(qa));else K=r;return K!==r&&(Pt=L,K=Gs()),L=K,L}function Rm(){var L;return ji.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(ua)),L}function Ig(){var L;return Eu.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(ws)),L}function Qt(){var L,K;if(L=[],Cc.test(t.charAt(Y))?(K=t.charAt(Y),Y++):(K=r,ct===0&&Ct(wc)),K!==r)for(;K!==r;)L.push(K),Cc.test(t.charAt(Y))?(K=t.charAt(Y),Y++):(K=r,ct===0&&Ct(wc));else L=r;return L}if(Cu=a(),Cu!==r&&Y===t.length)return Cu;throw Cu!==r&&Y!1}){try{return(0,$Y.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function ly(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${OP(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function OP(t){return`${cy(t.chain)}${t.then?` ${aT(t.then)}`:""}`}function aT(t){return`${t.type} ${OP(t.line)}`}function cy(t){return`${cT(t)}${t.then?` ${lT(t.then)}`:""}`}function lT(t){return`${t.type} ${cy(t.chain)}`}function cT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>LP(e)).join(" ")} `:""}${t.args.map(e=>uT(e)).join(" ")}`;case"subshell":return`(${ly(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Kw(e)).join(" ")}`:""}`;case"group":return`{ ${ly(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Kw(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>LP(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function LP(t){return`${t.name}=${t.args[0]?Wg(t.args[0]):""}`}function uT(t){switch(t.type){case"redirection":return Kw(t);case"argument":return Wg(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Kw(t){return`${t.subtype} ${t.args.map(e=>Wg(e)).join(" ")}`}function Wg(t){return t.segments.map(e=>AT(e)).join("")}function AT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?"''":o.match(/[()}<>$|&;"'\n\t ]/)?o.match(/['\t\p{C}]/u)?o.match(/'/)?`"${o.replace(/["$\t\p{C}]/u,p8e)}"`:`$'${o.replace(/[\t\p{C}]/u,tW)}'`:`'${o}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`$(${ly(t.shell)})`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>Wg(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>Wg(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${MP(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function MP(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(MP(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var $Y,eW,f8e,tW,p8e,rW=Et(()=>{$Y=Ze(ZY());eW=new Map([["\f","\\f"],[` +`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),f8e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(eW,([t,e])=>[t,`"$'${e}'"`])]),tW=t=>eW.get(t)??`\\x${t.charCodeAt(0).toString(16).padStart(2,"0")}`,p8e=t=>f8e.get(t)??`"$'${tW(t)}'"`});var iW=_((Obt,nW)=>{"use strict";function h8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Kg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Kg)}h8e(Kg,Error);Kg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;Ile&&(le=J,ce=[]),ce.push(Ue))}function rt(Ue,b){return new Kg(Ue,null,null,b)}function Te(Ue,b,w){return new Kg(Kg.buildMessage(Ue,b),Ue,b,w)}function Re(){var Ue,b,w,S;return Ue=J,b=ke(),b!==r?(t.charCodeAt(J)===47?(w=n,J++):(w=r,we===0&&H(u)),w!==r?(S=ke(),S!==r?(te=Ue,b=A(b,S),Ue=b):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r),Ue===r&&(Ue=J,b=ke(),b!==r&&(te=Ue,b=p(b)),Ue=b),Ue}function ke(){var Ue,b,w,S;return Ue=J,b=Ye(),b!==r?(t.charCodeAt(J)===64?(w=h,J++):(w=r,we===0&&H(E)),w!==r?(S=et(),S!==r?(te=Ue,b=I(b,S),Ue=b):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r),Ue===r&&(Ue=J,b=Ye(),b!==r&&(te=Ue,b=v(b)),Ue=b),Ue}function Ye(){var Ue,b,w,S,y;return Ue=J,t.charCodeAt(J)===64?(b=h,J++):(b=r,we===0&&H(E)),b!==r?(w=Se(),w!==r?(t.charCodeAt(J)===47?(S=n,J++):(S=r,we===0&&H(u)),S!==r?(y=Se(),y!==r?(te=Ue,b=x(),Ue=b):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r),Ue===r&&(Ue=J,b=Se(),b!==r&&(te=Ue,b=x()),Ue=b),Ue}function Se(){var Ue,b,w;if(Ue=J,b=[],C.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(F)),w!==r)for(;w!==r;)b.push(w),C.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(F));else b=r;return b!==r&&(te=Ue,b=x()),Ue=b,Ue}function et(){var Ue,b,w;if(Ue=J,b=[],N.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(U)),w!==r)for(;w!==r;)b.push(w),N.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(U));else b=r;return b!==r&&(te=Ue,b=x()),Ue=b,Ue}if(de=a(),de!==r&&J===t.length)return de;throw de!==r&&J{sW=Ze(iW())});var Jg=_((Ubt,zg)=>{"use strict";function aW(t){return typeof t>"u"||t===null}function d8e(t){return typeof t=="object"&&t!==null}function m8e(t){return Array.isArray(t)?t:aW(t)?[]:[t]}function y8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r{"use strict";function zw(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}zw.prototype=Object.create(Error.prototype);zw.prototype.constructor=zw;zw.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};lW.exports=zw});var AW=_((Hbt,uW)=>{"use strict";var cW=Jg();function fT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}fT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;ur/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),cW.repeat(" ",e)+o+A+n+` +`+cW.repeat(" ",e+this.position-a+o.length)+"^"};fT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: +`+r)),o};uW.exports=fT});var as=_((qbt,pW)=>{"use strict";var fW=uy(),w8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],I8e=["scalar","sequence","mapping"];function B8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function v8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(w8e.indexOf(r)===-1)throw new fW('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=B8e(e.styleAliases||null),I8e.indexOf(this.kind)===-1)throw new fW('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}pW.exports=v8e});var Vg=_((Gbt,gW)=>{"use strict";var hW=Jg(),HP=uy(),P8e=as();function pT(t,e,r){var o=[];return t.include.forEach(function(a){r=pT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function D8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e{"use strict";var S8e=as();dW.exports=new S8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var EW=_((Ybt,yW)=>{"use strict";var b8e=as();yW.exports=new b8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var wW=_((Wbt,CW)=>{"use strict";var x8e=as();CW.exports=new x8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var qP=_((Kbt,IW)=>{"use strict";var k8e=Vg();IW.exports=new k8e({explicit:[mW(),EW(),wW()]})});var vW=_((zbt,BW)=>{"use strict";var Q8e=as();function R8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function F8e(){return null}function T8e(t){return t===null}BW.exports=new Q8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:R8e,construct:F8e,predicate:T8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var DW=_((Jbt,PW)=>{"use strict";var L8e=as();function N8e(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function O8e(t){return t==="true"||t==="True"||t==="TRUE"}function M8e(t){return Object.prototype.toString.call(t)==="[object Boolean]"}PW.exports=new L8e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:N8e,construct:O8e,predicate:M8e,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var bW=_((Vbt,SW)=>{"use strict";var U8e=Jg(),_8e=as();function H8e(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function q8e(t){return 48<=t&&t<=55}function G8e(t){return 48<=t&&t<=57}function j8e(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var QW=_((Xbt,kW)=>{"use strict";var xW=Jg(),K8e=as(),z8e=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function J8e(t){return!(t===null||!z8e.test(t)||t[t.length-1]==="_")}function V8e(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var X8e=/^[-+]?[0-9]+e/;function Z8e(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(xW.isNegativeZero(t))return"-0.0";return r=t.toString(10),X8e.test(r)?r.replace("e",".e"):r}function $8e(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||xW.isNegativeZero(t))}kW.exports=new K8e("tag:yaml.org,2002:float",{kind:"scalar",resolve:J8e,construct:V8e,predicate:$8e,represent:Z8e,defaultStyle:"lowercase"})});var hT=_((Zbt,RW)=>{"use strict";var eHe=Vg();RW.exports=new eHe({include:[qP()],implicit:[vW(),DW(),bW(),QW()]})});var gT=_(($bt,FW)=>{"use strict";var tHe=Vg();FW.exports=new tHe({include:[hT()]})});var OW=_((ext,NW)=>{"use strict";var rHe=as(),TW=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),LW=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function nHe(t){return t===null?!1:TW.exec(t)!==null||LW.exec(t)!==null}function iHe(t){var e,r,o,a,n,u,A,p=0,h=null,E,I,v;if(e=TW.exec(t),e===null&&(e=LW.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],I=+(e[11]||0),h=(E*60+I)*6e4,e[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function sHe(t){return t.toISOString()}NW.exports=new rHe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:nHe,construct:iHe,instanceOf:Date,represent:sHe})});var UW=_((txt,MW)=>{"use strict";var oHe=as();function aHe(t){return t==="<<"||t===null}MW.exports=new oHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:aHe})});var qW=_((rxt,HW)=>{"use strict";var Xg;try{_W=ve,Xg=_W("buffer").Buffer}catch{}var _W,lHe=as(),dT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function cHe(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=dT;for(r=0;r64)){if(e<0)return!1;o+=6}return o%8===0}function uHe(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=dT,u=0,A=[];for(e=0;e>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),Xg?Xg.from?Xg.from(A):new Xg(A):A}function AHe(t){var e="",r=0,o,a,n=t.length,u=dT;for(o=0;o>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function fHe(t){return Xg&&Xg.isBuffer(t)}HW.exports=new lHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:cHe,construct:uHe,predicate:fHe,represent:AHe})});var jW=_((ixt,GW)=>{"use strict";var pHe=as(),hHe=Object.prototype.hasOwnProperty,gHe=Object.prototype.toString;function dHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r{"use strict";var yHe=as(),EHe=Object.prototype.toString;function CHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e{"use strict";var IHe=as(),BHe=Object.prototype.hasOwnProperty;function vHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(BHe.call(r,e)&&r[e]!==null)return!1;return!0}function PHe(t){return t!==null?t:{}}KW.exports=new IHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:vHe,construct:PHe})});var fy=_((axt,JW)=>{"use strict";var DHe=Vg();JW.exports=new DHe({include:[gT()],implicit:[OW(),UW()],explicit:[qW(),jW(),WW(),zW()]})});var XW=_((lxt,VW)=>{"use strict";var SHe=as();function bHe(){return!0}function xHe(){}function kHe(){return""}function QHe(t){return typeof t>"u"}VW.exports=new SHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:bHe,construct:xHe,predicate:QHe,represent:kHe})});var $W=_((cxt,ZW)=>{"use strict";var RHe=as();function FHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function THe(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function LHe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function NHe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}ZW.exports=new RHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:FHe,construct:THe,predicate:NHe,represent:LHe})});var rK=_((uxt,tK)=>{"use strict";var GP;try{eK=ve,GP=eK("esprima")}catch{typeof window<"u"&&(GP=window.esprima)}var eK,OHe=as();function MHe(t){if(t===null)return!1;try{var e="("+t+")",r=GP.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function UHe(t){var e="("+t+")",r=GP.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function _He(t){return t.toString()}function HHe(t){return Object.prototype.toString.call(t)==="[object Function]"}tK.exports=new OHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:MHe,construct:UHe,predicate:HHe,represent:_He})});var Jw=_((fxt,iK)=>{"use strict";var nK=Vg();iK.exports=nK.DEFAULT=new nK({include:[fy()],explicit:[XW(),$W(),rK()]})});var BK=_((pxt,Vw)=>{"use strict";var yf=Jg(),AK=uy(),qHe=AW(),fK=fy(),GHe=Jw(),Wp=Object.prototype.hasOwnProperty,jP=1,pK=2,hK=3,YP=4,mT=1,jHe=2,sK=3,YHe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,WHe=/[\x85\u2028\u2029]/,KHe=/[,\[\]\{\}]/,gK=/^(?:!|!!|![a-z\-]+!)$/i,dK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function oK(t){return Object.prototype.toString.call(t)}function qu(t){return t===10||t===13}function $g(t){return t===9||t===32}function Ia(t){return t===9||t===32||t===10||t===13}function py(t){return t===44||t===91||t===93||t===123||t===125}function zHe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function JHe(t){return t===120?2:t===117?4:t===85?8:0}function VHe(t){return 48<=t&&t<=57?t-48:-1}function aK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function XHe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var mK=new Array(256),yK=new Array(256);for(Zg=0;Zg<256;Zg++)mK[Zg]=aK(Zg)?1:0,yK[Zg]=aK(Zg);var Zg;function ZHe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||GHe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function EK(t,e){return new AK(e,new qHe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function Sr(t,e){throw EK(t,e)}function WP(t,e){t.onWarning&&t.onWarning.call(null,EK(t,e))}var lK={YAML:function(e,r,o){var a,n,u;e.version!==null&&Sr(e,"duplication of %YAML directive"),o.length!==1&&Sr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&Sr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&Sr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&WP(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&Sr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],gK.test(a)||Sr(e,"ill-formed tag handle (first argument) of the TAG directive"),Wp.call(e.tagMap,a)&&Sr(e,'there is a previously declared suffix for "'+a+'" tag handle'),dK.test(n)||Sr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function Yp(t,e,r,o){var a,n,u,A;if(e1&&(t.result+=yf.repeat(` +`,e-1))}function $He(t,e,r){var o,a,n,u,A,p,h,E,I=t.kind,v=t.result,x;if(x=t.input.charCodeAt(t.position),Ia(x)||py(x)||x===35||x===38||x===42||x===33||x===124||x===62||x===39||x===34||x===37||x===64||x===96||(x===63||x===45)&&(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&py(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;x!==0;){if(x===58){if(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&py(a))break}else if(x===35){if(o=t.input.charCodeAt(t.position-1),Ia(o))break}else{if(t.position===t.lineStart&&KP(t)||r&&py(x))break;if(qu(x))if(p=t.line,h=t.lineStart,E=t.lineIndent,Wi(t,!1,-1),t.lineIndent>=e){A=!0,x=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=E;break}}A&&(Yp(t,n,u,!1),ET(t,t.line-p),n=u=t.position,A=!1),$g(x)||(u=t.position+1),x=t.input.charCodeAt(++t.position)}return Yp(t,n,u,!1),t.result?!0:(t.kind=I,t.result=v,!1)}function e6e(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Yp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else qu(r)?(Yp(t,o,a,!0),ET(t,Wi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&KP(t)?Sr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);Sr(t,"unexpected end of the stream within a single quoted scalar")}function t6e(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return Yp(t,r,t.position,!0),t.position++,!0;if(A===92){if(Yp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),qu(A))Wi(t,!1,e);else if(A<256&&mK[A])t.result+=yK[A],t.position++;else if((u=JHe(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=zHe(A))>=0?n=(n<<4)+u:Sr(t,"expected hexadecimal character");t.result+=XHe(n),t.position++}else Sr(t,"unknown escape sequence");r=o=t.position}else qu(A)?(Yp(t,r,o,!0),ET(t,Wi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&KP(t)?Sr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}Sr(t,"unexpected end of the stream within a double quoted scalar")}function r6e(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,E,I,v={},x,C,F,N;if(N=t.input.charCodeAt(t.position),N===91)p=93,I=!1,n=[];else if(N===123)p=125,I=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),N=t.input.charCodeAt(++t.position);N!==0;){if(Wi(t,!0,e),N=t.input.charCodeAt(t.position),N===p)return t.position++,t.tag=a,t.anchor=u,t.kind=I?"mapping":"sequence",t.result=n,!0;r||Sr(t,"missed comma between flow collection entries"),C=x=F=null,h=E=!1,N===63&&(A=t.input.charCodeAt(t.position+1),Ia(A)&&(h=E=!0,t.position++,Wi(t,!0,e))),o=t.line,gy(t,e,jP,!1,!0),C=t.tag,x=t.result,Wi(t,!0,e),N=t.input.charCodeAt(t.position),(E||t.line===o)&&N===58&&(h=!0,N=t.input.charCodeAt(++t.position),Wi(t,!0,e),gy(t,e,jP,!1,!0),F=t.result),I?hy(t,n,v,C,x,F):h?n.push(hy(t,null,v,C,x,F)):n.push(x),Wi(t,!0,e),N=t.input.charCodeAt(t.position),N===44?(r=!0,N=t.input.charCodeAt(++t.position)):r=!1}Sr(t,"unexpected end of the stream within a flow collection")}function n6e(t,e){var r,o,a=mT,n=!1,u=!1,A=e,p=0,h=!1,E,I;if(I=t.input.charCodeAt(t.position),I===124)o=!1;else if(I===62)o=!0;else return!1;for(t.kind="scalar",t.result="";I!==0;)if(I=t.input.charCodeAt(++t.position),I===43||I===45)mT===a?a=I===43?sK:jHe:Sr(t,"repeat of a chomping mode identifier");else if((E=VHe(I))>=0)E===0?Sr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?Sr(t,"repeat of an indentation width identifier"):(A=e+E-1,u=!0);else break;if($g(I)){do I=t.input.charCodeAt(++t.position);while($g(I));if(I===35)do I=t.input.charCodeAt(++t.position);while(!qu(I)&&I!==0)}for(;I!==0;){for(yT(t),t.lineIndent=0,I=t.input.charCodeAt(t.position);(!u||t.lineIndentA&&(A=t.lineIndent),qu(I)){p++;continue}if(t.lineIndente)&&p!==0)Sr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(gy(t,e,YP,!0,a)&&(C?v=t.result:x=t.result),C||(hy(t,h,E,I,v,x,n,u),I=v=x=null),Wi(t,!0,-1),N=t.input.charCodeAt(t.position)),t.lineIndent>e&&N!==0)Sr(t,"bad indentation of a mapping entry");else if(t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),I=0,v=t.implicitTypes.length;I tag; it should be "'+x.kind+'", not "'+t.kind+'"'),x.resolve(t.result)?(t.result=x.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Sr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):Sr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function l6e(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Wi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&Sr(t,"directive name must not be less than one character in length");u!==0;){for(;$g(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!qu(u));break}if(qu(u))break;for(r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&yT(t),Wp.call(lK,o)?lK[o](t,o,a):WP(t,'unknown document directive "'+o+'"')}if(Wi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Wi(t,!0,-1)):n&&Sr(t,"directives end mark is expected"),gy(t,t.lineIndent-1,YP,!1,!0),Wi(t,!0,-1),t.checkLineBreaks&&WHe.test(t.input.slice(e,t.position))&&WP(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&KP(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Wi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var o=CK(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a"u"&&(r=e,e=null),wK(t,e,yf.extend({schema:fK},r))}function u6e(t,e){return IK(t,yf.extend({schema:fK},e))}Vw.exports.loadAll=wK;Vw.exports.load=IK;Vw.exports.safeLoadAll=c6e;Vw.exports.safeLoad=u6e});var WK=_((hxt,BT)=>{"use strict";var Zw=Jg(),$w=uy(),A6e=Jw(),f6e=fy(),QK=Object.prototype.toString,RK=Object.prototype.hasOwnProperty,p6e=9,Xw=10,h6e=13,g6e=32,d6e=33,m6e=34,FK=35,y6e=37,E6e=38,C6e=39,w6e=42,TK=44,I6e=45,LK=58,B6e=61,v6e=62,P6e=63,D6e=64,NK=91,OK=93,S6e=96,MK=123,b6e=124,UK=125,Bo={};Bo[0]="\\0";Bo[7]="\\a";Bo[8]="\\b";Bo[9]="\\t";Bo[10]="\\n";Bo[11]="\\v";Bo[12]="\\f";Bo[13]="\\r";Bo[27]="\\e";Bo[34]='\\"';Bo[92]="\\\\";Bo[133]="\\N";Bo[160]="\\_";Bo[8232]="\\L";Bo[8233]="\\P";var x6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function k6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}else{for(n=0;no&&t[I+1]!==" ",I=n);else if(!dy(u))return zP;A=n>0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}h=h||E&&n-I-1>o&&t[I+1]!==" "}return!p&&!h?v&&!a(t)?HK:qK:r>9&&_K(t)?zP:h?jK:GK}function N6e(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&x6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return R6e(t,p)}switch(L6e(e,u,t.indent,n,A)){case HK:return e;case qK:return"'"+e.replace(/'/g,"''")+"'";case GK:return"|"+SK(e,t.indent)+bK(PK(e,a));case jK:return">"+SK(e,t.indent)+bK(PK(O6e(e,n),a));case zP:return'"'+M6e(e,n)+'"';default:throw new $w("impossible error: invalid scalar style")}}()}function SK(t,e){var r=_K(t)?String(e):"",o=t[t.length-1]===` +`,a=o&&(t[t.length-2]===` +`||t===` +`),n=a?"+":o?"":"-";return r+n+` +`}function bK(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function O6e(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,xK(t.slice(0,h),e)}(),a=t[0]===` +`||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` +`:"")+xK(p,e),a=n}return o}function xK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` +`+t.slice(a,n),a=n+1),u=A;return p+=` +`,t.length-a>e&&u>a?p+=t.slice(a,u)+` +`+t.slice(u+1):p+=t.slice(a),p.slice(1)}function M6e(t){for(var e="",r,o,a,n=0;n=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=vK((r-55296)*1024+o-56320+65536),n++;continue}a=Bo[r],e+=!a&&dy(r)?t[n]:a||vK(r)}return e}function U6e(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),ed(t,e,h,!1,!1)&&(E+=t.dump,o+=E));t.tag=a,t.dump="{"+o+"}"}function q6e(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,E,I,v;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new $w("sortKeys must be a boolean or a function");for(A=0,p=u.length;A1024,I&&(t.dump&&Xw===t.dump.charCodeAt(0)?v+="?":v+="? "),v+=t.dump,I&&(v+=CT(t,e)),ed(t,e+1,E,!0,I)&&(t.dump&&Xw===t.dump.charCodeAt(0)?v+=":":v+=": ",v+=t.dump,a+=v));t.tag=n,t.dump=a||"{}"}function kK(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function ed(t,e,r,o,a,n){t.tag=null,t.dump=r,kK(t,r,!1)||kK(t,r,!0);var u=QK.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(q6e(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(H6e(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(_6e(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(U6e(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&N6e(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new $w("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function G6e(t,e){var r=[],o=[],a,n;for(wT(t,r,o),a=0,n=o.length;a{"use strict";var JP=BK(),KK=WK();function VP(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}ki.exports.Type=as();ki.exports.Schema=Vg();ki.exports.FAILSAFE_SCHEMA=qP();ki.exports.JSON_SCHEMA=hT();ki.exports.CORE_SCHEMA=gT();ki.exports.DEFAULT_SAFE_SCHEMA=fy();ki.exports.DEFAULT_FULL_SCHEMA=Jw();ki.exports.load=JP.load;ki.exports.loadAll=JP.loadAll;ki.exports.safeLoad=JP.safeLoad;ki.exports.safeLoadAll=JP.safeLoadAll;ki.exports.dump=KK.dump;ki.exports.safeDump=KK.safeDump;ki.exports.YAMLException=uy();ki.exports.MINIMAL_SCHEMA=qP();ki.exports.SAFE_SCHEMA=fy();ki.exports.DEFAULT_SCHEMA=Jw();ki.exports.scan=VP("scan");ki.exports.parse=VP("parse");ki.exports.compose=VP("compose");ki.exports.addConstructor=VP("addConstructor")});var VK=_((dxt,JK)=>{"use strict";var Y6e=zK();JK.exports=Y6e});var ZK=_((mxt,XK)=>{"use strict";function W6e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function td(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,td)}W6e(td,Error);td.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I({[ft]:Ne})))},le=function(ee){return ee},ce=function(ee){return ee},we=sa("correct indentation"),de=" ",Be=Qn(" ",!1),Ee=function(ee){return ee.length===or*It},g=function(ee){return ee.length===(or+1)*It},me=function(){return or++,!0},Ce=function(){return or--,!0},Ae=function(){return DA()},ne=sa("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,xe=hi(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Le=/^[^\r\n\t ,\][{}:#"']/,ht=hi(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return DA().replace(/^ *| *$/g,"")},rt="--",Te=Qn("--",!1),Re=/^[a-zA-Z\/0-9]/,ke=hi([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ye=/^[^\r\n\t :,]/,Se=hi(["\r",` +`," "," ",":",","],!0,!1),et="null",Ue=Qn("null",!1),b=function(){return null},w="true",S=Qn("true",!1),y=function(){return!0},R="false",V=Qn("false",!1),X=function(){return!1},$=sa("string"),ie='"',be=Qn('"',!1),Fe=function(){return""},at=function(ee){return ee},dt=function(ee){return ee.join("")},Gt=/^[^"\\\0-\x1F\x7F]/,tr=hi(['"',"\\",["\0",""],"\x7F"],!0,!1),bt='\\"',ln=Qn('\\"',!1),kr=function(){return'"'},mr="\\\\",br=Qn("\\\\",!1),Kr=function(){return"\\"},Kn="\\/",Os=Qn("\\/",!1),Ti=function(){return"/"},gs="\\b",no=Qn("\\b",!1),Si=function(){return"\b"},Ms="\\f",io=Qn("\\f",!1),uc=function(){return"\f"},uu="\\n",cp=Qn("\\n",!1),up=function(){return` +`},Us="\\r",Pn=Qn("\\r",!1),so=function(){return"\r"},_s="\\t",yl=Qn("\\t",!1),El=function(){return" "},oo="\\u",zn=Qn("\\u",!1),On=function(ee,ye,Ne,ft){return String.fromCharCode(parseInt(`0x${ee}${ye}${Ne}${ft}`))},Li=/^[0-9a-fA-F]/,Mn=hi([["0","9"],["a","f"],["A","F"]],!1,!1),_i=sa("blank space"),ir=/^[ \t]/,Oe=hi([" "," "],!1,!1),ii=sa("white space"),Ua=/^[ \t\n\r]/,hr=hi([" "," ",` +`,"\r"],!1,!1),Ac=`\r +`,Au=Qn(`\r +`,!1),fc=` +`,Cl=Qn(` +`,!1),PA="\r",fu=Qn("\r",!1),Ie=0,Tt=0,pc=[{line:1,column:1}],Hi=0,pu=[],Yt=0,wl;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function DA(){return t.substring(Tt,Ie)}function Ap(){return Uo(Tt,Ie)}function hc(ee,ye){throw ye=ye!==void 0?ye:Uo(Tt,Ie),dc([sa(ee)],t.substring(Tt,Ie),ye)}function SA(ee,ye){throw ye=ye!==void 0?ye:Uo(Tt,Ie),ao(ee,ye)}function Qn(ee,ye){return{type:"literal",text:ee,ignoreCase:ye}}function hi(ee,ye,Ne){return{type:"class",parts:ee,inverted:ye,ignoreCase:Ne}}function gc(){return{type:"any"}}function bA(){return{type:"end"}}function sa(ee){return{type:"other",description:ee}}function Ni(ee){var ye=pc[ee],Ne;if(ye)return ye;for(Ne=ee-1;!pc[Ne];)Ne--;for(ye=pc[Ne],ye={line:ye.line,column:ye.column};NeHi&&(Hi=Ie,pu=[]),pu.push(ee))}function ao(ee,ye){return new td(ee,null,null,ye)}function dc(ee,ye,Ne){return new td(td.buildMessage(ee,ye),ee,ye,Ne)}function hu(){var ee;return ee=xA(),ee}function qi(){var ee,ye,Ne;for(ee=Ie,ye=[],Ne=gu();Ne!==r;)ye.push(Ne),Ne=gu();return ye!==r&&(Tt=ee,ye=n(ye)),ee=ye,ee}function gu(){var ee,ye,Ne,ft,pt;return ee=Ie,ye=ds(),ye!==r?(t.charCodeAt(Ie)===45?(Ne=u,Ie++):(Ne=r,Yt===0&&Xe(A)),Ne!==r?(ft=Dn(),ft!==r?(pt=mc(),pt!==r?(Tt=ee,ye=p(pt),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee}function xA(){var ee,ye,Ne;for(ee=Ie,ye=[],Ne=Ha();Ne!==r;)ye.push(Ne),Ne=Ha();return ye!==r&&(Tt=ee,ye=h(ye)),ee=ye,ee}function Ha(){var ee,ye,Ne,ft,pt,Lt,rr,$r,Gi;if(ee=Ie,ye=Dn(),ye===r&&(ye=null),ye!==r){if(Ne=Ie,t.charCodeAt(Ie)===35?(ft=E,Ie++):(ft=r,Yt===0&&Xe(I)),ft!==r){if(pt=[],Lt=Ie,rr=Ie,Yt++,$r=tt(),Yt--,$r===r?rr=void 0:(Ie=rr,rr=r),rr!==r?(t.length>Ie?($r=t.charAt(Ie),Ie++):($r=r,Yt===0&&Xe(v)),$r!==r?(rr=[rr,$r],Lt=rr):(Ie=Lt,Lt=r)):(Ie=Lt,Lt=r),Lt!==r)for(;Lt!==r;)pt.push(Lt),Lt=Ie,rr=Ie,Yt++,$r=tt(),Yt--,$r===r?rr=void 0:(Ie=rr,rr=r),rr!==r?(t.length>Ie?($r=t.charAt(Ie),Ie++):($r=r,Yt===0&&Xe(v)),$r!==r?(rr=[rr,$r],Lt=rr):(Ie=Lt,Lt=r)):(Ie=Lt,Lt=r);else pt=r;pt!==r?(ft=[ft,pt],Ne=ft):(Ie=Ne,Ne=r)}else Ie=Ne,Ne=r;if(Ne===r&&(Ne=null),Ne!==r){if(ft=[],pt=We(),pt!==r)for(;pt!==r;)ft.push(pt),pt=We();else ft=r;ft!==r?(Tt=ee,ye=x(),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r}else Ie=ee,ee=r;if(ee===r&&(ee=Ie,ye=ds(),ye!==r?(Ne=oa(),Ne!==r?(ft=Dn(),ft===r&&(ft=null),ft!==r?(t.charCodeAt(Ie)===58?(pt=C,Ie++):(pt=r,Yt===0&&Xe(F)),pt!==r?(Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(rr=mc(),rr!==r?(Tt=ee,ye=N(Ne,rr),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r&&(ee=Ie,ye=ds(),ye!==r?(Ne=lo(),Ne!==r?(ft=Dn(),ft===r&&(ft=null),ft!==r?(t.charCodeAt(Ie)===58?(pt=C,Ie++):(pt=r,Yt===0&&Xe(F)),pt!==r?(Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(rr=mc(),rr!==r?(Tt=ee,ye=N(Ne,rr),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r))){if(ee=Ie,ye=ds(),ye!==r)if(Ne=lo(),Ne!==r)if(ft=Dn(),ft!==r)if(pt=aa(),pt!==r){if(Lt=[],rr=We(),rr!==r)for(;rr!==r;)Lt.push(rr),rr=We();else Lt=r;Lt!==r?(Tt=ee,ye=N(Ne,pt),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;else Ie=ee,ee=r;else Ie=ee,ee=r;else Ie=ee,ee=r;if(ee===r)if(ee=Ie,ye=ds(),ye!==r)if(Ne=lo(),Ne!==r){if(ft=[],pt=Ie,Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(t.charCodeAt(Ie)===44?(rr=U,Ie++):(rr=r,Yt===0&&Xe(J)),rr!==r?($r=Dn(),$r===r&&($r=null),$r!==r?(Gi=lo(),Gi!==r?(Tt=pt,Lt=te(Ne,Gi),pt=Lt):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r),pt!==r)for(;pt!==r;)ft.push(pt),pt=Ie,Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(t.charCodeAt(Ie)===44?(rr=U,Ie++):(rr=r,Yt===0&&Xe(J)),rr!==r?($r=Dn(),$r===r&&($r=null),$r!==r?(Gi=lo(),Gi!==r?(Tt=pt,Lt=te(Ne,Gi),pt=Lt):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r);else ft=r;ft!==r?(pt=Dn(),pt===r&&(pt=null),pt!==r?(t.charCodeAt(Ie)===58?(Lt=C,Ie++):(Lt=r,Yt===0&&Xe(F)),Lt!==r?(rr=Dn(),rr===r&&(rr=null),rr!==r?($r=mc(),$r!==r?(Tt=ee,ye=ae(Ne,ft,$r),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)}else Ie=ee,ee=r;else Ie=ee,ee=r}return ee}function mc(){var ee,ye,Ne,ft,pt,Lt,rr;if(ee=Ie,ye=Ie,Yt++,Ne=Ie,ft=tt(),ft!==r?(pt=Ht(),pt!==r?(t.charCodeAt(Ie)===45?(Lt=u,Ie++):(Lt=r,Yt===0&&Xe(A)),Lt!==r?(rr=Dn(),rr!==r?(ft=[ft,pt,Lt,rr],Ne=ft):(Ie=Ne,Ne=r)):(Ie=Ne,Ne=r)):(Ie=Ne,Ne=r)):(Ie=Ne,Ne=r),Yt--,Ne!==r?(Ie=ye,ye=void 0):ye=r,ye!==r?(Ne=We(),Ne!==r?(ft=Rn(),ft!==r?(pt=qi(),pt!==r?(Lt=Ci(),Lt!==r?(Tt=ee,ye=le(pt),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r&&(ee=Ie,ye=tt(),ye!==r?(Ne=Rn(),Ne!==r?(ft=xA(),ft!==r?(pt=Ci(),pt!==r?(Tt=ee,ye=le(ft),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r))if(ee=Ie,ye=Hs(),ye!==r){if(Ne=[],ft=We(),ft!==r)for(;ft!==r;)Ne.push(ft),ft=We();else Ne=r;Ne!==r?(Tt=ee,ye=ce(ye),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;return ee}function ds(){var ee,ye,Ne;for(Yt++,ee=Ie,ye=[],t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));Ne!==r;)ye.push(Ne),t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));return ye!==r?(Tt=Ie,Ne=Ee(ye),Ne?Ne=void 0:Ne=r,Ne!==r?(ye=[ye,Ne],ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r),Yt--,ee===r&&(ye=r,Yt===0&&Xe(we)),ee}function Ht(){var ee,ye,Ne;for(ee=Ie,ye=[],t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));Ne!==r;)ye.push(Ne),t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));return ye!==r?(Tt=Ie,Ne=g(ye),Ne?Ne=void 0:Ne=r,Ne!==r?(ye=[ye,Ne],ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee}function Rn(){var ee;return Tt=Ie,ee=me(),ee?ee=void 0:ee=r,ee}function Ci(){var ee;return Tt=Ie,ee=Ce(),ee?ee=void 0:ee=r,ee}function oa(){var ee;return ee=ys(),ee===r&&(ee=la()),ee}function lo(){var ee,ye,Ne;if(ee=ys(),ee===r){if(ee=Ie,ye=[],Ne=_o(),Ne!==r)for(;Ne!==r;)ye.push(Ne),Ne=_o();else ye=r;ye!==r&&(Tt=ee,ye=Ae()),ee=ye}return ee}function Hs(){var ee;return ee=wi(),ee===r&&(ee=ms(),ee===r&&(ee=ys(),ee===r&&(ee=la()))),ee}function aa(){var ee;return ee=wi(),ee===r&&(ee=ys(),ee===r&&(ee=_o())),ee}function la(){var ee,ye,Ne,ft,pt,Lt;if(Yt++,ee=Ie,Z.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(xe)),ye!==r){for(Ne=[],ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Le.test(t.charAt(Ie))?(Lt=t.charAt(Ie),Ie++):(Lt=r,Yt===0&&Xe(ht)),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);ft!==r;)Ne.push(ft),ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Le.test(t.charAt(Ie))?(Lt=t.charAt(Ie),Ie++):(Lt=r,Yt===0&&Xe(ht)),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);Ne!==r?(Tt=ee,ye=H(),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;return Yt--,ee===r&&(ye=r,Yt===0&&Xe(ne)),ee}function _o(){var ee,ye,Ne,ft,pt;if(ee=Ie,t.substr(Ie,2)===rt?(ye=rt,Ie+=2):(ye=r,Yt===0&&Xe(Te)),ye===r&&(ye=null),ye!==r)if(Re.test(t.charAt(Ie))?(Ne=t.charAt(Ie),Ie++):(Ne=r,Yt===0&&Xe(ke)),Ne!==r){for(ft=[],Ye.test(t.charAt(Ie))?(pt=t.charAt(Ie),Ie++):(pt=r,Yt===0&&Xe(Se));pt!==r;)ft.push(pt),Ye.test(t.charAt(Ie))?(pt=t.charAt(Ie),Ie++):(pt=r,Yt===0&&Xe(Se));ft!==r?(Tt=ee,ye=H(),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;else Ie=ee,ee=r;return ee}function wi(){var ee,ye;return ee=Ie,t.substr(Ie,4)===et?(ye=et,Ie+=4):(ye=r,Yt===0&&Xe(Ue)),ye!==r&&(Tt=ee,ye=b()),ee=ye,ee}function ms(){var ee,ye;return ee=Ie,t.substr(Ie,4)===w?(ye=w,Ie+=4):(ye=r,Yt===0&&Xe(S)),ye!==r&&(Tt=ee,ye=y()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,5)===R?(ye=R,Ie+=5):(ye=r,Yt===0&&Xe(V)),ye!==r&&(Tt=ee,ye=X()),ee=ye),ee}function ys(){var ee,ye,Ne,ft;return Yt++,ee=Ie,t.charCodeAt(Ie)===34?(ye=ie,Ie++):(ye=r,Yt===0&&Xe(be)),ye!==r?(t.charCodeAt(Ie)===34?(Ne=ie,Ie++):(Ne=r,Yt===0&&Xe(be)),Ne!==r?(Tt=ee,ye=Fe(),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r&&(ee=Ie,t.charCodeAt(Ie)===34?(ye=ie,Ie++):(ye=r,Yt===0&&Xe(be)),ye!==r?(Ne=Es(),Ne!==r?(t.charCodeAt(Ie)===34?(ft=ie,Ie++):(ft=r,Yt===0&&Xe(be)),ft!==r?(Tt=ee,ye=at(Ne),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)),Yt--,ee===r&&(ye=r,Yt===0&&Xe($)),ee}function Es(){var ee,ye,Ne;if(ee=Ie,ye=[],Ne=qs(),Ne!==r)for(;Ne!==r;)ye.push(Ne),Ne=qs();else ye=r;return ye!==r&&(Tt=ee,ye=dt(ye)),ee=ye,ee}function qs(){var ee,ye,Ne,ft,pt,Lt;return Gt.test(t.charAt(Ie))?(ee=t.charAt(Ie),Ie++):(ee=r,Yt===0&&Xe(tr)),ee===r&&(ee=Ie,t.substr(Ie,2)===bt?(ye=bt,Ie+=2):(ye=r,Yt===0&&Xe(ln)),ye!==r&&(Tt=ee,ye=kr()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===mr?(ye=mr,Ie+=2):(ye=r,Yt===0&&Xe(br)),ye!==r&&(Tt=ee,ye=Kr()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===Kn?(ye=Kn,Ie+=2):(ye=r,Yt===0&&Xe(Os)),ye!==r&&(Tt=ee,ye=Ti()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===gs?(ye=gs,Ie+=2):(ye=r,Yt===0&&Xe(no)),ye!==r&&(Tt=ee,ye=Si()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===Ms?(ye=Ms,Ie+=2):(ye=r,Yt===0&&Xe(io)),ye!==r&&(Tt=ee,ye=uc()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===uu?(ye=uu,Ie+=2):(ye=r,Yt===0&&Xe(cp)),ye!==r&&(Tt=ee,ye=up()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===Us?(ye=Us,Ie+=2):(ye=r,Yt===0&&Xe(Pn)),ye!==r&&(Tt=ee,ye=so()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===_s?(ye=_s,Ie+=2):(ye=r,Yt===0&&Xe(yl)),ye!==r&&(Tt=ee,ye=El()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===oo?(ye=oo,Ie+=2):(ye=r,Yt===0&&Xe(zn)),ye!==r?(Ne=Un(),Ne!==r?(ft=Un(),ft!==r?(pt=Un(),pt!==r?(Lt=Un(),Lt!==r?(Tt=ee,ye=On(Ne,ft,pt,Lt),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)))))))))),ee}function Un(){var ee;return Li.test(t.charAt(Ie))?(ee=t.charAt(Ie),Ie++):(ee=r,Yt===0&&Xe(Mn)),ee}function Dn(){var ee,ye;if(Yt++,ee=[],ir.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(Oe)),ye!==r)for(;ye!==r;)ee.push(ye),ir.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(Oe));else ee=r;return Yt--,ee===r&&(ye=r,Yt===0&&Xe(_i)),ee}function Cs(){var ee,ye;if(Yt++,ee=[],Ua.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(hr)),ye!==r)for(;ye!==r;)ee.push(ye),Ua.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(hr));else ee=r;return Yt--,ee===r&&(ye=r,Yt===0&&Xe(ii)),ee}function We(){var ee,ye,Ne,ft,pt,Lt;if(ee=Ie,ye=tt(),ye!==r){for(Ne=[],ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Lt=tt(),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);ft!==r;)Ne.push(ft),ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Lt=tt(),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);Ne!==r?(ye=[ye,Ne],ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;return ee}function tt(){var ee;return t.substr(Ie,2)===Ac?(ee=Ac,Ie+=2):(ee=r,Yt===0&&Xe(Au)),ee===r&&(t.charCodeAt(Ie)===10?(ee=fc,Ie++):(ee=r,Yt===0&&Xe(Cl)),ee===r&&(t.charCodeAt(Ie)===13?(ee=PA,Ie++):(ee=r,Yt===0&&Xe(fu)))),ee}let It=2,or=0;if(wl=a(),wl!==r&&Ie===t.length)return wl;throw wl!==r&&Ie"u"?!0:typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.keys(t).every(e=>rz(t[e])):!1}function vT(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${ez(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let o=" ".repeat(e);return` +${t.map(n=>`${o}- ${vT(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof XP?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let E=$K.indexOf(p),I=$K.indexOf(h);return E===-1&&I===-1?ph?1:0:E!==-1&&I===-1?-1:E===-1&&I!==-1?1:E-I});let A=u.filter(p=>!rz(o[p])).map((p,h)=>{let E=o[p],I=ez(p),v=vT(E,e+1,!0),x=h>0||r?n:"",C=I.length>1024?`? ${I} +${x}:`:`${I}:`,F=v.startsWith(` +`)?v:` ${v}`;return`${x}${C}${F}`}).join(e===0?` +`:"")||` +`;return r?` +${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function Ba(t){try{let e=vT(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function J6e(t){return t.endsWith(` +`)||(t+=` +`),(0,tz.parse)(t)}function X6e(t){if(V6e.test(t))return J6e(t);let e=(0,ZP.safeLoad)(t,{schema:ZP.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ki(t){return X6e(t)}var ZP,tz,z6e,$K,XP,V6e,nz=Et(()=>{ZP=Ze(VK()),tz=Ze(ZK()),z6e=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,$K=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],XP=class{constructor(e){this.data=e}};Ba.PreserveOrdering=XP;V6e=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var eI={};zt(eI,{parseResolution:()=>UP,parseShell:()=>NP,parseSyml:()=>Ki,stringifyArgument:()=>uT,stringifyArgumentSegment:()=>AT,stringifyArithmeticExpression:()=>MP,stringifyCommand:()=>cT,stringifyCommandChain:()=>cy,stringifyCommandChainThen:()=>lT,stringifyCommandLine:()=>OP,stringifyCommandLineThen:()=>aT,stringifyEnvSegment:()=>LP,stringifyRedirectArgument:()=>Kw,stringifyResolution:()=>_P,stringifyShell:()=>ly,stringifyShellLine:()=>ly,stringifySyml:()=>Ba,stringifyValueArgument:()=>Wg});var Nl=Et(()=>{rW();oW();nz()});var sz=_((Ixt,PT)=>{"use strict";var Z6e=t=>{let e=!1,r=!1,o=!1;for(let a=0;a{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=Z6e(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};PT.exports=iz;PT.exports.default=iz});var oz=_((Bxt,$6e)=>{$6e.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var rd=_(Za=>{"use strict";var lz=oz(),Gu=process.env;Object.defineProperty(Za,"_vendors",{value:lz.map(function(t){return t.constant})});Za.name=null;Za.isPR=null;lz.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return az(o)});if(Za[t.constant]=r,r)switch(Za.name=t.name,typeof t.pr){case"string":Za.isPR=!!Gu[t.pr];break;case"object":"env"in t.pr?Za.isPR=t.pr.env in Gu&&Gu[t.pr.env]!==t.pr.ne:"any"in t.pr?Za.isPR=t.pr.any.some(function(o){return!!Gu[o]}):Za.isPR=az(t.pr);break;default:Za.isPR=null}});Za.isCI=!!(Gu.CI||Gu.CONTINUOUS_INTEGRATION||Gu.BUILD_NUMBER||Gu.RUN_ID||Za.name);function az(t){return typeof t=="string"?!!Gu[t]:Object.keys(t).every(function(e){return Gu[e]===t[e]})}});var Hn,un,nd,DT,$P,cz,ST,bT,eD=Et(()=>{(function(t){t.StartOfInput="\0",t.EndOfInput="",t.EndOfPartialInput=""})(Hn||(Hn={}));(function(t){t[t.InitialNode=0]="InitialNode",t[t.SuccessNode=1]="SuccessNode",t[t.ErrorNode=2]="ErrorNode",t[t.CustomNode=3]="CustomNode"})(un||(un={}));nd=-1,DT=/^(-h|--help)(?:=([0-9]+))?$/,$P=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,cz=/^-[a-zA-Z]{2,}$/,ST=/^([^=]+)=([\s\S]*)$/,bT=process.env.DEBUG_CLI==="1"});var st,my,tD,xT,rD=Et(()=>{eD();st=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},my=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} + +${this.candidates.map(({usage:a})=>`$ ${a}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${o} +${xT(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${xT(e)}`}},tD=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${xT(e)}`}},xT=t=>`While running ${t.filter(e=>e!==Hn.EndOfInput&&e!==Hn.EndOfPartialInput).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function eqe(t){let e=t.split(` +`),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` +`)}function vo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=eqe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` +`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} +`:""}var kT,uz,Az,QT=Et(()=>{kT=Array(80).fill("\u2501");for(let t=0;t<=24;++t)kT[kT.length-t]=`\x1B[38;5;${232+t}m\u2501`;uz={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<80-5?` ${kT.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},Az={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Wo(t){return{...t,[tI]:!0}}function ju(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function nD(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,o,a]=r;return e&&(a=a[0].toLowerCase()+a.slice(1)),a=o!=="."||!e?`${o.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function rI(t,e){return e.length===1?new st(`${t}${nD(e[0],{mergeName:!0})}`):new st(`${t}: +${e.map(r=>` +- ${nD(r)}`).join("")}`)}function id(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw rI(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var tI,Ef=Et(()=>{rD();tI=Symbol("clipanion/isOption")});var Ko={};zt(Ko,{KeyRelationship:()=>Yu,TypeAssertionError:()=>zp,applyCascade:()=>sI,as:()=>Eqe,assert:()=>dqe,assertWithErrors:()=>mqe,cascade:()=>aD,fn:()=>Cqe,hasAtLeastOneKey:()=>MT,hasExactLength:()=>dz,hasForbiddenKeys:()=>Uqe,hasKeyRelationship:()=>aI,hasMaxLength:()=>Iqe,hasMinLength:()=>wqe,hasMutuallyExclusiveKeys:()=>_qe,hasRequiredKeys:()=>Mqe,hasUniqueItems:()=>Bqe,isArray:()=>iD,isAtLeast:()=>NT,isAtMost:()=>Dqe,isBase64:()=>Tqe,isBoolean:()=>lqe,isDate:()=>uqe,isDict:()=>pqe,isEnum:()=>Js,isHexColor:()=>Fqe,isISO8601:()=>Rqe,isInExclusiveRange:()=>bqe,isInInclusiveRange:()=>Sqe,isInstanceOf:()=>gqe,isInteger:()=>OT,isJSON:()=>Lqe,isLiteral:()=>pz,isLowerCase:()=>xqe,isMap:()=>fqe,isNegative:()=>vqe,isNullable:()=>Oqe,isNumber:()=>TT,isObject:()=>hz,isOneOf:()=>LT,isOptional:()=>Nqe,isPartial:()=>hqe,isPayload:()=>cqe,isPositive:()=>Pqe,isRecord:()=>oD,isSet:()=>Aqe,isString:()=>Ey,isTuple:()=>sD,isUUID4:()=>Qqe,isUnknown:()=>FT,isUpperCase:()=>kqe,makeTrait:()=>gz,makeValidator:()=>Hr,matchesRegExp:()=>iI,softAssert:()=>yqe});function qn(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":typeof t=="symbol"?`<${t.toString()}>`:Array.isArray(t)?"an array":JSON.stringify(t)}function yy(t,e){if(t.length===0)return"nothing";if(t.length===1)return qn(t[0]);let r=t.slice(0,-1),o=t[t.length-1],a=t.length>2?`, ${e} `:` ${e} `;return`${r.map(n=>qn(n)).join(", ")}${a}${qn(o)}`}function Kp(t,e){var r,o,a;return typeof e=="number"?`${(r=t?.p)!==null&&r!==void 0?r:"."}[${e}]`:tqe.test(e)?`${(o=t?.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function RT(t,e,r){return t===1?e:r}function pr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}function oqe(t,e){return r=>{t[e]=r}}function Wu(t,e){return r=>{let o=t[e];return t[e]=r,Wu(t,e).bind(null,o)}}function nI(t,e,r){let o=()=>(t(r()),a),a=()=>(t(e),o);return o}function FT(){return Hr({test:(t,e)=>!0})}function pz(t){return Hr({test:(e,r)=>e!==t?pr(r,`Expected ${qn(t)} (got ${qn(e)})`):!0})}function Ey(){return Hr({test:(t,e)=>typeof t!="string"?pr(e,`Expected a string (got ${qn(t)})`):!0})}function Js(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>typeof a=="string"||typeof a=="number"),o=new Set(e);return o.size===1?pz([...o][0]):Hr({test:(a,n)=>o.has(a)?!0:r?pr(n,`Expected one of ${yy(e,"or")} (got ${qn(a)})`):pr(n,`Expected a valid enumeration value (got ${qn(a)})`)})}function lqe(){return Hr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o=aqe.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a boolean (got ${qn(t)})`)}return!0}})}function TT(){return Hr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return pr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a number (got ${qn(t)})`)}return!0}})}function cqe(t){return Hr({test:(e,r)=>{var o;if(typeof r?.coercions>"u")return pr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return pr(r,"Unbound coercion result");if(typeof e!="string")return pr(r,`Expected a string (got ${qn(e)})`);let a;try{a=JSON.parse(e)}catch{return pr(r,`Expected a JSON string (got ${qn(e)})`)}let n={value:a};return t(a,Object.assign(Object.assign({},r),{coercion:Wu(n,"value")}))?(r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n.value)]),!0):!1}})}function uqe(){return Hr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o;if(typeof t=="string"&&fz.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return pr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a date (got ${qn(t)})`)}return!0}})}function iD(t,{delimiter:e}={}){return Hr({test:(r,o)=>{var a;let n=r;if(typeof r=="string"&&typeof e<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return pr(o,"Unbound coercion result");r=r.split(e)}if(!Array.isArray(r))return pr(o,`Expected an array (got ${qn(r)})`);let u=!0;for(let A=0,p=r.length;A{var n,u;if(Object.getPrototypeOf(o).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");let A=[...o],p=[...o];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((E,I)=>E!==A[I])?new Set(p):o;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",nI(a.coercion,o,h)]),!0}else{let A=!0;for(let p of o)if(A=t(p,Object.assign({},a))&&A,!A&&a?.errors==null)break;return A}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");let A={value:o};return r(o,Object.assign(Object.assign({},a),{coercion:Wu(A,"value")}))?(a.coercions.push([(u=a.p)!==null&&u!==void 0?u:".",nI(a.coercion,o,()=>new Set(A.value))]),!0):!1}return pr(a,`Expected a set (got ${qn(o)})`)}})}function fqe(t,e){let r=iD(sD([t,e])),o=oD(e,{keys:t});return Hr({test:(a,n)=>{var u,A,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return pr(n,"Unbound coercion result");let h=[...a],E=[...a];if(!r(E,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let I=()=>E.some((v,x)=>v[0]!==h[x][0]||v[1]!==h[x][1])?new Map(E):a;return n.coercions.push([(u=n.p)!==null&&u!==void 0?u:".",nI(n.coercion,a,I)]),!0}else{let h=!0;for(let[E,I]of a)if(h=t(E,Object.assign({},n))&&h,!h&&n?.errors==null||(h=e(I,Object.assign(Object.assign({},n),{p:Kp(n,E)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return pr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(A=n.p)!==null&&A!==void 0?A:".",nI(n.coercion,a,()=>new Map(h.value))]),!0):!1:o(a,Object.assign(Object.assign({},n),{coercion:Wu(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",nI(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return pr(n,`Expected a map (got ${qn(a)})`)}})}function sD(t,{delimiter:e}={}){let r=dz(t.length);return Hr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return pr(a,`Expected a tuple (got ${qn(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A{var n;if(Array.isArray(o)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?pr(a,"Unbound coercion result"):r(o,Object.assign(Object.assign({},a),{coercion:void 0}))?(o=Object.fromEntries(o),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)]),!0):!1;if(typeof o!="object"||o===null)return pr(a,`Expected an object (got ${qn(o)})`);let u=Object.keys(o),A=!0;for(let p=0,h=u.length;p{if(typeof a!="object"||a===null)return pr(n,`Expected an object (got ${qn(a)})`);let u=new Set([...r,...Object.keys(a)]),A={},p=!0;for(let h of u){if(h==="constructor"||h==="__proto__")p=pr(Object.assign(Object.assign({},n),{p:Kp(n,h)}),"Unsafe property name");else{let E=Object.prototype.hasOwnProperty.call(t,h)?t[h]:void 0,I=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof E<"u"?p=E(I,Object.assign(Object.assign({},n),{p:Kp(n,h),coercion:Wu(a,h)}))&&p:e===null?p=pr(Object.assign(Object.assign({},n),{p:Kp(n,h)}),`Extraneous property (got ${qn(I)})`):Object.defineProperty(A,h,{enumerable:!0,get:()=>I,set:oqe(a,h)})}if(!p&&n?.errors==null)break}return e!==null&&(p||n?.errors!=null)&&(p=e(A,n)&&p),p}});return Object.assign(o,{properties:t})}function hqe(t){return hz(t,{extra:oD(FT())})}function gz(t){return()=>t}function Hr({test:t}){return gz(t)()}function dqe(t,e){if(!e(t))throw new zp}function mqe(t,e){let r=[];if(!e(t,{errors:r}))throw new zp({errors:r})}function yqe(t,e){}function Eqe(t,e,{coerce:r=!1,errors:o,throw:a}={}){let n=o?[]:void 0;if(!r){if(e(t,{errors:n}))return a?t:{value:t,errors:void 0};if(a)throw new zp({errors:n});return{value:void 0,errors:n??!0}}let u={value:t},A=Wu(u,"value"),p=[];if(!e(t,{errors:n,coercion:A,coercions:p})){if(a)throw new zp({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?u.value:{value:u.value,errors:void 0}}function Cqe(t,e){let r=sD(t);return(...o)=>{if(!r(o))throw new zp;return e(...o)}}function wqe(t){return Hr({test:(e,r)=>e.length>=t?!0:pr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)})}function Iqe(t){return Hr({test:(e,r)=>e.length<=t?!0:pr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)})}function dz(t){return Hr({test:(e,r)=>e.length!==t?pr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0})}function Bqe({map:t}={}){return Hr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;nt<=0?!0:pr(e,`Expected to be negative (got ${t})`)})}function Pqe(){return Hr({test:(t,e)=>t>=0?!0:pr(e,`Expected to be positive (got ${t})`)})}function NT(t){return Hr({test:(e,r)=>e>=t?!0:pr(r,`Expected to be at least ${t} (got ${e})`)})}function Dqe(t){return Hr({test:(e,r)=>e<=t?!0:pr(r,`Expected to be at most ${t} (got ${e})`)})}function Sqe(t,e){return Hr({test:(r,o)=>r>=t&&r<=e?!0:pr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)})}function bqe(t,e){return Hr({test:(r,o)=>r>=t&&re!==Math.round(e)?pr(r,`Expected to be an integer (got ${e})`):!t&&!Number.isSafeInteger(e)?pr(r,`Expected to be a safe integer (got ${e})`):!0})}function iI(t){return Hr({test:(e,r)=>t.test(e)?!0:pr(r,`Expected to match the pattern ${t.toString()} (got ${qn(e)})`)})}function xqe(){return Hr({test:(t,e)=>t!==t.toLowerCase()?pr(e,`Expected to be all-lowercase (got ${t})`):!0})}function kqe(){return Hr({test:(t,e)=>t!==t.toUpperCase()?pr(e,`Expected to be all-uppercase (got ${t})`):!0})}function Qqe(){return Hr({test:(t,e)=>sqe.test(t)?!0:pr(e,`Expected to be a valid UUID v4 (got ${qn(t)})`)})}function Rqe(){return Hr({test:(t,e)=>fz.test(t)?!0:pr(e,`Expected to be a valid ISO 8601 date string (got ${qn(t)})`)})}function Fqe({alpha:t=!1}){return Hr({test:(e,r)=>(t?rqe.test(e):nqe.test(e))?!0:pr(r,`Expected to be a valid hexadecimal color string (got ${qn(e)})`)})}function Tqe(){return Hr({test:(t,e)=>iqe.test(t)?!0:pr(e,`Expected to be a valid base 64 string (got ${qn(t)})`)})}function Lqe(t=FT()){return Hr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return pr(r,`Expected to be a valid JSON string (got ${qn(e)})`)}return t(o,r)}})}function aD(t,...e){let r=Array.isArray(e[0])?e[0]:e;return Hr({test:(o,a)=>{var n,u;let A={value:o},p=typeof a?.coercions<"u"?Wu(A,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!t(o,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let E=[];if(typeof h<"u")for(let[,I]of h)E.push(I());try{if(typeof a?.coercions<"u"){if(A.value!==o){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,A.value)])}(u=a?.coercions)===null||u===void 0||u.push(...h)}return r.every(I=>I(A.value,a))}finally{for(let I of E)I()}}})}function sI(t,...e){let r=Array.isArray(e[0])?e[0]:e;return aD(t,r)}function Nqe(t){return Hr({test:(e,r)=>typeof e>"u"?!0:t(e,r)})}function Oqe(t){return Hr({test:(e,r)=>e===null?!0:t(e,r)})}function Mqe(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)||p.push(h);return p.length>0?pr(u,`Missing required ${RT(p.length,"property","properties")} ${yy(p,"and")}`):!0}})}function MT(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>Object.keys(n).some(h=>a(o,h,n))?!0:pr(u,`Missing at least one property from ${yy(Array.from(o),"or")}`)})}function Uqe(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>0?pr(u,`Forbidden ${RT(p.length,"property","properties")} ${yy(p,"and")}`):!0}})}function _qe(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>1?pr(u,`Mutually exclusive properties ${yy(p,"and")}`):!0}})}function aI(t,e,r,o){var a,n;let u=new Set((a=o?.ignore)!==null&&a!==void 0?a:[]),A=oI[(n=o?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=Hqe[e],E=e===Yu.Forbids?"or":"and";return Hr({test:(I,v)=>{let x=new Set(Object.keys(I));if(!A(x,t,I)||u.has(I[t]))return!0;let C=[];for(let F of p)(A(x,F,I)&&!u.has(I[F]))!==h.expect&&C.push(F);return C.length>=1?pr(v,`Property "${t}" ${h.message} ${RT(C.length,"property","properties")} ${yy(C,E)}`):!0}})}var tqe,rqe,nqe,iqe,sqe,fz,aqe,gqe,LT,zp,oI,Yu,Hqe,$a=Et(()=>{tqe=/^[a-zA-Z_][a-zA-Z0-9_]*$/;rqe=/^#[0-9a-f]{6}$/i,nqe=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,iqe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,sqe=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,fz=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;aqe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);gqe=t=>Hr({test:(e,r)=>e instanceof t?!0:pr(r,`Expected an instance of ${t.name} (got ${qn(e)})`)}),LT=(t,{exclusive:e=!1}={})=>Hr({test:(r,o)=>{var a,n,u;let A=[],p=typeof o?.errors<"u"?[]:void 0;for(let h=0,E=t.length;h1?pr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o?.errors)===null||u===void 0||u.push(...p),!1}});zp=class extends Error{constructor({errors:e}={}){let r="Type mismatch";if(e&&e.length>0){r+=` +`;for(let o of e)r+=` +- ${o}`}super(r)}};oI={missing:(t,e)=>t.has(e),undefined:(t,e,r)=>t.has(e)&&typeof r[e]<"u",nil:(t,e,r)=>t.has(e)&&r[e]!=null,falsy:(t,e,r)=>t.has(e)&&!!r[e]};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Yu||(Yu={}));Hqe={[Yu.Forbids]:{expect:!1,message:"forbids using"},[Yu.Requires]:{expect:!0,message:"requires using"}}});var it,Jp=Et(()=>{Ef();it=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>($a(),Ko)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw rI("Invalid option schema",p);for(let[,I]of h)I()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};it.isOption=tI;it.Default=[]});function va(t){bT&&console.log(t)}function yz(){let t={nodes:[]};for(let e=0;e{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let I of h)E.some(({to:v})=>I.to===v)||E.push(I)}for(let[p,h]of A.dynamics)a.dynamics.some(([E,{to:I}])=>p===E&&h.to===I)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(un.InitialNode)}function jqe(t,{prefix:e=""}={}){if(bT){va(`${e}Nodes are:`);for(let r=0;rE!==un.ErrorNode).map(({state:E})=>({usage:E.candidateUsage,reason:null})));if(h.every(({node:E})=>E===un.ErrorNode))throw new my(e,h.map(({state:E})=>({usage:E.candidateUsage,reason:E.errorMessage})));o=Kqe(h)}if(o.length>0){va(" Results:");for(let n of o)va(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else va(" No results");return o}function Wqe(t,e,{endToken:r=Hn.EndOfInput}={}){let o=Yqe(t,[...e,r]);return zqe(e,o.map(({state:a})=>a))}function Kqe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function zqe(t,e){let r=e.filter(v=>v.selectedIndex!==null),o=r.filter(v=>!v.partial);if(o.length>0&&(r=o),r.length===0)throw new Error;let a=r.filter(v=>v.selectedIndex===nd||v.requiredOptions.every(x=>x.some(C=>v.options.find(F=>F.name===C))));if(a.length===0)throw new my(t,r.map(v=>({usage:v.candidateUsage,reason:null})));let n=0;for(let v of a)v.path.length>n&&(n=v.path.length);let u=a.filter(v=>v.path.length===n),A=v=>v.positionals.filter(({extra:x})=>!x).length+v.options.length,p=u.map(v=>({state:v,positionalCount:A(v)})),h=0;for(let{positionalCount:v}of p)v>h&&(h=v);let E=p.filter(({positionalCount:v})=>v===h).map(({state:v})=>v),I=Jqe(E);if(I.length>1)throw new tD(t,I.map(v=>v.candidateUsage));return I[0]}function Jqe(t){let e=[],r=[];for(let o of t)o.selectedIndex===nd?r.push(o):e.push(o);return r.length>0&&e.push({...mz,path:Ez(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function Ez(t,e,...r){return e===void 0?Array.from(t):Ez(t.filter((o,a)=>o===e[a]),...r)}function el(){return{dynamics:[],shortcuts:[],statics:{}}}function Cz(t){return t===un.SuccessNode||t===un.ErrorNode}function UT(t,e=0){return{to:Cz(t.to)?t.to:t.to>=un.CustomNode?t.to+e-un.CustomNode+1:t.to+e,reducer:t.reducer}}function Vqe(t,e=0){let r=el();for(let[o,a]of t.dynamics)r.dynamics.push([o,UT(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(UT(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>UT(n,e));return r}function xs(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function Cy(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function zo(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function lD(t,e,r,o,a){if(Array.isArray(e)){let[n,...u]=e;return t[n](r,o,a,...u)}else return t[e](r,o,a)}var mz,Xqe,_T,tl,HT,wy,cD=Et(()=>{eD();rD();mz={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:nd,partial:!1,tokens:[]};Xqe={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===o,isBatchOption:(t,e,r,o)=>!t.ignoreOptions&&cz.test(e)&&[...e.slice(1)].every(a=>o.has(`-${a}`)),isBoundOption:(t,e,r,o,a)=>{let n=e.match(ST);return!t.ignoreOptions&&!!n&&$P.test(n[1])&&o.has(n[1])&&a.filter(u=>u.nameSet.includes(n[1])).every(u=>u.allowBinding)},isNegatedOption:(t,e,r,o)=>!t.ignoreOptions&&e===`--no-${o.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&DT.test(e),isUnsupportedOption:(t,e,r,o)=>!t.ignoreOptions&&e.startsWith("-")&&$P.test(e)&&!o.has(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!$P.test(e)},_T={setCandidateState:(t,e,r,o)=>({...t,...o}),setSelectedIndex:(t,e,r,o)=>({...t,selectedIndex:o}),setPartialIndex:(t,e,r,o)=>({...t,selectedIndex:o,partial:!0}),pushBatch:(t,e,r,o)=>{let a=t.options.slice(),n=t.tokens.slice();for(let u=1;u{let[,o,a]=e.match(ST),n=t.options.concat({name:o,value:a}),u=t.tokens.concat([{segmentIndex:r,type:"option",slice:[0,o.length],option:o},{segmentIndex:r,type:"assign",slice:[o.length,o.length+1]},{segmentIndex:r,type:"value",slice:[o.length+1,o.length+a.length+1]}]);return{...t,options:n,tokens:u}},pushPath:(t,e,r)=>{let o=t.path.concat(e),a=t.tokens.concat({segmentIndex:r,type:"path"});return{...t,path:o,tokens:a}},pushPositional:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!1}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtra:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!0}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtraNoLimits:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:tl}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushTrue:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushFalse:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!1}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushUndefined:(t,e,r,o)=>{let a=t.options.concat({name:e,value:void 0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:e});return{...t,options:a,tokens:n}},pushStringValue:(t,e,r)=>{var o;let a=t.options[t.options.length-1],n=t.options.slice(),u=t.tokens.concat({segmentIndex:r,type:"value"});return a.value=((o=a.value)!==null&&o!==void 0?o:[]).concat([e]),{...t,options:n,tokens:u}},setStringValue:(t,e,r)=>{let o=t.options[t.options.length-1],a=t.options.slice(),n=t.tokens.concat({segmentIndex:r,type:"value"});return o.value=e,{...t,options:a,tokens:n}},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r,o)=>{let[,,a]=e.match(DT);return typeof a<"u"?{...t,options:[{name:"-c",value:String(o)},{name:"-i",value:a}]}:{...t,options:[{name:"-c",value:String(o)}]}},setError:(t,e,r,o)=>e===Hn.EndOfInput||e===Hn.EndOfPartialInput?{...t,errorMessage:`${o}.`}:{...t,errorMessage:`${o} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},tl=Symbol(),HT=class{constructor(e,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===tl)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==tl?this.arity.extra.push(e):this.arity.extra!==tl&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===tl)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);let A=e.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of e)this.allOptionNames.set(p,A);this.options.push({preferredName:A,nameSet:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{preferredName:u,nameSet:A,arity:p,hidden:h,description:E,required:I}of this.options){if(h)continue;let v=[];for(let C=0;C`:`[${x}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===tl?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=yz(),r=un.InitialNode,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.nameSet);r=Mc(e,el()),zo(e,un.InitialNode,Hn.StartOfInput,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Mc(e,el());Cy(e,p,v),this.registerOptions(e,v),p=v}for(let v=0;v0||!this.arity.proxy){let v=Mc(e,el());xs(e,p,"isHelp",v,["useHelp",this.cliIndex]),xs(e,v,"always",v,"pushExtra"),zo(e,v,Hn.EndOfInput,un.SuccessNode,["setSelectedIndex",nd]),this.registerOptions(e,p)}this.arity.leading.length>0&&(zo(e,p,Hn.EndOfInput,un.ErrorNode,["setError","Not enough positional arguments"]),zo(e,p,Hn.EndOfPartialInput,un.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let v=0;v0||v+1!==this.arity.leading.length)&&(zo(e,x,Hn.EndOfInput,un.ErrorNode,["setError","Not enough positional arguments"]),zo(e,x,Hn.EndOfPartialInput,un.SuccessNode,["setPartialIndex",this.cliIndex])),xs(e,h,"isNotOptionLike",x,"pushPositional"),h=x}let E=h;if(this.arity.extra===tl||this.arity.extra.length>0){let v=Mc(e,el());if(Cy(e,h,v),this.arity.extra===tl){let x=Mc(e,el());this.arity.proxy||this.registerOptions(e,x),xs(e,h,n,x,"pushExtraNoLimits"),xs(e,x,n,x,"pushExtraNoLimits"),Cy(e,x,v)}else for(let x=0;x0)&&this.registerOptions(e,C),xs(e,E,n,C,"pushExtra"),Cy(e,C,v),E=C}E=v}this.arity.trailing.length>0&&(zo(e,E,Hn.EndOfInput,un.ErrorNode,["setError","Not enough positional arguments"]),zo(e,E,Hn.EndOfPartialInput,un.SuccessNode,["setPartialIndex",this.cliIndex]));let I=E;for(let v=0;v=0&&e{let u=n?Hn.EndOfPartialInput:Hn.EndOfInput;return Wqe(o,a,{endToken:u})}}}}});function Iz(){return uD.default&&"getColorDepth"in uD.default.WriteStream.prototype?uD.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function Bz(t){let e=wz;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=ve("async_hooks");e=wz=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var uD,wz,vz=Et(()=>{uD=Ze(ve("tty"),1)});var Iy,Pz=Et(()=>{Jp();Iy=class extends it{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new Iy(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}}});async function bz(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=kz(t);return ls.from(r,e).runExit(o,a)}async function xz(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=kz(t);return ls.from(r,e).run(o,a)}function kz(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function Sz(t){return t()}var Dz,ls,Qz=Et(()=>{eD();cD();QT();vz();Jp();Pz();Dz=Symbol("clipanion/errorCommand");ls=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new wy({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new ls(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[it.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{input:o,context:a,partial:n}=typeof e=="object"&&Array.isArray(e)?{input:e,context:r}:e,{contexts:u,process:A}=this.builder.compile(),p=A(o,{partial:n}),h={...ls.defaultContext,...a};switch(p.selectedIndex){case nd:{let E=Iy.from(p,u);return E.context=h,E.tokens=p.tokens,E}default:{let{commandClass:E}=u[p.selectedIndex],I=this.registrations.get(E);if(typeof I>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let v=new E;v.context=h,v.tokens=p.tokens,v.path=p.path;try{for(let[x,{transformer:C}]of I.specs.entries())v[x]=C(I.builder,x,p,h);return v}catch(x){throw x[Dz]=v,x}}break}}async run(e,r){var o,a;let n,u={...ls.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(E){return u.stdout.write(this.error(E,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:E=>this.definition(E),error:(E,I)=>this.error(E,I),format:E=>this.format(E),process:(E,I)=>this.process(E,{...u,...I}),run:(E,I)=>this.run(E,{...u,...I}),usage:(E,I)=>this.usage(E,I)};let p=this.enableCapture&&(a=Bz(u))!==null&&a!==void 0?a:Sz,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return u.stdout.write(this.error(E,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:o}=this.getUsageByRegistration(e,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(e,{detailed:!0,inlineOptions:!1}),u=typeof e.usage.category<"u"?vo(e.usage.category,{format:this.format(r),paragraphs:!1}):void 0,A=typeof e.usage.description<"u"?vo(e.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof e.usage.details<"u"?vo(e.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof e.usage.examples<"u"?e.usage.examples.map(([E,I])=>[vo(E,{format:this.format(r),paragraphs:!1}),I.replace(/\$0/g,this.binaryName)]):void 0;return{path:o,usage:a,category:u,description:A,details:p,examples:h,options:n}}definitions({colored:e=!1}={}){let r=[];for(let o of this.registrations.keys()){let a=this.definition(o,{colored:e});!a||r.push(a)}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(x=>x.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof it?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:E=[]}=u.usage||{};p!==""&&(A+=vo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,x=>x.toUpperCase()),A+=` +`),(h!==""||E.length>0)&&(A+=`${this.format(r).header("Usage")} +`,A+=` +`);let{usage:I,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${I} +`,v.length>0){A+=` +`,A+=`${this.format(r).header("Options")} +`;let x=v.reduce((C,F)=>Math.max(C,F.definition.length),0);A+=` +`;for(let{definition:C,description:F}of v)A+=` ${this.format(r).bold(C.padEnd(x))} ${vo(F,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` +`,A+=`${this.format(r).header("Details")} +`,A+=` +`,A+=vo(h,{format:this.format(r),paragraphs:!0})),E.length>0){A+=` +`,A+=`${this.format(r).header("Examples")} +`;for(let[x,C]of E)A+=` +`,A+=vo(x,{format:this.format(r),paragraphs:!1}),A+=`${C.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} +`}else{let p=new Map;for(let[v,{index:x}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let C=typeof v.usage.category<"u"?vo(v.usage.category,{format:this.format(r),paragraphs:!1}):null,F=p.get(C);typeof F>"u"&&p.set(C,F=[]);let{usage:N}=this.getUsageByIndex(x);F.push({commandClass:v,usage:N})}let h=Array.from(p.keys()).sort((v,x)=>v===null?-1:x===null?1:v.localeCompare(x,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",I=typeof this.binaryVersion<"u";E||I?(E&&I?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:E?A+=`${this.format(r).header(`${this.binaryLabel}`)} +`:A+=`${this.format(r).header(`${this.binaryVersion}`)} +`,A+=` ${this.format(r).bold(a)}${this.binaryName} +`):A+=`${this.format(r).bold(a)}${this.binaryName} +`;for(let v of h){let x=p.get(v).slice().sort((F,N)=>F.usage.localeCompare(N.usage,"en",{usage:"sort",caseFirst:"upper"})),C=v!==null?v.trim():"General commands";A+=` +`,A+=`${this.format(r).header(`${C}`)} +`;for(let{commandClass:F,usage:N}of x){let U=F.usage.description||"undocumented";A+=` +`,A+=` ${this.format(r).bold(N)} +`,A+=` ${vo(U,{format:this.format(r),paragraphs:!1})}`}}A+=` +`,A+=vo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[Dz])!==null&&o!==void 0?o:null}=r===void 0?{}:r;(!e||typeof e!="object"||!("stack"in e))&&(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} +`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` +`,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} +`),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:ls.defaultContext.colorDepth>1)?uz:Az}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};ls.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:Iz()}});var lI,Rz=Et(()=>{Jp();lI=class extends it{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};lI.paths=[["--clipanion=definitions"]]});var cI,Fz=Et(()=>{Jp();cI=class extends it{async execute(){this.context.stdout.write(this.cli.usage())}};cI.paths=[["-h"],["--help"]]});function AD(t={}){return Wo({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var qT=Et(()=>{Ef()});var uI,Tz=Et(()=>{Jp();qT();uI=class extends it{constructor(){super(...arguments),this.args=AD()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} +`)}};uI.paths=[["--clipanion=tokens"]]});var AI,Lz=Et(()=>{Jp();AI=class extends it{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};AI.paths=[["-v"],["--version"]]});var GT={};zt(GT,{DefinitionsCommand:()=>lI,HelpCommand:()=>cI,TokensCommand:()=>uI,VersionCommand:()=>AI});var Nz=Et(()=>{Rz();Fz();Tz();Lz()});function Oz(t,e,r){let[o,a]=ju(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,E){let I,v=typeof o<"u"?[...o]:void 0;for(let{name:x,value:C}of E.options)!A.has(x)||(I=x,v=v??[],v.push(C));return typeof v<"u"?id(I??h,v,a.validator):v}})}var Mz=Et(()=>{Ef()});function Uz(t,e,r){let[o,a]=ju(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:I,value:v}of h.options)!u.has(I)||(E=v);return E}})}var _z=Et(()=>{Ef()});function Hz(t,e,r){let[o,a]=ju(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:I,value:v}of h.options)!u.has(I)||(E??(E=0),v?E+=1:E=0);return E}})}var qz=Et(()=>{Ef()});function Gz(t={}){return Wo({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===tl||A.extra===!1&&uu)}})}var jz=Et(()=>{cD();Ef()});function Zqe(t,e,r){let[o,a]=ju(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,I){let v,x=o;typeof a.env<"u"&&I.env[a.env]&&(v=a.env,x=I.env[a.env]);for(let{name:C,value:F}of E.options)!A.has(C)||(v=C,x=F);return typeof x=="string"?id(v??h,x,a.validator):x}})}function $qe(t={}){let{required:e=!0}=t;return Wo({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u{cD();Ef()});var ge={};zt(ge,{Array:()=>Oz,Boolean:()=>Uz,Counter:()=>Hz,Proxy:()=>AD,Rest:()=>Gz,String:()=>Yz,applyValidator:()=>id,cleanValidationError:()=>nD,formatError:()=>rI,isOptionSymbol:()=>tI,makeCommandOption:()=>Wo,rerouteArguments:()=>ju});var Kz=Et(()=>{Ef();qT();Mz();_z();qz();jz();Wz()});var fI={};zt(fI,{Builtins:()=>GT,Cli:()=>ls,Command:()=>it,Option:()=>ge,UsageError:()=>st,formatMarkdownish:()=>vo,run:()=>xz,runExit:()=>bz});var qt=Et(()=>{rD();QT();Jp();Qz();Nz();Kz()});var zz=_((kkt,eGe)=>{eGe.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Zz=_((Qkt,Cf)=>{var Jz=ve("fs"),YT=ve("path"),tGe=ve("os"),rGe=ve("crypto"),nGe=zz(),WT=nGe.version,iGe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function sGe(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,` +`);let o;for(;(o=iGe.exec(r))!=null;){let a=o[1],n=o[2]||"";n=n.trim();let u=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),u==='"'&&(n=n.replace(/\\n/g,` +`),n=n.replace(/\\r/g,"\r")),e[a]=n}return e}function oGe(t){let e=Xz(t),r=ks.configDotenv({path:e});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);let o=Vz(t).split(","),a=o.length,n;for(let u=0;u=a)throw A}return ks.parse(n)}function aGe(t){console.log(`[dotenv@${WT}][INFO] ${t}`)}function lGe(t){console.log(`[dotenv@${WT}][WARN] ${t}`)}function jT(t){console.log(`[dotenv@${WT}][DEBUG] ${t}`)}function Vz(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function cGe(t,e){let r;try{r=new URL(e)}catch(A){throw A.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):A}let o=r.password;if(!o)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,u=t.parsed[n];if(!u)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:u,key:o}}function Xz(t){let e=YT.resolve(process.cwd(),".env");return t&&t.path&&t.path.length>0&&(e=t.path),e.endsWith(".vault")?e:`${e}.vault`}function uGe(t){return t[0]==="~"?YT.join(tGe.homedir(),t.slice(1)):t}function AGe(t){aGe("Loading env from encrypted .env.vault");let e=ks._parseVault(t),r=process.env;return t&&t.processEnv!=null&&(r=t.processEnv),ks.populate(r,e,t),{parsed:e}}function fGe(t){let e=YT.resolve(process.cwd(),".env"),r="utf8",o=Boolean(t&&t.debug);t&&(t.path!=null&&(e=uGe(t.path)),t.encoding!=null&&(r=t.encoding));try{let a=ks.parse(Jz.readFileSync(e,{encoding:r})),n=process.env;return t&&t.processEnv!=null&&(n=t.processEnv),ks.populate(n,a,t),{parsed:a}}catch(a){return o&&jT(`Failed to load ${e} ${a.message}`),{error:a}}}function pGe(t){let e=Xz(t);return Vz(t).length===0?ks.configDotenv(t):Jz.existsSync(e)?ks._configVault(t):(lGe(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),ks.configDotenv(t))}function hGe(t,e){let r=Buffer.from(e.slice(-64),"hex"),o=Buffer.from(t,"base64"),a=o.slice(0,12),n=o.slice(-16);o=o.slice(12,-16);try{let u=rGe.createDecipheriv("aes-256-gcm",r,a);return u.setAuthTag(n),`${u.update(o)}${u.final()}`}catch(u){let A=u instanceof RangeError,p=u.message==="Invalid key length",h=u.message==="Unsupported state or unable to authenticate data";if(A||p){let E="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(E)}else if(h){let E="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(E)}else throw console.error("Error: ",u.code),console.error("Error: ",u.message),u}}function gGe(t,e,r={}){let o=Boolean(r&&r.debug),a=Boolean(r&&r.override);if(typeof e!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(e))Object.prototype.hasOwnProperty.call(t,n)?(a===!0&&(t[n]=e[n]),o&&jT(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):t[n]=e[n]}var ks={configDotenv:fGe,_configVault:AGe,_parseVault:oGe,config:pGe,decrypt:hGe,parse:sGe,populate:gGe};Cf.exports.configDotenv=ks.configDotenv;Cf.exports._configVault=ks._configVault;Cf.exports._parseVault=ks._parseVault;Cf.exports.config=ks.config;Cf.exports.decrypt=ks.decrypt;Cf.exports.parse=ks.parse;Cf.exports.populate=ks.populate;Cf.exports=ks});var eJ=_((Rkt,$z)=>{"use strict";$z.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var sd=_((Fkt,KT)=>{"use strict";var dGe=eJ(),tJ=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let E=dGe(A,...h);p(E),E.then(o,o)},n=(A,p,...h)=>{rnew Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};KT.exports=tJ;KT.exports.default=tJ});function Ku(t){return`YN${t.toString(10).padStart(4,"0")}`}function fD(t){let e=Number(t.slice(2));if(typeof wr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var wr,pD=Et(()=>{wr=(Oe=>(Oe[Oe.UNNAMED=0]="UNNAMED",Oe[Oe.EXCEPTION=1]="EXCEPTION",Oe[Oe.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Oe[Oe.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Oe[Oe.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Oe[Oe.BUILD_DISABLED=5]="BUILD_DISABLED",Oe[Oe.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Oe[Oe.MUST_BUILD=7]="MUST_BUILD",Oe[Oe.MUST_REBUILD=8]="MUST_REBUILD",Oe[Oe.BUILD_FAILED=9]="BUILD_FAILED",Oe[Oe.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Oe[Oe.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Oe[Oe.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Oe[Oe.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Oe[Oe.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Oe[Oe.REMOTE_INVALID=15]="REMOTE_INVALID",Oe[Oe.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Oe[Oe.RESOLUTION_PACK=17]="RESOLUTION_PACK",Oe[Oe.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Oe[Oe.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Oe[Oe.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Oe[Oe.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Oe[Oe.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Oe[Oe.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Oe[Oe.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Oe[Oe.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Oe[Oe.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Oe[Oe.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Oe[Oe.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Oe[Oe.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Oe[Oe.FETCH_FAILED=30]="FETCH_FAILED",Oe[Oe.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Oe[Oe.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Oe[Oe.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Oe[Oe.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Oe[Oe.NETWORK_ERROR=35]="NETWORK_ERROR",Oe[Oe.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Oe[Oe.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Oe[Oe.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Oe[Oe.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Oe[Oe.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Oe[Oe.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Oe[Oe.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Oe[Oe.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Oe[Oe.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Oe[Oe.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Oe[Oe.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Oe[Oe.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Oe[Oe.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Oe[Oe.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Oe[Oe.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Oe[Oe.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Oe[Oe.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Oe[Oe.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Oe[Oe.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Oe[Oe.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Oe[Oe.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Oe[Oe.INVALID_MANIFEST=57]="INVALID_MANIFEST",Oe[Oe.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Oe[Oe.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Oe[Oe.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Oe[Oe.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Oe[Oe.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Oe[Oe.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Oe[Oe.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Oe[Oe.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Oe[Oe.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Oe[Oe.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Oe[Oe.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Oe[Oe.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Oe[Oe.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Oe[Oe.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Oe[Oe.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Oe[Oe.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Oe[Oe.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Oe[Oe.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Oe[Oe.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Oe[Oe.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Oe[Oe.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Oe[Oe.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Oe[Oe.NETWORK_DISABLED=80]="NETWORK_DISABLED",Oe[Oe.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Oe[Oe.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Oe[Oe.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Oe[Oe.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Oe[Oe.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",Oe[Oe.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",Oe[Oe.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",Oe[Oe.VERSION_NOTICE=88]="VERSION_NOTICE",Oe[Oe.TIPS_NOTICE=89]="TIPS_NOTICE",Oe[Oe.OFFLINE_MODE_ENABLED=90]="OFFLINE_MODE_ENABLED",Oe))(wr||{})});var pI=_((Lkt,rJ)=>{var mGe="2.0.0",yGe=Number.MAX_SAFE_INTEGER||9007199254740991,EGe=16,CGe=256-6,wGe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];rJ.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:EGe,MAX_SAFE_BUILD_LENGTH:CGe,MAX_SAFE_INTEGER:yGe,RELEASE_TYPES:wGe,SEMVER_SPEC_VERSION:mGe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var hI=_((Nkt,nJ)=>{var IGe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};nJ.exports=IGe});var By=_((wf,iJ)=>{var{MAX_SAFE_COMPONENT_LENGTH:zT,MAX_SAFE_BUILD_LENGTH:BGe,MAX_LENGTH:vGe}=pI(),PGe=hI();wf=iJ.exports={};var DGe=wf.re=[],SGe=wf.safeRe=[],$t=wf.src=[],er=wf.t={},bGe=0,JT="[a-zA-Z0-9-]",xGe=[["\\s",1],["\\d",vGe],[JT,BGe]],kGe=t=>{for(let[e,r]of xGe)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},jr=(t,e,r)=>{let o=kGe(e),a=bGe++;PGe(t,a,e),er[t]=a,$t[a]=e,DGe[a]=new RegExp(e,r?"g":void 0),SGe[a]=new RegExp(o,r?"g":void 0)};jr("NUMERICIDENTIFIER","0|[1-9]\\d*");jr("NUMERICIDENTIFIERLOOSE","\\d+");jr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${JT}*`);jr("MAINVERSION",`(${$t[er.NUMERICIDENTIFIER]})\\.(${$t[er.NUMERICIDENTIFIER]})\\.(${$t[er.NUMERICIDENTIFIER]})`);jr("MAINVERSIONLOOSE",`(${$t[er.NUMERICIDENTIFIERLOOSE]})\\.(${$t[er.NUMERICIDENTIFIERLOOSE]})\\.(${$t[er.NUMERICIDENTIFIERLOOSE]})`);jr("PRERELEASEIDENTIFIER",`(?:${$t[er.NUMERICIDENTIFIER]}|${$t[er.NONNUMERICIDENTIFIER]})`);jr("PRERELEASEIDENTIFIERLOOSE",`(?:${$t[er.NUMERICIDENTIFIERLOOSE]}|${$t[er.NONNUMERICIDENTIFIER]})`);jr("PRERELEASE",`(?:-(${$t[er.PRERELEASEIDENTIFIER]}(?:\\.${$t[er.PRERELEASEIDENTIFIER]})*))`);jr("PRERELEASELOOSE",`(?:-?(${$t[er.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${$t[er.PRERELEASEIDENTIFIERLOOSE]})*))`);jr("BUILDIDENTIFIER",`${JT}+`);jr("BUILD",`(?:\\+(${$t[er.BUILDIDENTIFIER]}(?:\\.${$t[er.BUILDIDENTIFIER]})*))`);jr("FULLPLAIN",`v?${$t[er.MAINVERSION]}${$t[er.PRERELEASE]}?${$t[er.BUILD]}?`);jr("FULL",`^${$t[er.FULLPLAIN]}$`);jr("LOOSEPLAIN",`[v=\\s]*${$t[er.MAINVERSIONLOOSE]}${$t[er.PRERELEASELOOSE]}?${$t[er.BUILD]}?`);jr("LOOSE",`^${$t[er.LOOSEPLAIN]}$`);jr("GTLT","((?:<|>)?=?)");jr("XRANGEIDENTIFIERLOOSE",`${$t[er.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);jr("XRANGEIDENTIFIER",`${$t[er.NUMERICIDENTIFIER]}|x|X|\\*`);jr("XRANGEPLAIN",`[v=\\s]*(${$t[er.XRANGEIDENTIFIER]})(?:\\.(${$t[er.XRANGEIDENTIFIER]})(?:\\.(${$t[er.XRANGEIDENTIFIER]})(?:${$t[er.PRERELEASE]})?${$t[er.BUILD]}?)?)?`);jr("XRANGEPLAINLOOSE",`[v=\\s]*(${$t[er.XRANGEIDENTIFIERLOOSE]})(?:\\.(${$t[er.XRANGEIDENTIFIERLOOSE]})(?:\\.(${$t[er.XRANGEIDENTIFIERLOOSE]})(?:${$t[er.PRERELEASELOOSE]})?${$t[er.BUILD]}?)?)?`);jr("XRANGE",`^${$t[er.GTLT]}\\s*${$t[er.XRANGEPLAIN]}$`);jr("XRANGELOOSE",`^${$t[er.GTLT]}\\s*${$t[er.XRANGEPLAINLOOSE]}$`);jr("COERCEPLAIN",`(^|[^\\d])(\\d{1,${zT}})(?:\\.(\\d{1,${zT}}))?(?:\\.(\\d{1,${zT}}))?`);jr("COERCE",`${$t[er.COERCEPLAIN]}(?:$|[^\\d])`);jr("COERCEFULL",$t[er.COERCEPLAIN]+`(?:${$t[er.PRERELEASE]})?(?:${$t[er.BUILD]})?(?:$|[^\\d])`);jr("COERCERTL",$t[er.COERCE],!0);jr("COERCERTLFULL",$t[er.COERCEFULL],!0);jr("LONETILDE","(?:~>?)");jr("TILDETRIM",`(\\s*)${$t[er.LONETILDE]}\\s+`,!0);wf.tildeTrimReplace="$1~";jr("TILDE",`^${$t[er.LONETILDE]}${$t[er.XRANGEPLAIN]}$`);jr("TILDELOOSE",`^${$t[er.LONETILDE]}${$t[er.XRANGEPLAINLOOSE]}$`);jr("LONECARET","(?:\\^)");jr("CARETTRIM",`(\\s*)${$t[er.LONECARET]}\\s+`,!0);wf.caretTrimReplace="$1^";jr("CARET",`^${$t[er.LONECARET]}${$t[er.XRANGEPLAIN]}$`);jr("CARETLOOSE",`^${$t[er.LONECARET]}${$t[er.XRANGEPLAINLOOSE]}$`);jr("COMPARATORLOOSE",`^${$t[er.GTLT]}\\s*(${$t[er.LOOSEPLAIN]})$|^$`);jr("COMPARATOR",`^${$t[er.GTLT]}\\s*(${$t[er.FULLPLAIN]})$|^$`);jr("COMPARATORTRIM",`(\\s*)${$t[er.GTLT]}\\s*(${$t[er.LOOSEPLAIN]}|${$t[er.XRANGEPLAIN]})`,!0);wf.comparatorTrimReplace="$1$2$3";jr("HYPHENRANGE",`^\\s*(${$t[er.XRANGEPLAIN]})\\s+-\\s+(${$t[er.XRANGEPLAIN]})\\s*$`);jr("HYPHENRANGELOOSE",`^\\s*(${$t[er.XRANGEPLAINLOOSE]})\\s+-\\s+(${$t[er.XRANGEPLAINLOOSE]})\\s*$`);jr("STAR","(<|>)?=?\\s*\\*");jr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");jr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var hD=_((Okt,sJ)=>{var QGe=Object.freeze({loose:!0}),RGe=Object.freeze({}),FGe=t=>t?typeof t!="object"?QGe:t:RGe;sJ.exports=FGe});var VT=_((Mkt,lJ)=>{var oJ=/^[0-9]+$/,aJ=(t,e)=>{let r=oJ.test(t),o=oJ.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:taJ(e,t);lJ.exports={compareIdentifiers:aJ,rcompareIdentifiers:TGe}});var Po=_((Ukt,fJ)=>{var gD=hI(),{MAX_LENGTH:cJ,MAX_SAFE_INTEGER:dD}=pI(),{safeRe:uJ,t:AJ}=By(),LGe=hD(),{compareIdentifiers:vy}=VT(),rl=class{constructor(e,r){if(r=LGe(r),e instanceof rl){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>cJ)throw new TypeError(`version is longer than ${cJ} characters`);gD("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?uJ[AJ.LOOSE]:uJ[AJ.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>dD||this.major<0)throw new TypeError("Invalid major version");if(this.minor>dD||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>dD||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];o===!1&&(n=[r]),vy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};fJ.exports=rl});var od=_((_kt,hJ)=>{var pJ=Po(),NGe=(t,e,r=!1)=>{if(t instanceof pJ)return t;try{return new pJ(t,e)}catch(o){if(!r)return null;throw o}};hJ.exports=NGe});var dJ=_((Hkt,gJ)=>{var OGe=od(),MGe=(t,e)=>{let r=OGe(t,e);return r?r.version:null};gJ.exports=MGe});var yJ=_((qkt,mJ)=>{var UGe=od(),_Ge=(t,e)=>{let r=UGe(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};mJ.exports=_Ge});var wJ=_((Gkt,CJ)=>{var EJ=Po(),HGe=(t,e,r,o,a)=>{typeof r=="string"&&(a=o,o=r,r=void 0);try{return new EJ(t instanceof EJ?t.version:t,r).inc(e,o,a).version}catch{return null}};CJ.exports=HGe});var vJ=_((jkt,BJ)=>{var IJ=od(),qGe=(t,e)=>{let r=IJ(t,null,!0),o=IJ(e,null,!0),a=r.compare(o);if(a===0)return null;let n=a>0,u=n?r:o,A=n?o:r,p=!!u.prerelease.length;if(!!A.prerelease.length&&!p)return!A.patch&&!A.minor?"major":u.patch?"patch":u.minor?"minor":"major";let E=p?"pre":"";return r.major!==o.major?E+"major":r.minor!==o.minor?E+"minor":r.patch!==o.patch?E+"patch":"prerelease"};BJ.exports=qGe});var DJ=_((Ykt,PJ)=>{var GGe=Po(),jGe=(t,e)=>new GGe(t,e).major;PJ.exports=jGe});var bJ=_((Wkt,SJ)=>{var YGe=Po(),WGe=(t,e)=>new YGe(t,e).minor;SJ.exports=WGe});var kJ=_((Kkt,xJ)=>{var KGe=Po(),zGe=(t,e)=>new KGe(t,e).patch;xJ.exports=zGe});var RJ=_((zkt,QJ)=>{var JGe=od(),VGe=(t,e)=>{let r=JGe(t,e);return r&&r.prerelease.length?r.prerelease:null};QJ.exports=VGe});var Ol=_((Jkt,TJ)=>{var FJ=Po(),XGe=(t,e,r)=>new FJ(t,r).compare(new FJ(e,r));TJ.exports=XGe});var NJ=_((Vkt,LJ)=>{var ZGe=Ol(),$Ge=(t,e,r)=>ZGe(e,t,r);LJ.exports=$Ge});var MJ=_((Xkt,OJ)=>{var eje=Ol(),tje=(t,e)=>eje(t,e,!0);OJ.exports=tje});var mD=_((Zkt,_J)=>{var UJ=Po(),rje=(t,e,r)=>{let o=new UJ(t,r),a=new UJ(e,r);return o.compare(a)||o.compareBuild(a)};_J.exports=rje});var qJ=_(($kt,HJ)=>{var nje=mD(),ije=(t,e)=>t.sort((r,o)=>nje(r,o,e));HJ.exports=ije});var jJ=_((eQt,GJ)=>{var sje=mD(),oje=(t,e)=>t.sort((r,o)=>sje(o,r,e));GJ.exports=oje});var gI=_((tQt,YJ)=>{var aje=Ol(),lje=(t,e,r)=>aje(t,e,r)>0;YJ.exports=lje});var yD=_((rQt,WJ)=>{var cje=Ol(),uje=(t,e,r)=>cje(t,e,r)<0;WJ.exports=uje});var XT=_((nQt,KJ)=>{var Aje=Ol(),fje=(t,e,r)=>Aje(t,e,r)===0;KJ.exports=fje});var ZT=_((iQt,zJ)=>{var pje=Ol(),hje=(t,e,r)=>pje(t,e,r)!==0;zJ.exports=hje});var ED=_((sQt,JJ)=>{var gje=Ol(),dje=(t,e,r)=>gje(t,e,r)>=0;JJ.exports=dje});var CD=_((oQt,VJ)=>{var mje=Ol(),yje=(t,e,r)=>mje(t,e,r)<=0;VJ.exports=yje});var $T=_((aQt,XJ)=>{var Eje=XT(),Cje=ZT(),wje=gI(),Ije=ED(),Bje=yD(),vje=CD(),Pje=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Eje(t,r,o);case"!=":return Cje(t,r,o);case">":return wje(t,r,o);case">=":return Ije(t,r,o);case"<":return Bje(t,r,o);case"<=":return vje(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};XJ.exports=Pje});var $J=_((lQt,ZJ)=>{var Dje=Po(),Sje=od(),{safeRe:wD,t:ID}=By(),bje=(t,e)=>{if(t instanceof Dje)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?wD[ID.COERCEFULL]:wD[ID.COERCE]);else{let p=e.includePrerelease?wD[ID.COERCERTLFULL]:wD[ID.COERCERTL],h;for(;(h=p.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(r===null)return null;let o=r[2],a=r[3]||"0",n=r[4]||"0",u=e.includePrerelease&&r[5]?`-${r[5]}`:"",A=e.includePrerelease&&r[6]?`+${r[6]}`:"";return Sje(`${o}.${a}.${n}${u}${A}`,e)};ZJ.exports=bje});var tV=_((cQt,eV)=>{"use strict";eV.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var BD=_((uQt,rV)=>{"use strict";rV.exports=Cn;Cn.Node=ad;Cn.create=Cn;function Cn(t){var e=this;if(e instanceof Cn||(e=new Cn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};Cn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};Cn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Cn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Cn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Cn;if(ethis.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&othis.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};Cn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o{"use strict";var Rje=BD(),ld=Symbol("max"),Bf=Symbol("length"),Py=Symbol("lengthCalculator"),mI=Symbol("allowStale"),cd=Symbol("maxAge"),If=Symbol("dispose"),nV=Symbol("noDisposeOnSet"),Qs=Symbol("lruList"),Uc=Symbol("cache"),sV=Symbol("updateAgeOnGet"),eL=()=>1,rL=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[ld]=e.max||1/0,o=e.length||eL;if(this[Py]=typeof o!="function"?eL:o,this[mI]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[cd]=e.maxAge||0,this[If]=e.dispose,this[nV]=e.noDisposeOnSet||!1,this[sV]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[ld]=e||1/0,dI(this)}get max(){return this[ld]}set allowStale(e){this[mI]=!!e}get allowStale(){return this[mI]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[cd]=e,dI(this)}get maxAge(){return this[cd]}set lengthCalculator(e){typeof e!="function"&&(e=eL),e!==this[Py]&&(this[Py]=e,this[Bf]=0,this[Qs].forEach(r=>{r.length=this[Py](r.value,r.key),this[Bf]+=r.length})),dI(this)}get lengthCalculator(){return this[Py]}get length(){return this[Bf]}get itemCount(){return this[Qs].length}rforEach(e,r){r=r||this;for(let o=this[Qs].tail;o!==null;){let a=o.prev;iV(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Qs].head;o!==null;){let a=o.next;iV(this,e,o,r),o=a}}keys(){return this[Qs].toArray().map(e=>e.key)}values(){return this[Qs].toArray().map(e=>e.value)}reset(){this[If]&&this[Qs]&&this[Qs].length&&this[Qs].forEach(e=>this[If](e.key,e.value)),this[Uc]=new Map,this[Qs]=new Rje,this[Bf]=0}dump(){return this[Qs].map(e=>vD(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Qs]}set(e,r,o){if(o=o||this[cd],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Py](r,e);if(this[Uc].has(e)){if(n>this[ld])return Dy(this,this[Uc].get(e)),!1;let p=this[Uc].get(e).value;return this[If]&&(this[nV]||this[If](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[Bf]+=n-p.length,p.length=n,this.get(e),dI(this),!0}let u=new nL(e,r,n,a,o);return u.length>this[ld]?(this[If]&&this[If](e,r),!1):(this[Bf]+=u.length,this[Qs].unshift(u),this[Uc].set(e,this[Qs].head),dI(this),!0)}has(e){if(!this[Uc].has(e))return!1;let r=this[Uc].get(e).value;return!vD(this,r)}get(e){return tL(this,e,!0)}peek(e){return tL(this,e,!1)}pop(){let e=this[Qs].tail;return e?(Dy(this,e),e.value):null}del(e){Dy(this,this[Uc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Uc].forEach((e,r)=>tL(this,r,!1))}},tL=(t,e,r)=>{let o=t[Uc].get(e);if(o){let a=o.value;if(vD(t,a)){if(Dy(t,o),!t[mI])return}else r&&(t[sV]&&(o.value.now=Date.now()),t[Qs].unshiftNode(o));return a.value}},vD=(t,e)=>{if(!e||!e.maxAge&&!t[cd])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[cd]&&r>t[cd]},dI=t=>{if(t[Bf]>t[ld])for(let e=t[Qs].tail;t[Bf]>t[ld]&&e!==null;){let r=e.prev;Dy(t,e),e=r}},Dy=(t,e)=>{if(e){let r=e.value;t[If]&&t[If](r.key,r.value),t[Bf]-=r.length,t[Uc].delete(r.key),t[Qs].removeNode(e)}},nL=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},iV=(t,e,r,o)=>{let a=r.value;vD(t,a)&&(Dy(t,r),t[mI]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};oV.exports=rL});var Ml=_((fQt,AV)=>{var ud=class{constructor(e,r){if(r=Tje(r),e instanceof ud)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new ud(e.raw,r);if(e instanceof iL)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!cV(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&Hje(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let o=((this.options.includePrerelease&&Uje)|(this.options.loose&&_je))+":"+e,a=lV.get(o);if(a)return a;let n=this.options.loose,u=n?Pa[Jo.HYPHENRANGELOOSE]:Pa[Jo.HYPHENRANGE];e=e.replace(u,Xje(this.options.includePrerelease)),ci("hyphen replace",e),e=e.replace(Pa[Jo.COMPARATORTRIM],Nje),ci("comparator trim",e),e=e.replace(Pa[Jo.TILDETRIM],Oje),ci("tilde trim",e),e=e.replace(Pa[Jo.CARETTRIM],Mje),ci("caret trim",e);let A=e.split(" ").map(I=>qje(I,this.options)).join(" ").split(/\s+/).map(I=>Vje(I,this.options));n&&(A=A.filter(I=>(ci("loose invalid filter",I,this.options),!!I.match(Pa[Jo.COMPARATORLOOSE])))),ci("range list",A);let p=new Map,h=A.map(I=>new iL(I,this.options));for(let I of h){if(cV(I))return[I];p.set(I.value,I)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return lV.set(o,E),E}intersects(e,r){if(!(e instanceof ud))throw new TypeError("a Range is required");return this.set.some(o=>uV(o,r)&&e.set.some(a=>uV(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Lje(e,this.options)}catch{return!1}for(let r=0;rt.value==="<0.0.0-0",Hje=t=>t.value==="",uV=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},qje=(t,e)=>(ci("comp",t,e),t=Yje(t,e),ci("caret",t),t=Gje(t,e),ci("tildes",t),t=Kje(t,e),ci("xrange",t),t=Jje(t,e),ci("stars",t),t),Vo=t=>!t||t.toLowerCase()==="x"||t==="*",Gje=(t,e)=>t.trim().split(/\s+/).map(r=>jje(r,e)).join(" "),jje=(t,e)=>{let r=e.loose?Pa[Jo.TILDELOOSE]:Pa[Jo.TILDE];return t.replace(r,(o,a,n,u,A)=>{ci("tilde",t,o,a,n,u,A);let p;return Vo(a)?p="":Vo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Vo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(ci("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,ci("tilde return",p),p})},Yje=(t,e)=>t.trim().split(/\s+/).map(r=>Wje(r,e)).join(" "),Wje=(t,e)=>{ci("caret",t,e);let r=e.loose?Pa[Jo.CARETLOOSE]:Pa[Jo.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{ci("caret",t,a,n,u,A,p);let h;return Vo(n)?h="":Vo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Vo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(ci("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(ci("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),ci("caret return",h),h})},Kje=(t,e)=>(ci("replaceXRanges",t,e),t.split(/\s+/).map(r=>zje(r,e)).join(" ")),zje=(t,e)=>{t=t.trim();let r=e.loose?Pa[Jo.XRANGELOOSE]:Pa[Jo.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{ci("xRange",t,o,a,n,u,A,p);let h=Vo(n),E=h||Vo(u),I=E||Vo(A),v=I;return a==="="&&v&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(E&&(u=0),A=0,a===">"?(a=">=",E?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",E?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):E?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:I&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),ci("xRange return",o),o})},Jje=(t,e)=>(ci("replaceStars",t,e),t.trim().replace(Pa[Jo.STAR],"")),Vje=(t,e)=>(ci("replaceGTE0",t,e),t.trim().replace(Pa[e.includePrerelease?Jo.GTE0PRE:Jo.GTE0],"")),Xje=t=>(e,r,o,a,n,u,A,p,h,E,I,v,x)=>(Vo(o)?r="":Vo(a)?r=`>=${o}.0.0${t?"-0":""}`:Vo(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Vo(h)?p="":Vo(E)?p=`<${+h+1}.0.0-0`:Vo(I)?p=`<${h}.${+E+1}.0-0`:v?p=`<=${h}.${E}.${I}-${v}`:t?p=`<${h}.${E}.${+I+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),Zje=(t,e,r)=>{for(let o=0;o0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var yI=_((pQt,mV)=>{var EI=Symbol("SemVer ANY"),Sy=class{static get ANY(){return EI}constructor(e,r){if(r=fV(r),e instanceof Sy){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),oL("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===EI?this.value="":this.value=this.operator+this.semver.version,oL("comp",this)}parse(e){let r=this.options.loose?pV[hV.COMPARATORLOOSE]:pV[hV.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new gV(o[2],this.options.loose):this.semver=EI}toString(){return this.value}test(e){if(oL("Comparator.test",e,this.options.loose),this.semver===EI||e===EI)return!0;if(typeof e=="string")try{e=new gV(e,this.options)}catch{return!1}return sL(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof Sy))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new dV(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new dV(this.value,r).test(e.semver):(r=fV(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||sL(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||sL(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};mV.exports=Sy;var fV=hD(),{safeRe:pV,t:hV}=By(),sL=$T(),oL=hI(),gV=Po(),dV=Ml()});var CI=_((hQt,yV)=>{var $je=Ml(),e9e=(t,e,r)=>{try{e=new $je(e,r)}catch{return!1}return e.test(t)};yV.exports=e9e});var CV=_((gQt,EV)=>{var t9e=Ml(),r9e=(t,e)=>new t9e(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));EV.exports=r9e});var IV=_((dQt,wV)=>{var n9e=Po(),i9e=Ml(),s9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new i9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new n9e(o,r))}),o};wV.exports=s9e});var vV=_((mQt,BV)=>{var o9e=Po(),a9e=Ml(),l9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new a9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new o9e(o,r))}),o};BV.exports=l9e});var SV=_((yQt,DV)=>{var aL=Po(),c9e=Ml(),PV=gI(),u9e=(t,e)=>{t=new c9e(t,e);let r=new aL("0.0.0");if(t.test(r)||(r=new aL("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o{let A=new aL(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||PV(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||PV(r,n))&&(r=n)}return r&&t.test(r)?r:null};DV.exports=u9e});var xV=_((EQt,bV)=>{var A9e=Ml(),f9e=(t,e)=>{try{return new A9e(t,e).range||"*"}catch{return null}};bV.exports=f9e});var PD=_((CQt,FV)=>{var p9e=Po(),RV=yI(),{ANY:h9e}=RV,g9e=Ml(),d9e=CI(),kV=gI(),QV=yD(),m9e=CD(),y9e=ED(),E9e=(t,e,r,o)=>{t=new p9e(t,o),e=new g9e(e,o);let a,n,u,A,p;switch(r){case">":a=kV,n=m9e,u=QV,A=">",p=">=";break;case"<":a=QV,n=y9e,u=kV,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(d9e(t,e,o))return!1;for(let h=0;h{x.semver===h9e&&(x=new RV(">=0.0.0")),I=I||x,v=v||x,a(x.semver,I.semver,o)?I=x:u(x.semver,v.semver,o)&&(v=x)}),I.operator===A||I.operator===p||(!v.operator||v.operator===A)&&n(t,v.semver))return!1;if(v.operator===p&&u(t,v.semver))return!1}return!0};FV.exports=E9e});var LV=_((wQt,TV)=>{var C9e=PD(),w9e=(t,e,r)=>C9e(t,e,">",r);TV.exports=w9e});var OV=_((IQt,NV)=>{var I9e=PD(),B9e=(t,e,r)=>I9e(t,e,"<",r);NV.exports=B9e});var _V=_((BQt,UV)=>{var MV=Ml(),v9e=(t,e,r)=>(t=new MV(t,r),e=new MV(e,r),t.intersects(e,r));UV.exports=v9e});var qV=_((vQt,HV)=>{var P9e=CI(),D9e=Ol();HV.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((E,I)=>D9e(E,I,r));for(let E of u)P9e(E,e,r)?(n=E,a||(a=E)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[E,I]of o)E===I?A.push(E):!I&&E===u[0]?A.push("*"):I?E===u[0]?A.push(`<=${I}`):A.push(`${E} - ${I}`):A.push(`>=${E}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length{var GV=Ml(),cL=yI(),{ANY:lL}=cL,wI=CI(),uL=Ol(),S9e=(t,e,r={})=>{if(t===e)return!0;t=new GV(t,r),e=new GV(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=x9e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},b9e=[new cL(">=0.0.0-0")],jV=[new cL(">=0.0.0")],x9e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===lL){if(e.length===1&&e[0].semver===lL)return!0;r.includePrerelease?t=b9e:t=jV}if(e.length===1&&e[0].semver===lL){if(r.includePrerelease)return!0;e=jV}let o=new Set,a,n;for(let x of t)x.operator===">"||x.operator===">="?a=YV(a,x,r):x.operator==="<"||x.operator==="<="?n=WV(n,x,r):o.add(x.semver);if(o.size>1)return null;let u;if(a&&n){if(u=uL(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let x of o){if(a&&!wI(x,String(a),r)||n&&!wI(x,String(n),r))return null;for(let C of e)if(!wI(x,String(C),r))return!1;return!0}let A,p,h,E,I=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;I&&I.prerelease.length===1&&n.operator==="<"&&I.prerelease[0]===0&&(I=!1);for(let x of e){if(E=E||x.operator===">"||x.operator===">=",h=h||x.operator==="<"||x.operator==="<=",a){if(v&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===v.major&&x.semver.minor===v.minor&&x.semver.patch===v.patch&&(v=!1),x.operator===">"||x.operator===">="){if(A=YV(a,x,r),A===x&&A!==a)return!1}else if(a.operator===">="&&!wI(a.semver,String(x),r))return!1}if(n){if(I&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===I.major&&x.semver.minor===I.minor&&x.semver.patch===I.patch&&(I=!1),x.operator==="<"||x.operator==="<="){if(p=WV(n,x,r),p===x&&p!==n)return!1}else if(n.operator==="<="&&!wI(n.semver,String(x),r))return!1}if(!x.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&E&&!a&&u!==0||v||I)},YV=(t,e,r)=>{if(!t)return e;let o=uL(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},WV=(t,e,r)=>{if(!t)return e;let o=uL(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};KV.exports=S9e});var Vn=_((DQt,XV)=>{var AL=By(),JV=pI(),k9e=Po(),VV=VT(),Q9e=od(),R9e=dJ(),F9e=yJ(),T9e=wJ(),L9e=vJ(),N9e=DJ(),O9e=bJ(),M9e=kJ(),U9e=RJ(),_9e=Ol(),H9e=NJ(),q9e=MJ(),G9e=mD(),j9e=qJ(),Y9e=jJ(),W9e=gI(),K9e=yD(),z9e=XT(),J9e=ZT(),V9e=ED(),X9e=CD(),Z9e=$T(),$9e=$J(),e5e=yI(),t5e=Ml(),r5e=CI(),n5e=CV(),i5e=IV(),s5e=vV(),o5e=SV(),a5e=xV(),l5e=PD(),c5e=LV(),u5e=OV(),A5e=_V(),f5e=qV(),p5e=zV();XV.exports={parse:Q9e,valid:R9e,clean:F9e,inc:T9e,diff:L9e,major:N9e,minor:O9e,patch:M9e,prerelease:U9e,compare:_9e,rcompare:H9e,compareLoose:q9e,compareBuild:G9e,sort:j9e,rsort:Y9e,gt:W9e,lt:K9e,eq:z9e,neq:J9e,gte:V9e,lte:X9e,cmp:Z9e,coerce:$9e,Comparator:e5e,Range:t5e,satisfies:r5e,toComparators:n5e,maxSatisfying:i5e,minSatisfying:s5e,minVersion:o5e,validRange:a5e,outside:l5e,gtr:c5e,ltr:u5e,intersects:A5e,simplifyRange:f5e,subset:p5e,SemVer:k9e,re:AL.re,src:AL.src,tokens:AL.t,SEMVER_SPEC_VERSION:JV.SEMVER_SPEC_VERSION,RELEASE_TYPES:JV.RELEASE_TYPES,compareIdentifiers:VV.compareIdentifiers,rcompareIdentifiers:VV.rcompareIdentifiers}});var $V=_((SQt,ZV)=>{"use strict";function h5e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Ad(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ad)}h5e(Ad,Error);Ad.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I{switch(Fe[1]){case"|":return be|Fe[3];case"&":return be&Fe[3];case"^":return be^Fe[3]}},$)},v="!",x=Te("!",!1),C=function($){return!$},F="(",N=Te("(",!1),U=")",J=Te(")",!1),te=function($){return $},ae=/^[^ \t\n\r()!|&\^]/,le=Re([" "," ",` +`,"\r","(",")","!","|","&","^"],!0,!1),ce=function($){return e.queryPattern.test($)},we=function($){return e.checkFn($)},de=Se("whitespace"),Be=/^[ \t\n\r]/,Ee=Re([" "," ",` +`,"\r"],!1,!1),g=0,me=0,Ce=[{line:1,column:1}],Ae=0,ne=[],Z=0,xe;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function Le(){return t.substring(me,g)}function ht(){return Ue(me,g)}function H($,ie){throw ie=ie!==void 0?ie:Ue(me,g),S([Se($)],t.substring(me,g),ie)}function rt($,ie){throw ie=ie!==void 0?ie:Ue(me,g),w($,ie)}function Te($,ie){return{type:"literal",text:$,ignoreCase:ie}}function Re($,ie,be){return{type:"class",parts:$,inverted:ie,ignoreCase:be}}function ke(){return{type:"any"}}function Ye(){return{type:"end"}}function Se($){return{type:"other",description:$}}function et($){var ie=Ce[$],be;if(ie)return ie;for(be=$-1;!Ce[be];)be--;for(ie=Ce[be],ie={line:ie.line,column:ie.column};be<$;)t.charCodeAt(be)===10?(ie.line++,ie.column=1):ie.column++,be++;return Ce[$]=ie,ie}function Ue($,ie){var be=et($),Fe=et(ie);return{start:{offset:$,line:be.line,column:be.column},end:{offset:ie,line:Fe.line,column:Fe.column}}}function b($){gAe&&(Ae=g,ne=[]),ne.push($))}function w($,ie){return new Ad($,null,null,ie)}function S($,ie,be){return new Ad(Ad.buildMessage($,ie),$,ie,be)}function y(){var $,ie,be,Fe,at,dt,Gt,tr;if($=g,ie=R(),ie!==r){for(be=[],Fe=g,at=X(),at!==r?(t.charCodeAt(g)===124?(dt=n,g++):(dt=r,Z===0&&b(u)),dt===r&&(t.charCodeAt(g)===38?(dt=A,g++):(dt=r,Z===0&&b(p)),dt===r&&(t.charCodeAt(g)===94?(dt=h,g++):(dt=r,Z===0&&b(E)))),dt!==r?(Gt=X(),Gt!==r?(tr=R(),tr!==r?(at=[at,dt,Gt,tr],Fe=at):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);Fe!==r;)be.push(Fe),Fe=g,at=X(),at!==r?(t.charCodeAt(g)===124?(dt=n,g++):(dt=r,Z===0&&b(u)),dt===r&&(t.charCodeAt(g)===38?(dt=A,g++):(dt=r,Z===0&&b(p)),dt===r&&(t.charCodeAt(g)===94?(dt=h,g++):(dt=r,Z===0&&b(E)))),dt!==r?(Gt=X(),Gt!==r?(tr=R(),tr!==r?(at=[at,dt,Gt,tr],Fe=at):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);be!==r?(me=$,ie=I(ie,be),$=ie):(g=$,$=r)}else g=$,$=r;return $}function R(){var $,ie,be,Fe,at,dt;return $=g,t.charCodeAt(g)===33?(ie=v,g++):(ie=r,Z===0&&b(x)),ie!==r?(be=R(),be!==r?(me=$,ie=C(be),$=ie):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(ie=F,g++):(ie=r,Z===0&&b(N)),ie!==r?(be=X(),be!==r?(Fe=y(),Fe!==r?(at=X(),at!==r?(t.charCodeAt(g)===41?(dt=U,g++):(dt=r,Z===0&&b(J)),dt!==r?(me=$,ie=te(Fe),$=ie):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=V())),$}function V(){var $,ie,be,Fe,at;if($=g,ie=X(),ie!==r){if(be=g,Fe=[],ae.test(t.charAt(g))?(at=t.charAt(g),g++):(at=r,Z===0&&b(le)),at!==r)for(;at!==r;)Fe.push(at),ae.test(t.charAt(g))?(at=t.charAt(g),g++):(at=r,Z===0&&b(le));else Fe=r;Fe!==r?be=t.substring(be,g):be=Fe,be!==r?(me=g,Fe=ce(be),Fe?Fe=void 0:Fe=r,Fe!==r?(me=$,ie=we(be),$=ie):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,ie;for(Z++,$=[],Be.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&b(Ee));ie!==r;)$.push(ie),Be.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&b(Ee));return Z--,$===r&&(ie=r,Z===0&&b(de)),$}if(xe=a(),xe!==r&&g===t.length)return xe;throw xe!==r&&g{var{parse:d5e}=$V();DD.makeParser=(t=/[a-z]+/)=>(e,r)=>d5e(e,{queryPattern:t,checkFn:r});DD.parse=DD.makeParser()});var rX=_((xQt,tX)=>{"use strict";tX.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var fL=_((kQt,iX)=>{var II=rX(),nX={};for(let t of Object.keys(II))nX[II[t]]=t;var Ar={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};iX.exports=Ar;for(let t of Object.keys(Ar)){if(!("channels"in Ar[t]))throw new Error("missing channels property: "+t);if(!("labels"in Ar[t]))throw new Error("missing channel labels property: "+t);if(Ar[t].labels.length!==Ar[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Ar[t];delete Ar[t].channels,delete Ar[t].labels,Object.defineProperty(Ar[t],"channels",{value:e}),Object.defineProperty(Ar[t],"labels",{value:r})}Ar.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};Ar.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),E=h-Math.min(u,A,p),I=function(v){return(h-v)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=I(u),r=I(A),o=I(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};Ar.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=Ar.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};Ar.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function m5e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Ar.rgb.keyword=function(t){let e=nX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(II)){let n=II[a],u=m5e(t,n);u.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};Ar.rgb.lab=function(t){let e=Ar.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};Ar.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};Ar.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};Ar.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};Ar.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};Ar.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,E,I;switch(u){default:case 6:case 0:h=A,E=p,I=r;break;case 1:h=p,E=A,I=r;break;case 2:h=r,E=A,I=p;break;case 3:h=r,E=p,I=A;break;case 4:h=p,E=r,I=A;break;case 5:h=A,E=r,I=p;break}return[h*255,E*255,I*255]};Ar.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};Ar.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};Ar.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};Ar.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};Ar.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};Ar.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};Ar.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?Ar.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};Ar.hsv.ansi16=function(t){return Ar.rgb.ansi16(Ar.hsv.rgb(t),t[2])};Ar.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};Ar.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};Ar.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};Ar.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Ar.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};Ar.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};Ar.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};Ar.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};Ar.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};Ar.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};Ar.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};Ar.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};Ar.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};Ar.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Ar.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Ar.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Ar.gray.hsl=function(t){return[0,0,t[0]]};Ar.gray.hsv=Ar.gray.hsl;Ar.gray.hwb=function(t){return[0,100,t[0]]};Ar.gray.cmyk=function(t){return[0,0,0,t[0]]};Ar.gray.lab=function(t){return[t[0],0,0]};Ar.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};Ar.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var oX=_((QQt,sX)=>{var SD=fL();function y5e(){let t={},e=Object.keys(SD);for(let r=e.length,o=0;o{var pL=fL(),I5e=oX(),by={},B5e=Object.keys(pL);function v5e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function P5e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u{by[t]={},Object.defineProperty(by[t],"channels",{value:pL[t].channels}),Object.defineProperty(by[t],"labels",{value:pL[t].labels});let e=I5e(t);Object.keys(e).forEach(o=>{let a=e[o];by[t][o]=P5e(a),by[t][o].raw=v5e(a)})});aX.exports=by});var BI=_((FQt,pX)=>{"use strict";var cX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,uX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},AX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},bD=t=>t,fX=(t,e,r)=>[t,e,r],xy=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},hL,ky=(t,e,r,o)=>{hL===void 0&&(hL=lX());let a=o?10:0,n={};for(let[u,A]of Object.entries(hL)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function D5e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",xy(e.color,"ansi",()=>ky(cX,"ansi16",bD,!1)),xy(e.color,"ansi256",()=>ky(uX,"ansi256",bD,!1)),xy(e.color,"ansi16m",()=>ky(AX,"rgb",fX,!1)),xy(e.bgColor,"ansi",()=>ky(cX,"ansi16",bD,!0)),xy(e.bgColor,"ansi256",()=>ky(uX,"ansi256",bD,!0)),xy(e.bgColor,"ansi16m",()=>ky(AX,"rgb",fX,!0)),e}Object.defineProperty(pX,"exports",{enumerable:!0,get:D5e})});var gX=_((TQt,hX)=>{"use strict";hX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o{"use strict";var S5e=ve("os"),dX=ve("tty"),Ul=gX(),{env:cs}=process,Vp;Ul("no-color")||Ul("no-colors")||Ul("color=false")||Ul("color=never")?Vp=0:(Ul("color")||Ul("colors")||Ul("color=true")||Ul("color=always"))&&(Vp=1);"FORCE_COLOR"in cs&&(cs.FORCE_COLOR==="true"?Vp=1:cs.FORCE_COLOR==="false"?Vp=0:Vp=cs.FORCE_COLOR.length===0?1:Math.min(parseInt(cs.FORCE_COLOR,10),3));function gL(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function dL(t,e){if(Vp===0)return 0;if(Ul("color=16m")||Ul("color=full")||Ul("color=truecolor"))return 3;if(Ul("color=256"))return 2;if(t&&!e&&Vp===void 0)return 0;let r=Vp||0;if(cs.TERM==="dumb")return r;if(process.platform==="win32"){let o=S5e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in cs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in cs)||cs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in cs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(cs.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in cs)return 1;if(cs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in cs){let o=parseInt((cs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(cs.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(cs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(cs.TERM)||"COLORTERM"in cs?1:r}function b5e(t){let e=dL(t,t&&t.isTTY);return gL(e)}mX.exports={supportsColor:b5e,stdout:gL(dL(!0,dX.isatty(1))),stderr:gL(dL(!0,dX.isatty(2)))}});var EX=_((NQt,yX)=>{"use strict";var x5e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},k5e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};yX.exports={stringReplaceAll:x5e,stringEncaseCRLFWithFirstIndex:k5e}});var vX=_((OQt,BX)=>{"use strict";var Q5e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,CX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,R5e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,F5e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,T5e=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function IX(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):T5e.get(t)||t}function L5e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(R5e))r.push(a[2].replace(F5e,(A,p,h)=>p?IX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function N5e(t){CX.lastIndex=0;let e=[],r;for(;(r=CX.exec(t))!==null;){let o=r[1];if(r[2]){let a=L5e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function wX(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}BX.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(Q5e,(n,u,A,p,h,E)=>{if(u)a.push(IX(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:wX(t,r)(I)),r.push({inverse:A,styles:N5e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(wX(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var BL=_((MQt,bX)=>{"use strict";var vI=BI(),{stdout:EL,stderr:CL}=mL(),{stringReplaceAll:O5e,stringEncaseCRLFWithFirstIndex:M5e}=EX(),PX=["ansi","ansi","ansi256","ansi16m"],Qy=Object.create(null),U5e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=EL?EL.level:0;t.level=e.level===void 0?r:e.level},wL=class{constructor(e){return DX(e)}},DX=t=>{let e={};return U5e(e,t),e.template=(...r)=>q5e(e.template,...r),Object.setPrototypeOf(e,xD.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=wL,e.template};function xD(t){return DX(t)}for(let[t,e]of Object.entries(vI))Qy[t]={get(){let r=kD(this,IL(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Qy.visible={get(){let t=kD(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var SX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of SX)Qy[t]={get(){let{level:e}=this;return function(...r){let o=IL(vI.color[PX[e]][t](...r),vI.color.close,this._styler);return kD(this,o,this._isEmpty)}}};for(let t of SX){let e="bg"+t[0].toUpperCase()+t.slice(1);Qy[e]={get(){let{level:r}=this;return function(...o){let a=IL(vI.bgColor[PX[r]][t](...o),vI.bgColor.close,this._styler);return kD(this,a,this._isEmpty)}}}}var _5e=Object.defineProperties(()=>{},{...Qy,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),IL=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},kD=(t,e,r)=>{let o=(...a)=>H5e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=_5e,o._generator=t,o._styler=e,o._isEmpty=r,o},H5e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=O5e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=M5e(e,a,o,n)),o+e+a},yL,q5e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";_l.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;_l.find=(t,e)=>t.nodes.find(r=>r.type===e);_l.exceedsLimit=(t,e,r=1,o)=>o===!1||!_l.isInteger(t)||!_l.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;_l.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};_l.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;_l.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;_l.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;_l.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);_l.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a{"use strict";var xX=QD();kX.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&xX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&xX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var RX=_((HQt,QX)=>{"use strict";QX.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var HX=_((qQt,_X)=>{"use strict";var FX=RX(),fd=(t,e,r)=>{if(FX(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(FX(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(fd.cache.hasOwnProperty(p))return fd.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let F=t+"|"+e;return o.capture?`(${F})`:o.wrap===!1?F:`(?:${F})`}let I=UX(t)||UX(e),v={min:t,max:e,a:h,b:E},x=[],C=[];if(I&&(v.isPadded=I,v.maxLen=String(v.max).length),h<0){let F=E<0?Math.abs(E):1;C=TX(F,Math.abs(h),v,o),h=v.a=0}return E>=0&&(x=TX(h,E,v,o)),v.negatives=C,v.positives=x,v.result=G5e(C,x,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&x.length+C.length>1&&(v.result=`(?:${v.result})`),fd.cache[p]=v,v.result};function G5e(t,e,r){let o=vL(t,e,"-",!1,r)||[],a=vL(e,t,"",!1,r)||[],n=vL(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function j5e(t,e){let r=1,o=1,a=NX(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=NX(t,r);for(a=OX(e+1,o)-1;t1&&A.count.pop(),A.count.push(E.count[0]),A.string=A.pattern+MX(A.count),u=h+1;continue}r.isPadded&&(I=J5e(h,r,o)),E.string=I+E.pattern+MX(E.count),n.push(E),u=h+1,A=E}return n}function vL(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!LX(e,"string",A)&&n.push(r+A),o&&LX(e,"string",A)&&n.push(r+A)}return n}function W5e(t,e){let r=[];for(let o=0;oe?1:e>t?-1:0}function LX(t,e,r){return t.some(o=>o[e]===r)}function NX(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function OX(t,e){return t-t%Math.pow(10,e)}function MX(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function z5e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function UX(t){return/^-?(0+)\d/.test(t)}function J5e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}fd.cache={};fd.clearCache=()=>fd.cache={};_X.exports=fd});var SL=_((GQt,JX)=>{"use strict";var V5e=ve("util"),jX=HX(),qX=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),X5e=t=>e=>t===!0?Number(e):String(e),PL=t=>typeof t=="number"||typeof t=="string"&&t!=="",DI=t=>Number.isInteger(+t),DL=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},Z5e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,$5e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},GX=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((u,A)=>uA?1:0),t.positives.sort((u,A)=>uA?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},YX=(t,e,r,o)=>{if(r)return jX(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},WX=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return jX(t,e,r)},KX=(...t)=>new RangeError("Invalid range arguments: "+V5e.inspect(...t)),zX=(t,e,r)=>{if(r.strictRanges===!0)throw KX([t,e]);return[]},t7e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},r7e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw KX([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=DL(A)||DL(p)||DL(h),I=E?Math.max(A.length,p.length,h.length):0,v=E===!1&&Z5e(t,e,o)===!1,x=o.transform||X5e(v);if(o.toRegex&&r===1)return YX(GX(t,I),GX(e,I),!0,o);let C={negatives:[],positives:[]},F=J=>C[J<0?"negatives":"positives"].push(Math.abs(J)),N=[],U=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?F(a):N.push($5e(x(a,U),I,v)),a=u?a-r:a+r,U++;return o.toRegex===!0?r>1?e7e(C,o):WX(N,null,{wrap:!1,...o}):N},n7e=(t,e,r=1,o={})=>{if(!DI(t)&&t.length>1||!DI(e)&&e.length>1)return zX(t,e,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return YX(p,h,!1,o);let E=[],I=0;for(;A?n>=u:n<=u;)E.push(a(n,I)),n=A?n-r:n+r,I++;return o.toRegex===!0?WX(E,null,{wrap:!1,options:o}):E},FD=(t,e,r,o={})=>{if(e==null&&PL(t))return[t];if(!PL(t)||!PL(e))return zX(t,e,o);if(typeof r=="function")return FD(t,e,1,{transform:r});if(qX(r))return FD(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,DI(r)?DI(t)&&DI(e)?r7e(t,e,r,a):n7e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!qX(r)?t7e(r,a):FD(t,e,1,r)};JX.exports=FD});var ZX=_((jQt,XX)=>{"use strict";var i7e=SL(),VX=QD(),s7e=(t,e={})=>{let r=(o,a={})=>{let n=VX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let E=VX.reduce(o.nodes),I=i7e(...E,{...e,wrap:!1,toRegex:!0});if(I.length!==0)return E.length>1&&I.length>1?`(${I})`:I}if(o.nodes)for(let E of o.nodes)h+=r(E,o);return h};return r(t)};XX.exports=s7e});var tZ=_((YQt,eZ)=>{"use strict";var o7e=SL(),$X=RD(),Ry=QD(),pd=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Ry.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(pd(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?pd(a,n,r):a+n);return Ry.flatten(o)},a7e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(pd(A.pop(),$X(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(pd(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let I=Ry.reduce(a.nodes);if(Ry.exceedsLimit(...I,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=o7e(...I,e);v.length===0&&(v=$X(a,e)),A.push(pd(A.pop(),v)),a.nodes=[];return}let p=Ry.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let I=0;I{"use strict";rZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var lZ=_((KQt,aZ)=>{"use strict";var l7e=RD(),{MAX_LENGTH:iZ,CHAR_BACKSLASH:bL,CHAR_BACKTICK:c7e,CHAR_COMMA:u7e,CHAR_DOT:A7e,CHAR_LEFT_PARENTHESES:f7e,CHAR_RIGHT_PARENTHESES:p7e,CHAR_LEFT_CURLY_BRACE:h7e,CHAR_RIGHT_CURLY_BRACE:g7e,CHAR_LEFT_SQUARE_BRACKET:sZ,CHAR_RIGHT_SQUARE_BRACKET:oZ,CHAR_DOUBLE_QUOTE:d7e,CHAR_SINGLE_QUOTE:m7e,CHAR_NO_BREAK_SPACE:y7e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:E7e}=nZ(),C7e=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(iZ,r.maxLength):iZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,E=0,I=0,v,x={},C=()=>t[E++],F=N=>{if(N.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&N.type==="text"){A.value+=N.value;return}return u.nodes.push(N),N.parent=u,N.prev=A,A=N,N};for(F({type:"bos"});E0){if(u.ranges>0){u.ranges=0;let N=u.nodes.shift();u.nodes=[N,{type:"text",value:l7e(u)}]}F({type:"comma",value:v}),u.commas++;continue}if(v===A7e&&I>0&&u.commas===0){let N=u.nodes;if(I===0||N.length===0){F({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){N.pop();let U=N[N.length-1];U.value+=A.value+v,A=U,u.ranges--;continue}F({type:"dot",value:v});continue}F({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(J=>{J.nodes||(J.type==="open"&&(J.isOpen=!0),J.type==="close"&&(J.isClose=!0),J.nodes||(J.type="text"),J.invalid=!0)});let N=n[n.length-1],U=N.nodes.indexOf(u);N.nodes.splice(U,1,...u.nodes)}while(n.length>0);return F({type:"eos"}),a};aZ.exports=C7e});var AZ=_((zQt,uZ)=>{"use strict";var cZ=RD(),w7e=ZX(),I7e=tZ(),B7e=lZ(),nl=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=nl.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(nl.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};nl.parse=(t,e={})=>B7e(t,e);nl.stringify=(t,e={})=>cZ(typeof t=="string"?nl.parse(t,e):t,e);nl.compile=(t,e={})=>(typeof t=="string"&&(t=nl.parse(t,e)),w7e(t,e));nl.expand=(t,e={})=>{typeof t=="string"&&(t=nl.parse(t,e));let r=I7e(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};nl.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?nl.compile(t,e):nl.expand(t,e);uZ.exports=nl});var SI=_((JQt,dZ)=>{"use strict";var v7e=ve("path"),zu="\\\\/",fZ=`[^${zu}]`,vf="\\.",P7e="\\+",D7e="\\?",TD="\\/",S7e="(?=.)",pZ="[^/]",xL=`(?:${TD}|$)`,hZ=`(?:^|${TD})`,kL=`${vf}{1,2}${xL}`,b7e=`(?!${vf})`,x7e=`(?!${hZ}${kL})`,k7e=`(?!${vf}{0,1}${xL})`,Q7e=`(?!${kL})`,R7e=`[^.${TD}]`,F7e=`${pZ}*?`,gZ={DOT_LITERAL:vf,PLUS_LITERAL:P7e,QMARK_LITERAL:D7e,SLASH_LITERAL:TD,ONE_CHAR:S7e,QMARK:pZ,END_ANCHOR:xL,DOTS_SLASH:kL,NO_DOT:b7e,NO_DOTS:x7e,NO_DOT_SLASH:k7e,NO_DOTS_SLASH:Q7e,QMARK_NO_DOT:R7e,STAR:F7e,START_ANCHOR:hZ},T7e={...gZ,SLASH_LITERAL:`[${zu}]`,QMARK:fZ,STAR:`${fZ}*?`,DOTS_SLASH:`${vf}{1,2}(?:[${zu}]|$)`,NO_DOT:`(?!${vf})`,NO_DOTS:`(?!(?:^|[${zu}])${vf}{1,2}(?:[${zu}]|$))`,NO_DOT_SLASH:`(?!${vf}{0,1}(?:[${zu}]|$))`,NO_DOTS_SLASH:`(?!${vf}{1,2}(?:[${zu}]|$))`,QMARK_NO_DOT:`[^.${zu}]`,START_ANCHOR:`(?:^|[${zu}])`,END_ANCHOR:`(?:[${zu}]|$)`},L7e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};dZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:L7e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:v7e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?T7e:gZ}}});var bI=_(Da=>{"use strict";var N7e=ve("path"),O7e=process.platform==="win32",{REGEX_BACKSLASH:M7e,REGEX_REMOVE_BACKSLASH:U7e,REGEX_SPECIAL_CHARS:_7e,REGEX_SPECIAL_CHARS_GLOBAL:H7e}=SI();Da.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Da.hasRegexChars=t=>_7e.test(t);Da.isRegexChar=t=>t.length===1&&Da.hasRegexChars(t);Da.escapeRegex=t=>t.replace(H7e,"\\$1");Da.toPosixSlashes=t=>t.replace(M7e,"/");Da.removeBackslashes=t=>t.replace(U7e,e=>e==="\\"?"":e);Da.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Da.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:O7e===!0||N7e.sep==="\\";Da.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?Da.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};Da.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Da.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var vZ=_((XQt,BZ)=>{"use strict";var mZ=bI(),{CHAR_ASTERISK:QL,CHAR_AT:q7e,CHAR_BACKWARD_SLASH:xI,CHAR_COMMA:G7e,CHAR_DOT:RL,CHAR_EXCLAMATION_MARK:FL,CHAR_FORWARD_SLASH:IZ,CHAR_LEFT_CURLY_BRACE:TL,CHAR_LEFT_PARENTHESES:LL,CHAR_LEFT_SQUARE_BRACKET:j7e,CHAR_PLUS:Y7e,CHAR_QUESTION_MARK:yZ,CHAR_RIGHT_CURLY_BRACE:W7e,CHAR_RIGHT_PARENTHESES:EZ,CHAR_RIGHT_SQUARE_BRACKET:K7e}=SI(),CZ=t=>t===IZ||t===xI,wZ=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},z7e=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,E=0,I=0,v=!1,x=!1,C=!1,F=!1,N=!1,U=!1,J=!1,te=!1,ae=!1,le=!1,ce=0,we,de,Be={value:"",depth:0,isGlob:!1},Ee=()=>h>=o,g=()=>p.charCodeAt(h+1),me=()=>(we=de,p.charCodeAt(++h));for(;h0&&(Ae=p.slice(0,E),p=p.slice(E),I-=E),Ce&&C===!0&&I>0?(Ce=p.slice(0,I),ne=p.slice(I)):C===!0?(Ce="",ne=p):Ce=p,Ce&&Ce!==""&&Ce!=="/"&&Ce!==p&&CZ(Ce.charCodeAt(Ce.length-1))&&(Ce=Ce.slice(0,-1)),r.unescape===!0&&(ne&&(ne=mZ.removeBackslashes(ne)),Ce&&J===!0&&(Ce=mZ.removeBackslashes(Ce)));let Z={prefix:Ae,input:t,start:E,base:Ce,glob:ne,isBrace:v,isBracket:x,isGlob:C,isExtglob:F,isGlobstar:N,negated:te,negatedExtglob:ae};if(r.tokens===!0&&(Z.maxDepth=0,CZ(de)||u.push(Be),Z.tokens=u),r.parts===!0||r.tokens===!0){let xe;for(let Le=0;Le{"use strict";var LD=SI(),il=bI(),{MAX_LENGTH:ND,POSIX_REGEX_SOURCE:J7e,REGEX_NON_SPECIAL_CHARS:V7e,REGEX_SPECIAL_CHARS_BACKREF:X7e,REPLACEMENTS:PZ}=LD,Z7e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>il.escapeRegex(a)).join("..")}return r},Fy=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,NL=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=PZ[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(ND,r.maxLength):ND,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=il.isWindows(e),h=LD.globChars(p),E=LD.extglobChars(h),{DOT_LITERAL:I,PLUS_LITERAL:v,SLASH_LITERAL:x,ONE_CHAR:C,DOTS_SLASH:F,NO_DOT:N,NO_DOT_SLASH:U,NO_DOTS_SLASH:J,QMARK:te,QMARK_NO_DOT:ae,STAR:le,START_ANCHOR:ce}=h,we=b=>`(${A}(?:(?!${ce}${b.dot?F:I}).)*?)`,de=r.dot?"":N,Be=r.dot?te:ae,Ee=r.bash===!0?we(r):le;r.capture&&(Ee=`(${Ee})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=il.removePrefix(t,g),a=t.length;let me=[],Ce=[],Ae=[],ne=n,Z,xe=()=>g.index===a-1,Le=g.peek=(b=1)=>t[g.index+b],ht=g.advance=()=>t[++g.index]||"",H=()=>t.slice(g.index+1),rt=(b="",w=0)=>{g.consumed+=b,g.index+=w},Te=b=>{g.output+=b.output!=null?b.output:b.value,rt(b.value)},Re=()=>{let b=1;for(;Le()==="!"&&(Le(2)!=="("||Le(3)==="?");)ht(),g.start++,b++;return b%2===0?!1:(g.negated=!0,g.start++,!0)},ke=b=>{g[b]++,Ae.push(b)},Ye=b=>{g[b]--,Ae.pop()},Se=b=>{if(ne.type==="globstar"){let w=g.braces>0&&(b.type==="comma"||b.type==="brace"),S=b.extglob===!0||me.length&&(b.type==="pipe"||b.type==="paren");b.type!=="slash"&&b.type!=="paren"&&!w&&!S&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=Ee,g.output+=ne.output)}if(me.length&&b.type!=="paren"&&(me[me.length-1].inner+=b.value),(b.value||b.output)&&Te(b),ne&&ne.type==="text"&&b.type==="text"){ne.value+=b.value,ne.output=(ne.output||"")+b.value;return}b.prev=ne,u.push(b),ne=b},et=(b,w)=>{let S={...E[w],conditions:1,inner:""};S.prev=ne,S.parens=g.parens,S.output=g.output;let y=(r.capture?"(":"")+S.open;ke("parens"),Se({type:b,value:w,output:g.output?"":C}),Se({type:"paren",extglob:!0,value:ht(),output:y}),me.push(S)},Ue=b=>{let w=b.close+(r.capture?")":""),S;if(b.type==="negate"){let y=Ee;if(b.inner&&b.inner.length>1&&b.inner.includes("/")&&(y=we(r)),(y!==Ee||xe()||/^\)+$/.test(H()))&&(w=b.close=`)$))${y}`),b.inner.includes("*")&&(S=H())&&/^\.[^\\/.]+$/.test(S)){let R=NL(S,{...e,fastpaths:!1}).output;w=b.close=`)${R})${y})`}b.prev.type==="bos"&&(g.negatedExtglob=!0)}Se({type:"paren",extglob:!0,value:Z,output:w}),Ye("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let b=!1,w=t.replace(X7e,(S,y,R,V,X,$)=>V==="\\"?(b=!0,S):V==="?"?y?y+V+(X?te.repeat(X.length):""):$===0?Be+(X?te.repeat(X.length):""):te.repeat(R.length):V==="."?I.repeat(R.length):V==="*"?y?y+V+(X?Ee:""):Ee:y?S:`\\${S}`);return b===!0&&(r.unescape===!0?w=w.replace(/\\/g,""):w=w.replace(/\\+/g,S=>S.length%2===0?"\\\\":S?"\\":"")),w===t&&r.contains===!0?(g.output=t,g):(g.output=il.wrapOutput(w,g,e),g)}for(;!xe();){if(Z=ht(),Z==="\0")continue;if(Z==="\\"){let S=Le();if(S==="/"&&r.bash!==!0||S==="."||S===";")continue;if(!S){Z+="\\",Se({type:"text",value:Z});continue}let y=/^\\+/.exec(H()),R=0;if(y&&y[0].length>2&&(R=y[0].length,g.index+=R,R%2!==0&&(Z+="\\")),r.unescape===!0?Z=ht():Z+=ht(),g.brackets===0){Se({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&Z===":"){let S=ne.value.slice(1);if(S.includes("[")&&(ne.posix=!0,S.includes(":"))){let y=ne.value.lastIndexOf("["),R=ne.value.slice(0,y),V=ne.value.slice(y+2),X=J7e[V];if(X){ne.value=R+X,g.backtrack=!0,ht(),!n.output&&u.indexOf(ne)===1&&(n.output=C);continue}}}(Z==="["&&Le()!==":"||Z==="-"&&Le()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ne.value==="["||ne.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ne.value==="["&&(Z="^"),ne.value+=Z,Te({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=il.escapeRegex(Z),ne.value+=Z,Te({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&Se({type:"text",value:Z});continue}if(Z==="("){ke("parens"),Se({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Fy("opening","("));let S=me[me.length-1];if(S&&g.parens===S.parens+1){Ue(me.pop());continue}Se({type:"paren",value:Z,output:g.parens?")":"\\)"}),Ye("parens");continue}if(Z==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Fy("closing","]"));Z=`\\${Z}`}else ke("brackets");Se({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){Se({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Fy("opening","["));Se({type:"text",value:Z,output:`\\${Z}`});continue}Ye("brackets");let S=ne.value.slice(1);if(ne.posix!==!0&&S[0]==="^"&&!S.includes("/")&&(Z=`/${Z}`),ne.value+=Z,Te({value:Z}),r.literalBrackets===!1||il.hasRegexChars(S))continue;let y=il.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(Z==="{"&&r.nobrace!==!0){ke("braces");let S={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ce.push(S),Se(S);continue}if(Z==="}"){let S=Ce[Ce.length-1];if(r.nobrace===!0||!S){Se({type:"text",value:Z,output:Z});continue}let y=")";if(S.dots===!0){let R=u.slice(),V=[];for(let X=R.length-1;X>=0&&(u.pop(),R[X].type!=="brace");X--)R[X].type!=="dots"&&V.unshift(R[X].value);y=Z7e(V,r),g.backtrack=!0}if(S.comma!==!0&&S.dots!==!0){let R=g.output.slice(0,S.outputIndex),V=g.tokens.slice(S.tokensIndex);S.value=S.output="\\{",Z=y="\\}",g.output=R;for(let X of V)g.output+=X.output||X.value}Se({type:"brace",value:Z,output:y}),Ye("braces"),Ce.pop();continue}if(Z==="|"){me.length>0&&me[me.length-1].conditions++,Se({type:"text",value:Z});continue}if(Z===","){let S=Z,y=Ce[Ce.length-1];y&&Ae[Ae.length-1]==="braces"&&(y.comma=!0,S="|"),Se({type:"comma",value:Z,output:S});continue}if(Z==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}Se({type:"slash",value:Z,output:x});continue}if(Z==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=I);let S=Ce[Ce.length-1];ne.type="dots",ne.output+=Z,ne.value+=Z,S.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){Se({type:"text",value:Z,output:I});continue}Se({type:"dot",value:Z,output:I});continue}if(Z==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){et("qmark",Z);continue}if(ne&&ne.type==="paren"){let y=Le(),R=Z;if(y==="<"&&!il.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(R=`\\${Z}`),Se({type:"text",value:Z,output:R});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){Se({type:"qmark",value:Z,output:ae});continue}Se({type:"qmark",value:Z,output:te});continue}if(Z==="!"){if(r.noextglob!==!0&&Le()==="("&&(Le(2)!=="?"||!/[!=<:]/.test(Le(3)))){et("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Re();continue}}if(Z==="+"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){et("plus",Z);continue}if(ne&&ne.value==="("||r.regex===!1){Se({type:"plus",value:Z,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){Se({type:"plus",value:Z});continue}Se({type:"plus",value:v});continue}if(Z==="@"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){Se({type:"at",extglob:!0,value:Z,output:""});continue}Se({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let S=V7e.exec(H());S&&(Z+=S[0],g.index+=S[0].length),Se({type:"text",value:Z});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=Z,ne.output=Ee,g.backtrack=!0,g.globstar=!0,rt(Z);continue}let b=H();if(r.noextglob!==!0&&/^\([^?]/.test(b)){et("star",Z);continue}if(ne.type==="star"){if(r.noglobstar===!0){rt(Z);continue}let S=ne.prev,y=S.prev,R=S.type==="slash"||S.type==="bos",V=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!R||b[0]&&b[0]!=="/")){Se({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(S.type==="comma"||S.type==="brace"),$=me.length&&(S.type==="pipe"||S.type==="paren");if(!R&&S.type!=="paren"&&!X&&!$){Se({type:"star",value:Z,output:""});continue}for(;b.slice(0,3)==="/**";){let ie=t[g.index+4];if(ie&&ie!=="/")break;b=b.slice(3),rt("/**",3)}if(S.type==="bos"&&xe()){ne.type="globstar",ne.value+=Z,ne.output=we(r),g.output=ne.output,g.globstar=!0,rt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&!V&&xe()){g.output=g.output.slice(0,-(S.output+ne.output).length),S.output=`(?:${S.output}`,ne.type="globstar",ne.output=we(r)+(r.strictSlashes?")":"|$)"),ne.value+=Z,g.globstar=!0,g.output+=S.output+ne.output,rt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&b[0]==="/"){let ie=b[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(S.output+ne.output).length),S.output=`(?:${S.output}`,ne.type="globstar",ne.output=`${we(r)}${x}|${x}${ie})`,ne.value+=Z,g.output+=S.output+ne.output,g.globstar=!0,rt(Z+ht()),Se({type:"slash",value:"/",output:""});continue}if(S.type==="bos"&&b[0]==="/"){ne.type="globstar",ne.value+=Z,ne.output=`(?:^|${x}|${we(r)}${x})`,g.output=ne.output,g.globstar=!0,rt(Z+ht()),Se({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=we(r),ne.value+=Z,g.output+=ne.output,g.globstar=!0,rt(Z);continue}let w={type:"star",value:Z,output:Ee};if(r.bash===!0){w.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(w.output=de+w.output),Se(w);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){w.output=Z,Se(w);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=U,ne.output+=U):r.dot===!0?(g.output+=J,ne.output+=J):(g.output+=de,ne.output+=de),Le()!=="*"&&(g.output+=C,ne.output+=C)),Se(w)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Fy("closing","]"));g.output=il.escapeLast(g.output,"["),Ye("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Fy("closing",")"));g.output=il.escapeLast(g.output,"("),Ye("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Fy("closing","}"));g.output=il.escapeLast(g.output,"{"),Ye("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&Se({type:"maybe_slash",value:"",output:`${x}?`}),g.backtrack===!0){g.output="";for(let b of g.tokens)g.output+=b.output!=null?b.output:b.value,b.suffix&&(g.output+=b.suffix)}return g};NL.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(ND,r.maxLength):ND,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=PZ[t]||t;let n=il.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:I,NO_DOTS_SLASH:v,STAR:x,START_ANCHOR:C}=LD.globChars(n),F=r.dot?I:E,N=r.dot?v:E,U=r.capture?"":"?:",J={negated:!1,prefix:""},te=r.bash===!0?".*?":x;r.capture&&(te=`(${te})`);let ae=de=>de.noglobstar===!0?te:`(${U}(?:(?!${C}${de.dot?h:u}).)*?)`,le=de=>{switch(de){case"*":return`${F}${p}${te}`;case".*":return`${u}${p}${te}`;case"*.*":return`${F}${te}${u}${p}${te}`;case"*/*":return`${F}${te}${A}${p}${N}${te}`;case"**":return F+ae(r);case"**/*":return`(?:${F}${ae(r)}${A})?${N}${p}${te}`;case"**/*.*":return`(?:${F}${ae(r)}${A})?${N}${te}${u}${p}${te}`;case"**/.*":return`(?:${F}${ae(r)}${A})?${u}${p}${te}`;default:{let Be=/^(.*?)\.(\w+)$/.exec(de);if(!Be)return;let Ee=le(Be[1]);return Ee?Ee+u+Be[2]:void 0}}},ce=il.removePrefix(t,J),we=le(ce);return we&&r.strictSlashes!==!0&&(we+=`${A}?`),we};DZ.exports=NL});var xZ=_(($Qt,bZ)=>{"use strict";var $7e=ve("path"),eYe=vZ(),OL=SZ(),ML=bI(),tYe=SI(),rYe=t=>t&&typeof t=="object"&&!Array.isArray(t),Mi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(v=>Mi(v,e,r));return v=>{for(let x of E){let C=x(v);if(C)return C}return!1}}let o=rYe(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=ML.isWindows(e),u=o?Mi.compileRe(t,e):Mi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Mi(a.ignore,E,r)}let h=(E,I=!1)=>{let{isMatch:v,match:x,output:C}=Mi.test(E,u,e,{glob:t,posix:n}),F={glob:t,state:A,regex:u,posix:n,input:E,output:C,match:x,isMatch:v};return typeof a.onResult=="function"&&a.onResult(F),v===!1?(F.isMatch=!1,I?F:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(F),F.isMatch=!1,I?F:!1):(typeof a.onMatch=="function"&&a.onMatch(F),I?F:!0)};return r&&(h.state=A),h};Mi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?ML.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Mi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Mi.matchBase=(t,e,r,o=ML.isWindows(r))=>(e instanceof RegExp?e:Mi.makeRe(e,r)).test($7e.basename(t));Mi.isMatch=(t,e,r)=>Mi(e,r)(t);Mi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Mi.parse(r,e)):OL(t,{...e,fastpaths:!1});Mi.scan=(t,e)=>eYe(t,e);Mi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Mi.toRegex(A,e);return o===!0&&(p.state=t),p};Mi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=OL.fastpaths(t,e)),a.output||(a=OL(t,e)),Mi.compileRe(a,e,r,o)};Mi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Mi.constants=tYe;bZ.exports=Mi});var QZ=_((eRt,kZ)=>{"use strict";kZ.exports=xZ()});var Xo=_((tRt,LZ)=>{"use strict";var FZ=ve("util"),TZ=AZ(),Ju=QZ(),UL=bI(),RZ=t=>t===""||t==="./",yi=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E!o.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};yi.match=yi;yi.matcher=(t,e)=>Ju(t,e);yi.isMatch=(t,e,r)=>Ju(e,r)(t);yi.any=yi.isMatch;yi.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(yi(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};yi.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${FZ.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>yi.contains(t,o,r));if(typeof e=="string"){if(RZ(t)||RZ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return yi.isMatch(t,e,{...r,contains:!0})};yi.matchKeys=(t,e,r)=>{if(!UL.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=yi(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};yi.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Ju(String(a),r);if(o.some(u=>n(u)))return!0}return!1};yi.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Ju(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};yi.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${FZ.inspect(t)}"`);return[].concat(e).every(o=>Ju(o,r)(t))};yi.capture=(t,e,r)=>{let o=UL.isWindows(r),n=Ju.makeRe(String(t),{...r,capture:!0}).exec(o?UL.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};yi.makeRe=(...t)=>Ju.makeRe(...t);yi.scan=(...t)=>Ju.scan(...t);yi.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of TZ(String(o),e))r.push(Ju.parse(a,e));return r};yi.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:TZ(t,e)};yi.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return yi.braces(t,{...e,expand:!0})};LZ.exports=yi});var OZ=_((rRt,NZ)=>{"use strict";NZ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var OD=_((nRt,MZ)=>{"use strict";var nYe=OZ();MZ.exports=t=>typeof t=="string"?t.replace(nYe(),""):t});var _Z=_((iRt,UZ)=>{function iYe(){this.__data__=[],this.size=0}UZ.exports=iYe});var Ty=_((sRt,HZ)=>{function sYe(t,e){return t===e||t!==t&&e!==e}HZ.exports=sYe});var kI=_((oRt,qZ)=>{var oYe=Ty();function aYe(t,e){for(var r=t.length;r--;)if(oYe(t[r][0],e))return r;return-1}qZ.exports=aYe});var jZ=_((aRt,GZ)=>{var lYe=kI(),cYe=Array.prototype,uYe=cYe.splice;function AYe(t){var e=this.__data__,r=lYe(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():uYe.call(e,r,1),--this.size,!0}GZ.exports=AYe});var WZ=_((lRt,YZ)=>{var fYe=kI();function pYe(t){var e=this.__data__,r=fYe(e,t);return r<0?void 0:e[r][1]}YZ.exports=pYe});var zZ=_((cRt,KZ)=>{var hYe=kI();function gYe(t){return hYe(this.__data__,t)>-1}KZ.exports=gYe});var VZ=_((uRt,JZ)=>{var dYe=kI();function mYe(t,e){var r=this.__data__,o=dYe(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}JZ.exports=mYe});var QI=_((ARt,XZ)=>{var yYe=_Z(),EYe=jZ(),CYe=WZ(),wYe=zZ(),IYe=VZ();function Ly(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var BYe=QI();function vYe(){this.__data__=new BYe,this.size=0}ZZ.exports=vYe});var t$=_((pRt,e$)=>{function PYe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}e$.exports=PYe});var n$=_((hRt,r$)=>{function DYe(t){return this.__data__.get(t)}r$.exports=DYe});var s$=_((gRt,i$)=>{function SYe(t){return this.__data__.has(t)}i$.exports=SYe});var _L=_((dRt,o$)=>{var bYe=typeof global=="object"&&global&&global.Object===Object&&global;o$.exports=bYe});var Hl=_((mRt,a$)=>{var xYe=_L(),kYe=typeof self=="object"&&self&&self.Object===Object&&self,QYe=xYe||kYe||Function("return this")();a$.exports=QYe});var hd=_((yRt,l$)=>{var RYe=Hl(),FYe=RYe.Symbol;l$.exports=FYe});var f$=_((ERt,A$)=>{var c$=hd(),u$=Object.prototype,TYe=u$.hasOwnProperty,LYe=u$.toString,RI=c$?c$.toStringTag:void 0;function NYe(t){var e=TYe.call(t,RI),r=t[RI];try{t[RI]=void 0;var o=!0}catch{}var a=LYe.call(t);return o&&(e?t[RI]=r:delete t[RI]),a}A$.exports=NYe});var h$=_((CRt,p$)=>{var OYe=Object.prototype,MYe=OYe.toString;function UYe(t){return MYe.call(t)}p$.exports=UYe});var gd=_((wRt,m$)=>{var g$=hd(),_Ye=f$(),HYe=h$(),qYe="[object Null]",GYe="[object Undefined]",d$=g$?g$.toStringTag:void 0;function jYe(t){return t==null?t===void 0?GYe:qYe:d$&&d$ in Object(t)?_Ye(t):HYe(t)}m$.exports=jYe});var sl=_((IRt,y$)=>{function YYe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}y$.exports=YYe});var MD=_((BRt,E$)=>{var WYe=gd(),KYe=sl(),zYe="[object AsyncFunction]",JYe="[object Function]",VYe="[object GeneratorFunction]",XYe="[object Proxy]";function ZYe(t){if(!KYe(t))return!1;var e=WYe(t);return e==JYe||e==VYe||e==zYe||e==XYe}E$.exports=ZYe});var w$=_((vRt,C$)=>{var $Ye=Hl(),eWe=$Ye["__core-js_shared__"];C$.exports=eWe});var v$=_((PRt,B$)=>{var HL=w$(),I$=function(){var t=/[^.]+$/.exec(HL&&HL.keys&&HL.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function tWe(t){return!!I$&&I$ in t}B$.exports=tWe});var qL=_((DRt,P$)=>{var rWe=Function.prototype,nWe=rWe.toString;function iWe(t){if(t!=null){try{return nWe.call(t)}catch{}try{return t+""}catch{}}return""}P$.exports=iWe});var S$=_((SRt,D$)=>{var sWe=MD(),oWe=v$(),aWe=sl(),lWe=qL(),cWe=/[\\^$.*+?()[\]{}|]/g,uWe=/^\[object .+?Constructor\]$/,AWe=Function.prototype,fWe=Object.prototype,pWe=AWe.toString,hWe=fWe.hasOwnProperty,gWe=RegExp("^"+pWe.call(hWe).replace(cWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function dWe(t){if(!aWe(t)||oWe(t))return!1;var e=sWe(t)?gWe:uWe;return e.test(lWe(t))}D$.exports=dWe});var x$=_((bRt,b$)=>{function mWe(t,e){return t?.[e]}b$.exports=mWe});var Xp=_((xRt,k$)=>{var yWe=S$(),EWe=x$();function CWe(t,e){var r=EWe(t,e);return yWe(r)?r:void 0}k$.exports=CWe});var UD=_((kRt,Q$)=>{var wWe=Xp(),IWe=Hl(),BWe=wWe(IWe,"Map");Q$.exports=BWe});var FI=_((QRt,R$)=>{var vWe=Xp(),PWe=vWe(Object,"create");R$.exports=PWe});var L$=_((RRt,T$)=>{var F$=FI();function DWe(){this.__data__=F$?F$(null):{},this.size=0}T$.exports=DWe});var O$=_((FRt,N$)=>{function SWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}N$.exports=SWe});var U$=_((TRt,M$)=>{var bWe=FI(),xWe="__lodash_hash_undefined__",kWe=Object.prototype,QWe=kWe.hasOwnProperty;function RWe(t){var e=this.__data__;if(bWe){var r=e[t];return r===xWe?void 0:r}return QWe.call(e,t)?e[t]:void 0}M$.exports=RWe});var H$=_((LRt,_$)=>{var FWe=FI(),TWe=Object.prototype,LWe=TWe.hasOwnProperty;function NWe(t){var e=this.__data__;return FWe?e[t]!==void 0:LWe.call(e,t)}_$.exports=NWe});var G$=_((NRt,q$)=>{var OWe=FI(),MWe="__lodash_hash_undefined__";function UWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=OWe&&e===void 0?MWe:e,this}q$.exports=UWe});var Y$=_((ORt,j$)=>{var _We=L$(),HWe=O$(),qWe=U$(),GWe=H$(),jWe=G$();function Ny(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var W$=Y$(),YWe=QI(),WWe=UD();function KWe(){this.size=0,this.__data__={hash:new W$,map:new(WWe||YWe),string:new W$}}K$.exports=KWe});var V$=_((URt,J$)=>{function zWe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}J$.exports=zWe});var TI=_((_Rt,X$)=>{var JWe=V$();function VWe(t,e){var r=t.__data__;return JWe(e)?r[typeof e=="string"?"string":"hash"]:r.map}X$.exports=VWe});var $$=_((HRt,Z$)=>{var XWe=TI();function ZWe(t){var e=XWe(this,t).delete(t);return this.size-=e?1:0,e}Z$.exports=ZWe});var tee=_((qRt,eee)=>{var $We=TI();function eKe(t){return $We(this,t).get(t)}eee.exports=eKe});var nee=_((GRt,ree)=>{var tKe=TI();function rKe(t){return tKe(this,t).has(t)}ree.exports=rKe});var see=_((jRt,iee)=>{var nKe=TI();function iKe(t,e){var r=nKe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}iee.exports=iKe});var _D=_((YRt,oee)=>{var sKe=z$(),oKe=$$(),aKe=tee(),lKe=nee(),cKe=see();function Oy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var uKe=QI(),AKe=UD(),fKe=_D(),pKe=200;function hKe(t,e){var r=this.__data__;if(r instanceof uKe){var o=r.__data__;if(!AKe||o.length{var gKe=QI(),dKe=$Z(),mKe=t$(),yKe=n$(),EKe=s$(),CKe=lee();function My(t){var e=this.__data__=new gKe(t);this.size=e.size}My.prototype.clear=dKe;My.prototype.delete=mKe;My.prototype.get=yKe;My.prototype.has=EKe;My.prototype.set=CKe;cee.exports=My});var Aee=_((zRt,uee)=>{var wKe="__lodash_hash_undefined__";function IKe(t){return this.__data__.set(t,wKe),this}uee.exports=IKe});var pee=_((JRt,fee)=>{function BKe(t){return this.__data__.has(t)}fee.exports=BKe});var gee=_((VRt,hee)=>{var vKe=_D(),PKe=Aee(),DKe=pee();function qD(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new vKe;++e{function SKe(t,e){for(var r=-1,o=t==null?0:t.length;++r{function bKe(t,e){return t.has(e)}yee.exports=bKe});var jL=_(($Rt,Cee)=>{var xKe=gee(),kKe=mee(),QKe=Eee(),RKe=1,FKe=2;function TKe(t,e,r,o,a,n){var u=r&RKe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var I=-1,v=!0,x=r&FKe?new xKe:void 0;for(n.set(t,e),n.set(e,t);++I{var LKe=Hl(),NKe=LKe.Uint8Array;wee.exports=NKe});var Bee=_((tFt,Iee)=>{function OKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}Iee.exports=OKe});var Pee=_((rFt,vee)=>{function MKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}vee.exports=MKe});var kee=_((nFt,xee)=>{var Dee=hd(),See=YL(),UKe=Ty(),_Ke=jL(),HKe=Bee(),qKe=Pee(),GKe=1,jKe=2,YKe="[object Boolean]",WKe="[object Date]",KKe="[object Error]",zKe="[object Map]",JKe="[object Number]",VKe="[object RegExp]",XKe="[object Set]",ZKe="[object String]",$Ke="[object Symbol]",eze="[object ArrayBuffer]",tze="[object DataView]",bee=Dee?Dee.prototype:void 0,WL=bee?bee.valueOf:void 0;function rze(t,e,r,o,a,n,u){switch(r){case tze:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case eze:return!(t.byteLength!=e.byteLength||!n(new See(t),new See(e)));case YKe:case WKe:case JKe:return UKe(+t,+e);case KKe:return t.name==e.name&&t.message==e.message;case VKe:case ZKe:return t==e+"";case zKe:var A=HKe;case XKe:var p=o&GKe;if(A||(A=qKe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=jKe,u.set(t,e);var E=_Ke(A(t),A(e),o,a,n,u);return u.delete(t),E;case $Ke:if(WL)return WL.call(t)==WL.call(e)}return!1}xee.exports=rze});var GD=_((iFt,Qee)=>{function nze(t,e){for(var r=-1,o=e.length,a=t.length;++r{var ize=Array.isArray;Ree.exports=ize});var KL=_((oFt,Fee)=>{var sze=GD(),oze=ql();function aze(t,e,r){var o=e(t);return oze(t)?o:sze(o,r(t))}Fee.exports=aze});var Lee=_((aFt,Tee)=>{function lze(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r{function cze(){return[]}Nee.exports=cze});var jD=_((cFt,Mee)=>{var uze=Lee(),Aze=zL(),fze=Object.prototype,pze=fze.propertyIsEnumerable,Oee=Object.getOwnPropertySymbols,hze=Oee?function(t){return t==null?[]:(t=Object(t),uze(Oee(t),function(e){return pze.call(t,e)}))}:Aze;Mee.exports=hze});var _ee=_((uFt,Uee)=>{function gze(t,e){for(var r=-1,o=Array(t);++r{function dze(t){return t!=null&&typeof t=="object"}Hee.exports=dze});var Gee=_((fFt,qee)=>{var mze=gd(),yze=Vu(),Eze="[object Arguments]";function Cze(t){return yze(t)&&mze(t)==Eze}qee.exports=Cze});var LI=_((pFt,Wee)=>{var jee=Gee(),wze=Vu(),Yee=Object.prototype,Ize=Yee.hasOwnProperty,Bze=Yee.propertyIsEnumerable,vze=jee(function(){return arguments}())?jee:function(t){return wze(t)&&Ize.call(t,"callee")&&!Bze.call(t,"callee")};Wee.exports=vze});var zee=_((hFt,Kee)=>{function Pze(){return!1}Kee.exports=Pze});var OI=_((NI,Uy)=>{var Dze=Hl(),Sze=zee(),Xee=typeof NI=="object"&&NI&&!NI.nodeType&&NI,Jee=Xee&&typeof Uy=="object"&&Uy&&!Uy.nodeType&&Uy,bze=Jee&&Jee.exports===Xee,Vee=bze?Dze.Buffer:void 0,xze=Vee?Vee.isBuffer:void 0,kze=xze||Sze;Uy.exports=kze});var MI=_((gFt,Zee)=>{var Qze=9007199254740991,Rze=/^(?:0|[1-9]\d*)$/;function Fze(t,e){var r=typeof t;return e=e??Qze,!!e&&(r=="number"||r!="symbol"&&Rze.test(t))&&t>-1&&t%1==0&&t{var Tze=9007199254740991;function Lze(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Tze}$ee.exports=Lze});var tte=_((mFt,ete)=>{var Nze=gd(),Oze=YD(),Mze=Vu(),Uze="[object Arguments]",_ze="[object Array]",Hze="[object Boolean]",qze="[object Date]",Gze="[object Error]",jze="[object Function]",Yze="[object Map]",Wze="[object Number]",Kze="[object Object]",zze="[object RegExp]",Jze="[object Set]",Vze="[object String]",Xze="[object WeakMap]",Zze="[object ArrayBuffer]",$ze="[object DataView]",eJe="[object Float32Array]",tJe="[object Float64Array]",rJe="[object Int8Array]",nJe="[object Int16Array]",iJe="[object Int32Array]",sJe="[object Uint8Array]",oJe="[object Uint8ClampedArray]",aJe="[object Uint16Array]",lJe="[object Uint32Array]",ui={};ui[eJe]=ui[tJe]=ui[rJe]=ui[nJe]=ui[iJe]=ui[sJe]=ui[oJe]=ui[aJe]=ui[lJe]=!0;ui[Uze]=ui[_ze]=ui[Zze]=ui[Hze]=ui[$ze]=ui[qze]=ui[Gze]=ui[jze]=ui[Yze]=ui[Wze]=ui[Kze]=ui[zze]=ui[Jze]=ui[Vze]=ui[Xze]=!1;function cJe(t){return Mze(t)&&Oze(t.length)&&!!ui[Nze(t)]}ete.exports=cJe});var WD=_((yFt,rte)=>{function uJe(t){return function(e){return t(e)}}rte.exports=uJe});var KD=_((UI,_y)=>{var AJe=_L(),nte=typeof UI=="object"&&UI&&!UI.nodeType&&UI,_I=nte&&typeof _y=="object"&&_y&&!_y.nodeType&&_y,fJe=_I&&_I.exports===nte,JL=fJe&&AJe.process,pJe=function(){try{var t=_I&&_I.require&&_I.require("util").types;return t||JL&&JL.binding&&JL.binding("util")}catch{}}();_y.exports=pJe});var zD=_((EFt,ote)=>{var hJe=tte(),gJe=WD(),ite=KD(),ste=ite&&ite.isTypedArray,dJe=ste?gJe(ste):hJe;ote.exports=dJe});var VL=_((CFt,ate)=>{var mJe=_ee(),yJe=LI(),EJe=ql(),CJe=OI(),wJe=MI(),IJe=zD(),BJe=Object.prototype,vJe=BJe.hasOwnProperty;function PJe(t,e){var r=EJe(t),o=!r&&yJe(t),a=!r&&!o&&CJe(t),n=!r&&!o&&!a&&IJe(t),u=r||o||a||n,A=u?mJe(t.length,String):[],p=A.length;for(var h in t)(e||vJe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||wJe(h,p)))&&A.push(h);return A}ate.exports=PJe});var JD=_((wFt,lte)=>{var DJe=Object.prototype;function SJe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||DJe;return t===r}lte.exports=SJe});var XL=_((IFt,cte)=>{function bJe(t,e){return function(r){return t(e(r))}}cte.exports=bJe});var Ate=_((BFt,ute)=>{var xJe=XL(),kJe=xJe(Object.keys,Object);ute.exports=kJe});var pte=_((vFt,fte)=>{var QJe=JD(),RJe=Ate(),FJe=Object.prototype,TJe=FJe.hasOwnProperty;function LJe(t){if(!QJe(t))return RJe(t);var e=[];for(var r in Object(t))TJe.call(t,r)&&r!="constructor"&&e.push(r);return e}fte.exports=LJe});var HI=_((PFt,hte)=>{var NJe=MD(),OJe=YD();function MJe(t){return t!=null&&OJe(t.length)&&!NJe(t)}hte.exports=MJe});var VD=_((DFt,gte)=>{var UJe=VL(),_Je=pte(),HJe=HI();function qJe(t){return HJe(t)?UJe(t):_Je(t)}gte.exports=qJe});var ZL=_((SFt,dte)=>{var GJe=KL(),jJe=jD(),YJe=VD();function WJe(t){return GJe(t,YJe,jJe)}dte.exports=WJe});var Ete=_((bFt,yte)=>{var mte=ZL(),KJe=1,zJe=Object.prototype,JJe=zJe.hasOwnProperty;function VJe(t,e,r,o,a,n){var u=r&KJe,A=mte(t),p=A.length,h=mte(e),E=h.length;if(p!=E&&!u)return!1;for(var I=p;I--;){var v=A[I];if(!(u?v in e:JJe.call(e,v)))return!1}var x=n.get(t),C=n.get(e);if(x&&C)return x==e&&C==t;var F=!0;n.set(t,e),n.set(e,t);for(var N=u;++I{var XJe=Xp(),ZJe=Hl(),$Je=XJe(ZJe,"DataView");Cte.exports=$Je});var Bte=_((kFt,Ite)=>{var eVe=Xp(),tVe=Hl(),rVe=eVe(tVe,"Promise");Ite.exports=rVe});var Pte=_((QFt,vte)=>{var nVe=Xp(),iVe=Hl(),sVe=nVe(iVe,"Set");vte.exports=sVe});var Ste=_((RFt,Dte)=>{var oVe=Xp(),aVe=Hl(),lVe=oVe(aVe,"WeakMap");Dte.exports=lVe});var qI=_((FFt,Tte)=>{var $L=wte(),eN=UD(),tN=Bte(),rN=Pte(),nN=Ste(),Fte=gd(),Hy=qL(),bte="[object Map]",cVe="[object Object]",xte="[object Promise]",kte="[object Set]",Qte="[object WeakMap]",Rte="[object DataView]",uVe=Hy($L),AVe=Hy(eN),fVe=Hy(tN),pVe=Hy(rN),hVe=Hy(nN),dd=Fte;($L&&dd(new $L(new ArrayBuffer(1)))!=Rte||eN&&dd(new eN)!=bte||tN&&dd(tN.resolve())!=xte||rN&&dd(new rN)!=kte||nN&&dd(new nN)!=Qte)&&(dd=function(t){var e=Fte(t),r=e==cVe?t.constructor:void 0,o=r?Hy(r):"";if(o)switch(o){case uVe:return Rte;case AVe:return bte;case fVe:return xte;case pVe:return kte;case hVe:return Qte}return e});Tte.exports=dd});var qte=_((TFt,Hte)=>{var iN=HD(),gVe=jL(),dVe=kee(),mVe=Ete(),Lte=qI(),Nte=ql(),Ote=OI(),yVe=zD(),EVe=1,Mte="[object Arguments]",Ute="[object Array]",XD="[object Object]",CVe=Object.prototype,_te=CVe.hasOwnProperty;function wVe(t,e,r,o,a,n){var u=Nte(t),A=Nte(e),p=u?Ute:Lte(t),h=A?Ute:Lte(e);p=p==Mte?XD:p,h=h==Mte?XD:h;var E=p==XD,I=h==XD,v=p==h;if(v&&Ote(t)){if(!Ote(e))return!1;u=!0,E=!1}if(v&&!E)return n||(n=new iN),u||yVe(t)?gVe(t,e,r,o,a,n):dVe(t,e,p,r,o,a,n);if(!(r&EVe)){var x=E&&_te.call(t,"__wrapped__"),C=I&&_te.call(e,"__wrapped__");if(x||C){var F=x?t.value():t,N=C?e.value():e;return n||(n=new iN),a(F,N,r,o,n)}}return v?(n||(n=new iN),mVe(t,e,r,o,a,n)):!1}Hte.exports=wVe});var Wte=_((LFt,Yte)=>{var IVe=qte(),Gte=Vu();function jte(t,e,r,o,a){return t===e?!0:t==null||e==null||!Gte(t)&&!Gte(e)?t!==t&&e!==e:IVe(t,e,r,o,jte,a)}Yte.exports=jte});var zte=_((NFt,Kte)=>{var BVe=Wte();function vVe(t,e){return BVe(t,e)}Kte.exports=vVe});var sN=_((OFt,Jte)=>{var PVe=Xp(),DVe=function(){try{var t=PVe(Object,"defineProperty");return t({},"",{}),t}catch{}}();Jte.exports=DVe});var ZD=_((MFt,Xte)=>{var Vte=sN();function SVe(t,e,r){e=="__proto__"&&Vte?Vte(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}Xte.exports=SVe});var oN=_((UFt,Zte)=>{var bVe=ZD(),xVe=Ty();function kVe(t,e,r){(r!==void 0&&!xVe(t[e],r)||r===void 0&&!(e in t))&&bVe(t,e,r)}Zte.exports=kVe});var ere=_((_Ft,$te)=>{function QVe(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}$te.exports=QVe});var rre=_((HFt,tre)=>{var RVe=ere(),FVe=RVe();tre.exports=FVe});var aN=_((GI,qy)=>{var TVe=Hl(),ore=typeof GI=="object"&&GI&&!GI.nodeType&&GI,nre=ore&&typeof qy=="object"&&qy&&!qy.nodeType&&qy,LVe=nre&&nre.exports===ore,ire=LVe?TVe.Buffer:void 0,sre=ire?ire.allocUnsafe:void 0;function NVe(t,e){if(e)return t.slice();var r=t.length,o=sre?sre(r):new t.constructor(r);return t.copy(o),o}qy.exports=NVe});var $D=_((qFt,lre)=>{var are=YL();function OVe(t){var e=new t.constructor(t.byteLength);return new are(e).set(new are(t)),e}lre.exports=OVe});var lN=_((GFt,cre)=>{var MVe=$D();function UVe(t,e){var r=e?MVe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}cre.exports=UVe});var eS=_((jFt,ure)=>{function _Ve(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r{var HVe=sl(),Are=Object.create,qVe=function(){function t(){}return function(e){if(!HVe(e))return{};if(Are)return Are(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();fre.exports=qVe});var tS=_((WFt,hre)=>{var GVe=XL(),jVe=GVe(Object.getPrototypeOf,Object);hre.exports=jVe});var cN=_((KFt,gre)=>{var YVe=pre(),WVe=tS(),KVe=JD();function zVe(t){return typeof t.constructor=="function"&&!KVe(t)?YVe(WVe(t)):{}}gre.exports=zVe});var mre=_((zFt,dre)=>{var JVe=HI(),VVe=Vu();function XVe(t){return VVe(t)&&JVe(t)}dre.exports=XVe});var uN=_((JFt,Ere)=>{var ZVe=gd(),$Ve=tS(),eXe=Vu(),tXe="[object Object]",rXe=Function.prototype,nXe=Object.prototype,yre=rXe.toString,iXe=nXe.hasOwnProperty,sXe=yre.call(Object);function oXe(t){if(!eXe(t)||ZVe(t)!=tXe)return!1;var e=$Ve(t);if(e===null)return!0;var r=iXe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&yre.call(r)==sXe}Ere.exports=oXe});var AN=_((VFt,Cre)=>{function aXe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Cre.exports=aXe});var rS=_((XFt,wre)=>{var lXe=ZD(),cXe=Ty(),uXe=Object.prototype,AXe=uXe.hasOwnProperty;function fXe(t,e,r){var o=t[e];(!(AXe.call(t,e)&&cXe(o,r))||r===void 0&&!(e in t))&&lXe(t,e,r)}wre.exports=fXe});var md=_((ZFt,Ire)=>{var pXe=rS(),hXe=ZD();function gXe(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n{function dXe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Bre.exports=dXe});var Dre=_((eTt,Pre)=>{var mXe=sl(),yXe=JD(),EXe=vre(),CXe=Object.prototype,wXe=CXe.hasOwnProperty;function IXe(t){if(!mXe(t))return EXe(t);var e=yXe(t),r=[];for(var o in t)o=="constructor"&&(e||!wXe.call(t,o))||r.push(o);return r}Pre.exports=IXe});var Gy=_((tTt,Sre)=>{var BXe=VL(),vXe=Dre(),PXe=HI();function DXe(t){return PXe(t)?BXe(t,!0):vXe(t)}Sre.exports=DXe});var xre=_((rTt,bre)=>{var SXe=md(),bXe=Gy();function xXe(t){return SXe(t,bXe(t))}bre.exports=xXe});var Lre=_((nTt,Tre)=>{var kre=oN(),kXe=aN(),QXe=lN(),RXe=eS(),FXe=cN(),Qre=LI(),Rre=ql(),TXe=mre(),LXe=OI(),NXe=MD(),OXe=sl(),MXe=uN(),UXe=zD(),Fre=AN(),_Xe=xre();function HXe(t,e,r,o,a,n,u){var A=Fre(t,r),p=Fre(e,r),h=u.get(p);if(h){kre(t,r,h);return}var E=n?n(A,p,r+"",t,e,u):void 0,I=E===void 0;if(I){var v=Rre(p),x=!v&&LXe(p),C=!v&&!x&&UXe(p);E=p,v||x||C?Rre(A)?E=A:TXe(A)?E=RXe(A):x?(I=!1,E=kXe(p,!0)):C?(I=!1,E=QXe(p,!0)):E=[]:MXe(p)||Qre(p)?(E=A,Qre(A)?E=_Xe(A):(!OXe(A)||NXe(A))&&(E=FXe(p))):I=!1}I&&(u.set(p,E),a(E,p,o,n,u),u.delete(p)),kre(t,r,E)}Tre.exports=HXe});var Mre=_((iTt,Ore)=>{var qXe=HD(),GXe=oN(),jXe=rre(),YXe=Lre(),WXe=sl(),KXe=Gy(),zXe=AN();function Nre(t,e,r,o,a){t!==e&&jXe(e,function(n,u){if(a||(a=new qXe),WXe(n))YXe(t,e,u,r,Nre,o,a);else{var A=o?o(zXe(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),GXe(t,u,A)}},KXe)}Ore.exports=Nre});var fN=_((sTt,Ure)=>{function JXe(t){return t}Ure.exports=JXe});var Hre=_((oTt,_re)=>{function VXe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}_re.exports=VXe});var pN=_((aTt,Gre)=>{var XXe=Hre(),qre=Math.max;function ZXe(t,e,r){return e=qre(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=qre(o.length-e,0),u=Array(n);++a{function $Xe(t){return function(){return t}}jre.exports=$Xe});var zre=_((cTt,Kre)=>{var eZe=Yre(),Wre=sN(),tZe=fN(),rZe=Wre?function(t,e){return Wre(t,"toString",{configurable:!0,enumerable:!1,value:eZe(e),writable:!0})}:tZe;Kre.exports=rZe});var Vre=_((uTt,Jre)=>{var nZe=800,iZe=16,sZe=Date.now;function oZe(t){var e=0,r=0;return function(){var o=sZe(),a=iZe-(o-r);if(r=o,a>0){if(++e>=nZe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Jre.exports=oZe});var hN=_((ATt,Xre)=>{var aZe=zre(),lZe=Vre(),cZe=lZe(aZe);Xre.exports=cZe});var $re=_((fTt,Zre)=>{var uZe=fN(),AZe=pN(),fZe=hN();function pZe(t,e){return fZe(AZe(t,e,uZe),t+"")}Zre.exports=pZe});var tne=_((pTt,ene)=>{var hZe=Ty(),gZe=HI(),dZe=MI(),mZe=sl();function yZe(t,e,r){if(!mZe(r))return!1;var o=typeof e;return(o=="number"?gZe(r)&&dZe(e,r.length):o=="string"&&e in r)?hZe(r[e],t):!1}ene.exports=yZe});var nne=_((hTt,rne)=>{var EZe=$re(),CZe=tne();function wZe(t){return EZe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&CZe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o{var IZe=Mre(),BZe=nne(),vZe=BZe(function(t,e,r,o){IZe(t,e,r,o)});ine.exports=vZe});var He={};zt(He,{AsyncActions:()=>mN,BufferStream:()=>dN,CachingStrategy:()=>mne,DefaultStream:()=>yN,allSettledSafe:()=>_c,assertNever:()=>CN,bufferStream:()=>Wy,buildIgnorePattern:()=>QZe,convertMapsToIndexableObjects:()=>iS,dynamicRequire:()=>Pf,escapeRegExp:()=>DZe,getArrayWithDefault:()=>WI,getFactoryWithDefault:()=>al,getMapWithDefault:()=>KI,getSetWithDefault:()=>jy,groupBy:()=>TZe,isIndexableObject:()=>gN,isPathLike:()=>RZe,isTaggedYarnVersion:()=>PZe,makeDeferred:()=>hne,mapAndFilter:()=>ol,mapAndFind:()=>YI,mergeIntoTarget:()=>Ene,overrideType:()=>SZe,parseBoolean:()=>zI,parseInt:()=>Ky,parseOptionalBoolean:()=>yne,plural:()=>nS,prettifyAsyncErrors:()=>Yy,prettifySyncErrors:()=>wN,releaseAfterUseAsync:()=>xZe,replaceEnvVariables:()=>sS,sortMap:()=>Rs,toMerged:()=>FZe,tryParseOptionalBoolean:()=>IN,validateEnum:()=>bZe});function PZe(t){return!!(Ane.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function nS(t,{one:e,more:r,zero:o=r}){return t===0?o:t===1?e:r}function DZe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function SZe(t){}function CN(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function bZe(t,e){let r=Object.values(t);if(!r.includes(e))throw new st(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function ol(t,e){let r=[];for(let o of t){let a=e(o);a!==fne&&r.push(a)}return r}function YI(t,e){for(let r of t){let o=e(r);if(o!==pne)return o}}function gN(t){return typeof t=="object"&&t!==null}async function _c(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function iS(t){if(t instanceof Map&&(t=Object.fromEntries(t)),gN(t))for(let e of Object.keys(t)){let r=t[e];gN(r)&&(t[e]=iS(r))}return t}function al(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function WI(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function jy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function KI(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function xZe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Yy(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function wN(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Wy(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function hne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function gne(t){return jI(ue.fromPortablePath(t))}function dne(path){let physicalPath=ue.fromPortablePath(path),currentCacheEntry=jI.cache[physicalPath];delete jI.cache[physicalPath];let result;try{result=gne(physicalPath);let freshCacheEntry=jI.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{jI.cache[physicalPath]=currentCacheEntry}return result}function kZe(t){let e=one.get(t),r=oe.statSync(t);if(e?.mtime===r.mtimeMs)return e.instance;let o=dne(t);return one.set(t,{mtime:r.mtimeMs,instance:o}),o}function Pf(t,{cachingStrategy:e=2}={}){switch(e){case 0:return dne(t);case 1:return kZe(t);case 2:return gne(t);default:throw new Error("Unsupported caching strategy")}}function Rs(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function QZe(t){return t.length===0?null:t.map(e=>`(${cne.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function sS(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.hasOwn(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new st(`Environment variable not found (${a})`)})}function zI(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function yne(t){return typeof t>"u"?t:zI(t)}function IN(t){try{return yne(t)}catch{return null}}function RZe(t){return!!(ue.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function Ene(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,lne.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,ane.default)(h,p))||u.push(p);return u}});return n}function FZe(...t){return Ene({},...t)}function TZe(t,e){let r=Object.create(null);for(let o of t){let a=o[e];r[a]??=[],r[a].push(o)}return r}function Ky(t){return typeof t=="string"?Number.parseInt(t,10):t}var ane,lne,cne,une,Ane,EN,fne,pne,dN,mN,yN,jI,one,mne,Gl=Et(()=>{Dt();qt();ane=Ze(zte()),lne=Ze(sne()),cne=Ze(Xo()),une=Ze(sd()),Ane=Ze(Vn()),EN=ve("stream");fne=Symbol();ol.skip=fne;pne=Symbol();YI.skip=pne;dN=class extends EN.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};mN=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,une.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=hne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},yN=class extends EN.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},jI=eval("require");one=new Map;mne=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(mne||{})});var zy,BN,vN,Cne=Et(()=>{zy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(zy||{}),BN=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(BN||{}),vN=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(vN||{})});var pe={};zt(pe,{LogLevel:()=>uS,Style:()=>aS,Type:()=>yt,addLogFilterSupport:()=>XI,applyColor:()=>Vs,applyHyperlink:()=>Vy,applyStyle:()=>yd,json:()=>Ed,jsonOrPretty:()=>OZe,mark:()=>xN,pretty:()=>Ut,prettyField:()=>Xu,prettyList:()=>bN,prettyTruncatedLocatorList:()=>cS,stripAnsi:()=>Jy.default,supportsColor:()=>lS,supportsHyperlinks:()=>SN,tuple:()=>Hc});function wne(t){let e=["KiB","MiB","GiB","TiB"],r=e.length;for(;r>1&&t<1024**r;)r-=1;let o=1024**r;return`${Math.floor(t*100/o)/100} ${e[r-1]}`}function Hc(t,e){return[e,t]}function yd(t,e,r){return t.get("enableColors")&&r&2&&(e=VI.default.bold(e)),e}function Vs(t,e,r){if(!t.get("enableColors"))return e;let o=LZe.get(r);if(o===null)return e;let a=typeof o>"u"?r:DN.level>=3?o[0]:o[1],n=typeof a=="number"?PN.ansi256(a):a.startsWith("#")?PN.hex(a):PN[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function Vy(t,e,r){return t.get("enableHyperlinks")?NZe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Ut(t,e,r){if(e===null)return Vs(t,"null",yt.NULL);if(Object.hasOwn(oS,r))return oS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Vs(t,e,r)}function bN(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Ut(t,a,r)).join(o)}function Ed(t,e){if(t===null)return null;if(Object.hasOwn(oS,e))return oS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function OZe(t,e,[r,o]){return t?Ed(r,o):Ut(e,r,o)}function xN(t){return{Check:Vs(t,"\u2713","green"),Cross:Vs(t,"\u2718","red"),Question:Vs(t,"?","cyan")}}function Xu(t,{label:e,value:[r,o]}){return`${Ut(t,e,yt.CODE)}: ${Ut(t,r,o)}`}function cS(t,e,r){let o=[],a=[...e],n=r;for(;a.length>0;){let h=a[0],E=`${qr(t,h)}, `,I=kN(h).length+2;if(o.length>0&&nh).join("").slice(0,-2);let u="X".repeat(a.length.toString().length),A=`and ${u} more.`,p=a.length;for(;o.length>1&&nh).join(""),A.replace(u,Ut(t,p,yt.NUMBER))].join("")}function XI(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let I of r){let v=I.get("level");if(typeof v>"u")continue;let x=I.get("code");typeof x<"u"&&o.set(x,v);let C=I.get("text");typeof C<"u"&&a.set(C,v);let F=I.get("pattern");typeof F<"u"&&n.push([Ine.default.matcher(F,{contains:!0}),v])}n.reverse();let u=(I,v,x)=>{if(I===null||I===0)return x;let C=a.size>0||n.length>0?(0,Jy.default)(v):v;if(a.size>0){let F=a.get(C);if(typeof F<"u")return F??x}if(n.length>0){for(let[F,N]of n)if(F(C))return N??x}if(o.size>0){let F=o.get(Ku(I));if(typeof F<"u")return F??x}return x},A=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(I,v,x,C){switch(u(v,x,C)){case"info":A.call(I,v,x);break;case"warning":p.call(I,v??0,x);break;case"error":h.call(I,v??0,x);break}};t.reportInfo=function(...I){return E(this,...I,"info")},t.reportWarning=function(...I){return E(this,...I,"warning")},t.reportError=function(...I){return E(this,...I,"error")}}var VI,JI,Ine,Jy,Bne,yt,aS,DN,lS,SN,PN,LZe,Do,oS,NZe,uS,jl=Et(()=>{Dt();VI=Ze(BL()),JI=Ze(rd());qt();Ine=Ze(Xo()),Jy=Ze(OD()),Bne=ve("util");pD();So();yt={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},aS=(e=>(e[e.BOLD=2]="BOLD",e))(aS||{}),DN=JI.default.GITHUB_ACTIONS?{level:2}:VI.default.supportsColor?{level:VI.default.supportsColor.level}:{level:0},lS=DN.level!==0,SN=lS&&!JI.default.GITHUB_ACTIONS&&!JI.default.CIRCLE&&!JI.default.GITLAB,PN=new VI.default.Instance(DN),LZe=new Map([[yt.NO_HINT,null],[yt.NULL,["#a853b5",129]],[yt.SCOPE,["#d75f00",166]],[yt.NAME,["#d7875f",173]],[yt.RANGE,["#00afaf",37]],[yt.REFERENCE,["#87afff",111]],[yt.NUMBER,["#ffd700",220]],[yt.PATH,["#d75fd7",170]],[yt.URL,["#d75fd7",170]],[yt.ADDED,["#5faf00",70]],[yt.REMOVED,["#ff3131",160]],[yt.CODE,["#87afff",111]],[yt.SIZE,["#ffd700",220]]]),Do=t=>t;oS={[yt.ID]:Do({pretty:(t,e)=>typeof e=="number"?Vs(t,`${e}`,yt.NUMBER):Vs(t,e,yt.CODE),json:t=>t}),[yt.INSPECT]:Do({pretty:(t,e)=>(0,Bne.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[yt.NUMBER]:Do({pretty:(t,e)=>Vs(t,`${e}`,yt.NUMBER),json:t=>t}),[yt.IDENT]:Do({pretty:(t,e)=>us(t,e),json:t=>rn(t)}),[yt.LOCATOR]:Do({pretty:(t,e)=>qr(t,e),json:t=>ba(t)}),[yt.DESCRIPTOR]:Do({pretty:(t,e)=>Gn(t,e),json:t=>Sa(t)}),[yt.RESOLUTION]:Do({pretty:(t,{descriptor:e,locator:r})=>ZI(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Sa(t),locator:e!==null?ba(e):null})}),[yt.DEPENDENT]:Do({pretty:(t,{locator:e,descriptor:r})=>QN(t,e,r),json:({locator:t,descriptor:e})=>({locator:ba(t),descriptor:Sa(e)})}),[yt.PACKAGE_EXTENSION]:Do({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${us(t,e.parentDescriptor)} \u27A4 ${Vs(t,"dependencies",yt.CODE)} \u27A4 ${us(t,e.descriptor)}`;case"PeerDependency":return`${us(t,e.parentDescriptor)} \u27A4 ${Vs(t,"peerDependencies",yt.CODE)} \u27A4 ${us(t,e.descriptor)}`;case"PeerDependencyMeta":return`${us(t,e.parentDescriptor)} \u27A4 ${Vs(t,"peerDependenciesMeta",yt.CODE)} \u27A4 ${us(t,Zo(e.selector))} \u27A4 ${Vs(t,e.key,yt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${rn(t.parentDescriptor)} > ${rn(t.descriptor)}`;case"PeerDependency":return`${rn(t.parentDescriptor)} >> ${rn(t.descriptor)}`;case"PeerDependencyMeta":return`${rn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[yt.SETTING]:Do({pretty:(t,e)=>(t.get(e),Vy(t,Vs(t,e,yt.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[yt.DURATION]:Do({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[yt.SIZE]:Do({pretty:(t,e)=>Vs(t,wne(e),yt.NUMBER),json:t=>t}),[yt.SIZE_DIFF]:Do({pretty:(t,e)=>{let r=e>=0?"+":"-",o=r==="+"?yt.REMOVED:yt.ADDED;return Vs(t,`${r} ${wne(Math.max(Math.abs(e),1))}`,o)},json:t=>t}),[yt.PATH]:Do({pretty:(t,e)=>Vs(t,ue.fromPortablePath(e),yt.PATH),json:t=>ue.fromPortablePath(t)}),[yt.MARKDOWN]:Do({pretty:(t,{text:e,format:r,paragraphs:o})=>vo(e,{format:r,paragraphs:o}),json:({text:t})=>t}),[yt.MARKDOWN_INLINE]:Do({pretty:(t,e)=>(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(r,o,a)=>Ut(t,o+a+o,yt.CODE)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,o,a)=>yd(t,a,2)),e),json:t=>t})};NZe=!!process.env.KONSOLE_VERSION;uS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(uS||{})});var vne=_(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.splitWhen=Xy.flatten=void 0;function MZe(t){return t.reduce((e,r)=>[].concat(e,r),[])}Xy.flatten=MZe;function UZe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}Xy.splitWhen=UZe});var Pne=_(AS=>{"use strict";Object.defineProperty(AS,"__esModule",{value:!0});AS.isEnoentCodeError=void 0;function _Ze(t){return t.code==="ENOENT"}AS.isEnoentCodeError=_Ze});var Dne=_(fS=>{"use strict";Object.defineProperty(fS,"__esModule",{value:!0});fS.createDirentFromStats=void 0;var RN=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function HZe(t,e){return new RN(t,e)}fS.createDirentFromStats=HZe});var Sne=_(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.removeLeadingDotSegment=Zu.escape=Zu.makeAbsolute=Zu.unixify=void 0;var qZe=ve("path"),GZe=2,jZe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function YZe(t){return t.replace(/\\/g,"/")}Zu.unixify=YZe;function WZe(t,e){return qZe.resolve(t,e)}Zu.makeAbsolute=WZe;function KZe(t){return t.replace(jZe,"\\$2")}Zu.escape=KZe;function zZe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(GZe)}return t}Zu.removeLeadingDotSegment=zZe});var xne=_((kTt,bne)=>{bne.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Rne=_((QTt,Qne)=>{var JZe=xne(),kne={"{":"}","(":")","[":"]"},VZe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;ee&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=kne[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},XZe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var ZZe=Rne(),$Ze=ve("path").posix.dirname,e$e=ve("os").platform()==="win32",FN="/",t$e=/\\/g,r$e=/[\{\[].*[\}\]]$/,n$e=/(^|[^\\])([\{\[]|\([^\)]+$)/,i$e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Fne.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&e$e&&e.indexOf(FN)<0&&(e=e.replace(t$e,FN)),r$e.test(e)&&(e+=FN),e+="a";do e=$Ze(e);while(ZZe(e)||n$e.test(e));return e.replace(i$e,"$1")}});var qne=_(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.matchAny=Gr.convertPatternsToRe=Gr.makeRe=Gr.getPatternParts=Gr.expandBraceExpansion=Gr.expandPatternsWithBraceExpansion=Gr.isAffectDepthOfReadingPattern=Gr.endsWithSlashGlobStar=Gr.hasGlobStar=Gr.getBaseDirectory=Gr.isPatternRelatedToParentDirectory=Gr.getPatternsOutsideCurrentDirectory=Gr.getPatternsInsideCurrentDirectory=Gr.getPositivePatterns=Gr.getNegativePatterns=Gr.isPositivePattern=Gr.isNegativePattern=Gr.convertToNegativePattern=Gr.convertToPositivePattern=Gr.isDynamicPattern=Gr.isStaticPattern=void 0;var s$e=ve("path"),o$e=Tne(),TN=Xo(),Lne="**",a$e="\\",l$e=/[*?]|^!/,c$e=/\[[^[]*]/,u$e=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,A$e=/[!*+?@]\([^(]*\)/,f$e=/,|\.\./;function Nne(t,e={}){return!One(t,e)}Gr.isStaticPattern=Nne;function One(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(a$e)||l$e.test(t)||c$e.test(t)||u$e.test(t)||e.extglob!==!1&&A$e.test(t)||e.braceExpansion!==!1&&p$e(t))}Gr.isDynamicPattern=One;function p$e(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return f$e.test(o)}function h$e(t){return pS(t)?t.slice(1):t}Gr.convertToPositivePattern=h$e;function g$e(t){return"!"+t}Gr.convertToNegativePattern=g$e;function pS(t){return t.startsWith("!")&&t[1]!=="("}Gr.isNegativePattern=pS;function Mne(t){return!pS(t)}Gr.isPositivePattern=Mne;function d$e(t){return t.filter(pS)}Gr.getNegativePatterns=d$e;function m$e(t){return t.filter(Mne)}Gr.getPositivePatterns=m$e;function y$e(t){return t.filter(e=>!LN(e))}Gr.getPatternsInsideCurrentDirectory=y$e;function E$e(t){return t.filter(LN)}Gr.getPatternsOutsideCurrentDirectory=E$e;function LN(t){return t.startsWith("..")||t.startsWith("./..")}Gr.isPatternRelatedToParentDirectory=LN;function C$e(t){return o$e(t,{flipBackslashes:!1})}Gr.getBaseDirectory=C$e;function w$e(t){return t.includes(Lne)}Gr.hasGlobStar=w$e;function Une(t){return t.endsWith("/"+Lne)}Gr.endsWithSlashGlobStar=Une;function I$e(t){let e=s$e.basename(t);return Une(t)||Nne(e)}Gr.isAffectDepthOfReadingPattern=I$e;function B$e(t){return t.reduce((e,r)=>e.concat(_ne(r)),[])}Gr.expandPatternsWithBraceExpansion=B$e;function _ne(t){return TN.braces(t,{expand:!0,nodupes:!0})}Gr.expandBraceExpansion=_ne;function v$e(t,e){let{parts:r}=TN.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Gr.getPatternParts=v$e;function Hne(t,e){return TN.makeRe(t,e)}Gr.makeRe=Hne;function P$e(t,e){return t.map(r=>Hne(r,e))}Gr.convertPatternsToRe=P$e;function D$e(t,e){return e.some(r=>r.test(t))}Gr.matchAny=D$e});var Wne=_((TTt,Yne)=>{"use strict";var S$e=ve("stream"),Gne=S$e.PassThrough,b$e=Array.prototype.slice;Yne.exports=x$e;function x$e(){let t=[],e=b$e.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=Gne(o);function A(){for(let E=0,I=arguments.length;E0||(r=!1,p())}function x(C){function F(){C.removeListener("merge2UnpipeEnd",F),C.removeListener("end",F),n&&C.removeListener("error",N),v()}function N(U){u.emit("error",U)}if(C._readableState.endEmitted)return v();C.on("merge2UnpipeEnd",F),C.on("end",F),n&&C.on("error",N),C.pipe(u,{end:!1}),C.resume()}for(let C=0;C{"use strict";Object.defineProperty(hS,"__esModule",{value:!0});hS.merge=void 0;var k$e=Wne();function Q$e(t){let e=k$e(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Kne(t)),e.once("end",()=>Kne(t)),e}hS.merge=Q$e;function Kne(t){t.forEach(e=>e.emit("close"))}});var Jne=_(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.isEmpty=Zy.isString=void 0;function R$e(t){return typeof t=="string"}Zy.isString=R$e;function F$e(t){return t===""}Zy.isEmpty=F$e});var Df=_(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.string=bo.stream=bo.pattern=bo.path=bo.fs=bo.errno=bo.array=void 0;var T$e=vne();bo.array=T$e;var L$e=Pne();bo.errno=L$e;var N$e=Dne();bo.fs=N$e;var O$e=Sne();bo.path=O$e;var M$e=qne();bo.pattern=M$e;var U$e=zne();bo.stream=U$e;var _$e=Jne();bo.string=_$e});var Zne=_(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.convertPatternGroupToTask=xo.convertPatternGroupsToTasks=xo.groupPatternsByBaseDirectory=xo.getNegativePatternsAsPositive=xo.getPositivePatterns=xo.convertPatternsToTasks=xo.generate=void 0;var Sf=Df();function H$e(t,e){let r=Vne(t),o=Xne(t,e.ignore),a=r.filter(p=>Sf.pattern.isStaticPattern(p,e)),n=r.filter(p=>Sf.pattern.isDynamicPattern(p,e)),u=NN(a,o,!1),A=NN(n,o,!0);return u.concat(A)}xo.generate=H$e;function NN(t,e,r){let o=[],a=Sf.pattern.getPatternsOutsideCurrentDirectory(t),n=Sf.pattern.getPatternsInsideCurrentDirectory(t),u=ON(a),A=ON(n);return o.push(...MN(u,e,r)),"."in A?o.push(UN(".",n,e,r)):o.push(...MN(A,e,r)),o}xo.convertPatternsToTasks=NN;function Vne(t){return Sf.pattern.getPositivePatterns(t)}xo.getPositivePatterns=Vne;function Xne(t,e){return Sf.pattern.getNegativePatterns(t).concat(e).map(Sf.pattern.convertToPositivePattern)}xo.getNegativePatternsAsPositive=Xne;function ON(t){let e={};return t.reduce((r,o)=>{let a=Sf.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}xo.groupPatternsByBaseDirectory=ON;function MN(t,e,r){return Object.keys(t).map(o=>UN(o,t[o],e,r))}xo.convertPatternGroupsToTasks=MN;function UN(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Sf.pattern.convertToNegativePattern))}}xo.convertPatternGroupToTask=UN});var eie=_($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.removeDuplicateSlashes=$y.transform=void 0;var q$e=/(?!^)\/{2,}/g;function G$e(t){return t.map(e=>$ne(e))}$y.transform=G$e;function $ne(t){return t.replace(q$e,"/")}$y.removeDuplicateSlashes=$ne});var rie=_(gS=>{"use strict";Object.defineProperty(gS,"__esModule",{value:!0});gS.read=void 0;function j$e(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){tie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){_N(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){tie(r,n);return}_N(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),_N(r,u)})})}gS.read=j$e;function tie(t,e){t(e)}function _N(t,e){t(null,e)}});var nie=_(dS=>{"use strict";Object.defineProperty(dS,"__esModule",{value:!0});dS.read=void 0;function Y$e(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}dS.read=Y$e});var iie=_(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.createFileSystemAdapter=Zp.FILE_SYSTEM_ADAPTER=void 0;var mS=ve("fs");Zp.FILE_SYSTEM_ADAPTER={lstat:mS.lstat,stat:mS.stat,lstatSync:mS.lstatSync,statSync:mS.statSync};function W$e(t){return t===void 0?Zp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Zp.FILE_SYSTEM_ADAPTER),t)}Zp.createFileSystemAdapter=W$e});var sie=_(qN=>{"use strict";Object.defineProperty(qN,"__esModule",{value:!0});var K$e=iie(),HN=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=K$e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};qN.default=HN});var Cd=_($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.statSync=$p.stat=$p.Settings=void 0;var oie=rie(),z$e=nie(),GN=sie();$p.Settings=GN.default;function J$e(t,e,r){if(typeof e=="function"){oie.read(t,jN(),e);return}oie.read(t,jN(e),r)}$p.stat=J$e;function V$e(t,e){let r=jN(e);return z$e.read(t,r)}$p.statSync=V$e;function jN(t={}){return t instanceof GN.default?t:new GN.default(t)}});var lie=_((YTt,aie)=>{aie.exports=X$e;function X$e(t,e){var r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?process.nextTick(h):h()}function A(p,h,E){r[p]=E,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,E){A(p,h,E)})}):t.forEach(function(p,h){p(function(E,I){A(h,E,I)})}):u(null),n=!1}});var YN=_(ES=>{"use strict";Object.defineProperty(ES,"__esModule",{value:!0});ES.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var yS=process.versions.node.split(".");if(yS[0]===void 0||yS[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var cie=Number.parseInt(yS[0],10),Z$e=Number.parseInt(yS[1],10),uie=10,$$e=10,eet=cie>uie,tet=cie===uie&&Z$e>=$$e;ES.IS_SUPPORT_READDIR_WITH_FILE_TYPES=eet||tet});var Aie=_(CS=>{"use strict";Object.defineProperty(CS,"__esModule",{value:!0});CS.createDirentFromStats=void 0;var WN=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function ret(t,e){return new WN(t,e)}CS.createDirentFromStats=ret});var KN=_(wS=>{"use strict";Object.defineProperty(wS,"__esModule",{value:!0});wS.fs=void 0;var net=Aie();wS.fs=net});var zN=_(IS=>{"use strict";Object.defineProperty(IS,"__esModule",{value:!0});IS.joinPathSegments=void 0;function iet(t,e,r){return t.endsWith(r)?t+e:t+r+e}IS.joinPathSegments=iet});var mie=_(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.readdir=eh.readdirWithFileTypes=eh.read=void 0;var set=Cd(),fie=lie(),oet=YN(),pie=KN(),hie=zN();function aet(t,e,r){if(!e.stats&&oet.IS_SUPPORT_READDIR_WITH_FILE_TYPES){gie(t,e,r);return}die(t,e,r)}eh.read=aet;function gie(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){BS(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:hie.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){JN(r,n);return}let u=n.map(A=>cet(A,e));fie(u,(A,p)=>{if(A!==null){BS(r,A);return}JN(r,p)})})}eh.readdirWithFileTypes=gie;function cet(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=pie.fs.createDirentFromStats(t.name,a),r(null,t)})}}function die(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){BS(r,o);return}let n=a.map(u=>{let A=hie.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{set.stat(A,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let I={name:u,path:A,dirent:pie.fs.createDirentFromStats(u,E)};e.stats&&(I.stats=E),p(null,I)})}});fie(n,(u,A)=>{if(u!==null){BS(r,u);return}JN(r,A)})})}eh.readdir=die;function BS(t,e){t(e)}function JN(t,e){t(null,e)}});var Iie=_(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.readdir=th.readdirWithFileTypes=th.read=void 0;var uet=Cd(),Aet=YN(),yie=KN(),Eie=zN();function fet(t,e){return!e.stats&&Aet.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Cie(t,e):wie(t,e)}th.read=fet;function Cie(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:Eie.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=yie.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}th.readdirWithFileTypes=Cie;function wie(t,e){return e.fs.readdirSync(t).map(o=>{let a=Eie.joinPathSegments(t,o,e.pathSegmentSeparator),n=uet.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:yie.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}th.readdir=wie});var Bie=_(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.createFileSystemAdapter=rh.FILE_SYSTEM_ADAPTER=void 0;var eE=ve("fs");rh.FILE_SYSTEM_ADAPTER={lstat:eE.lstat,stat:eE.stat,lstatSync:eE.lstatSync,statSync:eE.statSync,readdir:eE.readdir,readdirSync:eE.readdirSync};function pet(t){return t===void 0?rh.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},rh.FILE_SYSTEM_ADAPTER),t)}rh.createFileSystemAdapter=pet});var vie=_(XN=>{"use strict";Object.defineProperty(XN,"__esModule",{value:!0});var het=ve("path"),get=Cd(),det=Bie(),VN=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=det.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,het.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new get.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};XN.default=VN});var vS=_(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.Settings=nh.scandirSync=nh.scandir=void 0;var Pie=mie(),met=Iie(),ZN=vie();nh.Settings=ZN.default;function yet(t,e,r){if(typeof e=="function"){Pie.read(t,$N(),e);return}Pie.read(t,$N(e),r)}nh.scandir=yet;function Eet(t,e){let r=$N(e);return met.read(t,r)}nh.scandirSync=Eet;function $N(t={}){return t instanceof ZN.default?t:new ZN.default(t)}});var Sie=_((tLt,Die)=>{"use strict";function Cet(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}Die.exports=Cet});var xie=_((rLt,eO)=>{"use strict";var wet=Sie();function bie(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=wet(Iet),a=null,n=null,u=0,A=null,p={push:F,drain:Yl,saturated:Yl,pause:E,paused:!1,concurrency:r,running:h,resume:x,idle:C,length:I,getQueue:v,unshift:N,empty:Yl,kill:J,killAndDrain:te,error:ae};return p;function h(){return u}function E(){p.paused=!0}function I(){for(var le=a,ce=0;le;)le=le.next,ce++;return ce}function v(){for(var le=a,ce=[];le;)ce.push(le.value),le=le.next;return ce}function x(){if(!!p.paused){p.paused=!1;for(var le=0;le{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.joinPathSegments=$u.replacePathSegmentSeparator=$u.isAppliedFilter=$u.isFatalError=void 0;function vet(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}$u.isFatalError=vet;function Pet(t,e){return t===null||t(e)}$u.isAppliedFilter=Pet;function Det(t,e){return t.split(/[/\\]/).join(e)}$u.replacePathSegmentSeparator=Det;function bet(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}$u.joinPathSegments=bet});var nO=_(rO=>{"use strict";Object.defineProperty(rO,"__esModule",{value:!0});var xet=PS(),tO=class{constructor(e,r){this._root=e,this._settings=r,this._root=xet.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};rO.default=tO});var oO=_(sO=>{"use strict";Object.defineProperty(sO,"__esModule",{value:!0});var ket=ve("events"),Qet=vS(),Ret=xie(),DS=PS(),Fet=nO(),iO=class extends Fet.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=Qet.scandir,this._emitter=new ket.EventEmitter,this._queue=Ret(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!DS.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=DS.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),DS.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&DS.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};sO.default=iO});var kie=_(lO=>{"use strict";Object.defineProperty(lO,"__esModule",{value:!0});var Tet=oO(),aO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Tet.default(this._root,this._settings),this._storage=[]}read(e){this._reader.onError(r=>{Let(e,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{Net(e,this._storage)}),this._reader.read()}};lO.default=aO;function Let(t,e){t(e)}function Net(t,e){t(null,e)}});var Qie=_(uO=>{"use strict";Object.defineProperty(uO,"__esModule",{value:!0});var Oet=ve("stream"),Met=oO(),cO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Met.default(this._root,this._settings),this._stream=new Oet.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};uO.default=cO});var Rie=_(fO=>{"use strict";Object.defineProperty(fO,"__esModule",{value:!0});var Uet=vS(),SS=PS(),_et=nO(),AO=class extends _et.default{constructor(){super(...arguments),this._scandir=Uet.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(!!SS.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=SS.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),SS.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&SS.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_pushToStorage(e){this._storage.push(e)}};fO.default=AO});var Fie=_(hO=>{"use strict";Object.defineProperty(hO,"__esModule",{value:!0});var Het=Rie(),pO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Het.default(this._root,this._settings)}read(){return this._reader.read()}};hO.default=pO});var Tie=_(dO=>{"use strict";Object.defineProperty(dO,"__esModule",{value:!0});var qet=ve("path"),Get=vS(),gO=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,qet.sep),this.fsScandirSettings=new Get.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};dO.default=gO});var xS=_(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.Settings=eA.walkStream=eA.walkSync=eA.walk=void 0;var Lie=kie(),jet=Qie(),Yet=Fie(),mO=Tie();eA.Settings=mO.default;function Wet(t,e,r){if(typeof e=="function"){new Lie.default(t,bS()).read(e);return}new Lie.default(t,bS(e)).read(r)}eA.walk=Wet;function Ket(t,e){let r=bS(e);return new Yet.default(t,r).read()}eA.walkSync=Ket;function zet(t,e){let r=bS(e);return new jet.default(t,r).read()}eA.walkStream=zet;function bS(t={}){return t instanceof mO.default?t:new mO.default(t)}});var kS=_(EO=>{"use strict";Object.defineProperty(EO,"__esModule",{value:!0});var Jet=ve("path"),Vet=Cd(),Nie=Df(),yO=class{constructor(e){this._settings=e,this._fsStatSettings=new Vet.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Jet.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Nie.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Nie.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};EO.default=yO});var IO=_(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});var Xet=ve("stream"),Zet=Cd(),$et=xS(),ett=kS(),CO=class extends ett.default{constructor(){super(...arguments),this._walkStream=$et.walkStream,this._stat=Zet.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new Xet.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;nthis._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};wO.default=CO});var Oie=_(vO=>{"use strict";Object.defineProperty(vO,"__esModule",{value:!0});var ttt=xS(),rtt=kS(),ntt=IO(),BO=class extends rtt.default{constructor(){super(...arguments),this._walkAsync=ttt.walk,this._readerStream=new ntt.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};vO.default=BO});var Mie=_(DO=>{"use strict";Object.defineProperty(DO,"__esModule",{value:!0});var tE=Df(),PO=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let e=tE.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(e){return tE.pattern.getPatternParts(e,this._micromatchOptions).map(o=>tE.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:tE.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return tE.array.splitWhen(e,r=>r.dynamic&&tE.pattern.hasGlobStar(r.pattern))}};DO.default=PO});var Uie=_(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});var itt=Mie(),SO=class extends itt.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};bO.default=SO});var _ie=_(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});var QS=Df(),stt=Uie(),xO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new stt.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(QS.pattern.isAffectDepthOfReadingPattern);return QS.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=QS.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!QS.pattern.matchAny(e,r)}};kO.default=xO});var Hie=_(RO=>{"use strict";Object.defineProperty(RO,"__esModule",{value:!0});var wd=Df(),QO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=wd.pattern.convertPatternsToRe(e,this._micromatchOptions),a=wd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(e,r,o){if(this._settings.unique&&this._isDuplicateEntry(e)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e.path,o))return!1;let a=this._settings.baseNameMatch?e.name:e.path,n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(e.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(e),u}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=wd.path.makeAbsolute(this._settings.cwd,e);return wd.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=wd.path.removeLeadingDotSegment(e),n=wd.pattern.matchAny(a,r);return!n&&o?wd.pattern.matchAny(a+"/",r):n}};RO.default=QO});var qie=_(TO=>{"use strict";Object.defineProperty(TO,"__esModule",{value:!0});var ott=Df(),FO=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return ott.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};TO.default=FO});var jie=_(NO=>{"use strict";Object.defineProperty(NO,"__esModule",{value:!0});var Gie=Df(),LO=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Gie.path.makeAbsolute(this._settings.cwd,r),r=Gie.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};NO.default=LO});var RS=_(MO=>{"use strict";Object.defineProperty(MO,"__esModule",{value:!0});var att=ve("path"),ltt=_ie(),ctt=Hie(),utt=qie(),Att=jie(),OO=class{constructor(e){this._settings=e,this.errorFilter=new utt.default(this._settings),this.entryFilter=new ctt.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new ltt.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Att.default(this._settings)}_getRootDirectory(e){return att.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};MO.default=OO});var Yie=_(_O=>{"use strict";Object.defineProperty(_O,"__esModule",{value:!0});var ftt=Oie(),ptt=RS(),UO=class extends ptt.default{constructor(){super(...arguments),this._reader=new ftt.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};_O.default=UO});var Wie=_(qO=>{"use strict";Object.defineProperty(qO,"__esModule",{value:!0});var htt=ve("stream"),gtt=IO(),dtt=RS(),HO=class extends dtt.default{constructor(){super(...arguments),this._reader=new gtt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new htt.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};qO.default=HO});var Kie=_(jO=>{"use strict";Object.defineProperty(jO,"__esModule",{value:!0});var mtt=Cd(),ytt=xS(),Ett=kS(),GO=class extends Ett.default{constructor(){super(...arguments),this._walkSync=ytt.walkSync,this._statSync=mtt.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};jO.default=GO});var zie=_(WO=>{"use strict";Object.defineProperty(WO,"__esModule",{value:!0});var Ctt=Kie(),wtt=RS(),YO=class extends wtt.default{constructor(){super(...arguments),this._reader=new Ctt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};WO.default=YO});var Jie=_(nE=>{"use strict";Object.defineProperty(nE,"__esModule",{value:!0});nE.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var rE=ve("fs"),Itt=ve("os"),Btt=Math.max(Itt.cpus().length,1);nE.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:rE.lstat,lstatSync:rE.lstatSync,stat:rE.stat,statSync:rE.statSync,readdir:rE.readdir,readdirSync:rE.readdirSync};var KO=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Btt),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},nE.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};nE.default=KO});var TS=_((SLt,Zie)=>{"use strict";var Vie=Zne(),Xie=eie(),vtt=Yie(),Ptt=Wie(),Dtt=zie(),zO=Jie(),Id=Df();async function JO(t,e){iE(t);let r=VO(t,vtt.default,e),o=await Promise.all(r);return Id.array.flatten(o)}(function(t){function e(u,A){iE(u);let p=VO(u,Dtt.default,A);return Id.array.flatten(p)}t.sync=e;function r(u,A){iE(u);let p=VO(u,Ptt.default,A);return Id.stream.merge(p)}t.stream=r;function o(u,A){iE(u);let p=Xie.transform([].concat(u)),h=new zO.default(A);return Vie.generate(p,h)}t.generateTasks=o;function a(u,A){iE(u);let p=new zO.default(A);return Id.pattern.isDynamicPattern(u,p)}t.isDynamicPattern=a;function n(u){return iE(u),Id.path.escape(u)}t.escapePath=n})(JO||(JO={}));function VO(t,e,r){let o=Xie.transform([].concat(t)),a=new zO.default(r),n=Vie.generate(o,a),u=new e(a);return n.map(u.read,u)}function iE(t){if(![].concat(t).every(o=>Id.string.isString(o)&&!Id.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}Zie.exports=JO});var wn={};zt(wn,{checksumFile:()=>NS,checksumPattern:()=>OS,makeHash:()=>zi});function zi(...t){let e=(0,LS.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function NS(t,{baseFs:e,algorithm:r}={baseFs:oe,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,LS.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function OS(t,{cwd:e}){let o=(await(0,XO.default)(t,{cwd:ue.fromPortablePath(e),onlyDirectories:!0})).map(A=>`${A}/**/*`),a=await(0,XO.default)([t,...o],{cwd:ue.fromPortablePath(e),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=ue.toPortablePath(A),E=await oe.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await oe.readlinkPromise(h))):E.isFile()&&p.push(await oe.readFilePromise(h)),p.join("\0")})),u=(0,LS.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var LS,XO,ih=Et(()=>{Dt();LS=ve("crypto"),XO=Ze(TS())});var j={};zt(j,{allPeerRequests:()=>l1,areDescriptorsEqual:()=>nse,areIdentsEqual:()=>n1,areLocatorsEqual:()=>i1,areVirtualPackagesEquivalent:()=>Ltt,bindDescriptor:()=>Ftt,bindLocator:()=>Ttt,convertDescriptorToLocator:()=>MS,convertLocatorToDescriptor:()=>$O,convertPackageToLocator:()=>ktt,convertToIdent:()=>xtt,convertToManifestRange:()=>Ytt,copyPackage:()=>e1,devirtualizeDescriptor:()=>t1,devirtualizeLocator:()=>r1,ensureDevirtualizedDescriptor:()=>Qtt,ensureDevirtualizedLocator:()=>Rtt,getIdentVendorPath:()=>nM,isPackageCompatible:()=>GS,isVirtualDescriptor:()=>bf,isVirtualLocator:()=>qc,makeDescriptor:()=>In,makeIdent:()=>tA,makeLocator:()=>Fs,makeRange:()=>HS,parseDescriptor:()=>sh,parseFileStyleRange:()=>Gtt,parseIdent:()=>Zo,parseLocator:()=>xf,parseRange:()=>Bd,prettyDependent:()=>QN,prettyDescriptor:()=>Gn,prettyIdent:()=>us,prettyLocator:()=>qr,prettyLocatorNoColors:()=>kN,prettyRange:()=>aE,prettyReference:()=>o1,prettyResolution:()=>ZI,prettyWorkspace:()=>a1,renamePackage:()=>eM,slugifyIdent:()=>ZO,slugifyLocator:()=>oE,sortDescriptors:()=>lE,stringifyDescriptor:()=>Sa,stringifyIdent:()=>rn,stringifyLocator:()=>ba,tryParseDescriptor:()=>s1,tryParseIdent:()=>ise,tryParseLocator:()=>_S,tryParseRange:()=>qtt,virtualizeDescriptor:()=>tM,virtualizePackage:()=>rM});function tA(t,e){if(t?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zi(t,e),scope:t,name:e}}function In(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zi(t.identHash,e),range:e}}function Fs(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zi(t.identHash,e),reference:e}}function xtt(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function MS(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function $O(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function ktt(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function eM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function e1(t){return eM(t,t)}function tM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return In(t,`virtual:${e}#${t.range}`)}function rM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return eM(t,Fs(t,`virtual:${e}#${t.reference}`))}function bf(t){return t.range.startsWith($I)}function qc(t){return t.reference.startsWith($I)}function t1(t){if(!bf(t))throw new Error("Not a virtual descriptor");return In(t,t.range.replace(US,""))}function r1(t){if(!qc(t))throw new Error("Not a virtual descriptor");return Fs(t,t.reference.replace(US,""))}function Qtt(t){return bf(t)?In(t,t.range.replace(US,"")):t}function Rtt(t){return qc(t)?Fs(t,t.reference.replace(US,"")):t}function Ftt(t,e){return t.range.includes("::")?t:In(t,`${t.range}::${sE.default.stringify(e)}`)}function Ttt(t,e){return t.reference.includes("::")?t:Fs(t,`${t.reference}::${sE.default.stringify(e)}`)}function n1(t,e){return t.identHash===e.identHash}function nse(t,e){return t.descriptorHash===e.descriptorHash}function i1(t,e){return t.locatorHash===e.locatorHash}function Ltt(t,e){if(!qc(t))throw new Error("Invalid package type");if(!qc(e))throw new Error("Invalid package type");if(!n1(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!nse(r,o))return!1}return!0}function Zo(t){let e=ise(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function ise(t){let e=t.match(Ntt);if(!e)return null;let[,r,o]=e;return tA(typeof r<"u"?r:null,o)}function sh(t,e=!1){let r=s1(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function s1(t,e=!1){let r=e?t.match(Ott):t.match(Mtt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return In(tA(u,a),A)}function xf(t,e=!1){let r=_S(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function _S(t,e=!1){let r=e?t.match(Utt):t.match(_tt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Fs(tA(u,a),A)}function Bd(t,e){let r=t.match(Htt);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof e?.requireProtocol=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if(e?.requireProtocol&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(e?.requireSource&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e?.parseSelector?sE.default.parse(n):n,A=typeof r[4]<"u"?sE.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function qtt(t,e){try{return Bd(t,e)}catch{return null}}function Gtt(t,{protocol:e}){let{selector:r,params:o}=Bd(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:xf(o.locator,!0),path:r}}function $ie(t){return t=t.replaceAll("%","%25"),t=t.replaceAll(":","%3A"),t=t.replaceAll("#","%23"),t}function jtt(t){return t===null?!1:Object.entries(t).length>0}function HS({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${$ie(e)}#`),a+=$ie(r),jtt(o)&&(a+=`::${sE.default.stringify(o)}`),a}function Ytt(t){let{params:e,protocol:r,source:o,selector:a}=Bd(t);for(let n in e)n.startsWith("__")&&delete e[n];return HS({protocol:r,source:o,params:e,selector:a})}function rn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Sa(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function ba(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function ZO(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function oE(t){let{protocol:e,selector:r}=Bd(t.reference),o=e!==null?e.replace(Wtt,""):"exotic",a=ese.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10;return t.scope?`${ZO(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${ZO(t)}-${n}-${t.locatorHash.slice(0,u)}`}function us(t,e){return e.scope?`${Ut(t,`@${e.scope}/`,yt.SCOPE)}${Ut(t,e.name,yt.NAME)}`:`${Ut(t,e.name,yt.NAME)}`}function qS(t){if(t.startsWith($I)){let e=qS(t.substring(t.indexOf("#")+1)),r=t.substring($I.length,$I.length+Stt);return`${e} [${r}]`}else return t.replace(Ktt,"?[...]")}function aE(t,e){return`${Ut(t,qS(e),yt.RANGE)}`}function Gn(t,e){return`${us(t,e)}${Ut(t,"@",yt.RANGE)}${aE(t,e.range)}`}function o1(t,e){return`${Ut(t,qS(e),yt.REFERENCE)}`}function qr(t,e){return`${us(t,e)}${Ut(t,"@",yt.REFERENCE)}${o1(t,e.reference)}`}function kN(t){return`${rn(t)}@${qS(t.reference)}`}function lE(t){return Rs(t,[e=>rn(e),e=>e.range])}function a1(t,e){return us(t,e.anchoredLocator)}function ZI(t,e,r){let o=bf(e)?t1(e):e;return r===null?`${Gn(t,o)} \u2192 ${xN(t).Cross}`:o.identHash===r.identHash?`${Gn(t,o)} \u2192 ${o1(t,r.reference)}`:`${Gn(t,o)} \u2192 ${qr(t,r)}`}function QN(t,e,r){return r===null?`${qr(t,e)}`:`${qr(t,e)} (via ${aE(t,r.range)})`}function nM(t){return`node_modules/${rn(t)}`}function GS(t,e){return t.conditions?btt(t.conditions,r=>{let[,o,a]=r.match(rse),n=e[o];return n?n.includes(a):!0}):!0}function l1(t){let e=new Set;if("children"in t)e.add(t);else for(let r of t.requests.values())e.add(r);for(let r of e)for(let o of r.children.values())e.add(o);return e}var sE,ese,tse,$I,Stt,rse,btt,US,Ntt,Ott,Mtt,Utt,_tt,Htt,Wtt,Ktt,So=Et(()=>{sE=Ze(ve("querystring")),ese=Ze(Vn()),tse=Ze(eX());jl();ih();Gl();So();$I="virtual:",Stt=5,rse=/(os|cpu|libc)=([a-z0-9_-]+)/,btt=(0,tse.makeParser)(rse);US=/^[^#]*#/;Ntt=/^(?:@([^/]+?)\/)?([^@/]+)$/;Ott=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Mtt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Utt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,_tt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Htt=/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;Wtt=/:$/;Ktt=/\?.*/});var sse,ose=Et(()=>{So();sse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==rn(r)||e.configuration.normalizeLocator(Fs(Zo(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==rn(t)||e.configuration.normalizeDependency(In(xf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(In(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=a1(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var c1,Xn,vd=Et(()=>{c1=class{supportsDescriptor(e,r){return!!(e.range.startsWith(c1.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(c1.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice(c1.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},Xn=c1;Xn.protocol="workspace:"});var Lr={};zt(Lr,{SemVer:()=>Ase.SemVer,clean:()=>Jtt,getComparator:()=>cse,mergeComparators:()=>iM,satisfiesWithPrereleases:()=>kf,simplifyRanges:()=>sM,stringifyComparator:()=>use,validRange:()=>xa});function kf(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=ase.get(o);if(typeof a>"u")try{a=new oh.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{ase.set(o,a||null)}else if(a===null)return!1;let n;try{n=new oh.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function xa(t){if(t.indexOf(":")!==-1)return null;let e=lse.get(t);if(typeof e<"u")return e;try{e=new oh.default.Range(t)}catch{e=null}return lse.set(t,e),e}function Jtt(t){let e=ztt.exec(t);return e?e[1]:null}function cse(t){if(t.semver===oh.default.Comparator.ANY)return{gt:null,lt:null};switch(t.operator){case"":return{gt:[">=",t.semver],lt:["<=",t.semver]};case">":case">=":return{gt:[t.operator,t.semver],lt:null};case"<":case"<=":return{gt:null,lt:[t.operator,t.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${t.operator})`)}}function iM(t){if(t.length===0)return null;let e=null,r=null;for(let o of t){if(o.gt){let a=e!==null?oh.default.compare(o.gt[1],e[1]):null;(a===null||a>0||a===0&&o.gt[0]===">")&&(e=o.gt)}if(o.lt){let a=r!==null?oh.default.compare(o.lt[1],r[1]):null;(a===null||a<0||a===0&&o.lt[0]==="<")&&(r=o.lt)}}if(e&&r){let o=oh.default.compare(e[1],r[1]);if(o===0&&(e[0]===">"||r[0]==="<")||o>0)return null}return{gt:e,lt:r}}function use(t){if(t.gt&&t.lt){if(t.gt[0]===">="&&t.lt[0]==="<="&&t.gt[1].version===t.lt[1].version)return t.gt[1].version;if(t.gt[0]===">="&&t.lt[0]==="<"){if(t.lt[1].version===`${t.gt[1].major+1}.0.0-0`)return`^${t.gt[1].version}`;if(t.lt[1].version===`${t.gt[1].major}.${t.gt[1].minor+1}.0-0`)return`~${t.gt[1].version}`}}let e=[];return t.gt&&e.push(t.gt[0]+t.gt[1].version),t.lt&&e.push(t.lt[0]+t.lt[1].version),e.length?e.join(" "):"*"}function sM(t){let e=t.map(o=>xa(o).set.map(a=>a.map(n=>cse(n)))),r=e.shift().map(o=>iM(o)).filter(o=>o!==null);for(let o of e){let a=[];for(let n of r)for(let u of o){let A=iM([n,...u]);A!==null&&a.push(A)}r=a}return r.length===0?null:r.map(o=>use(o)).join(" || ")}var oh,Ase,ase,lse,ztt,Qf=Et(()=>{oh=Ze(Vn()),Ase=Ze(Vn()),ase=new Map;lse=new Map;ztt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function fse(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function pse(t){return t.charCodeAt(0)===65279?t.slice(1):t}function $o(t){return t.replace(/\\/g,"/")}function jS(t,{yamlCompatibilityMode:e}){return e?IN(t):typeof t>"u"||typeof t=="boolean"?t:null}function hse(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function oM(t,e){return e.length===1?hse(t,e[0]):`(${e.map(r=>hse(t,r)).join(" | ")})`}var gse,cE,Ot,uE=Et(()=>{Dt();Nl();gse=Ze(Vn());vd();Gl();Qf();So();cE=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Tn}={}){let o=z.join(e,"package.json");try{return await cE.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await cE.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new Tn}={}){let o=new cE;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new cE;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(pse(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=fse(e)}async loadFile(e,{baseFs:r=new Tn}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(pse(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=fse(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Zo(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=$o(e.main):this.main=null,typeof e.module=="string"?this.module=$o(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=$o(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set($o(n),typeof u=="string"?$o(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")e.bin.trim()===""?o.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,$o(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"||u.trim()===""){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Zo(n);this.bin.set(A.name,$o(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(Xn.protocol)&&!xa(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=In(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=sh(n),p=this.ensureDependencyMeta(A),h=jS(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=jS(u.optional,{yamlCompatibilityMode:r});if(E===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let I=jS(u.unplugged,{yamlCompatibilityMode:r});if(I===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:I})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=sh(n),p=this.ensurePeerDependencyMeta(A),h=jS(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:UP(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=$o(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=$o(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=$o(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set($o(n),typeof u=="string"?$o(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,$o(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,$o(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add($o(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.dependencies.set(p.identHash,p);let h=In(A,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(oM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(oM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(oM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!gse.default.valid(e.range))throw new Error(`Invalid meta field range for '${Sa(e)}'`);let r=rn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Sa(e)}'`);let r=rn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=rn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(rn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...lE(o).map(n=>({[rn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...lE(a).map(n=>({[rn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...lE(this.devDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...lE(this.peerDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Rs(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Rs(u.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=A!==null?Sa(In(Zo(n),A)):n,E={...p};r&&A===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Rs(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[_P(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??={};for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}},Ot=cE;Ot.fileName="package.json",Ot.allDependencies=["dependencies","devDependencies","peerDependencies"],Ot.hardDependencies=["dependencies","devDependencies"]});var mse=_((qLt,dse)=>{var Vtt=Hl(),Xtt=function(){return Vtt.Date.now()};dse.exports=Xtt});var Ese=_((GLt,yse)=>{var Ztt=/\s/;function $tt(t){for(var e=t.length;e--&&Ztt.test(t.charAt(e)););return e}yse.exports=$tt});var wse=_((jLt,Cse)=>{var ert=Ese(),trt=/^\s+/;function rrt(t){return t&&t.slice(0,ert(t)+1).replace(trt,"")}Cse.exports=rrt});var AE=_((YLt,Ise)=>{var nrt=gd(),irt=Vu(),srt="[object Symbol]";function ort(t){return typeof t=="symbol"||irt(t)&&nrt(t)==srt}Ise.exports=ort});var Dse=_((WLt,Pse)=>{var art=wse(),Bse=sl(),lrt=AE(),vse=0/0,crt=/^[-+]0x[0-9a-f]+$/i,urt=/^0b[01]+$/i,Art=/^0o[0-7]+$/i,frt=parseInt;function prt(t){if(typeof t=="number")return t;if(lrt(t))return vse;if(Bse(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Bse(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=art(t);var r=urt.test(t);return r||Art.test(t)?frt(t.slice(2),r?2:8):crt.test(t)?vse:+t}Pse.exports=prt});var xse=_((KLt,bse)=>{var hrt=sl(),aM=mse(),Sse=Dse(),grt="Expected a function",drt=Math.max,mrt=Math.min;function yrt(t,e,r){var o,a,n,u,A,p,h=0,E=!1,I=!1,v=!0;if(typeof t!="function")throw new TypeError(grt);e=Sse(e)||0,hrt(r)&&(E=!!r.leading,I="maxWait"in r,n=I?drt(Sse(r.maxWait)||0,e):n,v="trailing"in r?!!r.trailing:v);function x(ce){var we=o,de=a;return o=a=void 0,h=ce,u=t.apply(de,we),u}function C(ce){return h=ce,A=setTimeout(U,e),E?x(ce):u}function F(ce){var we=ce-p,de=ce-h,Be=e-we;return I?mrt(Be,n-de):Be}function N(ce){var we=ce-p,de=ce-h;return p===void 0||we>=e||we<0||I&&de>=n}function U(){var ce=aM();if(N(ce))return J(ce);A=setTimeout(U,F(ce))}function J(ce){return A=void 0,v&&o?x(ce):(o=a=void 0,u)}function te(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function ae(){return A===void 0?u:J(aM())}function le(){var ce=aM(),we=N(ce);if(o=arguments,a=this,p=ce,we){if(A===void 0)return C(p);if(I)return clearTimeout(A),A=setTimeout(U,e),x(p)}return A===void 0&&(A=setTimeout(U,e)),u}return le.cancel=te,le.flush=ae,le}bse.exports=yrt});var lM=_((zLt,kse)=>{var Ert=xse(),Crt=sl(),wrt="Expected a function";function Irt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(wrt);return Crt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),Ert(t,e,{leading:o,maxWait:e,trailing:a})}kse.exports=Irt});function vrt(t){return typeof t.reportCode<"u"}var Qse,Rse,Fse,Brt,Vt,Xs,Wl=Et(()=>{Qse=Ze(lM()),Rse=ve("stream"),Fse=ve("string_decoder"),Brt=15,Vt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Xs=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(e){this.cacheHits.add(e.locatorHash)}reportCacheMiss(e,r){this.cacheMisses.add(e.locatorHash)}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(E=>{o=E}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r{r=u}),a=(0,Qse.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/Brt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),o?.reportExtra?.(this))}reportWarningOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),o?.reportExtra?.(this))}reportErrorOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),o?.reportExtra?.(this))}reportExceptionOnce(e){vrt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new Rse.PassThrough,o=new Fse.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var fE,cM=Et(()=>{Wl();So();fE=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new Vt(11,`${qr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var Pd,uM=Et(()=>{So();Pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${Gn(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${qr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var pE,AM=Et(()=>{Dt();So();pE=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Fs(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Fs(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return oE(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=mi.makeVirtualPath(n,u,a),p=new _u(A,{baseFs:r.packageFs,pathUtils:z});return{...r,packageFs:p}}}});var hE,u1,Tse=Et(()=>{hE=class{static isVirtualDescriptor(e){return!!e.range.startsWith(hE.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(hE.protocol)}supportsDescriptor(e,r){return hE.isVirtualDescriptor(e)}supportsLocator(e,r){return hE.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},u1=hE;u1.protocol="virtual:"});var gE,fM=Et(()=>{Dt();vd();gE=class{supports(e){return!!e.reference.startsWith(Xn.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new gn(o),prefixPath:Bt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Xn.protocol.length))}}});function A1(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Lse(t){return typeof t>"u"?3:A1(t)?0:Array.isArray(t)?1:2}function gM(t,e){return Object.hasOwn(t,e)}function Drt(t){return A1(t)&&gM(t,"onConflict")&&typeof t.onConflict=="string"}function Srt(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!Drt(t))return{onConflict:"default",value:t};if(gM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function Nse(t,e){let r=A1(t)&&gM(t,e)?t[e]:void 0;return Srt(r)}function dE(t,e){return[t,e,Ose]}function dM(t){return Array.isArray(t)?t[2]===Ose:!1}function pM(t,e){if(A1(t)){let r={};for(let o of Object.keys(t))r[o]=pM(t[o],e);return dE(e,r)}return Array.isArray(t)?dE(e,t.map(r=>pM(r,e))):dE(e,t)}function hM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let E=a-1;E>=o;--E){let[I,v]=t[E],{onConflict:x,value:C}=Nse(v,r),F=Lse(C);if(F!==3){if(n??=F,F!==n||x==="hardReset"){p=A;break}if(F===2)return dE(I,C);if(u.unshift([I,C]),x==="reset"){p=E;break}x==="extend"&&E===o&&(o=0),A=E}}if(typeof n>"u")return null;let h=u.map(([E])=>E).join(", ");switch(n){case 1:return dE(h,new Array().concat(...u.map(([E,I])=>I.map(v=>pM(v,E)))));case 0:{let E=Object.assign({},...u.map(([,F])=>F)),I=Object.keys(E),v={},x=t.map(([F,N])=>[F,Nse(N,r).value]),C=Prt(x,([F,N])=>{let U=Lse(N);return U!==0&&U!==3});if(C!==-1){let F=x.slice(C+1);for(let N of I)v[N]=hM(F,e,N,0,F.length)}else for(let F of I)v[F]=hM(x,e,F,p,x.length);return dE(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function Mse(t){return hM(t.map(([e,r])=>[e,{["."]:r}]),[],".",0,t.length)}function f1(t){return dM(t)?t[1]:t}function YS(t){let e=dM(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>YS(r));if(A1(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=YS(a);return r}return e}function mM(t){return dM(t)?t[0]:null}var Prt,Ose,Use=Et(()=>{Prt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};Ose=Symbol()});var WS={};zt(WS,{getDefaultGlobalFolder:()=>EM,getHomeFolder:()=>mE,isFolderInside:()=>CM});function EM(){if(process.platform==="win32"){let t=ue.toPortablePath(process.env.LOCALAPPDATA||ue.join((0,yM.homedir)(),"AppData","Local"));return z.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=ue.toPortablePath(process.env.XDG_DATA_HOME);return z.resolve(t,"yarn/berry")}return z.resolve(mE(),".yarn/berry")}function mE(){return ue.toPortablePath((0,yM.homedir)()||"/usr/local/share")}function CM(t,e){let r=z.relative(e,t);return r&&!r.startsWith("..")&&!z.isAbsolute(r)}var yM,KS=Et(()=>{Dt();yM=ve("os")});var Gse=_(yE=>{"use strict";var aNt=ve("net"),xrt=ve("tls"),wM=ve("http"),_se=ve("https"),krt=ve("events"),lNt=ve("assert"),Qrt=ve("util");yE.httpOverHttp=Rrt;yE.httpsOverHttp=Frt;yE.httpOverHttps=Trt;yE.httpsOverHttps=Lrt;function Rrt(t){var e=new Rf(t);return e.request=wM.request,e}function Frt(t){var e=new Rf(t);return e.request=wM.request,e.createSocket=Hse,e.defaultPort=443,e}function Trt(t){var e=new Rf(t);return e.request=_se.request,e}function Lrt(t){var e=new Rf(t);return e.request=_se.request,e.createSocket=Hse,e.defaultPort=443,e}function Rf(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||wM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=qse(a,n,u),p=0,h=e.requests.length;p=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(E){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};Rf.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=IM({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),ah("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",E),u.end();function A(I){I.upgrade=!0}function p(I,v,x){process.nextTick(function(){h(I,v,x)})}function h(I,v,x){if(u.removeAllListeners(),v.removeAllListeners(),I.statusCode!==200){ah("tunneling socket could not be established, statusCode=%d",I.statusCode),v.destroy();var C=new Error("tunneling socket could not be established, statusCode="+I.statusCode);C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}if(x.length>0){ah("got illegal response body from proxy"),v.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}return ah("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function E(I){u.removeAllListeners(),ah(`tunneling socket could not be established, cause=%s +`,I.message,I.stack);var v=new Error("tunneling socket could not be established, cause="+I.message);v.code="ECONNRESET",e.request.emit("error",v),o.removeSocket(a)}};Rf.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function Hse(t,e){var r=this;Rf.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=IM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=xrt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function qse(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function IM(t){for(var e=1,r=arguments.length;e{jse.exports=Gse()});var Tf=_((Ff,zS)=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Wse=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Nrt(t){return Wse.includes(t)}var Ort=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Wse];function Mrt(t){return Ort.includes(t)}var Urt=["null","undefined","string","number","bigint","boolean","symbol"];function _rt(t){return Urt.includes(t)}function EE(t){return e=>typeof e===t}var{toString:Kse}=Object.prototype,p1=t=>{let e=Kse.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&De.domElement(t))return"HTMLElement";if(Mrt(e))return e},Zn=t=>e=>p1(e)===t;function De(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(De.observable(t))return"Observable";if(De.array(t))return"Array";if(De.buffer(t))return"Buffer";let e=p1(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}De.undefined=EE("undefined");De.string=EE("string");var Hrt=EE("number");De.number=t=>Hrt(t)&&!De.nan(t);De.bigint=EE("bigint");De.function_=EE("function");De.null_=t=>t===null;De.class_=t=>De.function_(t)&&t.toString().startsWith("class ");De.boolean=t=>t===!0||t===!1;De.symbol=EE("symbol");De.numericString=t=>De.string(t)&&!De.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));De.array=(t,e)=>Array.isArray(t)?De.function_(e)?t.every(e):!0:!1;De.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};De.blob=t=>Zn("Blob")(t);De.nullOrUndefined=t=>De.null_(t)||De.undefined(t);De.object=t=>!De.null_(t)&&(typeof t=="object"||De.function_(t));De.iterable=t=>{var e;return De.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};De.asyncIterable=t=>{var e;return De.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};De.generator=t=>{var e,r;return De.iterable(t)&&De.function_((e=t)===null||e===void 0?void 0:e.next)&&De.function_((r=t)===null||r===void 0?void 0:r.throw)};De.asyncGenerator=t=>De.asyncIterable(t)&&De.function_(t.next)&&De.function_(t.throw);De.nativePromise=t=>Zn("Promise")(t);var qrt=t=>{var e,r;return De.function_((e=t)===null||e===void 0?void 0:e.then)&&De.function_((r=t)===null||r===void 0?void 0:r.catch)};De.promise=t=>De.nativePromise(t)||qrt(t);De.generatorFunction=Zn("GeneratorFunction");De.asyncGeneratorFunction=t=>p1(t)==="AsyncGeneratorFunction";De.asyncFunction=t=>p1(t)==="AsyncFunction";De.boundFunction=t=>De.function_(t)&&!t.hasOwnProperty("prototype");De.regExp=Zn("RegExp");De.date=Zn("Date");De.error=Zn("Error");De.map=t=>Zn("Map")(t);De.set=t=>Zn("Set")(t);De.weakMap=t=>Zn("WeakMap")(t);De.weakSet=t=>Zn("WeakSet")(t);De.int8Array=Zn("Int8Array");De.uint8Array=Zn("Uint8Array");De.uint8ClampedArray=Zn("Uint8ClampedArray");De.int16Array=Zn("Int16Array");De.uint16Array=Zn("Uint16Array");De.int32Array=Zn("Int32Array");De.uint32Array=Zn("Uint32Array");De.float32Array=Zn("Float32Array");De.float64Array=Zn("Float64Array");De.bigInt64Array=Zn("BigInt64Array");De.bigUint64Array=Zn("BigUint64Array");De.arrayBuffer=Zn("ArrayBuffer");De.sharedArrayBuffer=Zn("SharedArrayBuffer");De.dataView=Zn("DataView");De.enumCase=(t,e)=>Object.values(e).includes(t);De.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;De.urlInstance=t=>Zn("URL")(t);De.urlString=t=>{if(!De.string(t))return!1;try{return new URL(t),!0}catch{return!1}};De.truthy=t=>Boolean(t);De.falsy=t=>!t;De.nan=t=>Number.isNaN(t);De.primitive=t=>De.null_(t)||_rt(typeof t);De.integer=t=>Number.isInteger(t);De.safeInteger=t=>Number.isSafeInteger(t);De.plainObject=t=>{if(Kse.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};De.typedArray=t=>Nrt(p1(t));var Grt=t=>De.safeInteger(t)&&t>=0;De.arrayLike=t=>!De.nullOrUndefined(t)&&!De.function_(t)&&Grt(t.length);De.inRange=(t,e)=>{if(De.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(De.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var jrt=1,Yrt=["innerHTML","ownerDocument","style","attributes","nodeValue"];De.domElement=t=>De.object(t)&&t.nodeType===jrt&&De.string(t.nodeName)&&!De.plainObject(t)&&Yrt.every(e=>e in t);De.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};De.nodeStream=t=>De.object(t)&&De.function_(t.pipe)&&!De.observable(t);De.infinite=t=>t===1/0||t===-1/0;var zse=t=>e=>De.integer(e)&&Math.abs(e%2)===t;De.evenInteger=zse(0);De.oddInteger=zse(1);De.emptyArray=t=>De.array(t)&&t.length===0;De.nonEmptyArray=t=>De.array(t)&&t.length>0;De.emptyString=t=>De.string(t)&&t.length===0;var Wrt=t=>De.string(t)&&!/\S/.test(t);De.emptyStringOrWhitespace=t=>De.emptyString(t)||Wrt(t);De.nonEmptyString=t=>De.string(t)&&t.length>0;De.nonEmptyStringAndNotWhitespace=t=>De.string(t)&&!De.emptyStringOrWhitespace(t);De.emptyObject=t=>De.object(t)&&!De.map(t)&&!De.set(t)&&Object.keys(t).length===0;De.nonEmptyObject=t=>De.object(t)&&!De.map(t)&&!De.set(t)&&Object.keys(t).length>0;De.emptySet=t=>De.set(t)&&t.size===0;De.nonEmptySet=t=>De.set(t)&&t.size>0;De.emptyMap=t=>De.map(t)&&t.size===0;De.nonEmptyMap=t=>De.map(t)&&t.size>0;De.propertyKey=t=>De.any([De.string,De.number,De.symbol],t);De.formData=t=>Zn("FormData")(t);De.urlSearchParams=t=>Zn("URLSearchParams")(t);var Jse=(t,e,r)=>{if(!De.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};De.any=(t,...e)=>(De.array(t)?t:[t]).some(o=>Jse(Array.prototype.some,o,e));De.all=(t,...e)=>Jse(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${De(u)}\``))].join(", ")}`:`received value of type \`${De(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Ff.assert={undefined:t=>Mt(De.undefined(t),"undefined",t),string:t=>Mt(De.string(t),"string",t),number:t=>Mt(De.number(t),"number",t),bigint:t=>Mt(De.bigint(t),"bigint",t),function_:t=>Mt(De.function_(t),"Function",t),null_:t=>Mt(De.null_(t),"null",t),class_:t=>Mt(De.class_(t),"Class",t),boolean:t=>Mt(De.boolean(t),"boolean",t),symbol:t=>Mt(De.symbol(t),"symbol",t),numericString:t=>Mt(De.numericString(t),"string with a number",t),array:(t,e)=>{Mt(De.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(De.buffer(t),"Buffer",t),blob:t=>Mt(De.blob(t),"Blob",t),nullOrUndefined:t=>Mt(De.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(De.object(t),"Object",t),iterable:t=>Mt(De.iterable(t),"Iterable",t),asyncIterable:t=>Mt(De.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(De.generator(t),"Generator",t),asyncGenerator:t=>Mt(De.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(De.nativePromise(t),"native Promise",t),promise:t=>Mt(De.promise(t),"Promise",t),generatorFunction:t=>Mt(De.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(De.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(De.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(De.boundFunction(t),"Function",t),regExp:t=>Mt(De.regExp(t),"RegExp",t),date:t=>Mt(De.date(t),"Date",t),error:t=>Mt(De.error(t),"Error",t),map:t=>Mt(De.map(t),"Map",t),set:t=>Mt(De.set(t),"Set",t),weakMap:t=>Mt(De.weakMap(t),"WeakMap",t),weakSet:t=>Mt(De.weakSet(t),"WeakSet",t),int8Array:t=>Mt(De.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(De.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(De.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(De.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(De.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(De.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(De.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(De.float32Array(t),"Float32Array",t),float64Array:t=>Mt(De.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(De.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(De.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(De.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(De.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(De.dataView(t),"DataView",t),enumCase:(t,e)=>Mt(De.enumCase(t,e),"EnumCase",t),urlInstance:t=>Mt(De.urlInstance(t),"URL",t),urlString:t=>Mt(De.urlString(t),"string with a URL",t),truthy:t=>Mt(De.truthy(t),"truthy",t),falsy:t=>Mt(De.falsy(t),"falsy",t),nan:t=>Mt(De.nan(t),"NaN",t),primitive:t=>Mt(De.primitive(t),"primitive",t),integer:t=>Mt(De.integer(t),"integer",t),safeInteger:t=>Mt(De.safeInteger(t),"integer",t),plainObject:t=>Mt(De.plainObject(t),"plain object",t),typedArray:t=>Mt(De.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(De.arrayLike(t),"array-like",t),domElement:t=>Mt(De.domElement(t),"HTMLElement",t),observable:t=>Mt(De.observable(t),"Observable",t),nodeStream:t=>Mt(De.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(De.infinite(t),"infinite number",t),emptyArray:t=>Mt(De.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(De.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(De.emptyString(t),"empty string",t),emptyStringOrWhitespace:t=>Mt(De.emptyStringOrWhitespace(t),"empty string or whitespace",t),nonEmptyString:t=>Mt(De.nonEmptyString(t),"non-empty string",t),nonEmptyStringAndNotWhitespace:t=>Mt(De.nonEmptyStringAndNotWhitespace(t),"non-empty string and not whitespace",t),emptyObject:t=>Mt(De.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(De.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(De.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(De.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(De.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(De.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(De.propertyKey(t),"PropertyKey",t),formData:t=>Mt(De.formData(t),"FormData",t),urlSearchParams:t=>Mt(De.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(De.evenInteger(t),"even integer",t),oddInteger:t=>Mt(De.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(De.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(De.inRange(t,e),"in range",t),any:(t,...e)=>Mt(De.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(De.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(De,{class:{value:De.class_},function:{value:De.function_},null:{value:De.null_}});Object.defineProperties(Ff.assert,{class:{value:Ff.assert.class_},function:{value:Ff.assert.function_},null:{value:Ff.assert.null_}});Ff.default=De;zS.exports=De;zS.exports.default=De;zS.exports.assert=Ff.assert});var Vse=_((ANt,BM)=>{"use strict";var JS=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},CE=class{static fn(e){return(...r)=>new CE((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new JS(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(CE.prototype,Promise.prototype);BM.exports=CE;BM.exports.CancelError=JS});var Xse=_((PM,DM)=>{"use strict";Object.defineProperty(PM,"__esModule",{value:!0});function Krt(t){return t.encrypted}var vM=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),Krt(t)&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};PM.default=vM;DM.exports=vM;DM.exports.default=vM});var Zse=_((bM,xM)=>{"use strict";Object.defineProperty(bM,"__esModule",{value:!0});var zrt=Xse(),Jrt=Number(process.versions.node.split(".")[0]),SM=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Jrt>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),zrt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};bM.default=SM;xM.exports=SM;xM.exports.default=SM});var soe=_((fNt,RM)=>{"use strict";var{V4MAPPED:Vrt,ADDRCONFIG:Xrt,ALL:ioe,promises:{Resolver:$se},lookup:Zrt}=ve("dns"),{promisify:kM}=ve("util"),$rt=ve("os"),wE=Symbol("cacheableLookupCreateConnection"),QM=Symbol("cacheableLookupInstance"),eoe=Symbol("expires"),ent=typeof ioe=="number",toe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},tnt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},roe=()=>{let t=!1,e=!1;for(let r of Object.values($rt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},rnt=t=>Symbol.iterator in t,noe={ttl:!0},nnt={all:!0},VS=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new $se,lookup:u=Zrt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=kM(u),this._resolver instanceof $se?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=kM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=kM(this._resolver.resolve6.bind(this._resolver))),this._iface=roe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&Vrt&&(ent&&r.hints&ioe||a.length===0)?tnt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&Xrt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[o,a]=await Promise.all([this._resolve4(e,noe),this._resolve6(e,noe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[eoe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}rnt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,nnt);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[eoe];a>=A?this._cache.delete(n):A("lookup"in r||(r.lookup=this.lookup),e[wE](r,o))}uninstall(e){if(toe(e),e[wE]){if(e[QM]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[wE],delete e[wE],delete e[QM]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=roe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};RM.exports=VS;RM.exports.default=VS});var loe=_((pNt,FM)=>{"use strict";var int=typeof URL>"u"?ve("url").URL:URL,snt="text/plain",ont="us-ascii",ooe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),ant=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(E=>{let[I,v=""]=E.split("=").map(x=>x.trim());return I==="charset"&&(v=v.toLowerCase(),v===ont)?"":`${I}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==snt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},aoe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return ant(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new int(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];ooe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])ooe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};FM.exports=aoe;FM.exports.default=aoe});var Aoe=_((hNt,uoe)=>{uoe.exports=coe;function coe(t,e){if(t&&e)return coe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a{var foe=Aoe();TM.exports=foe(XS);TM.exports.strict=foe(poe);XS.proto=XS(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return XS(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return poe(this)},configurable:!0})});function XS(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function poe(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var NM=_((dNt,goe)=>{var lnt=LM(),cnt=function(){},unt=function(t){return t.setHeader&&typeof t.abort=="function"},Ant=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},hoe=function(t,e,r){if(typeof e=="function")return hoe(t,null,e);e||(e={}),r=lnt(r||cnt);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},E=function(C){r.call(t,C?new Error("exited with error code: "+C):null)},I=function(C){r.call(t,C)},v=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},x=function(){t.req.on("finish",p)};return unt(t)?(t.on("complete",p),t.on("abort",v),t.req?x():t.on("request",x)):u&&!o&&(t.on("end",A),t.on("close",A)),Ant(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",I),t.on("close",v),function(){t.removeListener("complete",p),t.removeListener("abort",v),t.removeListener("request",x),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",I),t.removeListener("close",v)}};goe.exports=hoe});var yoe=_((mNt,moe)=>{var fnt=LM(),pnt=NM(),OM=ve("fs"),h1=function(){},hnt=/^v?\.0/.test(process.version),ZS=function(t){return typeof t=="function"},gnt=function(t){return!hnt||!OM?!1:(t instanceof(OM.ReadStream||h1)||t instanceof(OM.WriteStream||h1))&&ZS(t.close)},dnt=function(t){return t.setHeader&&ZS(t.abort)},mnt=function(t,e,r,o){o=fnt(o);var a=!1;t.on("close",function(){a=!0}),pnt(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,gnt(t))return t.close(h1);if(dnt(t))return t.abort();if(ZS(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},doe=function(t){t()},ynt=function(t,e){return t.pipe(e)},Ent=function(){var t=Array.prototype.slice.call(arguments),e=ZS(t[t.length-1]||h1)&&t.pop()||h1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n0;return mnt(a,u,A,function(p){r||(r=p),p&&o.forEach(doe),!u&&(o.forEach(doe),e(r))})});return t.reduce(ynt)};moe.exports=Ent});var Coe=_((yNt,Eoe)=>{"use strict";var{PassThrough:Cnt}=ve("stream");Eoe.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new Cnt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var woe=_((ENt,IE)=>{"use strict";var wnt=yoe(),Int=Coe(),$S=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function eb(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=wnt(t,Int(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new $S)})}),o.getBufferedValue()}IE.exports=eb;IE.exports.default=eb;IE.exports.buffer=(t,e)=>eb(t,{...e,encoding:"buffer"});IE.exports.array=(t,e)=>eb(t,{...e,array:!0});IE.exports.MaxBufferError=$S});var Boe=_((wNt,Ioe)=>{"use strict";var Bnt=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),vnt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Pnt=new Set([500,502,503,504]),Dnt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Snt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Dd(t){let e=parseInt(t,10);return isFinite(e)?e:0}function bnt(t){return t?Pnt.has(t.status):!0}function MM(t){let e={};if(!t)return e;let r=t.trim().split(/,/);for(let o of r){let[a,n]=o.split(/=/,2);e[a.trim()]=n===void 0?!0:n.trim().replace(/^"|"$/g,"")}return e}function xnt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(!!e.length)return e.join(", ")}Ioe.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=MM(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=MM(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":xnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&vnt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||Bnt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=MM(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)Dnt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return Dd(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Dd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Dd(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||oo)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+Dd(this._rescc["stale-if-error"]),o=e+Dd(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Dd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Dd(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&bnt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!Snt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var tb=_((INt,voe)=>{"use strict";voe.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var Doe=_((BNt,Poe)=>{"use strict";var knt=ve("stream").Readable,Qnt=tb(),UM=class extends knt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Qnt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};Poe.exports=UM});var boe=_((vNt,Soe)=>{"use strict";var Rnt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Soe.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Rnt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var koe=_((PNt,xoe)=>{"use strict";var Fnt=ve("stream").PassThrough,Tnt=boe(),Lnt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Fnt;return Tnt(t,e),t.pipe(e)};xoe.exports=Lnt});var Qoe=_(_M=>{_M.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};_M.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Loe=_((SNt,Toe)=>{"use strict";var Nnt=ve("events"),Roe=Qoe(),Ont=t=>{let e={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(t.adapter||t.uri){let r=t.adapter||/^[^:+]*/.exec(t.uri)[0];return new(ve(e[r]))(t)}return new Map},Foe=["sqlite","postgres","mysql","mongo","redis","tiered"],HM=class extends Nnt{constructor(e,{emitErrors:r=!0,...o}={}){if(super(),this.opts={namespace:"keyv",serialize:Roe.stringify,deserialize:Roe.parse,...typeof e=="string"?{uri:e}:e,...o},!this.opts.store){let n={...this.opts};this.opts.store=Ont(n)}if(this.opts.compression){let n=this.opts.compression;this.opts.serialize=n.serialize.bind(n),this.opts.deserialize=n.deserialize.bind(n)}typeof this.opts.store.on=="function"&&r&&this.opts.store.on("error",n=>this.emit("error",n)),this.opts.store.namespace=this.opts.namespace;let a=n=>async function*(){for await(let[u,A]of typeof n=="function"?n(this.opts.store.namespace):n){let p=await this.opts.deserialize(A);if(!(this.opts.store.namespace&&!u.includes(this.opts.store.namespace))){if(typeof p.expires=="number"&&Date.now()>p.expires){this.delete(u);continue}yield[this._getKeyUnprefix(u),p.value]}}};typeof this.opts.store[Symbol.iterator]=="function"&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator=="function"&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return Foe.includes(this.opts.store.opts.dialect)||Foe.findIndex(e=>this.opts.store.opts.url.includes(e))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map(r=>`${this.opts.namespace}:${r}`)}_getKeyUnprefix(e){return e.split(":").splice(1).join(":")}get(e,r){let{store:o}=this.opts,a=Array.isArray(e),n=a?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(a&&o.getMany===void 0){let u=[];for(let A of n)u.push(Promise.resolve().then(()=>o.get(A)).then(p=>typeof p=="string"?this.opts.deserialize(p):this.opts.compression?this.opts.deserialize(p):p).then(p=>{if(p!=null)return typeof p.expires=="number"&&Date.now()>p.expires?this.delete(A).then(()=>{}):r&&r.raw?p:p.value}));return Promise.allSettled(u).then(A=>{let p=[];for(let h of A)p.push(h.value);return p})}return Promise.resolve().then(()=>a?o.getMany(n):o.get(n)).then(u=>typeof u=="string"?this.opts.deserialize(u):this.opts.compression?this.opts.deserialize(u):u).then(u=>{if(u!=null)return a?u.map((A,p)=>{if(typeof A=="string"&&(A=this.opts.deserialize(A)),A!=null){if(typeof A.expires=="number"&&Date.now()>A.expires){this.delete(e[p]).then(()=>{});return}return r&&r.raw?A:A.value}}):typeof u.expires=="number"&&Date.now()>u.expires?this.delete(e).then(()=>{}):r&&r.raw?u:u.value})}set(e,r,o){let a=this._getKeyPrefix(e);typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let u=typeof o=="number"?Date.now()+o:null;return typeof r=="symbol"&&this.emit("error","symbol cannot be serialized"),r={value:r,expires:u},this.opts.serialize(r)}).then(u=>n.set(a,u,o)).then(()=>!0)}delete(e){let{store:r}=this.opts;if(Array.isArray(e)){let a=this._getKeyPrefixArray(e);if(r.deleteMany===void 0){let n=[];for(let u of a)n.push(r.delete(u));return Promise.allSettled(n).then(u=>u.every(A=>A.value===!0))}return Promise.resolve().then(()=>r.deleteMany(a))}let o=this._getKeyPrefix(e);return Promise.resolve().then(()=>r.delete(o))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}has(e){let r=this._getKeyPrefix(e),{store:o}=this.opts;return Promise.resolve().then(async()=>typeof o.has=="function"?o.has(r):await o.get(r)!==void 0)}disconnect(){let{store:e}=this.opts;if(typeof e.disconnect=="function")return e.disconnect()}};Toe.exports=HM});var Moe=_((xNt,Ooe)=>{"use strict";var Mnt=ve("events"),rb=ve("url"),Unt=loe(),_nt=woe(),qM=Boe(),Noe=Doe(),Hnt=tb(),qnt=koe(),Gnt=Loe(),Gc=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Gnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=GM(rb.parse(r)),r={};else if(r instanceof rb.URL)a=GM(rb.parse(r.toString())),r={};else{let[I,...v]=(r.path||"").split("?"),x=v.length>0?`?${v.join("?")}`:"";a=GM({...r,pathname:I,search:x})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...jnt(a)},r.headers=Hnt(r.headers);let n=new Mnt,u=Unt(rb.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,E=I=>{h=!0;let v=!1,x,C=new Promise(N=>{x=()=>{v||(v=!0,N())}}),F=N=>{if(p&&!I.forceRefresh){N.status=N.statusCode;let J=qM.fromObject(p.cachePolicy).revalidatedPolicy(I,N);if(!J.modified){let te=J.policy.responseHeaders();N=new Noe(p.statusCode,te,p.body,p.url),N.cachePolicy=J.policy,N.fromCache=!0}}N.fromCache||(N.cachePolicy=new qM(I,N,I),N.fromCache=!1);let U;I.cache&&N.cachePolicy.storable()?(U=qnt(N),(async()=>{try{let J=_nt.buffer(N);if(await Promise.race([C,new Promise(ce=>N.once("end",ce))]),v)return;let te=await J,ae={cachePolicy:N.cachePolicy.toObject(),url:N.url,statusCode:N.fromCache?p.statusCode:N.statusCode,body:te},le=I.strictTtl?N.cachePolicy.timeToLive():void 0;I.maxTtl&&(le=le?Math.min(le,I.maxTtl):I.maxTtl),await this.cache.set(A,ae,le)}catch(J){n.emit("error",new Gc.CacheError(J))}})()):I.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(J){n.emit("error",new Gc.CacheError(J))}})(),n.emit("response",U||N),typeof o=="function"&&o(U||N)};try{let N=e(I,F);N.once("error",x),N.once("abort",x),n.emit("request",N)}catch(N){n.emit("error",new Gc.RequestError(N))}};return(async()=>{let I=async x=>{await Promise.resolve();let C=x.cache?await this.cache.get(A):void 0;if(typeof C>"u")return E(x);let F=qM.fromObject(C.cachePolicy);if(F.satisfiesWithoutRevalidation(x)&&!x.forceRefresh){let N=F.responseHeaders(),U=new Noe(C.statusCode,N,C.body,C.url);U.cachePolicy=F,U.fromCache=!0,n.emit("response",U),typeof o=="function"&&o(U)}else p=C,x.headers=F.revalidationHeaders(x),E(x)},v=x=>n.emit("error",new Gc.CacheError(x));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await I(r)}catch(x){r.automaticFailover&&!h&&E(r),n.emit("error",new Gc.CacheError(x))}})(),n}}};function jnt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function GM(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}Gc.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};Gc.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};Ooe.exports=Gc});var _oe=_((RNt,Uoe)=>{"use strict";var Ynt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Uoe.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(Ynt)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var qoe=_((FNt,Hoe)=>{"use strict";var{Transform:Wnt,PassThrough:Knt}=ve("stream"),jM=ve("zlib"),znt=_oe();Hoe.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof jM.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new Wnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new Knt({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?jM.createBrotliDecompress():jM.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),znt(t,n),t.pipe(a).pipe(u).pipe(n),n}});var WM=_((TNt,Goe)=>{"use strict";var YM=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};Goe.exports=YM});var zM=_((LNt,Koe)=>{"use strict";var Jnt=ve("events"),Vnt=ve("tls"),Xnt=ve("http2"),Znt=WM(),ea=Symbol("currentStreamsCount"),joe=Symbol("request"),Kl=Symbol("cachedOriginSet"),BE=Symbol("gracefullyClosing"),$nt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],eit=(t,e,r)=>{let o=0,a=t.length;for(;o>>1;r(t[n],e)?o=n+1:a=n}return o},tit=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,KM=(t,e)=>{for(let r of t)r[Kl].lengthe[Kl].includes(o))&&r[ea]+e[ea]<=e.remoteSettings.maxConcurrentStreams&&Woe(r)},rit=(t,e)=>{for(let r of t)e[Kl].lengthr[Kl].includes(o))&&e[ea]+r[ea]<=r.remoteSettings.maxConcurrentStreams&&Woe(e)},Yoe=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[rA.kCurrentStreamsCount]{t[BE]=!0,t[ea]===0&&t.close()},rA=class extends Jnt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Znt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of $nt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=rA.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:E}of o)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let E=this.sessions[u],I=-1,v=-1,x;for(let C of E){let F=C.remoteSettings.maxConcurrentStreams;if(F=F||C[BE]||C.destroyed)continue;x||(I=F),N>v&&(x=C,v=N)}}if(x){if(o.length!==1){for(let{reject:C}of o){let F=new Error(`Expected the length of listeners to be 1, got ${o.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);C(F)}return}o[0].resolve(x);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let E=`${A}:${u}`,I=!1;try{let v=Xnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});v[ea]=0,v[BE]=!1;let x=()=>v[ea]{this.tlsSessionCache.set(E,N)}),v.once("error",N=>{for(let{reject:U}of o)U(N);this.tlsSessionCache.delete(E)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(I){C&&this._freeSessionsCount--,this._sessionsCount--;let N=this.sessions[u];N.splice(N.indexOf(v),1),N.length===0&&delete this.sessions[u]}else{let N=new Error("Session closed without receiving a SETTINGS frame");N.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of o)U(N);p()}this._tryToCreateNewSession(u,A)});let F=()=>{if(!(!(u in this.queue)||!x())){for(let N of v[Kl])if(N in this.queue[u]){let{listeners:U}=this.queue[u][N];for(;U.length!==0&&x();)U.shift().resolve(v);let J=this.queue[u];if(J[N].listeners.length===0&&(delete J[N],Object.keys(J).length===0)){delete this.queue[u];break}if(!x())break}}};v.on("origin",()=>{v[Kl]=v.originSet,x()&&(F(),KM(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let N=new Error("Agent has been destroyed");for(let U of o)U.reject(N);v.destroy();return}v[Kl]=v.originSet;{let N=this.sessions;if(u in N){let U=N[u];U.splice(eit(U,v,tit),0,v)}else N[u]=[v]}this._freeSessionsCount+=1,I=!0,this.emit("session",v),F(),p(),v[ea]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{F(),KM(this.sessions[u],v)})}),v[joe]=v.request,v.request=(N,U)=>{if(v[BE])throw new Error("The session is gracefully closing. No new streams are allowed.");let J=v[joe](N,U);return v.ref(),++v[ea],v[ea]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,J.once("close",()=>{if(C=x(),--v[ea],!v.destroyed&&!v.closed&&(rit(this.sessions[u],v),x()&&!v.closed)){C||(this._freeSessionsCount++,C=!0);let te=v[ea]===0;te&&v.unref(),te&&(this._freeSessionsCount>this.maxFreeSessions||v[BE])?v.close():(KM(this.sessions[u],v),F())}}),J}}catch(v){for(let x of o)x.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return rA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),Vnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[ea]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return Yoe({agent:this,isFree:!0})}get busySessions(){return Yoe({agent:this,isFree:!1})}};rA.kCurrentStreamsCount=ea;rA.kGracefullyClosing=BE;Koe.exports={Agent:rA,globalAgent:new rA}});var VM=_((NNt,zoe)=>{"use strict";var{Readable:nit}=ve("stream"),JM=class extends nit{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};zoe.exports=JM});var XM=_((ONt,Joe)=>{"use strict";Joe.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Xoe=_((MNt,Voe)=>{"use strict";Voe.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var $oe=_((UNt,Zoe)=>{"use strict";Zoe.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var tae=_((HNt,eae)=>{"use strict";var vE=(t,e,r)=>{eae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};vE(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});vE(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);vE(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);vE(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);vE(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);vE(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var r4=_((qNt,lae)=>{"use strict";var iit=ve("http2"),{Writable:sit}=ve("stream"),{Agent:rae,globalAgent:oit}=zM(),ait=VM(),lit=XM(),cit=Xoe(),uit=$oe(),{ERR_INVALID_ARG_TYPE:ZM,ERR_INVALID_PROTOCOL:Ait,ERR_HTTP_HEADERS_SENT:nae,ERR_INVALID_HTTP_TOKEN:fit,ERR_HTTP_INVALID_HEADER_VALUE:pit,ERR_INVALID_CHAR:hit}=tae(),{HTTP2_HEADER_STATUS:iae,HTTP2_HEADER_METHOD:sae,HTTP2_HEADER_PATH:oae,HTTP2_METHOD_CONNECT:git}=iit.constants,ko=Symbol("headers"),$M=Symbol("origin"),e4=Symbol("session"),aae=Symbol("options"),nb=Symbol("flushedHeaders"),g1=Symbol("jobs"),dit=/^[\^`\-\w!#$%&*+.|~]+$/,mit=/[^\t\u0020-\u007E\u0080-\u00FF]/,t4=class extends sit{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=lit(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[e4]=r.h2session;else if(r.agent===!1)this.agent=new rae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new rae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=oit;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new ZM("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Ait(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[ko]=Object.create(null),this[g1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[ko])&&(this[ko].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[aae]=r,n===443?(this[$M]=`https://${u}`,":authority"in this[ko]||(this[ko][":authority"]=u)):(this[$M]=`https://${u}:${n}`,":authority"in this[ko]||(this[ko][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[nb]=!1}get method(){return this[ko][sae]}set method(e){e&&(this[ko][sae]=e.toUpperCase())}get path(){return this[ko][oae]}set path(e){e&&(this[ko][oae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[g1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[g1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[nb]||this.destroyed)return;this[nb]=!0;let e=this.method===git,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||cit(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new ait(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[iae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",E=>{!h._dumped&&!h.push(E)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[iae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[g1])u();this.emit("socket",this.socket)};if(this[e4])try{r(this[e4].request(this[ko]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[$M],this[aae],this[ko]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new ZM("name","string",e);return this[ko][e.toLowerCase()]}get headersSent(){return this[nb]}removeHeader(e){if(typeof e!="string")throw new ZM("name","string",e);if(this.headersSent)throw new nae("remove");delete this[ko][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new nae("set");if(typeof e!="string"||!dit.test(e)&&!uit(e))throw new fit("Header name",e);if(typeof r>"u")throw new pit(r,e);if(mit.test(r))throw new hit("header content",e);this[ko][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[g1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};lae.exports=t4});var uae=_((GNt,cae)=>{"use strict";var yit=ve("tls");cae.exports=(t={},e=yit.connect)=>new Promise((r,o)=>{let a=!1,n,u=async()=>{await p,n.off("timeout",A),n.off("error",o),t.resolveSocket?(r({alpnProtocol:n.alpnProtocol,socket:n,timeout:a}),a&&(await Promise.resolve(),n.emit("timeout"))):(n.destroy(),r({alpnProtocol:n.alpnProtocol,timeout:a}))},A=async()=>{a=!0,u()},p=(async()=>{try{n=await e(t,u),n.on("error",o),n.once("timeout",A)}catch(h){o(h)}})()})});var fae=_((jNt,Aae)=>{"use strict";var Eit=ve("net");Aae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Eit.isIP(e)?"":e}});var gae=_((YNt,i4)=>{"use strict";var pae=ve("http"),n4=ve("https"),Cit=uae(),wit=WM(),Iit=r4(),Bit=fae(),vit=XM(),ib=new wit({maxSize:100}),d1=new Map,hae=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},Pit=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!ib.has(e)){if(d1.has(e))return(await d1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=Cit(t);d1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(ib.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=n4,p=n4.Agent.prototype.createConnection;o?o.createConnection===p?hae(o,n,t):n.destroy():A.createConnection===p?hae(A,n,t):n.destroy()}return d1.delete(e),u}catch(n){throw d1.delete(e),n}}return ib.get(e)};i4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=vit(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Bit(e),e.port=e.port||(o?443:80),e._defaultAgent=o?n4.globalAgent:pae.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await Pit(e)==="h2"?(a&&(e.agent=a.http2),new Iit(e,r)):pae.request(e,r)};i4.exports.protocolCache=ib});var mae=_((WNt,dae)=>{"use strict";var Dit=ve("http2"),Sit=zM(),s4=r4(),bit=VM(),xit=gae(),kit=(t,e,r)=>new s4(t,e,r),Qit=(t,e,r)=>{let o=new s4(t,e,r);return o.end(),o};dae.exports={...Dit,ClientRequest:s4,IncomingMessage:bit,...Sit,request:kit,get:Qit,auto:xit}});var a4=_(o4=>{"use strict";Object.defineProperty(o4,"__esModule",{value:!0});var yae=Tf();o4.default=t=>yae.default.nodeStream(t)&&yae.default.function_(t.getBoundary)});var Iae=_(l4=>{"use strict";Object.defineProperty(l4,"__esModule",{value:!0});var Cae=ve("fs"),wae=ve("util"),Eae=Tf(),Rit=a4(),Fit=wae.promisify(Cae.stat);l4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Eae.default.string(t))return Buffer.byteLength(t);if(Eae.default.buffer(t))return t.length;if(Rit.default(t))return wae.promisify(t.getLength.bind(t))();if(t instanceof Cae.ReadStream){let{size:r}=await Fit(t.path);return r===0?void 0:r}}});var u4=_(c4=>{"use strict";Object.defineProperty(c4,"__esModule",{value:!0});function Tit(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}c4.default=Tit});var Bae=_(A4=>{"use strict";Object.defineProperty(A4,"__esModule",{value:!0});A4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var Pae=_(m1=>{"use strict";Object.defineProperty(m1,"__esModule",{value:!0});m1.TimeoutError=void 0;var Lit=ve("net"),Nit=Bae(),vae=Symbol("reentry"),Oit=()=>{},sb=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};m1.TimeoutError=sb;m1.default=(t,e,r)=>{if(vae in t)return Oit;t[vae]=!0;let o=[],{once:a,unhandleAll:n}=Nit.default(),u=(I,v,x)=>{var C;let F=setTimeout(v,I,I,x);(C=F.unref)===null||C===void 0||C.call(F);let N=()=>{clearTimeout(F)};return o.push(N),N},{host:A,hostname:p}=r,h=(I,v)=>{t.destroy(new sb(I,v))},E=()=>{for(let I of o)I();n()};if(t.once("error",I=>{if(E(),t.listenerCount("error")===0)throw I}),t.once("close",E),a(t,"response",I=>{a(I,"end",E)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let I=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,I),o.push(()=>{t.removeListener("timeout",I)})}return a(t,"socket",I=>{var v;let{socketPath:x}=t;if(I.connecting){let C=Boolean(x??Lit.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof e.lookup<"u"&&!C&&typeof I.address().address>"u"){let F=u(e.lookup,h,"lookup");a(I,"lookup",F)}if(typeof e.connect<"u"){let F=()=>u(e.connect,h,"connect");C?a(I,"connect",F()):a(I,"lookup",N=>{N===null&&a(I,"connect",F())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(I,"connect",()=>{let F=u(e.secureConnect,h,"secureConnect");a(I,"secureConnect",F)})}if(typeof e.send<"u"){let C=()=>u(e.send,h,"send");I.connecting?a(I,"connect",()=>{a(t,"upload-complete",C())}):a(t,"upload-complete",C())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let I=u(e.response,h,"response");a(t,"response",I)}),E}});var Sae=_(f4=>{"use strict";Object.defineProperty(f4,"__esModule",{value:!0});var Dae=Tf();f4.default=t=>{t=t;let e={protocol:t.protocol,hostname:Dae.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return Dae.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var bae=_(p4=>{"use strict";Object.defineProperty(p4,"__esModule",{value:!0});var Mit=ve("url"),Uit=["protocol","host","hostname","port","pathname","search"];p4.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new Mit.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of Uit)e[n]&&(a[n]=e[n].toString());return a}});var xae=_(g4=>{"use strict";Object.defineProperty(g4,"__esModule",{value:!0});var h4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};g4.default=h4});var m4=_(d4=>{"use strict";Object.defineProperty(d4,"__esModule",{value:!0});var _it=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};d4.default=_it});var Qae=_(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.dnsLookupIpVersionToFamily=Sd.isDnsLookupIpVersion=void 0;var kae={auto:0,ipv4:4,ipv6:6};Sd.isDnsLookupIpVersion=t=>t in kae;Sd.dnsLookupIpVersionToFamily=t=>{if(Sd.isDnsLookupIpVersion(t))return kae[t];throw new Error("Invalid DNS lookup IP version")}});var y4=_(ob=>{"use strict";Object.defineProperty(ob,"__esModule",{value:!0});ob.isResponseOk=void 0;ob.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Fae=_(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});var Rae=new Set;E4.default=t=>{Rae.has(t)||(Rae.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var Tae=_(C4=>{"use strict";Object.defineProperty(C4,"__esModule",{value:!0});var Ai=Tf(),Hit=(t,e)=>{if(Ai.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ai.assert.any([Ai.default.string,Ai.default.undefined],t.encoding),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.resolveBodyOnly),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.methodRewriting),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.isStream),Ai.assert.any([Ai.default.string,Ai.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ai.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ai.default.number(r)&&(t.retry.limit=r),Ai.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ai.default.number))),Ai.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!Ai.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ai.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ai.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ai.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};C4.default=Hit});var Lae=_(y1=>{"use strict";Object.defineProperty(y1,"__esModule",{value:!0});y1.retryAfterStatusCodes=void 0;y1.retryAfterStatusCodes=new Set([413,429,503]);var qit=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};y1.default=qit});var w1=_(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.UnsupportedProtocolError=Bn.ReadError=Bn.TimeoutError=Bn.UploadError=Bn.CacheError=Bn.HTTPError=Bn.MaxRedirectsError=Bn.RequestError=Bn.setNonEnumerableProperties=Bn.knownHookEvents=Bn.withoutBody=Bn.kIsNormalizedAlready=void 0;var Nae=ve("util"),Oae=ve("stream"),Git=ve("fs"),lh=ve("url"),Mae=ve("http"),w4=ve("http"),jit=ve("https"),Yit=Zse(),Wit=soe(),Uae=Moe(),Kit=qoe(),zit=mae(),Jit=tb(),ot=Tf(),Vit=Iae(),_ae=a4(),Xit=u4(),Hae=Pae(),Zit=Sae(),qae=bae(),$it=xae(),est=m4(),Gae=Qae(),tst=y4(),ch=Fae(),rst=Tae(),nst=Lae(),I4,Zs=Symbol("request"),ub=Symbol("response"),PE=Symbol("responseSize"),DE=Symbol("downloadedSize"),SE=Symbol("bodySize"),bE=Symbol("uploadedSize"),ab=Symbol("serverResponsesPiped"),jae=Symbol("unproxyEvents"),Yae=Symbol("isFromCache"),B4=Symbol("cancelTimeouts"),Wae=Symbol("startedReading"),xE=Symbol("stopReading"),lb=Symbol("triggerRead"),uh=Symbol("body"),E1=Symbol("jobs"),Kae=Symbol("originalResponse"),zae=Symbol("retryTimeout");Bn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var ist=ot.default.string(process.versions.brotli);Bn.withoutBody=new Set(["GET","HEAD"]);Bn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function sst(t){for(let e in t){let r=t[e];if(!ot.default.string(r)&&!ot.default.number(r)&&!ot.default.boolean(r)&&!ot.default.null_(r)&&!ot.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function ost(t){return ot.default.object(t)&&!("statusCode"in t)}var v4=new $it.default,ast=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),lst=new Set([300,301,302,303,304,307,308]),cst=["context","body","json","form"];Bn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(!!o)for(let a of cst)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Ji=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof mb?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[ub]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,ot.default.string(r.stack)&&ot.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` +`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` +`)}${A.reverse().join(` +`)}`}}};Bn.RequestError=Ji;var Ab=class extends Ji{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Bn.MaxRedirectsError=Ab;var fb=class extends Ji{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Bn.HTTPError=fb;var pb=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};Bn.CacheError=pb;var hb=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};Bn.UploadError=hb;var gb=class extends Ji{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};Bn.TimeoutError=gb;var C1=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};Bn.ReadError=C1;var db=class extends Ji{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Bn.UnsupportedProtocolError=db;var ust=["socket","connect","continue","information","upgrade","timeout"],mb=class extends Oae.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[DE]=0,this[bE]=0,this.requestInitialized=!1,this[ab]=new Set,this.redirects=[],this[xE]=!1,this[lb]=!1,this[E1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof w4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),Bn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){ot.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof Git.ReadStream&&await ast(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[Zs])===null||h===void 0||h.destroy();return}for(let I of this[E1])I();this[E1].length=0,this.requestInitialized=!0}catch(E){if(E instanceof Ji){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(ot.default.object(e)&&!ot.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),ot.default.urlInstance(r.url)&&(r.url=new lh.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),ot.assert.any([ot.default.string,ot.default.undefined],r.method),ot.assert.any([ot.default.object,ot.default.undefined],r.headers),ot.assert.any([ot.default.string,ot.default.urlInstance,ot.default.undefined],r.prefixUrl),ot.assert.any([ot.default.object,ot.default.undefined],r.cookieJar),ot.assert.any([ot.default.object,ot.default.string,ot.default.undefined],r.searchParams),ot.assert.any([ot.default.object,ot.default.string,ot.default.undefined],r.cache),ot.assert.any([ot.default.object,ot.default.number,ot.default.undefined],r.timeout),ot.assert.any([ot.default.object,ot.default.undefined],r.context),ot.assert.any([ot.default.object,ot.default.undefined],r.hooks),ot.assert.any([ot.default.boolean,ot.default.undefined],r.decompress),ot.assert.any([ot.default.boolean,ot.default.undefined],r.ignoreInvalidCookies),ot.assert.any([ot.default.boolean,ot.default.undefined],r.followRedirect),ot.assert.any([ot.default.number,ot.default.undefined],r.maxRedirects),ot.assert.any([ot.default.boolean,ot.default.undefined],r.throwHttpErrors),ot.assert.any([ot.default.boolean,ot.default.undefined],r.http2),ot.assert.any([ot.default.boolean,ot.default.undefined],r.allowGetBody),ot.assert.any([ot.default.string,ot.default.undefined],r.localAddress),ot.assert.any([Gae.isDnsLookupIpVersion,ot.default.undefined],r.dnsLookupIpVersion),ot.assert.any([ot.default.object,ot.default.undefined],r.https),ot.assert.any([ot.default.boolean,ot.default.undefined],r.rejectUnauthorized),r.https&&(ot.assert.any([ot.default.boolean,ot.default.undefined],r.https.rejectUnauthorized),ot.assert.any([ot.default.function_,ot.default.undefined],r.https.checkServerIdentity),ot.assert.any([ot.default.string,ot.default.object,ot.default.array,ot.default.undefined],r.https.certificateAuthority),ot.assert.any([ot.default.string,ot.default.object,ot.default.array,ot.default.undefined],r.https.key),ot.assert.any([ot.default.string,ot.default.object,ot.default.array,ot.default.undefined],r.https.certificate),ot.assert.any([ot.default.string,ot.default.undefined],r.https.passphrase),ot.assert.any([ot.default.string,ot.default.buffer,ot.default.array,ot.default.undefined],r.https.pfx)),ot.assert.any([ot.default.object,ot.default.undefined],r.cacheOptions),ot.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===o?.headers?r.headers={...r.headers}:r.headers=Jit({...o?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==o?.searchParams){let x;if(ot.default.string(r.searchParams)||r.searchParams instanceof lh.URLSearchParams)x=new lh.URLSearchParams(r.searchParams);else{sst(r.searchParams),x=new lh.URLSearchParams;for(let C in r.searchParams){let F=r.searchParams[C];F===null?x.append(C,""):F!==void 0&&x.append(C,F)}}(a=o?.searchParams)===null||a===void 0||a.forEach((C,F)=>{x.has(F)||x.append(F,C)}),r.searchParams=x}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",ot.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o?.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),ot.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=qae.default(r.prefixUrl+r.url,r)}else(ot.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=qae.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:x}=r;Object.defineProperty(r,"prefixUrl",{set:F=>{let N=r.url;if(!N.href.startsWith(F))throw new Error(`Cannot change \`prefixUrl\` from ${x} to ${F}: ${N.href}`);r.url=new lh.URL(F+N.href.slice(x.length)),x=F},get:()=>x});let{protocol:C}=r.url;if(C==="unix:"&&(C="http:",r.url=new lh.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),C!=="http:"&&C!=="https:")throw new db(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:x,getCookieString:C}=E;ot.assert.function_(x),ot.assert.function_(C),x.length===4&&C.length===0&&(x=Nae.promisify(x.bind(r.cookieJar)),C=Nae.promisify(C.bind(r.cookieJar)),r.cookieJar={setCookie:x,getCookieString:C})}let{cache:I}=r;if(I&&(v4.has(I)||v4.set(I,new Uae((x,C)=>{let F=x[Zs](x,C);return ot.default.promise(F)&&(F.once=(N,U)=>{if(N==="error")F.catch(U);else if(N==="abort")(async()=>{try{(await F).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${N}`);return F}),F},I))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)I4||(I4=new Wit.default),r.dnsCache=I4;else if(!ot.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${ot.default(r.dnsCache)}`);ot.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===o?.hooks;r.hooks={...r.hooks};for(let x of Bn.knownHookEvents)if(x in r.hooks)if(ot.default.array(r.hooks[x]))r.hooks[x]=[...r.hooks[x]];else throw new TypeError(`Parameter \`${x}\` must be an Array, got ${ot.default(r.hooks[x])}`);else r.hooks[x]=[];if(o&&!v)for(let x of Bn.knownHookEvents)o.hooks[x].length>0&&(r.hooks[x]=[...o.hooks[x],...r.hooks[x]]);if("family"in r&&ch.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o?.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&ch.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&ch.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&ch.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&ch.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&ch.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&ch.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&ch.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let x in r.agent)if(x!=="http"&&x!=="https"&&x!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${x}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,Bn.setNonEnumerableProperties([o,h],r),rst.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!ot.default.undefined(e.form),a=!ot.default.undefined(e.json),n=!ot.default.undefined(e.body),u=o||a||n,A=Bn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof Oae.Readable)&&!ot.default.string(e.body)&&!ot.default.buffer(e.body)&&!_ae.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!ot.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!ot.default.string(r["content-type"]);n?(_ae.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[uh]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[uh]=new lh.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[uh]=e.stringifyJson(e.json));let h=await Vit.default(this[uh],e.headers);ot.default.undefined(r["content-length"])&&ot.default.undefined(r["transfer-encoding"])&&!A&&!ot.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[SE]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Kae]=e,r.decompress&&(e=Kit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:Mae.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[Yae]=n.isFromCache,this[PE]=Number(e.headers["content-length"])||void 0,this[ub]=e,e.once("end",()=>{this[PE]=this[DE],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new C1(A,this))}),e.once("aborted",()=>{this._beforeError(new C1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(ot.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&lst.has(a)){if(e.resume(),this[Zs]&&(this[B4](),delete this[Zs],this[jae]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[uh]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new Ab(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new lh.URL(p,o),E=h.toString();decodeURI(E),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let I of r.hooks.beforeRedirect)await I(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!tst.isResponseOk(n)){this._beforeError(new fb(n));return}e.on("readable",()=>{this[lb]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[ab])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&A.setHeader(p,E)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;Yit.default(e),this[B4]=Hae.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof Hae.TimeoutError?new gb(p,this.timings,this):new Ji(p.message,p,this),this._beforeError(p)}),this[jae]=Xit.default(e,this,ust),this[Zs]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[uh],A=this.redirects.length===0?this:e;ot.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new hb(p,this))})):(this._unlockWrite(),ot.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,Zit.default(e)),delete r.url;let n,u=v4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let U in A)if(ot.default.undefined(A[U]))delete A[U];else if(ot.default.null_(A[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(u.decompress&&ot.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=ist?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let U=await u.cookieJar.getCookieString(u.url.toString());ot.default.nonEmptyString(U)&&(u.headers.cookie=U)}for(let U of u.hooks.beforeRequest){let J=await U(u);if(!ot.default.undefined(J)){u.request=()=>J;break}}u.body&&this[uh]!==u.body&&(this[uh]=u.body);let{agent:p,request:h,timeout:E,url:I}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),I.hostname==="unix"){let U=/(?.+?):(?.+)/.exec(`${I.pathname}${I.search}`);if(U?.groups){let{socketPath:J,path:te}=U.groups;Object.assign(u,{socketPath:J,path:te,host:""})}}let v=I.protocol==="https:",x;u.http2?x=zit.auto:x=v?jit.request:Mae.request;let C=(e=u.request)!==null&&e!==void 0?e:x,F=u.cache?this._createCacheableRequest:C;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[Zs]=C,delete u.request,delete u.timeout;let N=u;if(N.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,N.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,N.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,N.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{N.family=Gae.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(N.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(N.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(N.ca=u.https.certificateAuthority),u.https.certificate&&(N.cert=u.https.certificate),u.https.key&&(N.key=u.https.key),u.https.passphrase&&(N.passphrase=u.https.passphrase),u.https.pfx&&(N.pfx=u.https.pfx));try{let U=await F(I,N);ot.default.undefined(U)&&(U=x(I,N)),u.request=h,u.timeout=E,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete N.rejectUnauthorized,u.https.checkServerIdentity&&delete N.checkServerIdentity,u.https.certificateAuthority&&delete N.ca,u.https.certificate&&delete N.cert,u.https.key&&delete N.key,u.https.passphrase&&delete N.passphrase,u.https.pfx&&delete N.pfx),ost(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof Uae.CacheError?new pb(U,this):new Ji(U.message,U,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ji(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[xE])return;let{options:r}=this,o=this.retryCount+1;this[xE]=!0,e instanceof Ji||(e=new Ji(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await est.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:nst.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Ji(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Ji(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[zae]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[lb]=!0;let e=this[ub];if(e&&!this[xE]){e.readableLength&&(this[lb]=!1);let r;for(;(r=e.read())!==null;){this[DE]+=r.length,this[Wae]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[E1].push(a)}_writeRequest(e,r,o){this[Zs].destroyed||(this._progressCallbacks.push(()=>{this[bE]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[Zs].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Zs in this)){e();return}if(this[Zs].destroyed){e();return}this[Zs].end(o=>{o||(this[SE]=this[bE],this.emit("uploadProgress",this.uploadProgress),this[Zs].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[E1].push(r)}_destroy(e,r){var o;this[xE]=!0,clearTimeout(this[zae]),Zs in this&&(this[B4](),!((o=this[ub])===null||o===void 0)&&o.complete||this[Zs].destroy()),e!==null&&!ot.default.undefined(e)&&!(e instanceof Ji)&&(e=new Ji(e.message,e,this)),r(e)}get _isAboutToError(){return this[xE]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[Zs])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Kae])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[Zs])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[PE]?e=this[DE]/this[PE]:this[PE]===this[DE]?e=1:e=0,{percent:e,transferred:this[DE],total:this[PE]}}get uploadProgress(){let e;return this[SE]?e=this[bE]/this[SE]:this[SE]===this[bE]?e=1:e=0,{percent:e,transferred:this[bE],total:this[SE]}}get timings(){var e;return(e=this[Zs])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[Yae]}pipe(e,r){if(this[Wae])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof w4.ServerResponse&&this[ab].add(e),super.pipe(e,r)}unpipe(e){return e instanceof w4.ServerResponse&&this[ab].delete(e),super.unpipe(e),this}};Bn.default=mb});var I1=_(jc=>{"use strict";var Ast=jc&&jc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),fst=jc&&jc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ast(e,t,r)};Object.defineProperty(jc,"__esModule",{value:!0});jc.CancelError=jc.ParseError=void 0;var Jae=w1(),P4=class extends Jae.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};jc.ParseError=P4;var D4=class extends Jae.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};jc.CancelError=D4;fst(w1(),jc)});var Xae=_(S4=>{"use strict";Object.defineProperty(S4,"__esModule",{value:!0});var Vae=I1(),pst=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new Vae.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new Vae.ParseError(n,t)}};S4.default=pst});var b4=_(Ah=>{"use strict";var hst=Ah&&Ah.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),gst=Ah&&Ah.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&hst(e,t,r)};Object.defineProperty(Ah,"__esModule",{value:!0});var dst=ve("events"),mst=Tf(),yst=Vse(),yb=I1(),Zae=Xae(),$ae=w1(),Est=u4(),Cst=m4(),ele=y4(),wst=["request","response","redirect","uploadProgress","downloadProgress"];function tle(t){let e,r,o=new dst.EventEmitter,a=new yst((u,A,p)=>{let h=E=>{let I=new $ae.default(void 0,t);I.retryCount=E,I._noPipe=!0,p(()=>I.destroy()),p.shouldReject=!1,p(()=>A(new yb.CancelError(I))),e=I,I.once("response",async C=>{var F;if(C.retryCount=E,C.request.aborted)return;let N;try{N=await Cst.default(I),C.rawBody=N}catch{return}if(I._isAboutToError)return;let U=((F=C.headers["content-encoding"])!==null&&F!==void 0?F:"").toLowerCase(),J=["gzip","deflate","br"].includes(U),{options:te}=I;if(J&&!te.decompress)C.body=N;else try{C.body=Zae.default(C,te.responseType,te.parseJson,te.encoding)}catch(ae){if(C.body=N.toString(),ele.isResponseOk(C)){I._beforeError(ae);return}}try{for(let[ae,le]of te.hooks.afterResponse.entries())C=await le(C,async ce=>{let we=$ae.default.normalizeArguments(void 0,{...ce,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},te);we.hooks.afterResponse=we.hooks.afterResponse.slice(0,ae);for(let Be of we.hooks.beforeRetry)await Be(we);let de=tle(we);return p(()=>{de.catch(()=>{}),de.cancel()}),de})}catch(ae){I._beforeError(new yb.RequestError(ae.message,ae,I));return}if(!ele.isResponseOk(C)){I._beforeError(new yb.HTTPError(C));return}r=C,u(I.options.resolveBodyOnly?C.body:C)});let v=C=>{if(a.isCanceled)return;let{options:F}=I;if(C instanceof yb.HTTPError&&!F.throwHttpErrors){let{response:N}=C;u(I.options.resolveBodyOnly?N.body:N);return}A(C)};I.once("error",v);let x=I.options.body;I.once("retry",(C,F)=>{var N,U;if(x===((N=F.request)===null||N===void 0?void 0:N.options.body)&&mst.default.nodeStream((U=F.request)===null||U===void 0?void 0:U.options.body)){v(F);return}h(C)}),Est.default(I,o,wst)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return Zae.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}Ah.default=tle;gst(I1(),Ah)});var rle=_(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var Ist=I1();function Bst(t,...e){let r=(async()=>{if(t instanceof Ist.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}x4.default=Bst});var sle=_(k4=>{"use strict";Object.defineProperty(k4,"__esModule",{value:!0});var nle=Tf();function ile(t){for(let e of Object.values(t))(nle.default.plainObject(e)||nle.default.array(e))&&ile(e);return Object.freeze(t)}k4.default=ile});var ale=_(ole=>{"use strict";Object.defineProperty(ole,"__esModule",{value:!0})});var Q4=_(Jl=>{"use strict";var vst=Jl&&Jl.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Pst=Jl&&Jl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vst(e,t,r)};Object.defineProperty(Jl,"__esModule",{value:!0});Jl.defaultHandler=void 0;var lle=Tf(),zl=b4(),Dst=rle(),Cb=w1(),Sst=sle(),bst={RequestError:zl.RequestError,CacheError:zl.CacheError,ReadError:zl.ReadError,HTTPError:zl.HTTPError,MaxRedirectsError:zl.MaxRedirectsError,TimeoutError:zl.TimeoutError,ParseError:zl.ParseError,CancelError:zl.CancelError,UnsupportedProtocolError:zl.UnsupportedProtocolError,UploadError:zl.UploadError},xst=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Eb}=Cb.default,cle=(...t)=>{let e;for(let r of t)e=Eb(void 0,r,e);return e},kst=t=>t.isStream?new Cb.default(void 0,t):zl.default(t),Qst=t=>"defaults"in t&&"options"in t.defaults,Rst=["get","post","put","patch","head","delete"];Jl.defaultHandler=(t,e)=>e(t);var ule=(t,e)=>{if(t)for(let r of t)r(e)},Ale=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:E,finally:I}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=E,p.finally=I}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?kst:h);if(lle.default.plainObject(o)){let E={...o,...a};Cb.setNonEnumerableProperties([o,a],E),a=E,o=void 0}try{let E;try{ule(t.options.hooks.init,a),ule((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){E=v}let I=Eb(o,a,n??t.options);if(I[Cb.kIsNormalizedAlready]=!0,E)throw new zl.RequestError(E.message,E,I);return h(I)}catch(E){if(a.isStream)throw E;return Dst.default(E,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)Qst(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Jl.defaultHandler),n.length===0&&n.push(Jl.defaultHandler),Ale({options:cle(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=Eb(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!lle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of Rst)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,bst),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:Sst.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=cle,e};Jl.default=Ale;Pst(ale(),Jl)});var hle=_((Lf,wb)=>{"use strict";var Fst=Lf&&Lf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),fle=Lf&&Lf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Fst(e,t,r)};Object.defineProperty(Lf,"__esModule",{value:!0});var Tst=ve("url"),ple=Q4(),Lst={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new Tst.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[ple.defaultHandler],mutableDefaults:!1},R4=ple.default(Lst);Lf.default=R4;wb.exports=R4;wb.exports.default=R4;wb.exports.__esModule=!0;fle(Q4(),Lf);fle(b4(),Lf)});var sn={};zt(sn,{Method:()=>wle,del:()=>_st,get:()=>N4,getNetworkSettings:()=>Cle,post:()=>O4,put:()=>Ust,request:()=>B1});function mle(t){let e=new URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function F4(t){return al(dle,t,()=>oe.readFilePromise(t).then(e=>(dle.set(t,e),e)))}function Mst({statusCode:t,statusMessage:e},r){let o=Ut(r,t,yt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Vy(r,`${o}${e?` (${e})`:""}`,a)}async function Ib(t,{configuration:e,customErrorMessage:r}){try{return await t}catch(o){if(o.name!=="HTTPError")throw o;let a=r?.(o,e)??o.response.body?.error;a==null&&(o.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=o.message),o.code==="ETIMEDOUT"&&o.event==="socket"&&(a+=`(can be increased via ${Ut(e,"httpTimeout",yt.SETTING)})`);let n=new Vt(35,a,u=>{o.response&&u.reportError(35,` ${Xu(e,{label:"Response Code",value:Hc(yt.NO_HINT,Mst(o.response,e))})}`),o.request&&(u.reportError(35,` ${Xu(e,{label:"Request Method",value:Hc(yt.NO_HINT,o.request.options.method)})}`),u.reportError(35,` ${Xu(e,{label:"Request URL",value:Hc(yt.URL,o.request.requestUrl)})}`)),o.request.redirects.length>0&&u.reportError(35,` ${Xu(e,{label:"Request Redirects",value:Hc(yt.NO_HINT,bN(e,o.request.redirects,yt.URL))})}`),o.request.retryCount===o.request.options.retry.limit&&u.reportError(35,` ${Xu(e,{label:"Request Retry Count",value:Hc(yt.NO_HINT,`${Ut(e,o.request.retryCount,yt.NUMBER)} (can be increased via ${Ut(e,"httpRetry",yt.SETTING)})`)})}`)});throw n.originalError=o,n}}function Cle(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new URL(t):t;for(let[u,A]of r)if(L4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function B1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET",wrapNetworkRequest:A}){let p={target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u},h=async()=>await Hst(t,e,p),E=typeof A<"u"?await A(h,p):h;return await(await r.reduceHook(v=>v.wrapNetworkRequest,E,p))()}async function N4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,wrapNetworkRequest:a,...n}){let u=()=>Ib(B1(t,null,{configuration:e,wrapNetworkRequest:a,...n}),{configuration:e,customErrorMessage:o}).then(p=>p.body),A=await(typeof a<"u"?u():al(gle,t,()=>u().then(p=>(gle.set(t,p),p))));return r?JSON.parse(A.toString()):A}async function Ust(t,e,{customErrorMessage:r,...o}){return(await Ib(B1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function O4(t,e,{customErrorMessage:r,...o}){return(await Ib(B1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function _st(t,{customErrorMessage:e,...r}){return(await Ib(B1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function Hst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new URL(t):t,p=Cle(A,{configuration:r});if(p.enableNetwork===!1)throw new Vt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!L4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new Vt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let E={agent:{http:p.httpProxy?T4.default.httpOverHttp(mle(p.httpProxy)):Nst,https:p.httpsProxy?T4.default.httpsOverHttp(mle(p.httpsProxy)):Ost},headers:o,method:u};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let I=r.get("httpTimeout"),v=r.get("httpRetry"),x=r.get("enableStrictSsl"),C=p.httpsCaFilePath,F=p.httpsCertFilePath,N=p.httpsKeyFilePath,{default:U}=await Promise.resolve().then(()=>Ze(hle())),J=C?await F4(C):void 0,te=F?await F4(F):void 0,ae=N?await F4(N):void 0,le=U.extend({timeout:{socket:I},retry:v,https:{rejectUnauthorized:x,certificateAuthority:J,certificate:te,key:ae},...E});return r.getLimit("networkConcurrency")(()=>le(A))}var yle,Ele,L4,T4,gle,dle,Nst,Ost,wle,Bb=Et(()=>{Dt();yle=ve("https"),Ele=ve("http"),L4=Ze(Xo()),T4=Ze(Yse());Wl();jl();Gl();gle=new Map,dle=new Map,Nst=new Ele.Agent({keepAlive:!0}),Ost=new yle.Agent({keepAlive:!0});wle=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(wle||{})});var Vi={};zt(Vi,{availableParallelism:()=>U4,getArchitecture:()=>v1,getArchitectureName:()=>Wst,getArchitectureSet:()=>M4,getCaller:()=>Vst,major:()=>qst,openUrl:()=>Gst});function Yst(){if(process.platform==="darwin"||process.platform==="win32")return null;let t;try{t=oe.readFileSync(jst)}catch{}if(typeof t<"u"){if(t&&(t.includes("GLIBC")||t.includes("libc")))return"glibc";if(t&&t.includes("musl"))return"musl"}let r=(process.report?.getReport()??{}).sharedObjects??[],o=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return YI(r,a=>{let n=a.match(o);if(!n)return YI.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function v1(){return Ble=Ble??{os:process.platform,cpu:process.arch,libc:Yst()}}function Wst(t=v1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function M4(){let t=v1();return vle=vle??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function Jst(t){let e=Kst.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=zst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function Vst(){let e=new Error().stack.split(` +`)[3];return Jst(e)}function U4(){return typeof vb.default.availableParallelism<"u"?vb.default.availableParallelism():Math.max(1,vb.default.cpus().length)}var vb,qst,Ile,Gst,jst,Ble,vle,Kst,zst,Pb=Et(()=>{Dt();vb=Ze(ve("os"));Db();Gl();qst=Number(process.versions.node.split(".")[0]),Ile=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Gst=typeof Ile<"u"?async t=>{try{return await _4(Ile,[t],{cwd:z.cwd()}),!0}catch{return!1}}:void 0,jst="/usr/bin/ldd";Kst=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,zst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function Y4(t,e,r,o,a){let n=f1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>H4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>H4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return H4(t,e,r,o,a)}function H4(t,e,r,o,a){let n=f1(r);switch(o.type){case"ANY":return YS(n);case"SHAPE":return eot(t,e,r,o,a);case"MAP":return tot(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if(o.values?.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return zI(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof n}`);let p=sS(n,{env:t.env});switch(o.type){case"ABSOLUTE_PATH":{let h=a,E=mM(r);return E&&E[0]!=="<"&&(h=z.dirname(E)),z.resolve(h,ue.toPortablePath(p))}case"LOCATOR_LOOSE":return xf(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return xf(p);case"BOOLEAN":return zI(p);default:return p}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function eot(t,e,r,o,a){let n=f1(r);if(typeof n!="object"||Array.isArray(n))throw new st(`Object configuration settings "${e}" must be an object`);let u=W4(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new st(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,Y4(t,h,p,o.properties[A],a))}return u}function tot(t,e,r,o,a){let n=f1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new st(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,E=`${e}['${h}']`,I=o.valueDefinition;u.set(h,Y4(t,E,p,I,a))}return u}function W4(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,W4(t,n));return o}case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?Array.isArray(e.default)?e.default.map(o=>z.normalize(o)):z.isAbsolute(e.default)?z.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>z.resolve(t.projectCwd,o)):z.resolve(t.projectCwd,e.default);default:return e.default}}function bb(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return $st;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return ue.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(bb(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=bb(n,e.valueDefinition,r);typeof u<"u"&&o.set(a,u)}return o}if(e.type==="SHAPE"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a],A=bb(n,u,r);typeof A<"u"&&o.set(a,A)}return o}return t}function rot(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(xb)&&(e=(0,Dle.default)(e.slice(xb.length)),t[e]=r);return t}function G4(){let t=`${xb}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return j4}async function Ple(t){try{return await oe.readFilePromise(t)}catch{return Buffer.of()}}async function not(t,e){return Buffer.compare(...await Promise.all([Ple(t),Ple(e)]))===0}async function iot(t,e){let[r,o]=await Promise.all([oe.statPromise(t),oe.statPromise(e)]);return r.dev===o.dev&&r.ino===o.ino}async function oot({configuration:t,selfPath:e}){let r=t.get("yarnPath");return t.get("ignorePath")||r===null||r===e||await sot(r,e)?null:r}var Dle,Nf,Sle,ble,xle,q4,Xst,P1,Zst,kE,xb,j4,$st,D1,kle,kb,Sb,sot,nA,Ke,S1=Et(()=>{Dt();Nl();Dle=Ze(sz()),Nf=Ze(rd());qt();Sle=Ze(Zz()),ble=ve("module"),xle=Ze(sd()),q4=ve("stream");ose();uE();cM();uM();AM();Tse();fM();vd();Use();KS();jl();ih();Bb();Gl();Pb();Qf();So();Xst=function(){if(!Nf.GITHUB_ACTIONS||!process.env.GITHUB_EVENT_PATH)return!1;let t=ue.toPortablePath(process.env.GITHUB_EVENT_PATH),e;try{e=oe.readJsonSync(t)}catch{return!1}return!(!("repository"in e)||!e.repository||(e.repository.private??!0))}(),P1=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),Zst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","zipDataEpilogue","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreCwd"]),kE=/^(?!v)[a-z0-9._-]+$/i,xb="yarn_",j4=".yarnrc.yml",$st="********",D1=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(D1||{}),kle=yt,kb=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(kb||{}),Sb={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:EM()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:0},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:G4()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:lS,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:SN,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Nf.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Nf.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Nf.isCI,defaultText:""},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, Yarn will refuse to use the network if required to",type:"BOOLEAN",default:!0},enableOfflineMode:{description:"If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network",type:"BOOLEAN",default:!1},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},taskPoolConcurrency:{description:"Maximal amount of concurrent heavy task processing",type:"NUMBER",default:U4()},taskPoolMode:{description:"Execution strategy for heavy tasks",type:"STRING",values:["async","workers"],default:"workers"},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(uS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Nf.isPR&&Xst,defaultText:""},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};sot=process.platform==="win32"?not:iot;nA=class{constructor(e){this.isCI=Nf.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.limits=new Map;this.packageExtensions=null;this.startingCwd=e}static create(e,r,o){let a=new nA(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(Sb);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{strict:o=!0,usePathCheck:a=null,useRc:n=!0}={}){let u=rot();delete u.rcFilename;let A=new nA(e),p=await nA.findRcFiles(e),h=await nA.findFolderRcFile(mE());h&&(p.find(we=>we.path===h.path)||p.unshift(h));let E=Mse(p.map(ce=>[ce.path,ce.data])),I=Bt.dot,v=new Set(Object.keys(Sb)),x=({yarnPath:ce,ignorePath:we,injectEnvironmentFiles:de})=>({yarnPath:ce,ignorePath:we,injectEnvironmentFiles:de}),C=({yarnPath:ce,ignorePath:we,injectEnvironmentFiles:de,...Be})=>{let Ee={};for(let[g,me]of Object.entries(Be))v.has(g)&&(Ee[g]=me);return Ee},F=({yarnPath:ce,ignorePath:we,...de})=>{let Be={};for(let[Ee,g]of Object.entries(de))v.has(Ee)||(Be[Ee]=g);return Be};if(A.importSettings(x(Sb)),A.useWithSource("",x(u),e,{strict:!1}),E){let[ce,we]=E;A.useWithSource(ce,x(we),I,{strict:!1})}if(a){if(await oot({configuration:A,selfPath:a})!==null)return A;A.useWithSource("",{ignorePath:!0},e,{strict:!1,overwrite:!0})}let N=await nA.findProjectCwd(e);A.startingCwd=e,A.projectCwd=N;let U=Object.assign(Object.create(null),process.env);A.env=U;let J=await Promise.all(A.get("injectEnvironmentFiles").map(async ce=>{let we=ce.endsWith("?")?await oe.readFilePromise(ce.slice(0,-1),"utf8").catch(()=>""):await oe.readFilePromise(ce,"utf8");return(0,Sle.parse)(we)}));for(let ce of J)for(let[we,de]of Object.entries(ce))A.env[we]=sS(de,{env:U});if(A.importSettings(C(Sb)),A.useWithSource("",C(u),e,{strict:o}),E){let[ce,we]=E;A.useWithSource(ce,C(we),I,{strict:o})}let te=ce=>"default"in ce?ce.default:ce,ae=new Map([["@@core",sse]]);if(r!==null)for(let ce of r.plugins.keys())ae.set(ce,te(r.modules.get(ce)));for(let[ce,we]of ae)A.activatePlugin(ce,we);let le=new Map([]);if(r!==null){let ce=new Map;for(let Be of ble.builtinModules)ce.set(Be,()=>Pf(Be));for(let[Be,Ee]of r.modules)ce.set(Be,()=>Ee);let we=new Set,de=async(Be,Ee)=>{let{factory:g,name:me}=Pf(Be);if(!g||we.has(me))return;let Ce=new Map(ce),Ae=Z=>{if(Ce.has(Z))return Ce.get(Z)();throw new st(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ne=await Yy(async()=>te(await g(Ae)),Z=>`${Z} (when initializing ${me}, defined in ${Ee})`);ce.set(me,()=>ne),we.add(me),le.set(me,ne)};if(u.plugins)for(let Be of u.plugins.split(";")){let Ee=z.resolve(e,ue.toPortablePath(Be));await de(Ee,"")}for(let{path:Be,cwd:Ee,data:g}of p)if(!!n&&!!Array.isArray(g.plugins))for(let me of g.plugins){let Ce=typeof me!="string"?me.path:me,Ae=me?.spec??"",ne=me?.checksum??"";if(P1.has(Ae))continue;let Z=z.resolve(Ee,ue.toPortablePath(Ce));if(!await oe.existsPromise(Z)){if(!Ae){let ht=Ut(A,z.basename(Z,".cjs"),yt.NAME),H=Ut(A,".gitignore",yt.NAME),rt=Ut(A,A.values.get("rcFilename"),yt.NAME),Te=Ut(A,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",yt.URL);throw new st(`Missing source for the ${ht} plugin - please try to remove the plugin from ${rt} then reinstall it manually. This error usually occurs because ${H} is incorrect, check ${Te} to make sure your plugin folder isn't gitignored.`)}if(!Ae.match(/^https?:/)){let ht=Ut(A,z.basename(Z,".cjs"),yt.NAME),H=Ut(A,A.values.get("rcFilename"),yt.NAME);throw new st(`Failed to recognize the source for the ${ht} plugin - please try to delete the plugin from ${H} then reinstall it manually.`)}let xe=await N4(Ae,{configuration:A}),Le=zi(xe);if(ne&&ne!==Le){let ht=Ut(A,z.basename(Z,".cjs"),yt.NAME),H=Ut(A,A.values.get("rcFilename"),yt.NAME),rt=Ut(A,`yarn plugin import ${Ae}`,yt.CODE);throw new st(`Failed to fetch the ${ht} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${H} then run ${rt} to reimport it.`)}await oe.mkdirPromise(z.dirname(Z),{recursive:!0}),await oe.writeFilePromise(Z,xe)}await de(Z,Be)}}for(let[ce,we]of le)A.activatePlugin(ce,we);if(A.useWithSource("",F(u),e,{strict:o}),E){let[ce,we]=E;A.useWithSource(ce,F(we),I,{strict:o})}return A.get("enableGlobalCache")&&(A.values.set("cacheFolder",`${A.get("globalFolder")}/cache`),A.sources.set("cacheFolder","")),A}static async findRcFiles(e){let r=G4(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=z.join(n,r);if(oe.existsSync(u)){let A=await oe.readFilePromise(u,"utf8"),p;try{p=Ki(A)}catch{let E="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(E=" (in particular, make sure you list the colons after each key name)"),new st(`Parse error when loading ${u}; please check it's proper Yaml${E}`)}o.unshift({path:u,cwd:n,data:p})}a=z.dirname(n)}return o}static async findFolderRcFile(e){let r=z.join(e,dr.rc),o;try{o=await oe.readFilePromise(r,"utf8")}catch(n){if(n.code==="ENOENT")return null;throw n}let a=Ki(o);return{path:r,cwd:e,data:a}}static async findProjectCwd(e){let r=null,o=e,a=null;for(;o!==a;){if(a=o,oe.existsSync(z.join(a,dr.lockfile)))return a;oe.existsSync(z.join(a,dr.manifest))&&(r=a),o=z.dirname(a)}return r}static async updateConfiguration(e,r,o={}){let a=G4(),n=z.join(e,a),u=oe.existsSync(n)?Ki(await oe.readFilePromise(n,"utf8")):{},A=!1,p;if(typeof r=="function"){try{p=r(u)}catch{p=r({})}if(p===u)return!1}else{p=u;for(let h of Object.keys(r)){let E=u[h],I=r[h],v;if(typeof I=="function")try{v=I(E)}catch{v=I(void 0)}else v=I;E!==v&&(v===nA.deleteProperty?delete p[h]:p[h]=v,A=!0)}if(!A)return!1}return await oe.changeFilePromise(n,Ba(p),{automaticNewlines:!0}),!0}static async addPlugin(e,r){r.length!==0&&await nA.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(E=>E.path===p);h?(n.push(h),u=u.filter(E=>E!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=mE();return await nA.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,W4(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Ut(this,e,yt.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=mM(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e===""&&Zst.has(u))continue;if(u==="rcFilename")throw new st(`The rcFilename settings can only be set via ${`${xb}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let I=mE(),v=e[0]!=="<"?z.dirname(e):null;if(a&&!(v!==null?I===v:!1))throw new st(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=Y4(this,u,A,h,o)}catch(I){throw I.message+=` in ${Ut(this,e,yt.PATH)}`,I}if(u==="enableStrictSettings"&&e!==""){a=E;continue}if(h.type==="MAP"){let I=this.values.get(u);this.values.set(u,new Map(n?[...I,...E]:[...E,...I])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let I=this.values.get(u);this.values.set(u,n?[...I,...E]:[...E,...I]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,E),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new st(`Couldn't find a configuration settings named "${e}"`);return bb(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=oe.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Ut(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Ut(this,"STDERR","red")}`);n=new q4.PassThrough,n.pipe(p),n.pipe(A),u=new q4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} +`);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new Pd([new u1,new Xn,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new fE([new pE,new gE,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=v1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=ol(n,u=>u==="current"?e.libc??ol.skip:u)),{os:o,cpu:a,libc:n}}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!xa(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Ot;u.load(a,{yamlCompatibilityMode:!0});let A=WI(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let E of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,I]of u.peerDependenciesMeta)for(let[v,x]of Object.entries(I))p.push({...h,type:"PeerDependencyMeta",selector:E,key:v,value:x})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(sh(o,!0),iS(a),{userProvided:!0});return e}normalizeLocator(e){return xa(e.reference)?Fs(e,`${this.get("defaultProtocol")}${e.reference}`):kE.test(e.reference)?Fs(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return xa(e.range)?In(e,`${this.get("defaultProtocol")}${e.range}`):kE.test(e.range)?In(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e,{packageExtensions:r}){let o=e1(e),a=r.get(e.identHash);if(typeof a<"u"){let u=e.version;if(u!==null){for(let[A,p]of a)if(!!kf(u,A))for(let h of p)switch(h.status==="inactive"&&(h.status="redundant"),h.type){case"Dependency":typeof o.dependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.dependencies.set(h.descriptor.identHash,this.normalizeDependency(h.descriptor)));break;case"PeerDependency":typeof o.peerDependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.peerDependencies.set(h.descriptor.identHash,h.descriptor));break;case"PeerDependencyMeta":{let E=o.peerDependenciesMeta.get(h.selector);(typeof E>"u"||!Object.hasOwn(E,h.key)||E[h.key]!==h.value)&&(h.status="active",al(o.peerDependenciesMeta,h.selector,()=>({}))[h.key]=h.value)}break;default:CN(h)}}}let n=u=>u.scope?`${u.scope}__${u.name}`:`${u.name}`;for(let u of o.peerDependenciesMeta.keys()){let A=Zo(u);o.peerDependencies.has(A.identHash)||o.peerDependencies.set(A.identHash,In(A,"*"))}for(let u of o.peerDependencies.values()){if(u.scope==="types")continue;let A=n(u),p=tA("types",A),h=rn(p);o.peerDependencies.has(p.identHash)||o.peerDependenciesMeta.has(h)||(o.peerDependencies.set(p.identHash,In(p,"*")),o.peerDependenciesMeta.set(h,{optional:!0}))}return o.dependencies=new Map(Rs(o.dependencies,([,u])=>Sa(u))),o.peerDependencies=new Map(Rs(o.peerDependencies,([,u])=>Sa(u))),o}getLimit(e){return al(this.limits,e,()=>(0,xle.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);!n||await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);!A||(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Ke=nA;Ke.deleteProperty=Symbol(),Ke.telemetry=null});var Ur={};zt(Ur,{EndStrategy:()=>V4,ExecError:()=>Qb,PipeError:()=>b1,execvp:()=>_4,pipevp:()=>Yc});function bd(t){return t!==null&&typeof t.fd=="number"}function K4(){}function z4(){for(let t of xd)t.kill()}async function Yc(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":bd(n)&&(h[0]=n),bd(u)&&(h[1]=u),bd(A)&&(h[2]=A);let E=(0,J4.default)(t,e,{cwd:ue.fromPortablePath(r),env:{...o,PWD:ue.fromPortablePath(r)},stdio:h});xd.add(E),xd.size===1&&(process.on("SIGINT",K4),process.on("SIGTERM",z4)),!bd(n)&&n!==null&&n.pipe(E.stdin),bd(u)||E.stdout.pipe(u,{end:!1}),bd(A)||E.stderr.pipe(A,{end:!1});let I=()=>{for(let v of new Set([u,A]))bd(v)||v.end()};return new Promise((v,x)=>{E.on("error",C=>{xd.delete(E),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",z4)),(p===2||p===1)&&I(),x(C)}),E.on("close",(C,F)=>{xd.delete(E),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",z4)),(p===2||p===1&&C!==0)&&I(),C===0||!a?v({code:X4(C,F)}):x(new b1({fileName:t,code:C,signal:F}))})})}async function _4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=ue.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let E=(0,J4.default)(t,e,{cwd:h,env:o,stdio:u});return E.stdout.on("data",I=>{A.push(I)}),E.stderr.on("data",I=>{p.push(I)}),await new Promise((I,v)=>{E.on("error",x=>{let C=Ke.create(r),F=Ut(C,t,yt.PATH);v(new Vt(1,`Process ${F} failed to spawn`,N=>{N.reportError(1,` ${Xu(C,{label:"Thrown Error",value:Hc(yt.NO_HINT,x.message)})}`)}))}),E.on("close",(x,C)=>{let F=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),N=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);x===0||!n?I({code:X4(x,C),stdout:F,stderr:N}):v(new Qb({fileName:t,code:x,signal:C,stdout:F,stderr:N}))})})}function X4(t,e){let r=aot.get(e);return typeof r<"u"?128+r:t??1}function lot(t,e,{configuration:r,report:o}){o.reportError(1,` ${Xu(r,t!==null?{label:"Exit Code",value:Hc(yt.NUMBER,t)}:{label:"Exit Signal",value:Hc(yt.CODE,e)})}`)}var J4,V4,b1,Qb,xd,aot,Db=Et(()=>{Dt();J4=Ze(oT());S1();Wl();jl();V4=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(V4||{}),b1=class extends Vt{constructor({fileName:r,code:o,signal:a}){let n=Ke.create(z.cwd()),u=Ut(n,r,yt.PATH);super(1,`Child ${u} reported an error`,A=>{lot(o,a,{configuration:n,report:A})});this.code=X4(o,a)}},Qb=class extends b1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};xd=new Set;aot=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function Rle(t){Qle=t}function x1(){return typeof Z4>"u"&&(Z4=Qle()),Z4}var Z4,Qle,$4=Et(()=>{Qle=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var Fle=_((Rb,tU)=>{var cot=Object.assign({},ve("fs")),eU=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(We,tt){o=We,a=tt});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(We,tt){throw tt},E=!1,I=!0,v="";function x(We){return r.locateFile?r.locateFile(We,v):v+We}var C,F,N,U;I&&(E?v=ve("path").dirname(v)+"/":v=__dirname+"/",C=function(tt,It){var or=ii(tt);return or?It?or:or.toString():(N||(N=cot),U||(U=ve("path")),tt=U.normalize(tt),N.readFileSync(tt,It?null:"utf8"))},F=function(tt){var It=C(tt,!0);return It.buffer||(It=new Uint8Array(It)),me(It.buffer),It},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(We){process.exit(We)},r.inspect=function(){return"[Emscripten Module object]"});var J=r.print||console.log.bind(console),te=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var ae=0,le=function(We){ae=We},ce;r.wasmBinary&&(ce=r.wasmBinary);var we=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Ti("no native wasm support detected");function de(We,tt,It){switch(tt=tt||"i8",tt.charAt(tt.length-1)==="*"&&(tt="i32"),tt){case"i1":return Ye[We>>0];case"i8":return Ye[We>>0];case"i16":return up((We>>1)*2);case"i32":return Us((We>>2)*4);case"i64":return Us((We>>2)*4);case"float":return uu((We>>2)*4);case"double":return cp((We>>3)*8);default:Ti("invalid type for getValue: "+tt)}return null}var Be,Ee=!1,g;function me(We,tt){We||Ti("Assertion failed: "+tt)}function Ce(We){var tt=r["_"+We];return me(tt,"Cannot call unknown function "+We+", make sure it is exported"),tt}function Ae(We,tt,It,or,ee){var ye={string:function(ts){var bi=0;if(ts!=null&&ts!==0){var Ho=(ts.length<<2)+1;bi=Un(Ho),ht(ts,bi,Ho)}return bi},array:function(ts){var bi=Un(ts.length);return Te(ts,bi),bi}};function Ne(ts){return tt==="string"?xe(ts):tt==="boolean"?Boolean(ts):ts}var ft=Ce(We),pt=[],Lt=0;if(or)for(var rr=0;rr=It)&&Se[or];)++or;return Z.decode(Se.subarray(We,or))}function Le(We,tt,It,or){if(!(or>0))return 0;for(var ee=It,ye=It+or-1,Ne=0;Ne=55296&&ft<=57343){var pt=We.charCodeAt(++Ne);ft=65536+((ft&1023)<<10)|pt&1023}if(ft<=127){if(It>=ye)break;tt[It++]=ft}else if(ft<=2047){if(It+1>=ye)break;tt[It++]=192|ft>>6,tt[It++]=128|ft&63}else if(ft<=65535){if(It+2>=ye)break;tt[It++]=224|ft>>12,tt[It++]=128|ft>>6&63,tt[It++]=128|ft&63}else{if(It+3>=ye)break;tt[It++]=240|ft>>18,tt[It++]=128|ft>>12&63,tt[It++]=128|ft>>6&63,tt[It++]=128|ft&63}}return tt[It]=0,It-ee}function ht(We,tt,It){return Le(We,Se,tt,It)}function H(We){for(var tt=0,It=0;It=55296&&or<=57343&&(or=65536+((or&1023)<<10)|We.charCodeAt(++It)&1023),or<=127?++tt:or<=2047?tt+=2:or<=65535?tt+=3:tt+=4}return tt}function rt(We){var tt=H(We)+1,It=Ni(tt);return It&&Le(We,Ye,It,tt),It}function Te(We,tt){Ye.set(We,tt)}function Re(We,tt){return We%tt>0&&(We+=tt-We%tt),We}var ke,Ye,Se,et,Ue,b,w,S,y,R;function V(We){ke=We,r.HEAP_DATA_VIEW=R=new DataView(We),r.HEAP8=Ye=new Int8Array(We),r.HEAP16=et=new Int16Array(We),r.HEAP32=b=new Int32Array(We),r.HEAPU8=Se=new Uint8Array(We),r.HEAPU16=Ue=new Uint16Array(We),r.HEAPU32=w=new Uint32Array(We),r.HEAPF32=S=new Float32Array(We),r.HEAPF64=y=new Float64Array(We)}var X=r.INITIAL_MEMORY||16777216,$,ie=[],be=[],Fe=[],at=!1;function dt(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)bt(r.preRun.shift());so(ie)}function Gt(){at=!0,so(be)}function tr(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)kr(r.postRun.shift());so(Fe)}function bt(We){ie.unshift(We)}function ln(We){be.unshift(We)}function kr(We){Fe.unshift(We)}var mr=0,br=null,Kr=null;function Kn(We){mr++,r.monitorRunDependencies&&r.monitorRunDependencies(mr)}function Os(We){if(mr--,r.monitorRunDependencies&&r.monitorRunDependencies(mr),mr==0&&(br!==null&&(clearInterval(br),br=null),Kr)){var tt=Kr;Kr=null,tt()}}r.preloadedImages={},r.preloadedAudios={};function Ti(We){r.onAbort&&r.onAbort(We),We+="",te(We),Ee=!0,g=1,We="abort("+We+"). Build with -s ASSERTIONS=1 for more info.";var tt=new WebAssembly.RuntimeError(We);throw a(tt),tt}var gs="data:application/octet-stream;base64,";function no(We){return We.startsWith(gs)}var Si="data:application/octet-stream;base64,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QCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcN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DCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";no(Si)||(Si=x(Si));function Ms(We){try{if(We==Si&&ce)return new Uint8Array(ce);var tt=ii(We);if(tt)return tt;if(F)return F(We);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(It){Ti(It)}}function io(We,tt){var It,or,ee;try{ee=Ms(We),or=new WebAssembly.Module(ee),It=new WebAssembly.Instance(or,tt)}catch(Ne){var ye=Ne.toString();throw te("failed to compile wasm module: "+ye),(ye.includes("imported Memory")||ye.includes("memory import"))&&te("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Ne}return[It,or]}function uc(){var We={a:Ua};function tt(ee,ye){var Ne=ee.exports;r.asm=Ne,Be=r.asm.g,V(Be.buffer),$=r.asm.W,ln(r.asm.h),Os("wasm-instantiate")}if(Kn("wasm-instantiate"),r.instantiateWasm)try{var It=r.instantiateWasm(We,tt);return It}catch(ee){return te("Module.instantiateWasm callback failed with error: "+ee),!1}var or=io(Si,We);return tt(or[0]),r.asm}function uu(We){return R.getFloat32(We,!0)}function cp(We){return R.getFloat64(We,!0)}function up(We){return R.getInt16(We,!0)}function Us(We){return R.getInt32(We,!0)}function Pn(We,tt){R.setInt32(We,tt,!0)}function so(We){for(;We.length>0;){var tt=We.shift();if(typeof tt=="function"){tt(r);continue}var It=tt.func;typeof It=="number"?tt.arg===void 0?$.get(It)():$.get(It)(tt.arg):It(tt.arg===void 0?null:tt.arg)}}function _s(We,tt){var It=new Date(Us((We>>2)*4)*1e3);Pn((tt>>2)*4,It.getUTCSeconds()),Pn((tt+4>>2)*4,It.getUTCMinutes()),Pn((tt+8>>2)*4,It.getUTCHours()),Pn((tt+12>>2)*4,It.getUTCDate()),Pn((tt+16>>2)*4,It.getUTCMonth()),Pn((tt+20>>2)*4,It.getUTCFullYear()-1900),Pn((tt+24>>2)*4,It.getUTCDay()),Pn((tt+36>>2)*4,0),Pn((tt+32>>2)*4,0);var or=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),ee=(It.getTime()-or)/(1e3*60*60*24)|0;return Pn((tt+28>>2)*4,ee),_s.GMTString||(_s.GMTString=rt("GMT")),Pn((tt+40>>2)*4,_s.GMTString),tt}function yl(We,tt){return _s(We,tt)}function El(We,tt,It){Se.copyWithin(We,tt,tt+It)}function oo(We){try{return Be.grow(We-ke.byteLength+65535>>>16),V(Be.buffer),1}catch{}}function zn(We){var tt=Se.length;We=We>>>0;var It=2147483648;if(We>It)return!1;for(var or=1;or<=4;or*=2){var ee=tt*(1+.2/or);ee=Math.min(ee,We+100663296);var ye=Math.min(It,Re(Math.max(We,ee),65536)),Ne=oo(ye);if(Ne)return!0}return!1}function On(We){le(We)}function Li(We){var tt=Date.now()/1e3|0;return We&&Pn((We>>2)*4,tt),tt}function Mn(){if(Mn.called)return;Mn.called=!0;var We=new Date().getFullYear(),tt=new Date(We,0,1),It=new Date(We,6,1),or=tt.getTimezoneOffset(),ee=It.getTimezoneOffset(),ye=Math.max(or,ee);Pn((ys()>>2)*4,ye*60),Pn((ms()>>2)*4,Number(or!=ee));function Ne($r){var Gi=$r.toTimeString().match(/\(([A-Za-z ]+)\)$/);return Gi?Gi[1]:"GMT"}var ft=Ne(tt),pt=Ne(It),Lt=rt(ft),rr=rt(pt);ee>2)*4,Lt),Pn((wi()+4>>2)*4,rr)):(Pn((wi()>>2)*4,rr),Pn((wi()+4>>2)*4,Lt))}function _i(We){Mn();var tt=Date.UTC(Us((We+20>>2)*4)+1900,Us((We+16>>2)*4),Us((We+12>>2)*4),Us((We+8>>2)*4),Us((We+4>>2)*4),Us((We>>2)*4),0),It=new Date(tt);Pn((We+24>>2)*4,It.getUTCDay());var or=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),ee=(It.getTime()-or)/(1e3*60*60*24)|0;return Pn((We+28>>2)*4,ee),It.getTime()/1e3|0}var ir=typeof atob=="function"?atob:function(We){var tt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",It="",or,ee,ye,Ne,ft,pt,Lt,rr=0;We=We.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Ne=tt.indexOf(We.charAt(rr++)),ft=tt.indexOf(We.charAt(rr++)),pt=tt.indexOf(We.charAt(rr++)),Lt=tt.indexOf(We.charAt(rr++)),or=Ne<<2|ft>>4,ee=(ft&15)<<4|pt>>2,ye=(pt&3)<<6|Lt,It=It+String.fromCharCode(or),pt!==64&&(It=It+String.fromCharCode(ee)),Lt!==64&&(It=It+String.fromCharCode(ye));while(rr0||(dt(),mr>0))return;function tt(){Dn||(Dn=!0,r.calledRun=!0,!Ee&&(Gt(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),tr()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),tt()},1)):tt()}if(r.run=Cs,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return Cs(),e}}();typeof Rb=="object"&&typeof tU=="object"?tU.exports=eU:typeof define=="function"&&define.amd?define([],function(){return eU}):typeof Rb=="object"&&(Rb.createModule=eU)});var Of,Tle,Lle,Nle=Et(()=>{Of=["number","number"],Tle=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(Tle||{}),Lle=t=>({get HEAPU8(){return t.HEAPU8},errors:Tle,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint32S:t._malloc(4),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...Of,"number","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...Of,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...Of,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...Of,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...Of,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...Of,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...Of,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...Of,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...Of,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"])},struct:{statS:t.cwrap("zipstruct_statS","number",[]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function rU(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==z.sep);){if(t[r-1]===z.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==z.sep?null:t.slice(0,o)}var Vl,Ole=Et(()=>{Dt();Dt();iA();Vl=class extends qp{static async openPromise(e,r){let o=new Vl(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>rU(A,".zip"):A=>{for(let p of r){let h=rU(A,p);if(h)return h}return null},n=(A,p)=>new Xi(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new Xi(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function uot(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(Mle.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function Fb(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var ta,nU,Mle,iU,Ule,Tb,Xi,sU=Et(()=>{Dt();Dt();Dt();Dt();Dt();Dt();ta=ve("fs"),nU=ve("stream"),Mle=ve("util"),iU=Ze(ve("zlib"));$4();Ule="mixed";Tb=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},Xi=class extends Uu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:Ule,r??=Fb(),typeof r=="string"){let{baseFs:A=new Tn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Ea.makeDefaultStats();else throw A}else this.stats=Ea.makeDefaultStats();this.libzip=x1();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?Fb():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(Bt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;Ar)throw new Error("Overread");let n=Buffer.from(this.libzip.HEAPU8.subarray(o,o+r));return process.env.YARN_IS_TEST_ENV&&process.env.YARN_ZIP_DATA_EPILOGUE&&(n=Buffer.concat([n,Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)])),n}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Ea.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return z.resolve(Bt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return bP(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw nr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=E),E}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?nr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw nr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new nU.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw nr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new nU.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw nr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw nr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=z.resolve(Bt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=ta.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`access '${r}'`);if(this.readOnly&&o&ta.constants.W_OK)throw nr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw nr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw nr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw nr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw nr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw nr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw nr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw nr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,E=this.libzip.struct.statSize(u)>>>0,I=512,v=Math.ceil(E/I),x=(this.libzip.struct.statMtime(u)>>>0)*1e3,C=x,F=x,N=x,U=new Date(C),J=new Date(F),te=new Date(N),ae=new Date(x),le=this.listings.has(o)?ta.constants.S_IFDIR:this.isSymbolicLink(n)?ta.constants.S_IFLNK:ta.constants.S_IFREG,ce=le===ta.constants.S_IFDIR?493:420,we=le|this.getUnixMode(n,ce)&511,de=this.libzip.struct.statCrc(u),Be=Object.assign(new Ea.StatEntry,{uid:p,gid:h,size:E,blksize:I,blocks:v,atime:U,birthtime:J,ctime:te,mtime:ae,atimeMs:C,birthtimeMs:F,ctimeMs:N,mtimeMs:x,mode:we,crc:de});return a.bigint===!0?Ea.convertToBigIntStats(Be):Be}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,E=0,I=this.stats.mtimeMs,v=this.stats.mtimeMs,x=this.stats.mtimeMs,C=this.stats.mtimeMs,F=new Date(I),N=new Date(v),U=new Date(x),J=new Date(C),te=ta.constants.S_IFDIR|493,ae=0,le=Object.assign(new Ea.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:E,atime:F,birthtime:N,ctime:U,mtime:J,atimeMs:I,birthtimeMs:v,ctimeMs:x,mtimeMs:C,mode:te,crc:ae});return a.bigint===!0?Ea.convertToBigIntStats(le):le}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(z.dirname(r)).add(z.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(z.dirname(r)).add(z.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r),this.listings.get(z.dirname(r))?.delete(z.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw nr.EBUSY(`archive closed, ${r}`);let u=z.resolve(Bt.root,o);if(u==="/")return Bt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,z.resolve(z.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,z.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw nr.ENOENT(r)}if(!h)throw nr.ENOTDIR(r);if(u=z.resolve(p,z.basename(u)),!a||this.symlinkCount===0)break;let I=this.libzip.name.locate(this.zip,u.slice(1),0);if(I===-1)break;if(this.isSymbolicLink(I)){let v=this.getFileSource(I).toString();u=z.resolve(z.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=z.relative(Bt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&ta.constants.S_IFMT)===ta.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let E=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(E===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let I=this.libzip.fread(E,h,A,0);if(I===-1)throw this.makeLibzipError(this.libzip.file.getError(E));if(IA)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),x=Buffer.from(v);if(p===0)return this.fileSources.set(r,x),x;if(o.asyncDecompress)return new Promise((C,F)=>{iU.default.inflateRaw(x,(N,U)=>{N?F(N):(this.fileSources.set(r,U),C(U))})});{let C=iU.default.inflateRawSync(x);return this.fileSources.set(r,C),C}}finally{this.libzip.fclose(E)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw nr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,ta.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw nr.EROFS(`copyfile '${r} -> '${o}'`);if((a&ta.constants.COPYFILE_FICLONE_FORCE)!==0)throw nr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw nr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(ta.constants.COPYFILE_EXCL|ta.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw nr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw nr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw nr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){let a=this.fds.get(r)?.p;if(typeof a>"u")throw nr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw nr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw nr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw nr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw nr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw nr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw nr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw nr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,uot(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw nr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw nr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw nr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw nr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw nr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}async rmPromise(r,o){return this.rmSync(r,o)}rmSync(r,{recursive:o=!1}={}){if(this.readOnly)throw nr.EROFS(`rm '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rm '${r}'`,r),n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`rm '${r}'`);if(n.size>0)throw nr.ENOTEMPTY(`rm '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw nr.EINVAL(`rm '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,z.relative(Bt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw nr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw nr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw nr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw nr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(ta.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw nr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw nr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`scandir '${r}'`);if(o?.recursive)if(o?.withFileTypes){let u=Array.from(n,A=>Object.assign(this.statImpl("lstat",z.join(r,A)),{name:A,path:Bt.dot}));for(let A of u){if(!A.isDirectory())continue;let p=z.join(A.path,A.name),h=this.listings.get(z.join(a,p));for(let E of h)u.push(Object.assign(this.statImpl("lstat",z.join(r,p,E)),{name:E,path:p}))}return u}else{let u=[...n];for(let A of u){let p=this.listings.get(z.join(a,A));if(!(typeof p>"u"))for(let h of p)u.push(z.join(A,h))}return u}else return o?.withFileTypes?Array.from(n,u=>Object.assign(this.statImpl("lstat",z.join(r,u)),{name:u,path:void 0})):[...n]}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw nr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw nr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw nr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw nr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw nr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw nr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=z.resolve(Bt.root,r);return ry(this,n,o,a)}unwatchFile(r,o){let a=z.resolve(Bt.root,r);return Ug(this,a,o)}}});function Hle(t,e,r=Buffer.alloc(0),o){let a=new Xi(r),n=I=>I===e||I.startsWith(`${e}/`)?I.slice(0,e.length):null,u=async(I,v)=>()=>a,A=(I,v)=>a,p={...t},h=new Tn(p),E=new qp({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o?.typeCheck});return Yw(_le.default,new Gp(E)),a}var _le,qle=Et(()=>{Dt();_le=Ze(ve("fs"));sU()});var Gle=Et(()=>{Ole();sU();qle()});var k1={};zt(k1,{DEFAULT_COMPRESSION_LEVEL:()=>Ule,LibzipError:()=>Tb,ZipFS:()=>Xi,ZipOpenFS:()=>Vl,getArchivePart:()=>rU,getLibzipPromise:()=>fot,getLibzipSync:()=>Aot,makeEmptyArchive:()=>Fb,mountMemoryDrive:()=>Hle});function Aot(){return x1()}async function fot(){return x1()}var jle,iA=Et(()=>{$4();jle=Ze(Fle());Nle();Gle();Rle(()=>{let t=(0,jle.default)();return Lle(t)})});var QE,Yle=Et(()=>{Dt();qt();Q1();QE=class extends it{constructor(){super(...arguments);this.cwd=ge.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await RE(r,[],{cwd:ue.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};QE.usage={description:"run a command using yarn's portable shell",details:` + This command will run a command using Yarn's portable shell. + + Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. + + Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. + + Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. + + For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. + `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var ll,Wle=Et(()=>{ll=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var Ob={};zt(Ob,{fastGlobOptions:()=>Jle,isBraceExpansion:()=>oU,isGlobPattern:()=>pot,match:()=>hot,micromatchOptions:()=>Nb});function pot(t){if(!Lb.default.scan(t,Nb).isGlob)return!1;try{Lb.default.parse(t,Nb)}catch{return!1}return!0}function hot(t,{cwd:e,baseFs:r}){return(0,Kle.default)(t,{...Jle,cwd:ue.fromPortablePath(e),fs:FP(zle.default,new Gp(r))})}function oU(t){return Lb.default.scan(t,Nb).isBrace}var Kle,zle,Lb,Nb,Jle,Vle=Et(()=>{Dt();Kle=Ze(TS()),zle=Ze(ve("fs")),Lb=Ze(Xo()),Nb={strictBrackets:!0},Jle={onlyDirectories:!1,onlyFiles:!1}});function aU(){}function lU(){for(let t of kd)t.kill()}function ece(t,e,r,o){return a=>{let n=a[0]instanceof sA.Transform?"pipe":a[0],u=a[1]instanceof sA.Transform?"pipe":a[1],A=a[2]instanceof sA.Transform?"pipe":a[2],p=(0,Zle.default)(t,e,{...o,stdio:[n,u,A]});return kd.add(p),kd.size===1&&(process.on("SIGINT",aU),process.on("SIGTERM",lU)),a[0]instanceof sA.Transform&&a[0].pipe(p.stdin),a[1]instanceof sA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof sA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(kd.delete(p),kd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),E.code){case"ENOENT":a[2].write(`command not found: ${t} +`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} +`),h(128);break;default:a[2].write(`uncaught error: ${E.message} +`),h(1);break}}),p.on("close",E=>{kd.delete(p),kd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),h(E!==null?E:129)})})}}}function tce(t){return e=>{let r=e[0]==="pipe"?new sA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function Mb(t,e){return FE.start(t,e)}function Xle(t,e=null){let r=new sA.PassThrough,o=new $le.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function rce(t,{prefix:e}){return{stdout:Xle(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:Xle(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var Zle,sA,$le,kd,Xl,cU,FE,uU=Et(()=>{Zle=Ze(oT()),sA=ve("stream"),$le=ve("string_decoder"),kd=new Set;Xl=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},cU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},FE=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new FE(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new FE(this,e),a=new cU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var L1={};zt(L1,{EntryCommand:()=>QE,ShellError:()=>ll,execute:()=>RE,globUtils:()=>Ob});function nce(t,e,r){let o=new cl.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof cl.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new ll(`Bad file descriptor: "${t}"`)}return o}function _b(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function dot(t,e,r){let o=[],a=new cl.PassThrough;return a.on("data",n=>o.push(n)),await Hb(t,e,_b(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function ice(t,e,r){let o=t.map(async n=>{let u=await Qd(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function Ub(t){return t.match(/[^ \r\n\t]+/g)||[]}async function uce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=Ub(n);for(let A=0;A=0&&n"u"&&(t.defaultValue?u=(await Qd(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new ll(`Unbound argument #${n}`):new ll(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=Ub(u);for(let E=0;Eo.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?R1({type:"variable",name:o.join(" ")},e,r):R1({type:"number",value:a},e,r)}else return mot[t.type](await R1(t.left,e,r),await R1(t.right,e,r))}async function Qd(t,e,r){let o=new Map,a=[],n=[],u=E=>{n.push(E)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{u(E),A()},h=(E,I,v)=>{let x=JSON.stringify({type:E,fd:I}),C=o.get(x);typeof C>"u"&&o.set(x,C=[]),C.push(v)};for(let E of t){let I=!1;switch(E.type){case"redirection":{let v=await Qd(E.args,e,r);for(let x of v)h(E.subtype,E.fd,x)}break;case"argument":for(let v of E.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),I=!0;break;case"shell":{let x=await dot(v.shell,e,r);if(v.quoted)u(x);else{let C=Ub(x);for(let F=0;F"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let x=await e.glob.match(v,{cwd:r.cwd,baseFs:e.baseFs});if(x.length===0){let C=oU(v)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new ll(`No matches found: "${v}"${C}`)}for(let C of x.sort())p(C)}}if(o.size>0){let E=[];for(let[I,v]of o.entries())E.splice(E.length,0,I,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function F1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=ue.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return ece(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return tce(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:I,stdout:v,stderr:x}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await A(u,e,r)}finally{r.stdin=I,r.stdout=v,r.stderr=x}})}function yot(t,e,r){return o=>{let a=new cl.PassThrough,n=Hb(t,e,_b(r,{stdin:a}));return{stdin:a,promise:n}}}function Eot(t,e,r){return o=>{let a=new cl.PassThrough,n=Hb(t,e,r);return{stdin:a,promise:n}}}function sce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.hasOwn(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,F1([...e,"__ysh_run_procedure",a],r,o)}}async function oce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Qd(o.args,e,r),h=await ice(o.envs,e,r);A=o.envs.length?F1(p,e,_b(u,{environment:h})):F1(p,e,u)}break;case"subshell":{let p=await Qd(o.args,e,r),h=yot(o.subshell,e,u);A=sce(h,p,e,u)}break;case"group":{let p=await Qd(o.args,e,r),h=Eot(o.group,e,u);A=sce(h,p,e,u)}break;case"envs":{let p=await ice(o.envs,e,r);u.environment={...u.environment,...p},A=F1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=Mb(A,{stdin:new Xl(u.stdin),stdout:new Xl(u.stdout),stderr:new Xl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Cot(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return ace.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:E}=rce(r,{prefix:p});return r.backgroundJobs.push(oce(t,e,_b(r,{stdout:h,stderr:E})).catch(I=>E.write(`${I.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(cy(t))}' has ended +`)})),0}return await oce(t,e,r)}async function wot(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await Cot(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof ll))throw p;return r.stderr.write(`${p.message} +`),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function Hb(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await wot(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function Ace(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>T1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>T1(e));case"arithmetic":return AU(t.arithmetic);case"shell":return fU(t.shell);default:return!1}}function T1(t){switch(t.type){case"redirection":return t.args.some(e=>T1(e));case"argument":return t.segments.some(e=>Ace(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function AU(t){switch(t.type){case"variable":return Ace(t);case"number":return!1;default:return AU(t.left)||AU(t.right)}}function fU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=fU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>T1(n)))||r.args.some(a=>T1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function RE(t,e=[],{baseFs:r=new Tn,builtins:o={},cwd:a=ue.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=Ob}={}){let I={};for(let[C,F]of Object.entries(n))typeof F<"u"&&(I[C]=F);let v=new Map(got);for(let[C,F]of Object.entries(o))v.set(C,F);u===null&&(u=new cl.PassThrough,u.end());let x=NP(t,E);if(!fU(x)&&x.length>0&&e.length>0){let{command:C}=x[x.length-1];for(;C.then;)C=C.then.line;let F=C.chain;for(;F.then;)F=F.then.chain;F.type==="command"&&(F.args=F.args.concat(e.map(N=>({type:"argument",segments:[{type:"text",text:N}]}))))}return await Hb(x,{args:e,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:E},{cwd:a,environment:I,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var ace,lce,cl,cce,got,mot,Q1=Et(()=>{Dt();Nl();ace=Ze(BL()),lce=ve("os"),cl=ve("stream"),cce=ve("timers/promises");Yle();Wle();Vle();uU();uU();got=new Map([["cd",async([t=(0,lce.homedir)(),...e],r,o)=>{let a=z.resolve(o.cwd,ue.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new ll(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new ll(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${ue.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new ll("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new ll(`sleep: invalid time interval '${t}'`);return await(0,cce.setTimeout)(1e3*o,0)}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await Mb(o,{stdin:new Xl(r.stdin),stdout:new Xl(r.stdout),stderr:new Xl(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let I=t[h++],{type:v,fd:x}=JSON.parse(I),C=J=>{switch(x){case null:case 0:u.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},F=J=>{switch(x){case null:case 1:A.push(J);break;case 2:p.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},N=Number(t[h++]),U=h+N;for(let J=h;Je.baseFs.createReadStream(z.resolve(r.cwd,ue.toPortablePath(t[J]))));break;case"<<<":C(()=>{let te=new cl.PassThrough;return process.nextTick(()=>{te.write(`${t[J]} +`),te.end()}),te});break;case"<&":C(()=>nce(Number(t[J]),1,r));break;case">":case">>":{let te=z.resolve(r.cwd,ue.toPortablePath(t[J]));F(te==="/dev/null"?new cl.Writable({autoDestroy:!0,emitClose:!0,write(ae,le,ce){setImmediate(ce)}}):e.baseFs.createWriteStream(te,v===">>"?{flags:"a"}:void 0))}break;case">&":F(nce(Number(t[J]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let I=new cl.PassThrough;o=I;let v=x=>{if(x===u.length)I.end();else{let C=u[x]();C.pipe(I,{end:!1}),C.on("end",()=>{v(x+1)})}};v(0)}if(A.length>0){let I=new cl.PassThrough;a=I;for(let v of A)I.pipe(v)}if(p.length>0){let I=new cl.PassThrough;n=I;for(let v of p)I.pipe(v)}let E=await Mb(F1(t.slice(h+1),e,r),{stdin:new Xl(o),stdout:new Xl(a),stderr:new Xl(n)}).run();return await Promise.all(A.map(I=>new Promise((v,x)=>{I.on("error",C=>{x(C)}),I.on("close",()=>{v()}),I.end()}))),await Promise.all(p.map(I=>new Promise((v,x)=>{I.on("error",C=>{x(C)}),I.on("close",()=>{v()}),I.end()}))),E}]]);mot={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var qb=_((s4t,fce)=>{function Iot(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r{var pce=hd(),Bot=qb(),vot=ql(),Pot=AE(),Dot=1/0,hce=pce?pce.prototype:void 0,gce=hce?hce.toString:void 0;function dce(t){if(typeof t=="string")return t;if(vot(t))return Bot(t,dce)+"";if(Pot(t))return gce?gce.call(t):"";var e=t+"";return e=="0"&&1/t==-Dot?"-0":e}mce.exports=dce});var N1=_((a4t,Ece)=>{var Sot=yce();function bot(t){return t==null?"":Sot(t)}Ece.exports=bot});var pU=_((l4t,Cce)=>{function xot(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o{var kot=pU();function Qot(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:kot(t,e,r)}wce.exports=Qot});var hU=_((u4t,Bce)=>{var Rot="\\ud800-\\udfff",Fot="\\u0300-\\u036f",Tot="\\ufe20-\\ufe2f",Lot="\\u20d0-\\u20ff",Not=Fot+Tot+Lot,Oot="\\ufe0e\\ufe0f",Mot="\\u200d",Uot=RegExp("["+Mot+Rot+Not+Oot+"]");function _ot(t){return Uot.test(t)}Bce.exports=_ot});var Pce=_((A4t,vce)=>{function Hot(t){return t.split("")}vce.exports=Hot});var Fce=_((f4t,Rce)=>{var Dce="\\ud800-\\udfff",qot="\\u0300-\\u036f",Got="\\ufe20-\\ufe2f",jot="\\u20d0-\\u20ff",Yot=qot+Got+jot,Wot="\\ufe0e\\ufe0f",Kot="["+Dce+"]",gU="["+Yot+"]",dU="\\ud83c[\\udffb-\\udfff]",zot="(?:"+gU+"|"+dU+")",Sce="[^"+Dce+"]",bce="(?:\\ud83c[\\udde6-\\uddff]){2}",xce="[\\ud800-\\udbff][\\udc00-\\udfff]",Jot="\\u200d",kce=zot+"?",Qce="["+Wot+"]?",Vot="(?:"+Jot+"(?:"+[Sce,bce,xce].join("|")+")"+Qce+kce+")*",Xot=Qce+kce+Vot,Zot="(?:"+[Sce+gU+"?",gU,bce,xce,Kot].join("|")+")",$ot=RegExp(dU+"(?="+dU+")|"+Zot+Xot,"g");function eat(t){return t.match($ot)||[]}Rce.exports=eat});var Lce=_((p4t,Tce)=>{var tat=Pce(),rat=hU(),nat=Fce();function iat(t){return rat(t)?nat(t):tat(t)}Tce.exports=iat});var Oce=_((h4t,Nce)=>{var sat=Ice(),oat=hU(),aat=Lce(),lat=N1();function cat(t){return function(e){e=lat(e);var r=oat(e)?aat(e):void 0,o=r?r[0]:e.charAt(0),a=r?sat(r,1).join(""):e.slice(1);return o[t]()+a}}Nce.exports=cat});var Uce=_((g4t,Mce)=>{var uat=Oce(),Aat=uat("toUpperCase");Mce.exports=Aat});var mU=_((d4t,_ce)=>{var fat=N1(),pat=Uce();function hat(t){return pat(fat(t).toLowerCase())}_ce.exports=hat});var Hce=_((m4t,Gb)=>{function gat(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,E=10,I=11,v=12,x=13,C=14,F=15,N=16,U=17,J=0,te=1,ae=2,le=3,ce=4;function we(g,me){return 55296<=g.charCodeAt(me)&&g.charCodeAt(me)<=56319&&56320<=g.charCodeAt(me+1)&&g.charCodeAt(me+1)<=57343}function de(g,me){me===void 0&&(me=0);var Ce=g.charCodeAt(me);if(55296<=Ce&&Ce<=56319&&me=1){var Ae=g.charCodeAt(me-1),ne=Ce;return 55296<=Ae&&Ae<=56319?(Ae-55296)*1024+(ne-56320)+65536:ne}return Ce}function Be(g,me,Ce){var Ae=[g].concat(me).concat([Ce]),ne=Ae[Ae.length-2],Z=Ce,xe=Ae.lastIndexOf(C);if(xe>1&&Ae.slice(1,xe).every(function(H){return H==o})&&[o,x,U].indexOf(g)==-1)return ae;var Le=Ae.lastIndexOf(a);if(Le>0&&Ae.slice(1,Le).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return Ae.filter(function(H){return H==a}).length%2==1?le:ce;if(ne==t&&Z==e)return J;if(ne==r||ne==t||ne==e)return Z==C&&me.every(function(H){return H==o})?ae:te;if(Z==r||Z==t||Z==e)return te;if(ne==u&&(Z==u||Z==A||Z==h||Z==E))return J;if((ne==h||ne==A)&&(Z==A||Z==p))return J;if((ne==E||ne==p)&&Z==p)return J;if(Z==o||Z==F)return J;if(Z==n)return J;if(ne==v)return J;var ht=Ae.indexOf(o)!=-1?Ae.lastIndexOf(o)-1:Ae.length-2;return[x,U].indexOf(Ae[ht])!=-1&&Ae.slice(ht+1,-1).every(function(H){return H==o})&&Z==C||ne==F&&[N,U].indexOf(Z)!=-1?J:me.indexOf(a)!=-1?ae:ne==a&&Z==a?J:te}this.nextBreak=function(g,me){if(me===void 0&&(me=0),me<0)return 0;if(me>=g.length-1)return g.length;for(var Ce=Ee(de(g,me)),Ae=[],ne=me+1;ne{var dat=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,jb;function mat(){if(jb)return jb;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return jb=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=Hce(),e=new t;return jb=r=>e.splitGraphemes(r)}}qce.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(dat)||[t,t,void 0],p=mat()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(o-u,p.length);a+=p.slice(0,E).join(""),n+=h,u+=E,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});var nn,O1=Et(()=>{nn=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.3.1"});function Jce(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Ku(t===null?0:t);return!r&&t===null?Ut(e,a,"grey"):a}function yU(t,{configuration:e,json:r}){let o=Jce(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=wr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Vy(e,o,n)}async function TE({configuration:t,stdout:e,forceError:r},o){let a=await Ft.start({configuration:t,stdout:e,includeFooter:!1},async n=>{let u=!1,A=!1;for(let p of o)typeof p.option<"u"&&(p.error||r?(A=!0,n.reportError(50,p.message)):(u=!0,n.reportWarning(50,p.message)),p.callback?.());u&&!A&&n.reportSeparator()});return a.hasErrors()?a.exitCode():null}var Kce,Yb,yat,jce,Yce,fh,zce,Wce,Eat,Cat,Wb,wat,Ft,M1=Et(()=>{Kce=Ze(Gce()),Yb=Ze(rd());pD();Wl();O1();jl();yat="\xB7",jce=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Yce=80,fh=Yb.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Yb.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Yb.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,zce=fh!==null,Wce=new Date,Eat=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,Cat=t=>t,Wb=Cat({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),wat=Eat&&Object.keys(Wb).find(t=>{let e=Wb[t];return!(e.date&&(e.date[0]!==Wce.getDate()||e.date[1]!==Wce.getMonth()+1))})||"default";Ft=class extends Xs{constructor({configuration:r,stdout:o,json:a=!1,forceSectionAlignment:n=!1,includeNames:u=!0,includePrefix:A=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:E=h,includeWarnings:I=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(XI(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=u,this.includePrefix=A,this.includeFooter=p,this.includeInfos=E,this.includeWarnings=I,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let v=r.get("progressBarStyle")||wat;if(!Object.hasOwn(Wb,v))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Wb[v];let x=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*x/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,yd(r.configuration,`Yarn ${nn}`,2));try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let o=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,o-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,fh!==null&&!this.json&&this.includeInfos&&this.stdout.write(fh.start(r))},reportFooter:A=>{if(this.indent-=1,fh!==null&&!this.json&&this.includeInfos){this.stdout.write(fh.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Ut(this.configuration,A,yt.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,o)),this.reportErrorImpl(r,o)}reportErrorImpl(r,o){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportFold(r,o){if(!fh)return;let a=`${fh.start(r)}${o}${fh.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Ut(this.configuration,Date.now()-this.startTime,yt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} +`),this.writeProgress()}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} +`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>Yce&&(this.progressFrame=(this.progressFrame+1)%jce.length,this.progressTime=r);let o=jce[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Ut(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},Yce)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,Kce.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?Jce(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Ut(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?yU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${yat} `}}});var An={};zt(An,{PackageManager:()=>Zce,detectPackageManager:()=>$ce,executePackageAccessibleBinary:()=>iue,executePackageScript:()=>Kb,executePackageShellcode:()=>EU,executeWorkspaceAccessibleBinary:()=>bat,executeWorkspaceLifecycleScript:()=>rue,executeWorkspaceScript:()=>tue,getPackageAccessibleBinaries:()=>zb,getWorkspaceAccessibleBinaries:()=>nue,hasPackageScript:()=>Pat,hasWorkspaceScript:()=>CU,isNodeScript:()=>wU,makeScriptEnv:()=>U1,maybeExecuteWorkspaceLifecycleScript:()=>Sat,prepareExternalProject:()=>vat});async function ph(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await oe.writeFilePromise(z.format({dir:t,name:e,ext:".cmd"}),a)}await oe.writeFilePromise(z.join(t,e),`#!/bin/sh +exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function $ce(t){let e=await Ot.tryFind(t);if(e?.packageManager){let o=_S(e.packageManager);if(o?.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await oe.readFilePromise(z.join(t,dr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:oe.existsSync(z.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:oe.existsSync(z.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function U1({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a,baseEnv:n=t?.configuration.env??process.env}){let u={};for(let[E,I]of Object.entries(n))typeof I<"u"&&(u[E.toLowerCase()!=="path"?E:"PATH"]=I);let A=ue.fromPortablePath(r);u.BERRY_BIN_FOLDER=ue.fromPortablePath(A);let p=process.env.COREPACK_ROOT&&!o?ue.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([ph(r,"node",process.execPath),...nn!==null?[ph(r,"run",process.execPath,[p,"run"]),ph(r,"yarn",process.execPath,[p]),ph(r,"yarnpkg",process.execPath,[p]),ph(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),t&&(u.INIT_CWD=ue.fromPortablePath(t.configuration.startingCwd),u.PROJECT_CWD=ue.fromPortablePath(t.cwd)),u.PATH=u.PATH?`${A}${ue.delimiter}${u.PATH}`:`${A}`,u.npm_execpath=`${A}${ue.sep}yarn`,u.npm_node_execpath=`${A}${ue.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let E=t.tryWorkspaceByLocator(e),I=E?E.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";u.npm_package_name=rn(e),u.npm_package_version=I;let v;if(E)v=E.cwd;else{let x=t.storedPackages.get(e.locatorHash);if(!x)throw new Error(`Package for ${qr(t.configuration,e)} not found in the project`);let C=t.configuration.getLinkers(),F={project:t,report:new Ft({stdout:new hh.PassThrough,configuration:t.configuration})},N=C.find(U=>U.supportsPackage(x,F));if(!N)throw new Error(`The package ${qr(t.configuration,x)} isn't supported by any of the available linkers`);v=await N.findPackageLocation(x,F)}u.npm_package_json=ue.fromPortablePath(z.join(v,dr.manifest))}let h=nn!==null?`yarn/${nn}`:`yarn/${Pf("@yarnpkg/core").version}-core`;return u.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(u.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(E=>E.setupScriptEnvironment,t,u,async(E,I,v)=>await ph(r,E,I,v)),u}async function vat(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await Bat(async()=>{await oe.mktempPromise(async u=>{let A=z.join(u,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(A,{prefix:ue.fromPortablePath(t),report:o}),I=n&&qc(n)?r1(n):n,v=I?ba(I):"an external project";h.write(`Packing ${v} from sources +`);let x=await $ce(t),C;x!==null?(h.write(`Using ${x.packageManager} for bootstrap. Reason: ${x.reason} + +`),C=x.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn + +`),C="Yarn");let F=C==="Yarn"&&!x?.packageManagerField;await oe.mktempPromise(async N=>{let U=await U1({binFolder:N,ignoreCorepack:F}),te=new Map([["Yarn Classic",async()=>{let le=a!==null?["workspace",a]:[],ce=z.join(t,dr.manifest),we=await oe.readFilePromise(ce),de=await Yc(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(de.code!==0)return de.code;await oe.writeFilePromise(ce,we),await oe.appendFilePromise(z.join(t,".npmignore"),`/.yarn +`),h.write(` +`),delete U.NODE_ENV;let Be=await Yc("yarn",["install"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(Be.code!==0)return Be.code;h.write(` +`);let Ee=await Yc("yarn",[...le,"pack","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return Ee.code!==0?Ee.code:0}],["Yarn",async()=>{let le=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ce=z.join(t,dr.lockfile);await oe.existsPromise(ce)||await oe.writeFilePromise(ce,"");let we=await Yc("yarn",[...le,"pack","--install-if-needed","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return we.code!==0?we.code:0}],["npm",async()=>{if(a!==null){let me=new hh.PassThrough,Ce=Wy(me);me.pipe(h,{end:!1});let Ae=await Yc("npm",["--version"],{cwd:t,env:U,stdin:p,stdout:me,stderr:E,end:0});if(me.end(),Ae.code!==0)return h.end(),E.end(),Ae.code;let ne=(await Ce).toString().trim();if(!kf(ne,">=7.x")){let Z=tA(null,"npm"),xe=In(Z,ne),Le=In(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${Gn(r,xe)}; please upgrade to ${Gn(r,Le)} (npm has been detected as the primary package manager for ${Ut(r,t,yt.PATH)})`)}}let le=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ce=await Yc("npm",["install","--legacy-peer-deps"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ce.code!==0)return ce.code;let we=new hh.PassThrough,de=Wy(we);we.pipe(h);let Be=await Yc("npm",["pack","--silent",...le],{cwd:t,env:U,stdin:p,stdout:we,stderr:E});if(Be.code!==0)return Be.code;let Ee=(await de).toString().trim().replace(/^.*\n/s,""),g=z.resolve(t,ue.toPortablePath(Ee));return await oe.renamePromise(g,e),0}]]).get(C);if(typeof te>"u")throw new Error("Assertion failed: Unsupported workflow");let ae=await te();if(!(ae===0||typeof ae>"u"))throw oe.detachTemp(u),new Vt(58,`Packing the package failed (exit code ${ae}, logs can be found here: ${Ut(r,A,yt.PATH)})`)})})})}async function Pat(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return CU(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${qr(r.configuration,t)} not found in the project`);return await Vl.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Ft({stdout:new hh.PassThrough,configuration:u})},h=A.find(x=>x.supportsPackage(a,p));if(!h)throw new Error(`The package ${qr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),I=new gn(E,{baseFs:n});return(await Ot.find(Bt.dot,{baseFs:I})).scripts.has(e)})}async function Kb(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await oe.mktempPromise(async p=>{let{manifest:h,env:E,cwd:I}=await eue(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),v=h.scripts.get(e);if(typeof v>"u")return 1;let x=async()=>await RE(v,r,{cwd:I,env:E,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(F=>F.wrapScriptExecution,x,a,t,e,{script:v,args:r,cwd:I,env:E,stdin:n,stdout:u,stderr:A}))()})}async function EU(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await oe.mktempPromise(async p=>{let{env:h,cwd:E}=await eue(t,{project:a,binFolder:p,cwd:o});return await RE(e,r,{cwd:E,env:h,stdin:n,stdout:u,stderr:A})})}async function Dat(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await U1({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await IU(e,await nue(t)),typeof r>"u"&&(r=z.dirname(await oe.realpathPromise(z.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function eue(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Dat(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${qr(e.configuration,t)} not found in the project`);return await Vl.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Ft({stdout:new hh.PassThrough,configuration:p})},I=h.find(N=>N.supportsPackage(u,E));if(!I)throw new Error(`The package ${qr(e.configuration,u)} isn't supported by any of the available linkers`);let v=await U1({project:e,locator:t,binFolder:r,lifecycleScript:a});await IU(r,await zb(t,{project:e}));let x=await I.findPackageLocation(u,E),C=new gn(x,{baseFs:A}),F=await Ot.find(Bt.dot,{baseFs:C});return typeof o>"u"&&(o=x),{manifest:F,binFolder:r,env:v,cwd:o}})}async function tue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Kb(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function CU(t,e){return t.manifest.scripts.has(e)}async function rue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await oe.mktempPromise(async u=>{let A=z.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${ue.fromPortablePath(t.cwd)}") +`,{stdout:h,stderr:E}=a.getSubprocessStreams(A,{report:o,prefix:qr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let I=await tue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),I!==0)throw oe.detachTemp(u),new Vt(36,`${(0,Vce.default)(e)} script failed (exit code ${Ut(a,I,yt.NUMBER)}, logs can be found here: ${Ut(a,A,yt.PATH)}); run ${Ut(a,`yarn ${e}`,yt.CODE)} to investigate`)})}async function Sat(t,e,r){CU(t,e)&&await rue(t,e,r)}function wU(t){let e=z.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let r=Buffer.alloc(4),o;try{o=oe.openSync(t,"r")}catch{return!0}try{oe.readSync(o,r,0,r.length,0)}finally{oe.closeSync(o)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function zb(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${qr(r,t)} not found in the project`);let n=new hh.Writable,u=r.getLinkers(),A={project:e,report:new Ft({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let I=e.storedResolutions.get(E.descriptorHash);if(!I)throw new Error(`Assertion failed: The resolution (${Gn(r,E)}) should have been registered`);p.add(I)}let h=await Promise.all(Array.from(p,async E=>{let I=e.storedPackages.get(E);if(!I)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(I.bin.size===0)return ol.skip;let v=u.find(C=>C.supportsPackage(I,A));if(!v)return ol.skip;let x=null;try{x=await v.findPackageLocation(I,A)}catch(C){if(C.code==="LOCATOR_NOT_INSTALLED")return ol.skip;throw C}return{dependency:I,packageLocation:x}}));for(let E of h){if(E===ol.skip)continue;let{dependency:I,packageLocation:v}=E;for(let[x,C]of I.bin){let F=z.resolve(v,C);o.set(x,[I,ue.fromPortablePath(F),wU(F)])}}return o}async function nue(t){return await zb(t.anchoredLocator,{project:t.project})}async function IU(t,e){await Promise.all(Array.from(e,([r,[,o,a]])=>a?ph(t,r,process.execPath,[o]):ph(t,r,o,[])))}async function iue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await zb(t,{project:a});let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${qr(a.configuration,t)}`);return await oe.mktempPromise(async I=>{let[,v]=E,x=await U1({project:a,locator:t,binFolder:I});await IU(x.BERRY_BIN_FOLDER,h);let C=wU(ue.toPortablePath(v))?Yc(process.execPath,[...p,v,...r],{cwd:o,env:x,stdin:n,stdout:u,stderr:A}):Yc(v,r,{cwd:o,env:x,stdin:n,stdout:u,stderr:A}),F;try{F=await C}finally{await oe.removePromise(x.BERRY_BIN_FOLDER)}return F.code})}async function bat(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await iue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var Vce,Xce,hh,Zce,Iat,Bat,BU=Et(()=>{Dt();Dt();iA();Q1();Vce=Ze(mU()),Xce=Ze(sd()),hh=ve("stream");uE();Wl();M1();O1();Db();jl();Gl();Qf();So();Zce=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(Zce||{});Iat=2,Bat=(0,Xce.default)(Iat)});var LE=_((U4t,oue)=>{"use strict";var sue=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);oue.exports=t=>t?Object.keys(t).map(e=>[sue.has(e)?sue.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var OE=_((_4t,gue)=>{"use strict";var aue=typeof process=="object"&&process?process:{stdout:null,stderr:null},xat=ve("events"),lue=ve("stream"),cue=ve("string_decoder").StringDecoder,Mf=Symbol("EOF"),Uf=Symbol("maybeEmitEnd"),gh=Symbol("emittedEnd"),Jb=Symbol("emittingEnd"),_1=Symbol("emittedError"),Vb=Symbol("closed"),uue=Symbol("read"),Xb=Symbol("flush"),Aue=Symbol("flushChunk"),ka=Symbol("encoding"),_f=Symbol("decoder"),Zb=Symbol("flowing"),H1=Symbol("paused"),NE=Symbol("resume"),Ts=Symbol("bufferLength"),vU=Symbol("bufferPush"),PU=Symbol("bufferShift"),Qo=Symbol("objectMode"),Ro=Symbol("destroyed"),DU=Symbol("emitData"),fue=Symbol("emitEnd"),SU=Symbol("emitEnd2"),Hf=Symbol("async"),q1=t=>Promise.resolve().then(t),pue=global._MP_NO_ITERATOR_SYMBOLS_!=="1",kat=pue&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Qat=pue&&Symbol.iterator||Symbol("iterator not implemented"),Rat=t=>t==="end"||t==="finish"||t==="prefinish",Fat=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Tat=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),$b=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[NE](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},bU=class extends $b{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};gue.exports=class hue extends lue{constructor(e){super(),this[Zb]=!1,this[H1]=!1,this.pipes=[],this.buffer=[],this[Qo]=e&&e.objectMode||!1,this[Qo]?this[ka]=null:this[ka]=e&&e.encoding||null,this[ka]==="buffer"&&(this[ka]=null),this[Hf]=e&&!!e.async||!1,this[_f]=this[ka]?new cue(this[ka]):null,this[Mf]=!1,this[gh]=!1,this[Jb]=!1,this[Vb]=!1,this[_1]=null,this.writable=!0,this.readable=!0,this[Ts]=0,this[Ro]=!1}get bufferLength(){return this[Ts]}get encoding(){return this[ka]}set encoding(e){if(this[Qo])throw new Error("cannot set encoding in objectMode");if(this[ka]&&e!==this[ka]&&(this[_f]&&this[_f].lastNeed||this[Ts]))throw new Error("cannot change encoding");this[ka]!==e&&(this[_f]=e?new cue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[_f].write(r)))),this[ka]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Qo]}set objectMode(e){this[Qo]=this[Qo]||!!e}get async(){return this[Hf]}set async(e){this[Hf]=this[Hf]||!!e}write(e,r,o){if(this[Mf])throw new Error("write after end");if(this[Ro])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[Hf]?q1:n=>n();return!this[Qo]&&!Buffer.isBuffer(e)&&(Tat(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Fat(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Qo]?(this.flowing&&this[Ts]!==0&&this[Xb](!0),this.flowing?this.emit("data",e):this[vU](e),this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[ka]&&!this[_f].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[ka]&&(e=this[_f].write(e)),this.flowing&&this[Ts]!==0&&this[Xb](!0),this.flowing?this.emit("data",e):this[vU](e),this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Ro])return null;if(this[Ts]===0||e===0||e>this[Ts])return this[Uf](),null;this[Qo]&&(e=null),this.buffer.length>1&&!this[Qo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ts])]);let r=this[uue](e||null,this.buffer[0]);return this[Uf](),r}[uue](e,r){return e===r.length||e===null?this[PU]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Ts]-=e),this.emit("data",r),!this.buffer.length&&!this[Mf]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Mf]=!0,this.writable=!1,(this.flowing||!this[H1])&&this[Uf](),this}[NE](){this[Ro]||(this[H1]=!1,this[Zb]=!0,this.emit("resume"),this.buffer.length?this[Xb]():this[Mf]?this[Uf]():this.emit("drain"))}resume(){return this[NE]()}pause(){this[Zb]=!1,this[H1]=!0}get destroyed(){return this[Ro]}get flowing(){return this[Zb]}get paused(){return this[H1]}[vU](e){this[Qo]?this[Ts]+=1:this[Ts]+=e.length,this.buffer.push(e)}[PU](){return this.buffer.length&&(this[Qo]?this[Ts]-=1:this[Ts]-=this.buffer[0].length),this.buffer.shift()}[Xb](e){do;while(this[Aue](this[PU]()));!e&&!this.buffer.length&&!this[Mf]&&this.emit("drain")}[Aue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Ro])return;let o=this[gh];return r=r||{},e===aue.stdout||e===aue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new bU(this,e,r):new $b(this,e,r)),this[Hf]?q1(()=>this[NE]()):this[NE]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[NE]():e==="readable"&&this[Ts]!==0?super.emit("readable"):Rat(e)&&this[gh]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[_1]&&(this[Hf]?q1(()=>r.call(this,this[_1])):r.call(this,this[_1])),o}get emittedEnd(){return this[gh]}[Uf](){!this[Jb]&&!this[gh]&&!this[Ro]&&this.buffer.length===0&&this[Mf]&&(this[Jb]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Vb]&&this.emit("close"),this[Jb]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Ro&&this[Ro])return;if(e==="data")return r?this[Hf]?q1(()=>this[DU](r)):this[DU](r):!1;if(e==="end")return this[fue]();if(e==="close"){if(this[Vb]=!0,!this[gh]&&!this[Ro])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[_1]=r;let n=super.emit("error",r);return this[Uf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Uf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Uf](),a}[DU](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Uf](),r}[fue](){this[gh]||(this[gh]=!0,this.readable=!1,this[Hf]?q1(()=>this[SU]()):this[SU]())}[SU](){if(this[_f]){let r=this[_f].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Qo]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[Qo]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[Qo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Qo]?Promise.reject(new Error("cannot concat in objectMode")):this[ka]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Ro,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[kat](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Mf])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Mf]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,o=h,this.once(Ro,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[Qat](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Ro]?(e?this.emit("error",e):this.emit(Ro),this):(this[Ro]=!0,this.buffer.length=0,this[Ts]=0,typeof this.close=="function"&&!this[Vb]&&this.close(),e?this.emit("error",e):this.emit(Ro),this)}static isStream(e){return!!e&&(e instanceof hue||e instanceof lue||e instanceof xat&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var mue=_((H4t,due)=>{var Lat=ve("zlib").constants||{ZLIB_VERNUM:4736};due.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Lat))});var jU=_(ul=>{"use strict";var FU=ve("assert"),dh=ve("buffer").Buffer,Cue=ve("zlib"),Rd=ul.constants=mue(),Nat=OE(),yue=dh.concat,Fd=Symbol("_superWrite"),UE=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Oat=Symbol("opts"),G1=Symbol("flushFlag"),Eue=Symbol("finishFlushFlag"),GU=Symbol("fullFlushFlag"),ti=Symbol("handle"),ex=Symbol("onError"),ME=Symbol("sawError"),xU=Symbol("level"),kU=Symbol("strategy"),QU=Symbol("ended"),q4t=Symbol("_defaultFullFlush"),tx=class extends Nat{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[ME]=!1,this[QU]=!1,this[Oat]=e,this[G1]=e.flush,this[Eue]=e.finishFlush;try{this[ti]=new Cue[r](e)}catch(o){throw new UE(o)}this[ex]=o=>{this[ME]||(this[ME]=!0,this.close(),this.emit("error",o))},this[ti].on("error",o=>this[ex](new UE(o))),this.once("end",()=>this.close)}close(){this[ti]&&(this[ti].close(),this[ti]=null,this.emit("close"))}reset(){if(!this[ME])return FU(this[ti],"zlib binding closed"),this[ti].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[GU]),this.write(Object.assign(dh.alloc(0),{[G1]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[Eue]),this[QU]=!0,super.end(null,null,o)}get ended(){return this[QU]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=dh.from(e,r)),this[ME])return;FU(this[ti],"zlib binding closed");let a=this[ti]._handle,n=a.close;a.close=()=>{};let u=this[ti].close;this[ti].close=()=>{},dh.concat=h=>h;let A;try{let h=typeof e[G1]=="number"?e[G1]:this[G1];A=this[ti]._processChunk(e,h),dh.concat=yue}catch(h){dh.concat=yue,this[ex](new UE(h))}finally{this[ti]&&(this[ti]._handle=a,a.close=n,this[ti].close=u,this[ti].removeAllListeners("error"))}this[ti]&&this[ti].on("error",h=>this[ex](new UE(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Fd](dh.from(A[0]));for(let h=1;h{this.flush(a),n()};try{this[ti].params(e,r)}finally{this[ti].flush=o}this[ti]&&(this[xU]=e,this[kU]=r)}}}},TU=class extends qf{constructor(e){super(e,"Deflate")}},LU=class extends qf{constructor(e){super(e,"Inflate")}},RU=Symbol("_portable"),NU=class extends qf{constructor(e){super(e,"Gzip"),this[RU]=e&&!!e.portable}[Fd](e){return this[RU]?(this[RU]=!1,e[9]=255,super[Fd](e)):super[Fd](e)}},OU=class extends qf{constructor(e){super(e,"Gunzip")}},MU=class extends qf{constructor(e){super(e,"DeflateRaw")}},UU=class extends qf{constructor(e){super(e,"InflateRaw")}},_U=class extends qf{constructor(e){super(e,"Unzip")}},rx=class extends tx{constructor(e,r){e=e||{},e.flush=e.flush||Rd.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Rd.BROTLI_OPERATION_FINISH,super(e,r),this[GU]=Rd.BROTLI_OPERATION_FLUSH}},HU=class extends rx{constructor(e){super(e,"BrotliCompress")}},qU=class extends rx{constructor(e){super(e,"BrotliDecompress")}};ul.Deflate=TU;ul.Inflate=LU;ul.Gzip=NU;ul.Gunzip=OU;ul.DeflateRaw=MU;ul.InflateRaw=UU;ul.Unzip=_U;typeof Cue.BrotliCompress=="function"?(ul.BrotliCompress=HU,ul.BrotliDecompress=qU):ul.BrotliCompress=ul.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var _E=_((Y4t,wue)=>{var Mat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;wue.exports=Mat!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var nx=_((K4t,Iue)=>{"use strict";var Uat=OE(),YU=_E(),WU=Symbol("slurp");Iue.exports=class extends Uat{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=YU(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=YU(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[WU](r),o&&this[WU](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[WU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?YU(e[o]):e[o])}}});var KU=_(ix=>{"use strict";ix.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);ix.code=new Map(Array.from(ix.name).map(t=>[t[1],t[0]]))});var Due=_((J4t,Pue)=>{"use strict";var _at=(t,e)=>{if(Number.isSafeInteger(t))t<0?qat(t,e):Hat(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Hat=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},qat=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=Bue(a):a===0?e[o-1]=0:(r=!0,e[o-1]=vue(a))}},Gat=t=>{let e=t[0],r=e===128?Yat(t.slice(1,t.length)):e===255?jat(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},jat=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=Bue(n):n===0?u=n:(o=!0,u=vue(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},Yat=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},Bue=t=>(255^t)&255,vue=t=>(255^t)+1&255;Pue.exports={encode:_at,parse:Gat}});var qE=_((V4t,bue)=>{"use strict";var zU=KU(),HE=ve("path").posix,Sue=Due(),JU=Symbol("slurp"),Al=Symbol("type"),ZU=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Al]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Td(e,r,100),this.mode=mh(e,r+100,8),this.uid=mh(e,r+108,8),this.gid=mh(e,r+116,8),this.size=mh(e,r+124,12),this.mtime=VU(e,r+136,12),this.cksum=mh(e,r+148,12),this[JU](o),this[JU](a,!0),this[Al]=Td(e,r+156,1),this[Al]===""&&(this[Al]="0"),this[Al]==="0"&&this.path.substr(-1)==="/"&&(this[Al]="5"),this[Al]==="5"&&(this.size=0),this.linkpath=Td(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Td(e,r+265,32),this.gname=Td(e,r+297,32),this.devmaj=mh(e,r+329,8),this.devmin=mh(e,r+337,8),e[r+475]!==0){let u=Td(e,r+345,155);this.path=u+"/"+this.path}else{let u=Td(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=VU(e,r+476,12),this.ctime=VU(e,r+488,12)}let n=8*32;for(let u=r;u=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=Wat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Ld(e,r,100,n)||this.needPax,this.needPax=yh(e,r+100,8,this.mode)||this.needPax,this.needPax=yh(e,r+108,8,this.uid)||this.needPax,this.needPax=yh(e,r+116,8,this.gid)||this.needPax,this.needPax=yh(e,r+124,12,this.size)||this.needPax,this.needPax=XU(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Al].charCodeAt(0),this.needPax=Ld(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Ld(e,r+265,32,this.uname)||this.needPax,this.needPax=Ld(e,r+297,32,this.gname)||this.needPax,this.needPax=yh(e,r+329,8,this.devmaj)||this.needPax,this.needPax=yh(e,r+337,8,this.devmin)||this.needPax,this.needPax=Ld(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Ld(e,r+345,155,u)||this.needPax:(this.needPax=Ld(e,r+345,130,u)||this.needPax,this.needPax=XU(e,r+476,12,this.atime)||this.needPax,this.needPax=XU(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p{let o=t,a="",n,u=HE.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=HE.dirname(o),o=HE.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,100-1),a,!0]:(o=HE.join(HE.basename(a),o),a=HE.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,100-1),"",!0])}return n},Td=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),VU=(t,e,r)=>Kat(mh(t,e,r)),Kat=t=>t===null?null:new Date(t*1e3),mh=(t,e,r)=>t[e]&128?Sue.parse(t.slice(e,e+r)):Jat(t,e,r),zat=t=>isNaN(t)?null:t,Jat=(t,e,r)=>zat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),Vat={12:8589934591,8:2097151},yh=(t,e,r,o)=>o===null?!1:o>Vat[r]||o<0?(Sue.encode(o,t.slice(e,e+r)),!0):(Xat(t,e,r,o),!1),Xat=(t,e,r,o)=>t.write(Zat(o,r),e,r,"ascii"),Zat=(t,e)=>$at(Math.floor(t).toString(8),e),$at=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",XU=(t,e,r,o)=>o===null?!1:yh(t,e,r,o.getTime()/1e3),elt=new Array(156).join("\0"),Ld=(t,e,r,o)=>o===null?!1:(t.write(o+elt,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);bue.exports=ZU});var sx=_((X4t,xue)=>{"use strict";var tlt=qE(),rlt=ve("path"),j1=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new tlt({path:("PaxHeader/"+rlt.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n=Math.pow(10,n)&&(n+=1),n+a+o}};j1.parse=(t,e,r)=>new j1(nlt(ilt(t),e),r);var nlt=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,ilt=t=>t.replace(/\n$/,"").split(` +`).reduce(slt,Object.create(null)),slt=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};xue.exports=j1});var GE=_((Z4t,kue)=>{kue.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var ox=_(($4t,Que)=>{"use strict";Que.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var e3=_((tUt,Rue)=>{"use strict";var ax=["|","<",">","?",":"],$U=ax.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),olt=new Map(ax.map((t,e)=>[t,$U[e]])),alt=new Map($U.map((t,e)=>[t,ax[e]]));Rue.exports={encode:t=>ax.reduce((e,r)=>e.split(r).join(olt.get(r)),t),decode:t=>$U.reduce((e,r)=>e.split(r).join(alt.get(r)),t)}});var t3=_((rUt,Tue)=>{var{isAbsolute:llt,parse:Fue}=ve("path").win32;Tue.exports=t=>{let e="",r=Fue(t);for(;llt(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=Fue(t)}return[e,t]}});var Nue=_((nUt,Lue)=>{"use strict";Lue.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var A3=_((oUt,Vue)=>{"use strict";var Gue=OE(),jue=sx(),Yue=qE(),aA=ve("fs"),Oue=ve("path"),oA=_E(),clt=GE(),Wue=(t,e)=>e?(t=oA(t).replace(/^\.(\/|$)/,""),clt(e)+"/"+t):oA(t),ult=16*1024*1024,Mue=Symbol("process"),Uue=Symbol("file"),_ue=Symbol("directory"),n3=Symbol("symlink"),Hue=Symbol("hardlink"),Y1=Symbol("header"),lx=Symbol("read"),i3=Symbol("lstat"),cx=Symbol("onlstat"),s3=Symbol("onread"),o3=Symbol("onreadlink"),a3=Symbol("openfile"),l3=Symbol("onopenfile"),Eh=Symbol("close"),ux=Symbol("mode"),c3=Symbol("awaitDrain"),r3=Symbol("ondrain"),lA=Symbol("prefix"),que=Symbol("hadError"),Kue=ox(),Alt=e3(),zue=t3(),Jue=Nue(),Ax=Kue(class extends Gue{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=oA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||ult,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=oA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?oA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=zue(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Alt.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=oA(r.absolute||Oue.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[cx](this.statCache.get(this.absolute)):this[i3]()}emit(e,...r){return e==="error"&&(this[que]=!0),super.emit(e,...r)}[i3](){aA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[cx](r)})}[cx](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=plt(e),this.emit("stat",e),this[Mue]()}[Mue](){switch(this.type){case"File":return this[Uue]();case"Directory":return this[_ue]();case"SymbolicLink":return this[n3]();default:return this.end()}}[ux](e){return Jue(e,this.type==="Directory",this.portable)}[lA](e){return Wue(e,this.prefix)}[Y1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new Yue({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this[ux](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new jue({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[_ue](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Y1](),this.end()}[n3](){aA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[o3](r)})}[o3](e){this.linkpath=oA(e),this[Y1](),this.end()}[Hue](e){this.type="Link",this.linkpath=oA(Oue.relative(this.cwd,e)),this.stat.size=0,this[Y1](),this.end()}[Uue](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[Hue](r)}this.linkCache.set(e,this.absolute)}if(this[Y1](),this.stat.size===0)return this.end();this[a3]()}[a3](){aA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[l3](r)})}[l3](e){if(this.fd=e,this[que])return this[Eh]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[lx]()}[lx](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;aA.read(e,r,o,a,n,(u,A)=>{if(u)return this[Eh](()=>this.emit("error",u));this[s3](A)})}[Eh](e){aA.close(this.fd,e)}[s3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[Eh](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[Eh](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;athis[r3]())}[c3](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[lx]()}}),u3=class extends Ax{[i3](){this[cx](aA.lstatSync(this.absolute))}[n3](){this[o3](aA.readlinkSync(this.absolute))}[a3](){this[l3](aA.openSync(this.absolute,"r"))}[lx](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=aA.readSync(r,o,a,n,u);this[s3](A),e=!1}finally{if(e)try{this[Eh](()=>{})}catch{}}}[c3](e){e()}[Eh](e){aA.closeSync(this.fd),e()}},flt=Kue(class extends Gue{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=oA(e.path),this.mode=this[ux](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=oA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=zue(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new Yue({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new jue({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[lA](e){return Wue(e,this.prefix)}[ux](e){return Jue(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});Ax.Sync=u3;Ax.Tar=flt;var plt=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";Vue.exports=Ax});var Cx=_((lUt,nAe)=>{"use strict";var yx=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},hlt=OE(),glt=jU(),dlt=nx(),C3=A3(),mlt=C3.Sync,ylt=C3.Tar,Elt=BD(),Xue=Buffer.alloc(1024),hx=Symbol("onStat"),fx=Symbol("ended"),cA=Symbol("queue"),jE=Symbol("current"),Nd=Symbol("process"),px=Symbol("processing"),Zue=Symbol("processJob"),uA=Symbol("jobs"),f3=Symbol("jobDone"),gx=Symbol("addFSEntry"),$ue=Symbol("addTarEntry"),d3=Symbol("stat"),m3=Symbol("readdir"),dx=Symbol("onreaddir"),mx=Symbol("pipe"),eAe=Symbol("entry"),p3=Symbol("entryOpt"),y3=Symbol("writeEntryClass"),rAe=Symbol("write"),h3=Symbol("ondrain"),Ex=ve("fs"),tAe=ve("path"),Clt=ox(),g3=_E(),w3=Clt(class extends hlt{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=g3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[y3]=C3,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new glt.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[h3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[h3]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[cA]=new Elt,this[uA]=0,this.jobs=+e.jobs||4,this[px]=!1,this[fx]=!1}[rAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[fx]=!0,this[Nd](),this}write(e){if(this[fx])throw new Error("write after end");return e instanceof dlt?this[$ue](e):this[gx](e),this.flowing}[$ue](e){let r=g3(tAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new yx(e.path,r,!1);o.entry=new ylt(e,this[p3](o)),o.entry.on("end",a=>this[f3](o)),this[uA]+=1,this[cA].push(o)}this[Nd]()}[gx](e){let r=g3(tAe.resolve(this.cwd,e));this[cA].push(new yx(e,r)),this[Nd]()}[d3](e){e.pending=!0,this[uA]+=1;let r=this.follow?"stat":"lstat";Ex[r](e.absolute,(o,a)=>{e.pending=!1,this[uA]-=1,o?this.emit("error",o):this[hx](e,a)})}[hx](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Nd]()}[m3](e){e.pending=!0,this[uA]+=1,Ex.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[uA]-=1,r)return this.emit("error",r);this[dx](e,o)})}[dx](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Nd]()}[Nd](){if(!this[px]){this[px]=!0;for(let e=this[cA].head;e!==null&&this[uA]this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[eAe](e){this[uA]+=1;try{return new this[y3](e.path,this[p3](e)).on("end",()=>this[f3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[h3](){this[jE]&&this[jE].entry&&this[jE].entry.resume()}[mx](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[gx](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),E3=class extends w3{constructor(e){super(e),this[y3]=mlt}pause(){}resume(){}[d3](e){let r=this.follow?"statSync":"lstatSync";this[hx](e,Ex[r](e.absolute))}[m3](e,r){this[dx](e,Ex.readdirSync(e.absolute))}[mx](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[gx](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[rAe](a)})}};w3.Sync=E3;nAe.exports=w3});var ZE=_(K1=>{"use strict";var wlt=OE(),Ilt=ve("events").EventEmitter,Qa=ve("fs"),v3=Qa.writev;if(!v3){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;v3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var VE=Symbol("_autoClose"),Wc=Symbol("_close"),W1=Symbol("_ended"),jn=Symbol("_fd"),iAe=Symbol("_finished"),wh=Symbol("_flags"),I3=Symbol("_flush"),P3=Symbol("_handleChunk"),D3=Symbol("_makeBuf"),Px=Symbol("_mode"),wx=Symbol("_needDrain"),zE=Symbol("_onerror"),XE=Symbol("_onopen"),B3=Symbol("_onread"),WE=Symbol("_onwrite"),Ih=Symbol("_open"),Gf=Symbol("_path"),Od=Symbol("_pos"),AA=Symbol("_queue"),KE=Symbol("_read"),sAe=Symbol("_readSize"),Ch=Symbol("_reading"),Ix=Symbol("_remain"),oAe=Symbol("_size"),Bx=Symbol("_write"),YE=Symbol("_writing"),vx=Symbol("_defaultFlag"),JE=Symbol("_errored"),Dx=class extends wlt{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[JE]=!1,this[jn]=typeof r.fd=="number"?r.fd:null,this[Gf]=e,this[sAe]=r.readSize||16*1024*1024,this[Ch]=!1,this[oAe]=typeof r.size=="number"?r.size:1/0,this[Ix]=this[oAe],this[VE]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[jn]=="number"?this[KE]():this[Ih]()}get fd(){return this[jn]}get path(){return this[Gf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Ih](){Qa.open(this[Gf],"r",(e,r)=>this[XE](e,r))}[XE](e,r){e?this[zE](e):(this[jn]=r,this.emit("open",r),this[KE]())}[D3](){return Buffer.allocUnsafe(Math.min(this[sAe],this[Ix]))}[KE](){if(!this[Ch]){this[Ch]=!0;let e=this[D3]();if(e.length===0)return process.nextTick(()=>this[B3](null,0,e));Qa.read(this[jn],e,0,e.length,null,(r,o,a)=>this[B3](r,o,a))}}[B3](e,r,o){this[Ch]=!1,e?this[zE](e):this[P3](r,o)&&this[KE]()}[Wc](){if(this[VE]&&typeof this[jn]=="number"){let e=this[jn];this[jn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[zE](e){this[Ch]=!0,this[Wc](),this.emit("error",e)}[P3](e,r){let o=!1;return this[Ix]-=e,e>0&&(o=super.write(ethis[XE](e,r))}[XE](e,r){this[vx]&&this[wh]==="r+"&&e&&e.code==="ENOENT"?(this[wh]="w",this[Ih]()):e?this[zE](e):(this[jn]=r,this.emit("open",r),this[I3]())}end(e,r){return e&&this.write(e,r),this[W1]=!0,!this[YE]&&!this[AA].length&&typeof this[jn]=="number"&&this[WE](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[W1]?(this.emit("error",new Error("write() after end()")),!1):this[jn]===null||this[YE]||this[AA].length?(this[AA].push(e),this[wx]=!0,!1):(this[YE]=!0,this[Bx](e),!0)}[Bx](e){Qa.write(this[jn],e,0,e.length,this[Od],(r,o)=>this[WE](r,o))}[WE](e,r){e?this[zE](e):(this[Od]!==null&&(this[Od]+=r),this[AA].length?this[I3]():(this[YE]=!1,this[W1]&&!this[iAe]?(this[iAe]=!0,this[Wc](),this.emit("finish")):this[wx]&&(this[wx]=!1,this.emit("drain"))))}[I3](){if(this[AA].length===0)this[W1]&&this[WE](null,0);else if(this[AA].length===1)this[Bx](this[AA].pop());else{let e=this[AA];this[AA]=[],v3(this[jn],e,this[Od],(r,o)=>this[WE](r,o))}}[Wc](){if(this[VE]&&typeof this[jn]=="number"){let e=this[jn];this[jn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},b3=class extends Sx{[Ih](){let e;if(this[vx]&&this[wh]==="r+")try{e=Qa.openSync(this[Gf],this[wh],this[Px])}catch(r){if(r.code==="ENOENT")return this[wh]="w",this[Ih]();throw r}else e=Qa.openSync(this[Gf],this[wh],this[Px]);this[XE](null,e)}[Wc](){if(this[VE]&&typeof this[jn]=="number"){let e=this[jn];this[jn]=null,Qa.closeSync(e),this.emit("close")}}[Bx](e){let r=!0;try{this[WE](null,Qa.writeSync(this[jn],e,0,e.length,this[Od])),r=!1}finally{if(r)try{this[Wc]()}catch{}}}};K1.ReadStream=Dx;K1.ReadStreamSync=S3;K1.WriteStream=Sx;K1.WriteStreamSync=b3});var Tx=_((AUt,pAe)=>{"use strict";var Blt=ox(),vlt=qE(),Plt=ve("events"),Dlt=BD(),Slt=1024*1024,blt=nx(),aAe=sx(),xlt=jU(),x3=Buffer.from([31,139]),Zl=Symbol("state"),Md=Symbol("writeEntry"),jf=Symbol("readEntry"),k3=Symbol("nextEntry"),lAe=Symbol("processEntry"),$l=Symbol("extendedHeader"),z1=Symbol("globalExtendedHeader"),Bh=Symbol("meta"),cAe=Symbol("emitMeta"),fi=Symbol("buffer"),Yf=Symbol("queue"),Ud=Symbol("ended"),uAe=Symbol("emittedEnd"),_d=Symbol("emit"),Ra=Symbol("unzip"),bx=Symbol("consumeChunk"),xx=Symbol("consumeChunkSub"),Q3=Symbol("consumeBody"),AAe=Symbol("consumeMeta"),fAe=Symbol("consumeHeader"),kx=Symbol("consuming"),R3=Symbol("bufferConcat"),F3=Symbol("maybeEnd"),J1=Symbol("writing"),vh=Symbol("aborted"),Qx=Symbol("onDone"),Hd=Symbol("sawValidEntry"),Rx=Symbol("sawNullBlock"),Fx=Symbol("sawEOF"),klt=t=>!0;pAe.exports=Blt(class extends Plt{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Hd]=null,this.on(Qx,r=>{(this[Zl]==="begin"||this[Hd]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(Qx,e.ondone):this.on(Qx,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Slt,this.filter=typeof e.filter=="function"?e.filter:klt,this.writable=!0,this.readable=!1,this[Yf]=new Dlt,this[fi]=null,this[jf]=null,this[Md]=null,this[Zl]="begin",this[Bh]="",this[$l]=null,this[z1]=null,this[Ud]=!1,this[Ra]=null,this[vh]=!1,this[Rx]=!1,this[Fx]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[fAe](e,r){this[Hd]===null&&(this[Hd]=!1);let o;try{o=new vlt(e,r,this[$l],this[z1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[Rx]?(this[Fx]=!0,this[Zl]==="begin"&&(this[Zl]="header"),this[_d]("eof")):(this[Rx]=!0,this[_d]("nullBlock"));else if(this[Rx]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[Md]=new blt(o,this[$l],this[z1]);if(!this[Hd])if(n.remain){let u=()=>{n.invalid||(this[Hd]=!0)};n.on("end",u)}else this[Hd]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[_d]("ignoredEntry",n),this[Zl]="ignore",n.resume()):n.size>0&&(this[Bh]="",n.on("data",u=>this[Bh]+=u),this[Zl]="meta"):(this[$l]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[_d]("ignoredEntry",n),this[Zl]=n.remain?"ignore":"header",n.resume()):(n.remain?this[Zl]="body":(this[Zl]="header",n.end()),this[jf]?this[Yf].push(n):(this[Yf].push(n),this[k3]())))}}}[lAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[jf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[k3]()),r=!1)):(this[jf]=null,r=!1),r}[k3](){do;while(this[lAe](this[Yf].shift()));if(!this[Yf].length){let e=this[jf];!e||e.flowing||e.size===e.remain?this[J1]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[Q3](e,r){let o=this[Md],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[Zl]="header",this[Md]=null,o.end()),n.length}[AAe](e,r){let o=this[Md],a=this[Q3](e,r);return this[Md]||this[cAe](o),a}[_d](e,r,o){!this[Yf].length&&!this[jf]?this.emit(e,r,o):this[Yf].push([e,r,o])}[cAe](e){switch(this[_d]("meta",this[Bh]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[$l]=aAe.parse(this[Bh],this[$l],!1);break;case"GlobalExtendedHeader":this[z1]=aAe.parse(this[Bh],this[z1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[$l]=this[$l]||Object.create(null),this[$l].path=this[Bh].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[$l]=this[$l]||Object.create(null),this[$l].linkpath=this[Bh].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[vh]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[vh])return;if(this[Ra]===null&&e){if(this[fi]&&(e=Buffer.concat([this[fi],e]),this[fi]=null),e.lengththis[bx](n)),this[Ra].on("error",n=>this.abort(n)),this[Ra].on("end",n=>{this[Ud]=!0,this[bx]()}),this[J1]=!0;let a=this[Ra][o?"end":"write"](e);return this[J1]=!1,a}}this[J1]=!0,this[Ra]?this[Ra].write(e):this[bx](e),this[J1]=!1;let r=this[Yf].length?!1:this[jf]?this[jf].flowing:!0;return!r&&!this[Yf].length&&this[jf].once("drain",o=>this.emit("drain")),r}[R3](e){e&&!this[vh]&&(this[fi]=this[fi]?Buffer.concat([this[fi],e]):e)}[F3](){if(this[Ud]&&!this[uAe]&&!this[vh]&&!this[kx]){this[uAe]=!0;let e=this[Md];if(e&&e.blockRemain){let r=this[fi]?this[fi].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[fi]&&e.write(this[fi]),e.end()}this[_d](Qx)}}[bx](e){if(this[kx])this[R3](e);else if(!e&&!this[fi])this[F3]();else{if(this[kx]=!0,this[fi]){this[R3](e);let r=this[fi];this[fi]=null,this[xx](r)}else this[xx](e);for(;this[fi]&&this[fi].length>=512&&!this[vh]&&!this[Fx];){let r=this[fi];this[fi]=null,this[xx](r)}this[kx]=!1}(!this[fi]||this[Ud])&&this[F3]()}[xx](e){let r=0,o=e.length;for(;r+512<=o&&!this[vh]&&!this[Fx];)switch(this[Zl]){case"begin":case"header":this[fAe](e,r),r+=512;break;case"ignore":case"body":r+=this[Q3](e,r);break;case"meta":r+=this[AAe](e,r);break;default:throw new Error("invalid state: "+this[Zl])}r{"use strict";var Qlt=LE(),gAe=Tx(),$E=ve("fs"),Rlt=ZE(),hAe=ve("path"),T3=GE();mAe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=Qlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Tlt(o,e),o.noResume||Flt(o),o.file&&o.sync?Llt(o):o.file?Nlt(o,r):dAe(o)};var Flt=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},Tlt=(t,e)=>{let r=new Map(e.map(n=>[T3(n),!0])),o=t.filter,a=(n,u)=>{let A=u||hAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(hAe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(T3(n)):n=>a(T3(n))},Llt=t=>{let e=dAe(t),r=t.file,o=!0,a;try{let n=$E.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size{let r=new gAe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),$E.stat(a,(p,h)=>{if(p)A(p);else{let E=new Rlt.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},dAe=t=>new gAe(t)});var BAe=_((pUt,IAe)=>{"use strict";var Olt=LE(),Nx=Cx(),yAe=ZE(),EAe=Lx(),CAe=ve("path");IAe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=Olt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?Mlt(o,e):o.file?Ult(o,e,r):o.sync?_lt(o,e):Hlt(o,e)};var Mlt=(t,e)=>{let r=new Nx.Sync(t),o=new yAe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),wAe(r,e)},Ult=(t,e,r)=>{let o=new Nx(t),a=new yAe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return L3(o,e),r?n.then(r,r):n},wAe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?EAe({file:CAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},L3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return EAe({file:CAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>L3(t,e));t.add(r)}t.end()},_lt=(t,e)=>{let r=new Nx.Sync(t);return wAe(r,e),r},Hlt=(t,e)=>{let r=new Nx(t);return L3(r,e),r}});var N3=_((hUt,kAe)=>{"use strict";var qlt=LE(),vAe=Cx(),fl=ve("fs"),PAe=ZE(),DAe=Lx(),SAe=ve("path"),bAe=qE();kAe.exports=(t,e,r)=>{let o=qlt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?Glt(o,e):Ylt(o,e,r)};var Glt=(t,e)=>{let r=new vAe.Sync(t),o=!0,a,n;try{try{a=fl.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=fl.openSync(t.file,"w+");else throw p}let u=fl.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;nu.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,jlt(t,r,n,a,e)}finally{if(o)try{fl.closeSync(a)}catch{}}},jlt=(t,e,r,o,a)=>{let n=new PAe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),Wlt(e,a)},Ylt=(t,e,r)=>{e=Array.from(e);let o=new vAe(t),a=(u,A,p)=>{let h=(C,F)=>{C?fl.close(u,N=>p(C)):p(null,F)},E=0;if(A===0)return h(null,0);let I=0,v=Buffer.alloc(512),x=(C,F)=>{if(C)return h(C);if(I+=F,I<512&&F)return fl.read(u,v,I,v.length-I,E+I,x);if(E===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(I<512)return h(null,E);let N=new bAe(v);if(!N.cksumValid)return h(null,E);let U=512*Math.ceil(N.size/512);if(E+U+512>A||(E+=U+512,E>=A))return h(null,E);t.mtimeCache&&t.mtimeCache.set(N.path,N.mtime),I=0,fl.read(u,v,0,512,E,x)};fl.read(u,v,0,512,E,x)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(E,I)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",fl.open(t.file,p,h);if(E)return A(E);fl.fstat(I,(v,x)=>{if(v)return fl.close(I,()=>A(v));a(I,x.size,(C,F)=>{if(C)return A(C);let N=new PAe.WriteStream(t.file,{fd:I,start:F});o.pipe(N),N.on("error",A),N.on("close",u),xAe(o,e)})})};fl.open(t.file,p,h)});return r?n.then(r,r):n},Wlt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?DAe({file:SAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},xAe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return DAe({file:SAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>xAe(t,e));t.add(r)}t.end()}});var RAe=_((gUt,QAe)=>{"use strict";var Klt=LE(),zlt=N3();QAe.exports=(t,e,r)=>{let o=Klt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),Jlt(o),zlt(o,e,r)};var Jlt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var LAe=_((dUt,TAe)=>{var{promisify:FAe}=ve("util"),Ph=ve("fs"),Vlt=t=>{if(!t)t={mode:511,fs:Ph};else if(typeof t=="object")t={mode:511,fs:Ph,...t};else if(typeof t=="number")t={mode:t,fs:Ph};else if(typeof t=="string")t={mode:parseInt(t,8),fs:Ph};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||Ph.mkdir,t.mkdirAsync=FAe(t.mkdir),t.stat=t.stat||t.fs.stat||Ph.stat,t.statAsync=FAe(t.stat),t.statSync=t.statSync||t.fs.statSync||Ph.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||Ph.mkdirSync,t};TAe.exports=Vlt});var OAe=_((mUt,NAe)=>{var Xlt=process.platform,{resolve:Zlt,parse:$lt}=ve("path"),ect=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=Zlt(t),Xlt==="win32"){let e=/[*|"<>?:]/,{root:r}=$lt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};NAe.exports=ect});var qAe=_((yUt,HAe)=>{var{dirname:MAe}=ve("path"),UAe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?UAe(t,MAe(e),e):void 0),_Ae=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?_Ae(t,MAe(e),e):void 0}};HAe.exports={findMade:UAe,findMadeSync:_Ae}});var U3=_((EUt,jAe)=>{var{dirname:GAe}=ve("path"),O3=(t,e,r)=>{e.recursive=!1;let o=GAe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return O3(o,e).then(n=>O3(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},M3=(t,e,r)=>{let o=GAe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return M3(t,e,M3(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};jAe.exports={mkdirpManual:O3,mkdirpManualSync:M3}});var KAe=_((CUt,WAe)=>{var{dirname:YAe}=ve("path"),{findMade:tct,findMadeSync:rct}=qAe(),{mkdirpManual:nct,mkdirpManualSync:ict}=U3(),sct=(t,e)=>(e.recursive=!0,YAe(t)===t?e.mkdirAsync(t,e):tct(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return nct(t,e);throw a}))),oct=(t,e)=>{if(e.recursive=!0,YAe(t)===t)return e.mkdirSync(t,e);let o=rct(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return ict(t,e);throw a}};WAe.exports={mkdirpNative:sct,mkdirpNativeSync:oct}});var XAe=_((wUt,VAe)=>{var zAe=ve("fs"),act=process.version,_3=act.replace(/^v/,"").split("."),JAe=+_3[0]>10||+_3[0]==10&&+_3[1]>=12,lct=JAe?t=>t.mkdir===zAe.mkdir:()=>!1,cct=JAe?t=>t.mkdirSync===zAe.mkdirSync:()=>!1;VAe.exports={useNative:lct,useNativeSync:cct}});var nfe=_((IUt,rfe)=>{var eC=LAe(),tC=OAe(),{mkdirpNative:ZAe,mkdirpNativeSync:$Ae}=KAe(),{mkdirpManual:efe,mkdirpManualSync:tfe}=U3(),{useNative:uct,useNativeSync:Act}=XAe(),rC=(t,e)=>(t=tC(t),e=eC(e),uct(e)?ZAe(t,e):efe(t,e)),fct=(t,e)=>(t=tC(t),e=eC(e),Act(e)?$Ae(t,e):tfe(t,e));rC.sync=fct;rC.native=(t,e)=>ZAe(tC(t),eC(e));rC.manual=(t,e)=>efe(tC(t),eC(e));rC.nativeSync=(t,e)=>$Ae(tC(t),eC(e));rC.manualSync=(t,e)=>tfe(tC(t),eC(e));rfe.exports=rC});var ufe=_((BUt,cfe)=>{"use strict";var ec=ve("fs"),qd=ve("path"),pct=ec.lchown?"lchown":"chown",hct=ec.lchownSync?"lchownSync":"chownSync",sfe=ec.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),ife=(t,e,r)=>{try{return ec[hct](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},gct=(t,e,r)=>{try{return ec.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},dct=sfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):ec.chown(t,e,r,o)}:(t,e,r,o)=>o,H3=sfe?(t,e,r)=>{try{return ife(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;gct(t,e,r)}}:(t,e,r)=>ife(t,e,r),mct=process.version,ofe=(t,e,r)=>ec.readdir(t,e,r),yct=(t,e)=>ec.readdirSync(t,e);/^v4\./.test(mct)&&(ofe=(t,e,r)=>ec.readdir(t,r));var Ox=(t,e,r,o)=>{ec[pct](t,e,r,dct(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},afe=(t,e,r,o,a)=>{if(typeof e=="string")return ec.lstat(qd.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,afe(t,u,r,o,a)});if(e.isDirectory())q3(qd.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=qd.resolve(t,e.name);Ox(u,r,o,a)});else{let n=qd.resolve(t,e.name);Ox(n,r,o,a)}},q3=(t,e,r,o)=>{ofe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Ox(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Ox(t,e,r,o)}};n.forEach(h=>afe(t,h,e,r,p))})},Ect=(t,e,r,o)=>{if(typeof e=="string")try{let a=ec.lstatSync(qd.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&lfe(qd.resolve(t,e.name),r,o),H3(qd.resolve(t,e.name),r,o)},lfe=(t,e,r)=>{let o;try{o=yct(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return H3(t,e,r);throw a}return o&&o.length&&o.forEach(a=>Ect(t,a,e,r)),H3(t,e,r)};cfe.exports=q3;q3.sync=lfe});var hfe=_((vUt,G3)=>{"use strict";var Afe=nfe(),tc=ve("fs"),Mx=ve("path"),ffe=ufe(),Kc=_E(),Ux=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},_x=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},Hx=(t,e)=>t.get(Kc(e)),V1=(t,e,r)=>t.set(Kc(e),r),Cct=(t,e)=>{tc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new _x(t,r&&r.code||"ENOTDIR")),e(r)})};G3.exports=(t,e,r)=>{t=Kc(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,E=e.unlink,I=e.cache,v=Kc(e.cwd),x=(N,U)=>{N?r(N):(V1(I,t,!0),U&&p?ffe(U,u,A,J=>x(J)):n?tc.chmod(t,a,r):r())};if(I&&Hx(I,t)===!0)return x();if(t===v)return Cct(t,x);if(h)return Afe(t,{mode:a}).then(N=>x(null,N),x);let F=Kc(Mx.relative(v,t)).split("/");qx(v,F,a,I,E,v,null,x)};var qx=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=Kc(Mx.resolve(t+"/"+p));if(Hx(o,h))return qx(h,e,r,o,a,n,u,A);tc.mkdir(h,r,pfe(h,e,r,o,a,n,u,A))},pfe=(t,e,r,o,a,n,u,A)=>p=>{p?tc.lstat(t,(h,E)=>{if(h)h.path=h.path&&Kc(h.path),A(h);else if(E.isDirectory())qx(t,e,r,o,a,n,u,A);else if(a)tc.unlink(t,I=>{if(I)return A(I);tc.mkdir(t,r,pfe(t,e,r,o,a,n,u,A))});else{if(E.isSymbolicLink())return A(new Ux(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,qx(t,e,r,o,a,n,u,A))},wct=t=>{let e=!1,r="ENOTDIR";try{e=tc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new _x(t,r)}};G3.exports.sync=(t,e)=>{t=Kc(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,I=Kc(e.cwd),v=N=>{V1(E,t,!0),N&&A&&ffe.sync(N,n,u),a&&tc.chmodSync(t,o)};if(E&&Hx(E,t)===!0)return v();if(t===I)return wct(I),v();if(p)return v(Afe.sync(t,o));let C=Kc(Mx.relative(I,t)).split("/"),F=null;for(let N=C.shift(),U=I;N&&(U+="/"+N);N=C.shift())if(U=Kc(Mx.resolve(U)),!Hx(E,U))try{tc.mkdirSync(U,o),F=F||U,V1(E,U,!0)}catch{let te=tc.lstatSync(U);if(te.isDirectory()){V1(E,U,!0);continue}else if(h){tc.unlinkSync(U),tc.mkdirSync(U,o),F=F||U,V1(E,U,!0);continue}else if(te.isSymbolicLink())return new Ux(U,U+"/"+C.join("/"))}return v(F)}});var Y3=_((PUt,gfe)=>{var j3=Object.create(null),{hasOwnProperty:Ict}=Object.prototype;gfe.exports=t=>(Ict.call(j3,t)||(j3[t]=t.normalize("NFKD")),j3[t])});var Efe=_((DUt,yfe)=>{var dfe=ve("assert"),Bct=Y3(),vct=GE(),{join:mfe}=ve("path"),Pct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Dct=Pct==="win32";yfe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((I,v)=>(I.length&&(v=mfe(I[I.length-1],v)),I.push(v||"/"),I),[]),o=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(I=>t.get(I)),dirs:[...E.dirs].map(I=>t.get(I))}},n=h=>{let{paths:E,dirs:I}=a(h);return E.every(v=>v[0]===h)&&I.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:E,dirs:I}=e.get(h),v=new Set;return E.forEach(x=>{let C=t.get(x);dfe.equal(C[0],h),C.length===1?t.delete(x):(C.shift(),typeof C[0]=="function"?v.add(C[0]):C[0].forEach(F=>v.add(F)))}),I.forEach(x=>{let C=t.get(x);dfe(C[0]instanceof Set),C[0].size===1&&C.length===1?t.delete(x):C[0].size===1?(C.shift(),v.add(C[0])):C[0].delete(h)}),o.delete(h),v.forEach(x=>u(x)),!0};return{check:n,reserve:(h,E)=>{h=Dct?["win32 parallelization disabled"]:h.map(v=>Bct(vct(mfe(v))).toLowerCase());let I=new Set(h.map(v=>r(v)).reduce((v,x)=>v.concat(x)));return e.set(E,{dirs:I,paths:h}),h.forEach(v=>{let x=t.get(v);x?x.push(E):t.set(v,[E])}),I.forEach(v=>{let x=t.get(v);x?x[x.length-1]instanceof Set?x[x.length-1].add(E):x.push(new Set([E])):t.set(v,[new Set([E])])}),u(E)}}}});var Ife=_((SUt,wfe)=>{var Sct=process.platform,bct=Sct==="win32",xct=global.__FAKE_TESTING_FS__||ve("fs"),{O_CREAT:kct,O_TRUNC:Qct,O_WRONLY:Rct,UV_FS_O_FILEMAP:Cfe=0}=xct.constants,Fct=bct&&!!Cfe,Tct=512*1024,Lct=Cfe|Qct|kct|Rct;wfe.exports=Fct?t=>t"w"});var e_=_((bUt,Nfe)=>{"use strict";var Nct=ve("assert"),Oct=Tx(),vn=ve("fs"),Mct=ZE(),Wf=ve("path"),Ffe=hfe(),Bfe=e3(),Uct=Efe(),_ct=t3(),pl=_E(),Hct=GE(),qct=Y3(),vfe=Symbol("onEntry"),z3=Symbol("checkFs"),Pfe=Symbol("checkFs2"),Yx=Symbol("pruneCache"),J3=Symbol("isReusable"),rc=Symbol("makeFs"),V3=Symbol("file"),X3=Symbol("directory"),Wx=Symbol("link"),Dfe=Symbol("symlink"),Sfe=Symbol("hardlink"),bfe=Symbol("unsupported"),xfe=Symbol("checkPath"),Dh=Symbol("mkdir"),Fo=Symbol("onError"),Gx=Symbol("pending"),kfe=Symbol("pend"),nC=Symbol("unpend"),W3=Symbol("ended"),K3=Symbol("maybeClose"),Z3=Symbol("skip"),X1=Symbol("doChown"),Z1=Symbol("uid"),$1=Symbol("gid"),e2=Symbol("checkedCwd"),Tfe=ve("crypto"),Lfe=Ife(),Gct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,t2=Gct==="win32",jct=(t,e)=>{if(!t2)return vn.unlink(t,e);let r=t+".DELETE."+Tfe.randomBytes(16).toString("hex");vn.rename(t,r,o=>{if(o)return e(o);vn.unlink(r,e)})},Yct=t=>{if(!t2)return vn.unlinkSync(t);let e=t+".DELETE."+Tfe.randomBytes(16).toString("hex");vn.renameSync(t,e),vn.unlinkSync(e)},Qfe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,Rfe=t=>qct(Hct(pl(t))).toLowerCase(),Wct=(t,e)=>{e=Rfe(e);for(let r of t.keys()){let o=Rfe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},Kct=t=>{for(let e of t.keys())t.delete(e)},r2=class extends Oct{constructor(e){if(e||(e={}),e.ondone=r=>{this[W3]=!0,this[K3]()},super(e),this[e2]=!1,this.reservations=Uct(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[Gx]=0,this[W3]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||t2,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=pl(Wf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[vfe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[K3](){this[W3]&&this[Gx]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[xfe](e){if(this.strip){let r=pl(e.path).split("/");if(r.length=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=pl(e.path),o=r.split("/");if(o.includes("..")||t2&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=_ct(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Wf.isAbsolute(e.path)?e.absolute=pl(Wf.resolve(e.path)):e.absolute=pl(Wf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:pl(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Wf.win32.parse(e.absolute);e.absolute=r+Bfe.encode(e.absolute.substr(r.length));let{root:o}=Wf.win32.parse(e.path);e.path=o+Bfe.encode(e.path.substr(o.length))}return!0}[vfe](e){if(!this[xfe](e))return e.resume();switch(Nct.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[z3](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[bfe](e)}}[Fo](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[nC](),r.resume())}[Dh](e,r,o){Ffe(pl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[X1](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[Z1](e){return Qfe(this.uid,e.uid,this.processUid)}[$1](e){return Qfe(this.gid,e.gid,this.processGid)}[V3](e,r){let o=e.mode&4095||this.fmode,a=new Mct.WriteStream(e.absolute,{flags:Lfe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&vn.close(a.fd,()=>{}),a.write=()=>!0,this[Fo](p,e),r()});let n=1,u=p=>{if(p){a.fd&&vn.close(a.fd,()=>{}),this[Fo](p,e),r();return}--n===0&&vn.close(a.fd,h=>{h?this[Fo](h,e):this[nC](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let I=e.atime||new Date,v=e.mtime;vn.futimes(E,I,v,x=>x?vn.utimes(h,I,v,C=>u(C&&x)):u())}if(this[X1](e)){n++;let I=this[Z1](e),v=this[$1](e);vn.fchown(E,I,v,x=>x?vn.chown(h,I,v,C=>u(C&&x)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[Fo](p,e),r()}),e.pipe(A)),A.pipe(a)}[X3](e,r){let o=e.mode&4095||this.dmode;this[Dh](e.absolute,o,a=>{if(a){this[Fo](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[nC](),e.resume())};e.mtime&&!this.noMtime&&(n++,vn.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[X1](e)&&(n++,vn.chown(e.absolute,this[Z1](e),this[$1](e),u)),u()})}[bfe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[Dfe](e,r){this[Wx](e,e.linkpath,"symlink",r)}[Sfe](e,r){let o=pl(Wf.resolve(this.cwd,e.linkpath));this[Wx](e,o,"link",r)}[kfe](){this[Gx]++}[nC](){this[Gx]--,this[K3]()}[Z3](e){this[nC](),e.resume()}[J3](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!t2}[z3](e){this[kfe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[Pfe](e,o))}[Yx](e){e.type==="SymbolicLink"?Kct(this.dirCache):e.type!=="Directory"&&Wct(this.dirCache,e.absolute)}[Pfe](e,r){this[Yx](e);let o=A=>{this[Yx](e),r(A)},a=()=>{this[Dh](this.cwd,this.dmode,A=>{if(A){this[Fo](A,e),o();return}this[e2]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=pl(Wf.dirname(e.absolute));if(A!==this.cwd)return this[Dh](A,this.dmode,p=>{if(p){this[Fo](p,e),o();return}u()})}u()},u=()=>{vn.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[Z3](e),o();return}if(A||this[J3](e,p))return this[rc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=I=>this[rc](I,e,o);return h?vn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return vn.rmdir(e.absolute,h=>this[rc](h,e,o))}if(e.absolute===this.cwd)return this[rc](null,e,o);jct(e.absolute,h=>this[rc](h,e,o))})};this[e2]?n():a()}[rc](e,r,o){if(e){this[Fo](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[V3](r,o);case"Link":return this[Sfe](r,o);case"SymbolicLink":return this[Dfe](r,o);case"Directory":case"GNUDumpDir":return this[X3](r,o)}}[Wx](e,r,o,a){vn[o](r,e.absolute,n=>{n?this[Fo](n,e):(this[nC](),e.resume()),a()})}},jx=t=>{try{return[null,t()]}catch(e){return[e,null]}},$3=class extends r2{[rc](e,r){return super[rc](e,r,()=>{})}[z3](e){if(this[Yx](e),!this[e2]){let n=this[Dh](this.cwd,this.dmode);if(n)return this[Fo](n,e);this[e2]=!0}if(e.absolute!==this.cwd){let n=pl(Wf.dirname(e.absolute));if(n!==this.cwd){let u=this[Dh](n,this.dmode);if(u)return this[Fo](u,e)}}let[r,o]=jx(()=>vn.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[Z3](e);if(r||this[J3](e,o))return this[rc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?jx(()=>{vn.chmodSync(e.absolute,e.mode)}):[];return this[rc](A,e)}let[n]=jx(()=>vn.rmdirSync(e.absolute));this[rc](n,e)}let[a]=e.absolute===this.cwd?[]:jx(()=>Yct(e.absolute));this[rc](a,e)}[V3](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{vn.closeSync(n)}catch(h){p=h}(A||p)&&this[Fo](A||p,e),r()},n;try{n=vn.openSync(e.absolute,Lfe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[Fo](A,e)),e.pipe(u)),u.on("data",A=>{try{vn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{vn.futimesSync(n,h,E)}catch(I){try{vn.utimesSync(e.absolute,h,E)}catch{p=I}}}if(this[X1](e)){let h=this[Z1](e),E=this[$1](e);try{vn.fchownSync(n,h,E)}catch(I){try{vn.chownSync(e.absolute,h,E)}catch{p=p||I}}}a(p)})}[X3](e,r){let o=e.mode&4095||this.dmode,a=this[Dh](e.absolute,o);if(a){this[Fo](a,e),r();return}if(e.mtime&&!this.noMtime)try{vn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[X1](e))try{vn.chownSync(e.absolute,this[Z1](e),this[$1](e))}catch{}r(),e.resume()}[Dh](e,r){try{return Ffe.sync(pl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[Wx](e,r,o,a){try{vn[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[Fo](n,e)}}};r2.Sync=$3;Nfe.exports=r2});var Hfe=_((xUt,_fe)=>{"use strict";var zct=LE(),Kx=e_(),Mfe=ve("fs"),Ufe=ZE(),Ofe=ve("path"),t_=GE();_fe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=zct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Jct(o,e),o.file&&o.sync?Vct(o):o.file?Xct(o,r):o.sync?Zct(o):$ct(o)};var Jct=(t,e)=>{let r=new Map(e.map(n=>[t_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||Ofe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Ofe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(t_(n)):n=>a(t_(n))},Vct=t=>{let e=new Kx.Sync(t),r=t.file,o=Mfe.statSync(r),a=t.maxReadSize||16*1024*1024;new Ufe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},Xct=(t,e)=>{let r=new Kx(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),Mfe.stat(a,(p,h)=>{if(p)A(p);else{let E=new Ufe.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},Zct=t=>new Kx.Sync(t),$ct=t=>new Kx(t)});var qfe=_(As=>{"use strict";As.c=As.create=BAe();As.r=As.replace=N3();As.t=As.list=Lx();As.u=As.update=RAe();As.x=As.extract=Hfe();As.Pack=Cx();As.Unpack=e_();As.Parse=Tx();As.ReadEntry=nx();As.WriteEntry=A3();As.Header=qE();As.Pax=sx();As.types=KU()});var r_,Gfe,Sh,n2,i2,jfe=Et(()=>{r_=Ze(sd()),Gfe=ve("worker_threads"),Sh=Symbol("kTaskInfo"),n2=class{constructor(e,r){this.fn=e;this.limit=(0,r_.default)(r.poolSize)}run(e){return this.limit(()=>this.fn(e))}},i2=class{constructor(e,r){this.source=e;this.workers=[];this.limit=(0,r_.default)(r.poolSize),this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let o=this.workers.pop();o?o.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new Gfe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[Sh])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[Sh].resolve(r),e[Sh]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{e[Sh]?.reject(r),e[Sh]=null}),e.on("exit",r=>{r!==0&&e[Sh]?.reject(new Error(`Worker exited with code ${r}`)),e[Sh]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[Sh]={resolve:o,reject:a},r.postMessage(e)})})}}});var Wfe=_((FUt,Yfe)=>{var n_;Yfe.exports.getContent=()=>(typeof n_>"u"&&(n_=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),n_)});var Zi={};zt(Zi,{convertToZip:()=>nut,convertToZipWorker:()=>o_,extractArchiveTo:()=>Xfe,getDefaultTaskPool:()=>Jfe,getTaskPoolForConfiguration:()=>Vfe,makeArchiveFromDirectory:()=>rut});function eut(t,e){switch(t){case"async":return new n2(o_,{poolSize:e});case"workers":return new i2((0,s_.getContent)(),{poolSize:e});default:throw new Error(`Assertion failed: Unknown value ${t} for taskPoolMode`)}}function Jfe(){return typeof i_>"u"&&(i_=eut("workers",Vi.availableParallelism())),i_}function Vfe(t){return typeof t>"u"?Jfe():al(tut,t,()=>{let e=t.get("taskPoolMode"),r=t.get("taskPoolConcurrency");switch(e){case"async":return new n2(o_,{poolSize:r});case"workers":return new i2((0,s_.getContent)(),{poolSize:r});default:throw new Error(`Assertion failed: Unknown value ${e} for taskPoolMode`)}})}async function o_(t){let{tmpFile:e,tgz:r,compressionLevel:o,extractBufferOpts:a}=t,n=new Xi(e,{create:!0,level:o,stats:Ea.makeDefaultStats()}),u=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return await Xfe(u,n,a),n.saveAndClose(),e}async function rut(t,{baseFs:e=new Tn,prefixPath:r=Bt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new Xi(null,{level:o});else{let A=await oe.mktempPromise(),p=z.join(A,"archive.zip");n=new Xi(p,{create:!0,level:o})}let u=z.resolve(Bt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function nut(t,e={}){let r=await oe.mktempPromise(),o=z.join(r,"archive.zip"),a=e.compressionLevel??e.configuration?.get("compressionLevel")??"mixed",n={prefixPath:e.prefixPath,stripComponents:e.stripComponents};return await(e.taskPool??Vfe(e.configuration)).run({tmpFile:o,tgz:t,compressionLevel:a,extractBufferOpts:n}),new Xi(o,{level:e.compressionLevel})}async function*iut(t){let e=new zfe.default.Parse,r=new Kfe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function Xfe(t,e,{stripComponents:r=0,prefixPath:o=Bt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of iut(t)){if(a(n))continue;let u=z.normalize(ue.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=z.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.writeFileSync(p,await Wy(n),{mode:h}),e.utimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break}}return e}var Kfe,zfe,s_,i_,tut,Zfe=Et(()=>{je();Dt();iA();Kfe=ve("stream"),zfe=Ze(qfe());jfe();Gl();s_=Ze(Wfe());tut=new WeakMap});var epe=_((a_,$fe)=>{(function(t,e){typeof a_=="object"?$fe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(a_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,E){var I="",v=0,x,C,F=A.slice(0);if(F.push([n,u])&&A.length>0&&(A.forEach(function(U,J){J>0&&(I+=(U[1]?" ":"\u2502")+" "),!C&&U[0]===n&&(C=!0)}),I+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(I+=": "+n),C&&(I+=" (circular ref.)"),E(I)),!C&&typeof n=="object"){var N=e(n,h);N.forEach(function(U){x=++v===N.length,r(U,n[U],x,F,p,h,E)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` +`}),A},o})});var fs={};zt(fs,{emitList:()=>sut,emitTree:()=>ipe,treeNodeToJson:()=>npe,treeNodeToTreeify:()=>rpe});function rpe(t,{configuration:e}){let r={},o=0,a=(n,u)=>{let A=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of A){if(!h)continue;let{label:E,value:I,children:v}=h,x=[];typeof E<"u"&&x.push(yd(e,E,2)),typeof I<"u"&&x.push(Ut(e,I[0],I[1])),x.length===0&&x.push(yd(e,`${p}`,2));let C=x.join(": ").trim(),F=`\0${o++}\0`,N=u[`${F}${C}`]={};typeof v<"u"&&a(v,N)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return a(t.children,r),r}function npe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Ed(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)u&&(a[out(n)]=e(u));return typeof r.value>"u"?a:{value:Ed(r.value[0],r.value[1]),children:a}};return e(t)}function sut(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));ipe({children:a},{configuration:e,stdout:r,json:o})}function ipe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)A&&r.write(`${JSON.stringify(npe(A))} +`);return}let n=(0,tpe.asTree)(rpe(t,{configuration:e}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function out(t){return typeof t=="string"?t.replace(/^\0[0-9]+\0/,""):t}var tpe,spe=Et(()=>{tpe=Ze(epe());jl()});function s2(t){let e=t.match(aut);if(!e?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=e.groups.cacheVersion?parseInt(e.groups.cacheVersion):null;return{cacheKey:e.groups.cacheKey??null,cacheVersion:r,cacheSpec:e.groups.cacheSpec??null,hash:e.groups.hash}}var ope,l_,c_,zx,Nr,aut,u_=Et(()=>{je();Dt();Dt();iA();ope=ve("crypto"),l_=Ze(ve("fs"));Wl();ih();Gl();So();c_=Ky(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),zx=Ky(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Nr=class{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,ope.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let{cacheSpec:n,cacheKey:u}=Nr.getCacheKey(r);this.cacheSpec=n,this.cacheKey=u}static async find(e,{immutable:r,check:o}={}){let a=new Nr(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}static getCacheKey(e){let r=e.get("compressionLevel"),o=r!=="mixed"?`c${r}`:"";return{cacheKey:[zx,o].join(""),cacheSpec:o}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${oE(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=s2(r).hash.slice(0,10);return`${oE(e)}-${a}.zip`}isChecksumCompatible(e){if(e===null)return!1;let{cacheVersion:r,cacheSpec:o}=s2(e);if(r===null||r{let de=new Xi,Be=z.join(Bt.root,nM(e));return de.mkdirSync(Be,{recursive:!0}),de.writeJsonSync(z.join(Be,dr.manifest),{name:rn(e),mocked:!0}),de},E=async(de,{isColdHit:Be,controlPath:Ee=null})=>{if(Ee===null&&u.unstablePackages?.has(e.locatorHash))return{isValid:!0,hash:null};let g=r&&!Be?s2(r).cacheKey:this.cacheKey,me=!u.skipIntegrityCheck||!r?`${g}/${await NS(de)}`:r;if(Ee!==null){let Ae=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await NS(Ee)}`:r;if(me!==Ae)throw new Vt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Ce=null;switch(r!==null&&me!==r&&(this.check?Ce="throw":s2(r).cacheKey!==s2(me).cacheKey?Ce="update":Ce=this.configuration.get("checksumBehavior")),Ce){case null:case"update":return{isValid:!0,hash:me};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Vt(18,"The remote archive doesn't match the expected checksum")}},I=async de=>{if(!n)throw new Error(`Cache check required but no loader configured for ${qr(this.configuration,e)}`);let Be=await n(),Ee=Be.getRealPath();Be.saveAndClose(),await oe.chmodPromise(Ee,420);let g=await E(de,{controlPath:Ee,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},v=async()=>{if(A===null||!await oe.existsPromise(A)){let de=await n(),Be=de.getRealPath();return de.saveAndClose(),{source:"loader",path:Be}}return{source:"mirror",path:A}},x=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${qr(this.configuration,e)}`);if(this.immutable)throw new Vt(56,`Cache entry required but missing for ${qr(this.configuration,e)}`);let{path:de,source:Be}=await v(),{hash:Ee}=await E(de,{isColdHit:!0}),g=this.getLocatorPath(e,Ee),me=[];Be!=="mirror"&&A!==null&&me.push(async()=>{let Ae=`${A}${this.cacheId}`;await oe.copyFilePromise(de,Ae,l_.default.constants.COPYFILE_FICLONE),await oe.chmodPromise(Ae,420),await oe.renamePromise(Ae,A)}),(!u.mirrorWriteOnly||A===null)&&me.push(async()=>{let Ae=`${g}${this.cacheId}`;await oe.copyFilePromise(de,Ae,l_.default.constants.COPYFILE_FICLONE),await oe.chmodPromise(Ae,420),await oe.renamePromise(Ae,g)});let Ce=u.mirrorWriteOnly?A??g:g;return await Promise.all(me.map(Ae=>Ae())),[!1,Ce,Ee]},C=async()=>{let Be=(async()=>{let Ee=u.unstablePackages?.has(e.locatorHash),g=Ee||!r||this.isChecksumCompatible(r)?this.getLocatorPath(e,r):null,me=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ce=!!u.mockedPackages?.has(e.locatorHash)&&(!this.check||!me),Ae=Ce||me,ne=Ae?o:a;if(ne&&ne(),Ae){let Z=null,xe=g;if(!Ce)if(this.check)Z=await I(xe);else{let Le=await E(xe,{isColdHit:!1});if(Le.isValid)Z=Le.hash;else return x()}return[Ce,xe,Z]}else{if(this.immutable&&Ee)throw new Vt(56,`Cache entry required but missing for ${qr(this.configuration,e)}; consider defining ${pe.pretty(this.configuration,"supportedArchitectures",pe.Type.CODE)} to cache packages for multiple systems`);return x()}})();this.mutexes.set(e.locatorHash,Be);try{return await Be}finally{this.mutexes.delete(e.locatorHash)}};for(let de;de=this.mutexes.get(e.locatorHash);)await de;let[F,N,U]=await C();F||this.markedFiles.add(N);let J,te=F?()=>h():()=>new Xi(N,{baseFs:p,readOnly:!0}),ae=new ny(()=>wN(()=>J=te(),de=>`Failed to open the cache entry for ${qr(this.configuration,e)}: ${de}`),z),le=new _u(N,{baseFs:ae,pathUtils:z}),ce=()=>{J?.discardAndClose()},we=u.unstablePackages?.has(e.locatorHash)?null:U;return[le,ce,we]}},aut=/^(?:(?(?[0-9]+)(?.*))\/)?(?.*)$/});var Jx,ape=Et(()=>{Jx=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(Jx||{})});var lut,iC,A_=Et(()=>{Dt();Nl();Qf();So();lut=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>HS({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],iC=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=z.join(e.cwd,dr.lockfile);if(!oe.existsSync(o))return;let a=await oe.readFilePromise(o,"utf8"),n=Ki(a);if(Object.hasOwn(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=s1(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=xa(p.range)?In(p,`npm:${p.range}`):p,{version:E,resolved:I}=n[A];if(!I)continue;let v;for(let[C,F]of lut){let N=I.match(C);if(N){v=F(E,...N);break}}if(!v){r.reportWarning(14,`${Gn(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${I}")`);continue}let x=h;try{let C=Bd(h.range),F=s1(C.selector,!0);F&&(x=F)}catch{}u.set(h.descriptorHash,Fs(x,v))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=$O(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var fA,lpe=Et(()=>{Wl();M1();jl();fA=class extends Xs{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;XI(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} +`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,o){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(r){return yU(r,{configuration:this.configuration,json:!1})}}});var sC,f_=Et(()=>{So();sC=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(MS(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(MS(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Kf(){}function cut(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;nx.length?F:x}),h.value=t.join(E)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=e[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[u-2].value+=v.value,e.pop()),e}function uut(t){return{newPos:t.newPos,components:t.components.slice(0)}}function Aut(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function Ape(t,e,r){return r=Aut(r,{ignoreWhitespace:!0}),m_.diff(t,e,r)}function fut(t,e,r){return y_.diff(t,e,r)}function Vx(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Vx=function(e){return typeof e}:Vx=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vx(t)}function p_(t){return gut(t)||dut(t)||mut(t)||yut()}function gut(t){if(Array.isArray(t))return h_(t)}function dut(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function mut(t,e){if(!!t){if(typeof t=="string")return h_(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return h_(t,e)}}function h_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r"u"&&(u.context=4);var A=fut(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(U){return U.map(function(J){return" "+J})}for(var h=[],E=0,I=0,v=[],x=1,C=1,F=function(J){var te=A[J],ae=te.lines||te.value.replace(/\n$/,"").split(` +`);if(te.lines=ae,te.added||te.removed){var le;if(!E){var ce=A[J-1];E=x,I=C,ce&&(v=u.context>0?p(ce.lines.slice(-u.context)):[],E-=v.length,I-=v.length)}(le=v).push.apply(le,p_(ae.map(function(Ae){return(te.added?"+":"-")+Ae}))),te.added?C+=ae.length:x+=ae.length}else{if(E)if(ae.length<=u.context*2&&J=A.length-2&&ae.length<=u.context){var g=/\n$/.test(r),me=/\n$/.test(o),Ce=ae.length==0&&v.length>Ee.oldLines;!g&&Ce&&r.length>0&&v.splice(Ee.oldLines,0,"\\ No newline at end of file"),(!g&&!Ce||!me)&&v.push("\\ No newline at end of file")}h.push(Ee),E=0,I=0,v=[]}x+=ae.length,C+=ae.length}},N=0;N{Kf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(F){return a?(setTimeout(function(){a(void 0,F)},0),!0):F}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,E=A+p;o.maxEditLength&&(E=Math.min(E,o.maxEditLength));var I=[{newPos:-1,components:[]}],v=this.extractCommon(I[0],r,e,0);if(I[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function x(){for(var F=-1*h;F<=h;F+=2){var N=void 0,U=I[F-1],J=I[F+1],te=(J?J.newPos:0)-F;U&&(I[F-1]=void 0);var ae=U&&U.newPos+1=A&&te+1>=p)return u(cut(n,N.components,r,e,n.useLongestToken));I[F]=N}h++}if(a)(function F(){setTimeout(function(){if(h>E)return a();x()||F()},0)})();else for(;h<=E;){var C=x();if(C)return C}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(g_(t,null,null,a),a," ")};o2.equals=function(t,e){return Kf.prototype.equals.call(o2,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};d_=new Kf;d_.tokenize=function(t){return t.slice()};d_.join=d_.removeEmpty=function(t){return t}});var hpe=_((l3t,ppe)=>{var Cut=ql(),wut=AE(),Iut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,But=/^\w*$/;function vut(t,e){if(Cut(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||wut(t)?!0:But.test(t)||!Iut.test(t)||e!=null&&t in Object(e)}ppe.exports=vut});var mpe=_((c3t,dpe)=>{var gpe=_D(),Put="Expected a function";function C_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Put);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(C_.Cache||gpe),r}C_.Cache=gpe;dpe.exports=C_});var Epe=_((u3t,ype)=>{var Dut=mpe(),Sut=500;function but(t){var e=Dut(t,function(o){return r.size===Sut&&r.clear(),o}),r=e.cache;return e}ype.exports=but});var w_=_((A3t,Cpe)=>{var xut=Epe(),kut=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qut=/\\(\\)?/g,Rut=xut(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(kut,function(r,o,a,n){e.push(a?n.replace(Qut,"$1"):o||r)}),e});Cpe.exports=Rut});var Gd=_((f3t,wpe)=>{var Fut=ql(),Tut=hpe(),Lut=w_(),Nut=N1();function Out(t,e){return Fut(t)?t:Tut(t,e)?[t]:Lut(Nut(t))}wpe.exports=Out});var oC=_((p3t,Ipe)=>{var Mut=AE(),Uut=1/0;function _ut(t){if(typeof t=="string"||Mut(t))return t;var e=t+"";return e=="0"&&1/t==-Uut?"-0":e}Ipe.exports=_ut});var Xx=_((h3t,Bpe)=>{var Hut=Gd(),qut=oC();function Gut(t,e){e=Hut(e,t);for(var r=0,o=e.length;t!=null&&r{var jut=rS(),Yut=Gd(),Wut=MI(),vpe=sl(),Kut=oC();function zut(t,e,r,o){if(!vpe(t))return t;e=Yut(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a{var Jut=Xx(),Vut=I_(),Xut=Gd();function Zut(t,e,r){for(var o=-1,a=e.length,n={};++o{function $ut(t,e){return t!=null&&e in Object(t)}bpe.exports=$ut});var B_=_((y3t,kpe)=>{var eAt=Gd(),tAt=LI(),rAt=ql(),nAt=MI(),iAt=YD(),sAt=oC();function oAt(t,e,r){e=eAt(e,t);for(var o=-1,a=e.length,n=!1;++o{var aAt=xpe(),lAt=B_();function cAt(t,e){return t!=null&&lAt(t,e,aAt)}Qpe.exports=cAt});var Tpe=_((C3t,Fpe)=>{var uAt=Spe(),AAt=Rpe();function fAt(t,e){return uAt(t,e,function(r,o){return AAt(t,o)})}Fpe.exports=fAt});var Mpe=_((w3t,Ope)=>{var Lpe=hd(),pAt=LI(),hAt=ql(),Npe=Lpe?Lpe.isConcatSpreadable:void 0;function gAt(t){return hAt(t)||pAt(t)||!!(Npe&&t&&t[Npe])}Ope.exports=gAt});var Hpe=_((I3t,_pe)=>{var dAt=GD(),mAt=Mpe();function Upe(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=mAt),a||(a=[]);++n0&&r(A)?e>1?Upe(A,e-1,r,o,a):dAt(a,A):o||(a[a.length]=A)}return a}_pe.exports=Upe});var Gpe=_((B3t,qpe)=>{var yAt=Hpe();function EAt(t){var e=t==null?0:t.length;return e?yAt(t,1):[]}qpe.exports=EAt});var v_=_((v3t,jpe)=>{var CAt=Gpe(),wAt=pN(),IAt=hN();function BAt(t){return IAt(wAt(t,void 0,CAt),t+"")}jpe.exports=BAt});var P_=_((P3t,Ype)=>{var vAt=Tpe(),PAt=v_(),DAt=PAt(function(t,e){return t==null?{}:vAt(t,e)});Ype.exports=DAt});var Zx,Wpe=Et(()=>{Wl();Zx=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var Qi,D_=Et(()=>{Wl();Qi=class extends Xs{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}reportFold(e,r){}async finalize(){}}});var Kpe,aC,S_=Et(()=>{Dt();Kpe=Ze(TS());uE();vd();jl();ih();Qf();So();aC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Ot.tryFind(this.cwd)??new Ot,this.relativeCwd=z.relative(this.project.cwd,this.cwd)||Bt.dot;let e=this.manifest.name?this.manifest.name:tA(null,`${this.computeCandidateName()}-${zi(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=In(e,`${Xn.protocol}${this.relativeCwd}`),this.anchoredLocator=Fs(e,`${Xn.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let o=await(0,Kpe.default)(r,{cwd:ue.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort(),await o.reduce(async(a,n)=>{let u=z.resolve(this.cwd,ue.toPortablePath(n)),A=await oe.existsPromise(z.join(u,"package.json"));await a,A&&this.workspacesCwds.add(u)},Promise.resolve())}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${a1(this.project.configuration,this)} (${Ut(this.project.configuration,z.join(this.cwd,dr.manifest),yt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===Xn.protocol&&z.normalize(a)===this.relativeCwd||o===Xn.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=xa(a);return n?o===Xn.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${z.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&i1(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=new Set([this]);for(let r of e)for(let o of r.workspacesCwds){let a=this.project.workspacesByCwd.get(o);a&&e.add(a)}return e.delete(this),Array.from(e)}async persistManifest(){let e={};this.manifest.exportTo(e);let r=z.join(this.cwd,Ot.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} +`;await oe.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function RAt({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,peerWarnings:A=[],peerRequirementNodes:p=new Map,volatileDescriptors:h=new Set}){let E=new Map,I=[],v=new Map,x=new Map,C=new Map,F=new Map,N=new Map(t.workspaces.map(le=>{let ce=le.anchoredLocator.locatorHash,we=o.get(ce);if(typeof we>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[ce,e1(we)]})),U=()=>{let le=oe.mktempSync(),ce=z.join(le,"stacktrace.log"),we=String(I.length+1).length,de=I.map((Be,Ee)=>`${`${Ee+1}.`.padStart(we," ")} ${ba(Be)} +`).join("");throw oe.writeFileSync(ce,de),oe.detachTemp(le),new Vt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${ue.fromPortablePath(ce)}`)},J=le=>{let ce=r.get(le.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: The resolution should have been registered");let we=o.get(ce);if(!we)throw new Error("Assertion failed: The package could not be found");return we},te=(le,ce,we,{top:de,optional:Be})=>{I.length>1e3&&U(),I.push(ce);let Ee=ae(le,ce,we,{top:de,optional:Be});return I.pop(),Ee},ae=(le,ce,we,{top:de,optional:Be})=>{if(Be||n.delete(ce.locatorHash),a.has(ce.locatorHash))return;a.add(ce.locatorHash);let Ee=o.get(ce.locatorHash);if(!Ee)throw new Error(`Assertion failed: The package (${qr(t.configuration,ce)}) should have been registered`);let g=[],me=new Map,Ce=[],Ae=[],ne=[],Z=[];for(let Le of Array.from(Ee.dependencies.values())){if(Ee.peerDependencies.has(Le.identHash)&&Ee.locatorHash!==de)continue;if(bf(Le))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");h.delete(Le.descriptorHash);let ht=Be;if(!ht){let Se=Ee.dependenciesMeta.get(rn(Le));if(typeof Se<"u"){let et=Se.get(null);typeof et<"u"&&et.optional&&(ht=!0)}}let H=r.get(Le.descriptorHash);if(!H)throw new Error(`Assertion failed: The resolution (${Gn(t.configuration,Le)}) should have been registered`);let rt=N.get(H)||o.get(H);if(!rt)throw new Error(`Assertion failed: The package (${H}, resolved from ${Gn(t.configuration,Le)}) should have been registered`);if(rt.peerDependencies.size===0){te(Le,rt,new Map,{top:de,optional:ht});continue}let Te,Re,ke=new Set,Ye=new Map;Ce.push(()=>{Te=tM(Le,ce.locatorHash),Re=rM(rt,ce.locatorHash),Ee.dependencies.delete(Le.identHash),Ee.dependencies.set(Te.identHash,Te),r.set(Te.descriptorHash,Re.locatorHash),e.set(Te.descriptorHash,Te),o.set(Re.locatorHash,Re),g.push([rt,Te,Re])}),Ae.push(()=>{F.set(Re.locatorHash,Ye);for(let Se of Re.peerDependencies.values()){let Ue=al(me,Se.identHash,()=>{let b=we.get(Se.identHash)??null,w=Ee.dependencies.get(Se.identHash);return!w&&n1(ce,Se)&&(le.identHash===ce.identHash?w=le:(w=In(ce,le.range),e.set(w.descriptorHash,w),r.set(w.descriptorHash,ce.locatorHash),h.delete(w.descriptorHash),b=null)),w||(w=In(Se,"missing:")),{subject:ce,ident:Se,provided:w,root:!b,requests:new Map,hash:`p${zi(ce.locatorHash,Se.identHash).slice(0,5)}`}}).provided;if(Ue.range==="missing:"&&Re.dependencies.has(Se.identHash)){Re.peerDependencies.delete(Se.identHash);continue}Ye.set(Se.identHash,{requester:Re,descriptor:Se,meta:Re.peerDependenciesMeta.get(rn(Se)),children:new Map}),Re.dependencies.set(Se.identHash,Ue),bf(Ue)&&jy(C,Ue.descriptorHash).add(Re.locatorHash),v.set(Ue.identHash,Ue),Ue.range==="missing:"&&ke.add(Ue.identHash)}Re.dependencies=new Map(Rs(Re.dependencies,([Se,et])=>rn(et)))}),ne.push(()=>{if(!o.has(Re.locatorHash))return;let Se=E.get(rt.locatorHash);typeof Se=="number"&&Se>=2&&U();let et=E.get(rt.locatorHash),Ue=typeof et<"u"?et+1:1;E.set(rt.locatorHash,Ue),te(Te,Re,Ye,{top:de,optional:ht}),E.set(rt.locatorHash,Ue-1)}),Z.push(()=>{let Se=Ee.dependencies.get(Le.identHash);if(typeof Se>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let et=r.get(Se.descriptorHash);if(typeof et>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let Ue=F.get(et);if(typeof Ue>"u")throw new Error("Assertion failed: Expected the peer requests to be registered");for(let b of me.values()){let w=Ue.get(b.ident.identHash);!w||(b.requests.set(Se.descriptorHash,w),p.set(b.hash,b),b.root||we.get(b.ident.identHash)?.children.set(Se.descriptorHash,w))}if(!!o.has(Re.locatorHash))for(let b of ke)Re.dependencies.delete(b)})}for(let Le of[...Ce,...Ae])Le();let xe;do{xe=!0;for(let[Le,ht,H]of g){let rt=KI(x,Le.locatorHash),Te=zi(...[...H.dependencies.values()].map(Se=>{let et=Se.range!=="missing:"?r.get(Se.descriptorHash):"missing:";if(typeof et>"u")throw new Error(`Assertion failed: Expected the resolution for ${Gn(t.configuration,Se)} to have been registered`);return et===de?`${et} (top)`:et}),ht.identHash),Re=rt.get(Te);if(typeof Re>"u"){rt.set(Te,ht);continue}if(Re===ht)continue;o.delete(H.locatorHash),e.delete(ht.descriptorHash),r.delete(ht.descriptorHash),a.delete(H.locatorHash);let ke=C.get(ht.descriptorHash)||[],Ye=[Ee.locatorHash,...ke];C.delete(ht.descriptorHash);for(let Se of Ye){let et=o.get(Se);typeof et>"u"||(et.dependencies.get(ht.identHash).descriptorHash!==Re.descriptorHash&&(xe=!1),et.dependencies.set(ht.identHash,Re))}for(let Se of me.values())Se.provided.descriptorHash===ht.descriptorHash&&(Se.provided=Re)}}while(!xe);for(let Le of[...ne,...Z])Le()};for(let le of t.workspaces){let ce=le.anchoredLocator;h.delete(le.anchoredDescriptor.descriptorHash),te(le.anchoredDescriptor,ce,new Map,{top:ce.locatorHash,optional:!1})}for(let le of p.values()){if(!le.root)continue;let ce=o.get(le.subject.locatorHash);if(typeof ce>"u")continue;for(let de of le.requests.values()){let Be=`p${zi(le.subject.locatorHash,rn(le.ident),de.requester.locatorHash).slice(0,5)}`;u.set(Be,{subject:le.subject.locatorHash,requested:le.ident,rootRequester:de.requester.locatorHash,allRequesters:Array.from(l1(de),Ee=>Ee.requester.locatorHash)})}let we=[...l1(le)];if(le.provided.range!=="missing:"){let de=J(le.provided),Be=de.version??"0.0.0",Ee=me=>{if(me.startsWith(Xn.protocol)){if(!t.tryWorkspaceByLocator(de))return null;me=me.slice(Xn.protocol.length),(me==="^"||me==="~")&&(me="*")}return me},g=!0;for(let me of we){let Ce=Ee(me.descriptor.range);if(Ce===null){g=!1;continue}if(!kf(Be,Ce)){g=!1;let Ae=`p${zi(le.subject.locatorHash,rn(le.ident),me.requester.locatorHash).slice(0,5)}`;A.push({type:1,subject:ce,requested:le.ident,requester:me.requester,version:Be,hash:Ae,requirementCount:we.length})}}if(!g){let me=we.map(Ce=>Ee(Ce.descriptor.range));A.push({type:3,node:le,range:me.includes(null)?null:sM(me),hash:le.hash})}}else{let de=!0;for(let Be of we)if(!Be.meta?.optional){de=!1;let Ee=`p${zi(le.subject.locatorHash,rn(le.ident),Be.requester.locatorHash).slice(0,5)}`;A.push({type:0,subject:ce,requested:le.ident,requester:Be.requester,hash:Ee})}de||A.push({type:2,node:le,hash:le.hash})}}}function FAt(t,e){let r=[],o=[],a=!1;for(let n of t.peerWarnings)if(!(n.type===1||n.type===0)){if(!t.tryWorkspaceByLocator(n.node.subject)){a=!0;continue}if(n.type===3){let u=t.storedResolutions.get(n.node.provided.descriptorHash);if(typeof u>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=t.storedPackages.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the package to be registered");let p=[...l1(n.node)].length>1?"and other dependencies request":"requests",h=n.range?aE(t.configuration,n.range):Ut(t.configuration,"but they have non-overlapping ranges!","redBright");r.push(`${us(t.configuration,n.node.ident)} is listed by your project with version ${o1(t.configuration,A.version??"0.0.0")} (${Ut(t.configuration,n.hash,yt.CODE)}), which doesn't satisfy what ${us(t.configuration,n.node.requests.values().next().value.requester)} ${p} (${h}).`)}if(n.type===2){let u=n.node.requests.size>1?" and other dependencies":"";o.push(`${qr(t.configuration,n.node.subject)} doesn't provide ${us(t.configuration,n.node.ident)} (${Ut(t.configuration,n.hash,yt.CODE)}), requested by ${us(t.configuration,n.node.requests.values().next().value.requester)}${u}.`)}}e.startSectionSync({reportFooter:()=>{e.reportWarning(86,`Some peer dependencies are incorrectly met by your project; run ${Ut(t.configuration,"yarn explain peer-requirements ",yt.CODE)} for details, where ${Ut(t.configuration,"",yt.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of Rs(r,u=>Jy.default(u)))e.reportWarning(60,n);for(let n of Rs(o,u=>Jy.default(u)))e.reportWarning(2,n)}),a&&e.reportWarning(86,`Some peer dependencies are incorrectly met by dependencies; run ${Ut(t.configuration,"yarn explain peer-requirements",yt.CODE)} for details.`)}var $x,ek,tk,Vpe,k_,x_,Q_,rk,SAt,bAt,zpe,xAt,kAt,QAt,hl,b_,nk,Jpe,St,Xpe=Et(()=>{Dt();Dt();Nl();qt();$x=ve("crypto");E_();ek=Ze(P_()),tk=Ze(sd()),Vpe=Ze(Vn()),k_=ve("util"),x_=Ze(ve("v8")),Q_=Ze(ve("zlib"));u_();S1();A_();f_();uE();uM();Wl();Wpe();M1();D_();vd();S_();KS();jl();ih();Gl();Pb();BU();Qf();So();rk=Ky(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??8),SAt=3,bAt=/ *, */g,zpe=/\/$/,xAt=32,kAt=(0,k_.promisify)(Q_.default.gzip),QAt=(0,k_.promisify)(Q_.default.gunzip),hl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(hl||{}),b_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},nk=(a=>(a[a.NotProvided=0]="NotProvided",a[a.NotCompatible=1]="NotCompatible",a[a.NodeNotProvided=2]="NodeNotProvided",a[a.NodeNotCompatible=3]="NodeNotCompatible",a))(nk||{}),Jpe=t=>zi(`${SAt}`,t),St=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.peerRequirementNodes=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){if(!e.projectCwd)throw new st(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,oe.existsSync(z.join(n,dr.manifest))){o=n;break}a=z.dirname(n)}let u=new St(e.projectCwd,{configuration:e});Ke.telemetry?.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),Ke.telemetry?.reportWorkspaceCount(u.workspaces.length),Ke.telemetry?.reportDependencyCount(u.workspaces.reduce((C,F)=>C+F.manifest.dependencies.size+F.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Ut(e,u.cwd,yt.PATH),E=Ut(e,z.relative(u.cwd,o),yt.PATH),I=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,x=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new st(`The nearest package directory (${Ut(e,o,yt.PATH)}) doesn't seem to be part of the project declared in ${Ut(e,u.cwd,yt.PATH)}. + +${[I,v,x].join(` +`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=z.join(this.cwd,dr.lockfile),r=this.configuration.get("defaultLanguageName");if(oe.existsSync(e)){let o=await oe.readFilePromise(e,"utf8");this.lockFileChecksum=Jpe(o);let a=Ki(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=xf(p.resolution,!0),E=new Ot;E.load(p,{yamlCompatibilityMode:!0});let I=E.version,v=E.languageName||r,x=p.linkType.toUpperCase(),C=p.conditions??null,F=E.dependencies,N=E.peerDependencies,U=E.dependenciesMeta,J=E.peerDependenciesMeta,te=E.bin;if(p.checksum!=null){let le=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,le)}let ae={...h,version:I,languageName:v,linkType:x,conditions:C,dependencies:F,peerDependencies:N,dependenciesMeta:U,peerDependenciesMeta:J,bin:te};this.originalPackages.set(ae.locatorHash,ae);for(let le of A.split(bAt)){let ce=sh(le);n<=6&&(ce=this.configuration.normalizeDependency(ce),ce=In(ce,ce.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ce.descriptorHash,ce),this.storedResolutions.set(ce.descriptorHash,h.locatorHash)}}}else o.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,r=(0,tk.default)(4),o=async(a,n)=>{if(e.has(n))return a;e.add(n);let u=new aC(n,{project:this});await r(()=>u.setup());let A=a.then(()=>{this.addWorkspace(u)});return Array.from(u.workspacesCwds).reduce(o,A)};await o(Promise.resolve(),this.cwd)}addWorkspace(e){let r=this.workspacesByIdent.get(e.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${us(this.configuration,e.anchoredLocator)}: ${ue.fromPortablePath(e.cwd)} conflicts with ${ue.fromPortablePath(r.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.anchoredLocator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){z.isAbsolute(e)||(e=z.resolve(this.cwd,e)),e=z.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)z.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${us(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(Xn.protocol)){let o=e.range.slice(Xn.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!xa(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(e);return r===null||(bf(e)&&(e=t1(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Gn(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qc(e)&&(e=r1(e)),r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${qr(this.configuration,e)})`);return r}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let r=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let o=new Set(this.storedResolutions.values());typeof r<"u"&&!o.has(r)&&this.deleteLocator(r)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[r,o]of this.storedResolutions)o===e.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),r=new Map;for(let[o,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(o)}for(let o of this.originalPackages.values()){let a;try{a=e.shouldPersistResolution(o,{project:this,resolver:e})}catch{a=!1}if(!a){this.deleteLocator(o.locatorHash);let n=r.get(o.locatorHash);if(n){r.delete(o.locatorHash);for(let u of n)this.deleteDescriptor(u)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)bf(o)&&e.dependencies.set(r,t1(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(rn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!Vpe.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new Qi,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(zpe,"")!==e.replace(zpe,""))continue;return A}}return null}async loadUserConfig(){let e=z.join(this.cwd,".pnp.cjs");await oe.existsPromise(e)&&Pf(e).setup();let r=z.join(this.cwd,"yarn.config.cjs");return await oe.existsPromise(r)?Pf(r):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=await this.configuration.getPackageExtensions(),n=this.configuration.normalizePackage(e,{packageExtensions:a});for(let[u,A]of n.dependencies){let p=await this.configuration.reduceHook(E=>E.reduceDependency,A,this,n,A,{resolver:r,resolveOptions:o});if(!n1(A,p))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let h=r.bindDescriptor(p,n,o);n.dependencies.set(u,h)}return n}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),o=[];e.lockfileOnly||this.forgetTransientResolutions();let a=e.resolver||this.configuration.makeResolver(),n=new iC(a);await n.setup(this,{report:e.report});let u=e.lockfileOnly?[new Zx(a)]:[n,a],A=new Pd([new sC(a),...u]),p=new Pd([...u]),h=this.configuration.makeFetcher(),E=e.lockfileOnly?{project:this,report:e.report,resolver:A}:{project:this,report:e.report,resolver:A,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},I=new Map,v=new Map,x=new Map,C=new Map,F=new Map,N=new Map,U=this.topLevelWorkspace.anchoredLocator,J=new Set,te=[],ae=M4(),le=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Xs.progressViaTitle(),async ne=>{let Z=async rt=>{let Te=await Yy(async()=>await A.resolve(rt,E),Se=>`${qr(this.configuration,rt)}: ${Se}`);if(!i1(rt,Te))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${qr(this.configuration,rt)} to ${qr(this.configuration,Te)})`);C.set(Te.locatorHash,Te),!r.delete(Te.locatorHash)&&!this.tryWorkspaceByLocator(Te)&&o.push(Te);let ke=await this.preparePackage(Te,{resolver:A,resolveOptions:E}),Ye=_c([...ke.dependencies.values()].map(Se=>H(Se)));return te.push(Ye),Ye.catch(()=>{}),v.set(ke.locatorHash,ke),ke},xe=async rt=>{let Te=F.get(rt.locatorHash);if(typeof Te<"u")return Te;let Re=Promise.resolve().then(()=>Z(rt));return F.set(rt.locatorHash,Re),Re},Le=async(rt,Te)=>{let Re=await H(Te);return I.set(rt.descriptorHash,rt),x.set(rt.descriptorHash,Re.locatorHash),Re},ht=async rt=>{ne.setTitle(Gn(this.configuration,rt));let Te=this.resolutionAliases.get(rt.descriptorHash);if(typeof Te<"u")return Le(rt,this.storedDescriptors.get(Te));let Re=A.getResolutionDependencies(rt,E),ke=Object.fromEntries(await _c(Object.entries(Re).map(async([et,Ue])=>{let b=A.bindDescriptor(Ue,U,E),w=await H(b);return J.add(w.locatorHash),[et,w]}))),Se=(await Yy(async()=>await A.getCandidates(rt,ke,E),et=>`${Gn(this.configuration,rt)}: ${et}`))[0];if(typeof Se>"u")throw new Vt(82,`${Gn(this.configuration,rt)}: No candidates found`);if(e.checkResolutions){let{locators:et}=await p.getSatisfying(rt,ke,[Se],{...E,resolver:p});if(!et.find(Ue=>Ue.locatorHash===Se.locatorHash))throw new Vt(78,`Invalid resolution ${ZI(this.configuration,rt,Se)}`)}return I.set(rt.descriptorHash,rt),x.set(rt.descriptorHash,Se.locatorHash),xe(Se)},H=rt=>{let Te=N.get(rt.descriptorHash);if(typeof Te<"u")return Te;I.set(rt.descriptorHash,rt);let Re=Promise.resolve().then(()=>ht(rt));return N.set(rt.descriptorHash,Re),Re};for(let rt of this.workspaces){let Te=rt.anchoredDescriptor;te.push(H(Te))}for(;te.length>0;){let rt=[...te];te.length=0,await _c(rt)}});let ce=ol(r.values(),ne=>this.tryWorkspaceByLocator(ne)?ol.skip:ne);if(o.length>0||ce.length>0){let ne=new Set(this.workspaces.flatMap(rt=>{let Te=v.get(rt.anchoredLocator.locatorHash);if(!Te)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(Te.dependencies.values(),Re=>{let ke=x.get(Re.descriptorHash);if(!ke)throw new Error("Assertion failed: The resolution should have been registered");return ke})})),Z=rt=>ne.has(rt.locatorHash)?"0":"1",xe=rt=>ba(rt),Le=Rs(o,[Z,xe]),ht=Rs(ce,[Z,xe]),H=e.report.getRecommendedLength();Le.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"+",yt.ADDED)} ${cS(this.configuration,Le,H)}`),ht.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"-",yt.REMOVED)} ${cS(this.configuration,ht,H)}`)}let we=new Set(this.resolutionAliases.values()),de=new Set(v.keys()),Be=new Set,Ee=new Map,g=[],me=new Map;RAt({project:this,accessibleLocators:Be,volatileDescriptors:we,optionalBuilds:de,peerRequirements:Ee,peerWarnings:g,peerRequirementNodes:me,allDescriptors:I,allResolutions:x,allPackages:v});for(let ne of J)de.delete(ne);for(let ne of we)I.delete(ne),x.delete(ne);let Ce=new Set,Ae=new Set;for(let ne of v.values())ne.conditions!=null&&(!de.has(ne.locatorHash)||(GS(ne,le)||(GS(ne,ae)&&e.report.reportWarningOnce(77,`${qr(this.configuration,ne)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ut(this.configuration,"supportedArchitectures",yt.SETTING)} setting`),Ae.add(ne.locatorHash)),Ce.add(ne.locatorHash)));this.storedResolutions=x,this.storedDescriptors=I,this.storedPackages=v,this.accessibleLocators=Be,this.conditionalLocators=Ce,this.disabledLocators=Ae,this.originalPackages=C,this.optionalBuilds=de,this.peerRequirements=Ee,this.peerWarnings=g,this.peerRequirementNodes=me}async fetchEverything({cache:e,report:r,fetcher:o,mode:a,persistProject:n=!0}){let u={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},A=o||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:e,fetcher:A,report:r,cacheOptions:u},h=Array.from(new Set(Rs(this.storedResolutions.values(),[C=>{let F=this.storedPackages.get(C);if(!F)throw new Error("Assertion failed: The locator should have been registered");return ba(F)}])));a==="update-lockfile"&&(h=h.filter(C=>!this.storedChecksums.has(C)));let E=!1,I=Xs.progressViaCounter(h.length);await r.reportProgress(I);let v=(0,tk.default)(xAt);if(await _c(h.map(C=>v(async()=>{let F=this.storedPackages.get(C);if(!F)throw new Error("Assertion failed: The locator should have been registered");if(qc(F))return;let N;try{N=await A.fetch(F,p)}catch(U){U.message=`${qr(this.configuration,F)}: ${U.message}`,r.reportExceptionOnce(U),E=U;return}N.checksum!=null?this.storedChecksums.set(F.locatorHash,N.checksum):this.storedChecksums.delete(F.locatorHash),N.releaseFs&&N.releaseFs()}).finally(()=>{I.tick()}))),E)throw E;let x=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:e,report:r}):null;if(r.cacheMisses.size>0||x){let F=(await Promise.all([...r.cacheMisses].map(async ce=>{let we=this.storedPackages.get(ce),de=this.storedChecksums.get(ce)??null,Be=e.getLocatorPath(we,de);return(await oe.statPromise(Be)).size}))).reduce((ce,we)=>ce+we,0)-(x?.size??0),N=r.cacheMisses.size,U=x?.count??0,J=`${nS(N,{zero:"No new packages",one:"A package was",more:`${Ut(this.configuration,N,yt.NUMBER)} packages were`})} added to the project`,te=`${nS(U,{zero:"none were",one:"one was",more:`${Ut(this.configuration,U,yt.NUMBER)} were`})} removed`,ae=F!==0?` (${Ut(this.configuration,F,yt.SIZE_DIFF)})`:"",le=U>0?N>0?`${J}, and ${te}${ae}.`:`${J}, but ${te}${ae}.`:`${J}${ae}.`;r.reportInfo(13,le)}}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(Ce=>{let Ae=Ce.makeInstaller(h),ne=Ce.getCustomDataKey(),Z=this.linkersCustomData.get(ne);return typeof Z<"u"&&Ae.attachCustomData(Z),[Ce,Ae]})),I=new Map,v=new Map,x=new Map,C=new Map(await _c([...this.accessibleLocators].map(async Ce=>{let Ae=this.storedPackages.get(Ce);if(!Ae)throw new Error("Assertion failed: The locator should have been registered");return[Ce,await u.fetch(Ae,A)]}))),F=[],N=new Set,U=[];for(let Ce of this.accessibleLocators){let Ae=this.storedPackages.get(Ce);if(typeof Ae>"u")throw new Error("Assertion failed: The locator should have been registered");let ne=C.get(Ae.locatorHash);if(typeof ne>"u")throw new Error("Assertion failed: The fetch result should have been registered");let Z=[],xe=ht=>{Z.push(ht)},Le=this.tryWorkspaceByLocator(Ae);if(Le!==null){let ht=[],{scripts:H}=Le.manifest;for(let Te of["preinstall","install","postinstall"])H.has(Te)&&ht.push({type:0,script:Te});try{for(let[Te,Re]of E)if(Te.supportsPackage(Ae,h)&&(await Re.installPackage(Ae,ne,{holdFetchResult:xe})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Z.length===0?ne.releaseFs?.():F.push(_c(Z).catch(()=>{}).then(()=>{ne.releaseFs?.()}))}let rt=z.join(ne.packageFs.getRealPath(),ne.prefixPath);v.set(Ae.locatorHash,rt),!qc(Ae)&&ht.length>0&&x.set(Ae.locatorHash,{buildDirectives:ht,buildLocations:[rt]})}else{let ht=p.find(Te=>Te.supportsPackage(Ae,h));if(!ht)throw new Vt(12,`${qr(this.configuration,Ae)} isn't supported by any available linker`);let H=E.get(ht);if(!H)throw new Error("Assertion failed: The installer should have been registered");let rt;try{rt=await H.installPackage(Ae,ne,{holdFetchResult:xe})}finally{Z.length===0?ne.releaseFs?.():F.push(_c(Z).then(()=>{}).then(()=>{ne.releaseFs?.()}))}I.set(Ae.locatorHash,ht),v.set(Ae.locatorHash,rt.packageLocation),rt.buildRequest&&rt.packageLocation&&(rt.buildRequest.skipped?(N.add(Ae.locatorHash),this.skippedBuilds.has(Ae.locatorHash)||U.push([Ae,rt.buildRequest.explain])):x.set(Ae.locatorHash,{buildDirectives:rt.buildRequest.directives,buildLocations:[rt.packageLocation]}))}}let J=new Map;for(let Ce of this.accessibleLocators){let Ae=this.storedPackages.get(Ce);if(!Ae)throw new Error("Assertion failed: The locator should have been registered");let ne=this.tryWorkspaceByLocator(Ae)!==null,Z=async(xe,Le)=>{let ht=v.get(Ae.locatorHash);if(typeof ht>"u")throw new Error(`Assertion failed: The package (${qr(this.configuration,Ae)}) should have been registered`);let H=[];for(let rt of Ae.dependencies.values()){let Te=this.storedResolutions.get(rt.descriptorHash);if(typeof Te>"u")throw new Error(`Assertion failed: The resolution (${Gn(this.configuration,rt)}, from ${qr(this.configuration,Ae)})should have been registered`);let Re=this.storedPackages.get(Te);if(typeof Re>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Gn(this.configuration,rt)}) should have been registered`);let ke=this.tryWorkspaceByLocator(Re)===null?I.get(Te):null;if(typeof ke>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Gn(this.configuration,rt)}) should have been registered`);ke===xe||ke===null?v.get(Re.locatorHash)!==null&&H.push([rt,Re]):!ne&&ht!==null&&WI(J,Te).push(ht)}ht!==null&&await Le.attachInternalDependencies(Ae,H)};if(ne)for(let[xe,Le]of E)xe.supportsPackage(Ae,h)&&await Z(xe,Le);else{let xe=I.get(Ae.locatorHash);if(!xe)throw new Error("Assertion failed: The linker should have been found");let Le=E.get(xe);if(!Le)throw new Error("Assertion failed: The installer should have been registered");await Z(xe,Le)}}for(let[Ce,Ae]of J){let ne=this.storedPackages.get(Ce);if(!ne)throw new Error("Assertion failed: The package should have been registered");let Z=I.get(ne.locatorHash);if(!Z)throw new Error("Assertion failed: The linker should have been found");let xe=E.get(Z);if(!xe)throw new Error("Assertion failed: The installer should have been registered");await xe.attachExternalDependents(ne,Ae)}let te=new Map;for(let[Ce,Ae]of E){let ne=await Ae.finalizeInstall();for(let Z of ne?.records??[])Z.buildRequest.skipped?(N.add(Z.locator.locatorHash),this.skippedBuilds.has(Z.locator.locatorHash)||U.push([Z.locator,Z.buildRequest.explain])):x.set(Z.locator.locatorHash,{buildDirectives:Z.buildRequest.directives,buildLocations:Z.buildLocations});typeof ne?.customData<"u"&&te.set(Ce.getCustomDataKey(),ne.customData)}if(this.linkersCustomData=te,await _c(F),a==="skip-build")return;for(let[,Ce]of Rs(U,([Ae])=>ba(Ae)))Ce(r);let ae=new Set(x.keys()),le=(0,$x.createHash)("sha512");le.update(process.versions.node),await this.configuration.triggerHook(Ce=>Ce.globalHashGeneration,this,Ce=>{le.update("\0"),le.update(Ce)});let ce=le.digest("hex"),we=new Map,de=Ce=>{let Ae=we.get(Ce.locatorHash);if(typeof Ae<"u")return Ae;let ne=this.storedPackages.get(Ce.locatorHash);if(typeof ne>"u")throw new Error("Assertion failed: The package should have been registered");let Z=(0,$x.createHash)("sha512");Z.update(Ce.locatorHash),we.set(Ce.locatorHash,"");for(let xe of ne.dependencies.values()){let Le=this.storedResolutions.get(xe.descriptorHash);if(typeof Le>"u")throw new Error(`Assertion failed: The resolution (${Gn(this.configuration,xe)}) should have been registered`);let ht=this.storedPackages.get(Le);if(typeof ht>"u")throw new Error("Assertion failed: The package should have been registered");Z.update(de(ht))}return Ae=Z.digest("hex"),we.set(Ce.locatorHash,Ae),Ae},Be=(Ce,Ae)=>{let ne=(0,$x.createHash)("sha512");ne.update(ce),ne.update(de(Ce));for(let Z of Ae)ne.update(Z);return ne.digest("hex")},Ee=new Map,g=!1,me=Ce=>{let Ae=new Set([Ce.locatorHash]);for(let ne of Ae){let Z=this.storedPackages.get(ne);if(!Z)throw new Error("Assertion failed: The package should have been registered");for(let xe of Z.dependencies.values()){let Le=this.storedResolutions.get(xe.descriptorHash);if(!Le)throw new Error(`Assertion failed: The resolution (${Gn(this.configuration,xe)}) should have been registered`);if(Le!==Ce.locatorHash&&ae.has(Le))return!1;let ht=this.storedPackages.get(Le);if(!ht)throw new Error("Assertion failed: The package should have been registered");let H=this.tryWorkspaceByLocator(ht);if(H){if(H.anchoredLocator.locatorHash!==Ce.locatorHash&&ae.has(H.anchoredLocator.locatorHash))return!1;Ae.add(H.anchoredLocator.locatorHash)}Ae.add(Le)}}return!0};for(;ae.size>0;){let Ce=ae.size,Ae=[];for(let ne of ae){let Z=this.storedPackages.get(ne);if(!Z)throw new Error("Assertion failed: The package should have been registered");if(!me(Z))continue;let xe=x.get(Z.locatorHash);if(!xe)throw new Error("Assertion failed: The build directive should have been registered");let Le=Be(Z,xe.buildLocations);if(this.storedBuildState.get(Z.locatorHash)===Le){Ee.set(Z.locatorHash,Le),ae.delete(ne);continue}g||(await this.persistInstallStateFile(),g=!0),this.storedBuildState.has(Z.locatorHash)?r.reportInfo(8,`${qr(this.configuration,Z)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${qr(this.configuration,Z)} must be built because it never has been before or the last one failed`);let ht=xe.buildLocations.map(async H=>{if(!z.isAbsolute(H))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${H})`);for(let rt of xe.buildDirectives){let Te=`# This file contains the result of Yarn building a package (${ba(Z)}) +`;switch(rt.type){case 0:Te+=`# Script name: ${rt.script} +`;break;case 1:Te+=`# Script code: ${rt.script} +`;break}let Re=null;if(!await oe.mktempPromise(async Ye=>{let Se=z.join(Ye,"build.log"),{stdout:et,stderr:Ue}=this.configuration.getSubprocessStreams(Se,{header:Te,prefix:qr(this.configuration,Z),report:r}),b;try{switch(rt.type){case 0:b=await Kb(Z,rt.script,[],{cwd:H,project:this,stdin:Re,stdout:et,stderr:Ue});break;case 1:b=await EU(Z,rt.script,[],{cwd:H,project:this,stdin:Re,stdout:et,stderr:Ue});break}}catch(y){Ue.write(y.stack),b=1}if(et.end(),Ue.end(),b===0)return!0;oe.detachTemp(Ye);let w=`${qr(this.configuration,Z)} couldn't be built successfully (exit code ${Ut(this.configuration,b,yt.NUMBER)}, logs can be found here: ${Ut(this.configuration,Se,yt.PATH)})`,S=this.optionalBuilds.has(Z.locatorHash);return S?r.reportInfo(9,w):r.reportError(9,w),zce&&r.reportFold(ue.fromPortablePath(Se),oe.readFileSync(Se,"utf8")),S}))return!1}return!0});Ae.push(...ht,Promise.allSettled(ht).then(H=>{ae.delete(ne),H.every(rt=>rt.status==="fulfilled"&&rt.value===!0)&&Ee.set(Z.locatorHash,Le)}))}if(await _c(Ae),Ce===ae.size){let ne=Array.from(ae).map(Z=>{let xe=this.storedPackages.get(Z);if(!xe)throw new Error("Assertion failed: The package should have been registered");return qr(this.configuration,xe)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ne})`);break}}this.storedBuildState=Ee,this.skippedBuilds=N}async installWithNewReport(e,r){return(await Ft.start({configuration:this.configuration,json:e.json,stdout:e.stdout,forceSectionAlignment:!0,includeLogs:!e.json&&!e.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(e){let r=this.configuration.get("nodeLinker");Ke.telemetry?.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&e.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(E=>E.validateProject,this,{reportWarning:(E,I)=>{e.report.reportWarning(E,I)},reportError:(E,I)=>{e.report.reportError(E,I),o=!0}})}),o)return;let a=await this.configuration.getPackageExtensions();for(let E of a.values())for(let[,I]of E)for(let v of I)v.status="inactive";let n=z.join(this.cwd,dr.lockfile),u=null;if(e.immutable)try{u=await oe.readFilePromise(n,"utf8")}catch(E){throw E.code==="ENOENT"?new Vt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):E}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{FAt(this,e.report);for(let[,E]of a)for(let[,I]of E)for(let v of I)if(v.userProvided){let x=Ut(this.configuration,v,yt.PACKAGE_EXTENSION);switch(v.status){case"inactive":e.report.reportWarning(68,`${x}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${x}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(u!==null){let E=Hg(u,this.generateLockfile());if(E!==u){let I=fpe(n,n,u,E,void 0,void 0,{maxEditLength:100});if(I){e.report.reportSeparator();for(let v of I.hunks){e.report.reportInfo(null,`@@ -${v.oldStart},${v.oldLines} +${v.newStart},${v.newLines} @@`);for(let x of v.lines)x.startsWith("+")?e.report.reportError(28,Ut(this.configuration,x,yt.ADDED)):x.startsWith("-")?e.report.reportError(28,Ut(this.configuration,x,yt.REMOVED)):e.report.reportInfo(null,Ut(this.configuration,x,"grey"))}e.report.reportSeparator()}throw new Vt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let E of a.values())for(let[,I]of E)for(let v of I)v.userProvided&&v.status==="active"&&Ke.telemetry?.reportPackageExtension(Ed(v,yt.PACKAGE_EXTENSION));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e)});let A=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],p=await Promise.all(A.map(async E=>OS(E,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Ut(this.configuration,"mode=update-lockfile",yt.CODE)}`);return}await this.linkEverything(e);let E=await Promise.all(A.map(async I=>OS(I,{cwd:this.cwd})));for(let I=0;I{await this.configuration.triggerHook(E=>E.validateProjectAfterInstall,this,{reportWarning:(E,I)=>{e.report.reportWarning(E,I)},reportError:(E,I)=>{e.report.reportError(E,I),h=!0}})}),!h&&await this.configuration.triggerHook(E=>E.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,u]of this.storedResolutions.entries()){let A=e.get(u);A||e.set(u,A=new Set),A.add(n)}let r={},{cacheKey:o}=Nr.getCacheKey(this.configuration);r.__metadata={version:rk,cacheKey:o};for(let[n,u]of e.entries()){let A=this.originalPackages.get(n);if(!A)continue;let p=[];for(let I of u){let v=this.storedDescriptors.get(I);if(!v)throw new Error("Assertion failed: The descriptor should have been registered");p.push(v)}let h=p.map(I=>Sa(I)).sort().join(", "),E=new Ot;E.version=A.linkType==="HARD"?A.version:"0.0.0-use.local",E.languageName=A.languageName,E.dependencies=new Map(A.dependencies),E.peerDependencies=new Map(A.peerDependencies),E.dependenciesMeta=new Map(A.dependenciesMeta),E.peerDependenciesMeta=new Map(A.peerDependenciesMeta),E.bin=new Map(A.bin),r[h]={...E.exportTo({},{compatibilityMode:!1}),linkType:A.linkType.toLowerCase(),resolution:ba(A),checksum:this.storedChecksums.get(A.locatorHash),conditions:A.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Ba(r)}async persistLockfile(){let e=z.join(this.cwd,dr.lockfile),r="";try{r=await oe.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=Hg(r,o);a!==r&&(await oe.writeFilePromise(e,a),this.lockFileChecksum=Jpe(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(b_))e.push(...u);let r=(0,ek.default)(this,e),o=x_.default.serialize(r),a=zi(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await oe.mkdirPromise(z.dirname(n),{recursive:!0}),await oe.writeFilePromise(n,await kAt(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await QAt(await oe.readFilePromise(a));n=x_.default.deserialize(u),this.installStateChecksum=zi(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,ek.default)(n,b_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,ek.default)(n,b_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Qi}),await this.persistInstallStateFile()}async persist(){let e=(0,tk.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>e(()=>r.persistManifest()))])}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let o=new Set([".gitignore"]);if(!CM(e.cwd,this.cwd)||!await oe.existsPromise(e.cwd))return null;let a=[];for(let u of await oe.readdirPromise(e.cwd)){if(o.has(u))continue;let A=z.resolve(e.cwd,u);e.markedFiles.has(A)||(e.immutable?r.reportError(56,`${Ut(this.configuration,z.basename(A),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(oe.lstatPromise(A).then(async p=>(await oe.removePromise(A),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((u,A)=>u+A,0)}}}});function TAt(t){let o=Math.floor(t.timeNow/864e5),a=t.updateInterval*864e5,n=t.state.lastUpdate??t.timeNow+a+Math.floor(a*t.randomInitialInterval),u=n+a,A=t.state.lastTips??o*864e5,p=A+864e5+8*36e5-t.timeZone,h=u<=t.timeNow,E=p<=t.timeNow,I=null;return(h||E||!t.state.lastUpdate||!t.state.lastTips)&&(I={},I.lastUpdate=h?t.timeNow:n,I.lastTips=A,I.blocks=h?{}:t.state.blocks,I.displayedTips=t.state.displayedTips),{nextState:I,triggerUpdate:h,triggerTips:E,nextTips:E?o*864e5:A}}var lC,Zpe=Et(()=>{Dt();O1();ih();Bb();Gl();Qf();lC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=e;let o=this.getRegistryPath();this.isNew=!oe.existsSync(o),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(e){let r=new Set(this.displayedTips),o=A=>A&&nn?kf(nn,A):!1,a=e.map((A,p)=>p).filter(A=>e[A]&&o(e[A]?.selector));if(a.length===0)return null;let n=a.filter(A=>!r.has(A));if(n.length===0){let A=Math.floor(a.length*.2);this.displayedTips=A>0?this.displayedTips.slice(-A):[],n=a.filter(p=>!r.has(p))}let u=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(u),this.commitTips(),e[u]}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){jy(this.values,e).add(r)}reportEnumerator(e,r){jy(this.enumerators,e).add(zi(r))}reportHit(e,r="*"){let o=KI(this.hits,e),a=al(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return z.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=oe.readJsonSync(r)}catch{o={}}let{nextState:a,triggerUpdate:n,triggerTips:u,nextTips:A}=TAt({state:o,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=A,this.displayedTips=o.displayedTips??[],a!==null)try{oe.mkdirSync(z.dirname(r),{recursive:!0}),oe.writeJsonSync(r,a)}catch{return!1}if(u&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=o.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,E=I=>O4(h,I,{configuration:this.configuration}).catch(()=>{});for(let[I,v]of Object.entries(o.blocks??{})){if(Object.keys(v).length===0)continue;let x=v;x.userId=I,x.reportType="primary";for(let N of Object.keys(x.enumerators??{}))x.enumerators[N]=x.enumerators[N].length;E(x);let C=new Map,F=20;for(let[N,U]of Object.entries(x.values))U.length>0&&C.set(N,U.slice(0,F));for(;C.size>0;){let N={};N.userId=I,N.reportType="secondary",N.metrics={};for(let[U,J]of C)N.metrics[U]=J.shift(),J.length===0&&C.delete(U);E(N)}}}}return!0}applyChanges(){let e=this.getRegistryPath(),r;try{r=oe.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,E]of this.hits.get(u))p[h]=(p[h]??0)+E}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),oe.mkdirSync(z.dirname(e),{recursive:!0}),oe.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var a2={};zt(a2,{BuildDirectiveType:()=>Jx,CACHE_CHECKPOINT:()=>c_,CACHE_VERSION:()=>zx,Cache:()=>Nr,Configuration:()=>Ke,DEFAULT_RC_FILENAME:()=>j4,FormatType:()=>kle,InstallMode:()=>hl,LEGACY_PLUGINS:()=>P1,LOCKFILE_VERSION:()=>rk,LegacyMigrationResolver:()=>iC,LightReport:()=>fA,LinkType:()=>zy,LockfileResolver:()=>sC,Manifest:()=>Ot,MessageName:()=>wr,MultiFetcher:()=>fE,PackageExtensionStatus:()=>vN,PackageExtensionType:()=>BN,PeerWarningType:()=>nk,Project:()=>St,Report:()=>Xs,ReportError:()=>Vt,SettingsType:()=>D1,StreamReport:()=>Ft,TAG_REGEXP:()=>kE,TelemetryManager:()=>lC,ThrowReport:()=>Qi,VirtualFetcher:()=>pE,WindowsLinkType:()=>kb,Workspace:()=>aC,WorkspaceFetcher:()=>gE,WorkspaceResolver:()=>Xn,YarnVersion:()=>nn,execUtils:()=>Ur,folderUtils:()=>WS,formatUtils:()=>pe,hashUtils:()=>wn,httpUtils:()=>sn,miscUtils:()=>He,nodeUtils:()=>Vi,parseMessageName:()=>fD,reportOptionDeprecations:()=>TE,scriptUtils:()=>An,semverUtils:()=>Lr,stringifyMessageName:()=>Ku,structUtils:()=>j,tgzUtils:()=>Zi,treeUtils:()=>fs});var je=Et(()=>{Db();KS();jl();ih();Bb();Gl();Pb();BU();Qf();So();Zfe();spe();u_();S1();S1();ape();A_();lpe();f_();uE();pD();cM();Xpe();Wl();M1();Zpe();D_();AM();fM();vd();S_();O1();Cne()});var ihe=_((V_t,c2)=>{"use strict";var NAt=process.env.TERM_PROGRAM==="Hyper",OAt=process.platform==="win32",the=process.platform==="linux",R_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},rhe=Object.assign({},R_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),nhe=Object.assign({},R_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:the?"\u25B8":"\u276F",pointerSmall:the?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});c2.exports=OAt&&!NAt?rhe:nhe;Reflect.defineProperty(c2.exports,"common",{enumerable:!1,value:R_});Reflect.defineProperty(c2.exports,"windows",{enumerable:!1,value:rhe});Reflect.defineProperty(c2.exports,"other",{enumerable:!1,value:nhe})});var zc=_((X_t,F_)=>{"use strict";var MAt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),UAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,she=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(A)&&(h=h.replace(p,A+u));let I=u+h+A;return E?I.replace(/\r*\n/g,`${A}$&${u}`):I},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` +`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>o(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=UAt,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!MAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=ihe(),t.define=a,t};F_.exports=she();F_.exports.create=she});var To=_(on=>{"use strict";var _At=Object.prototype.toString,nc=zc(),ohe=!1,T_=[],ahe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};on.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);on.hasColor=t=>!!t&&nc.hasColor(t);var sk=on.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);on.nativeType=t=>_At.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");on.isAsyncFn=t=>on.nativeType(t)==="asyncfunction";on.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";on.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;on.scrollDown=(t=[])=>[...t.slice(1),t[0]];on.scrollUp=(t=[])=>[t.pop(),...t];on.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};on.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};on.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};on.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` +`+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(o)};on.unmute=t=>{let e=t.stack.find(o=>nc.keys.color.includes(o));return e?nc[e]:t.stack.find(o=>o.slice(2)==="bg")?nc[e.slice(2)]:o=>o};on.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";on.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>nc.keys.color.includes(o));if(e){let o=nc["bg"+on.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?nc[r.slice(2).toLowerCase()]||t:nc.none};on.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>nc.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return nc[ahe[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=ahe[o];return a&&nc["bg"+on.pascal(a)]||t}return nc.none};on.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};on.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!on.isObject(A)&&n{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};on.mixin=(t,e)=>{if(!sk(t))return e;if(!sk(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&sk(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);sk(a.value)?t[r]=on.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};on.merge=(...t)=>{let e={};for(let r of t)on.mixin(e,r);return e};on.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?on.define(t,o,a.bind(e)):on.define(t,o,a)}};on.onExit=t=>{let e=(r,o)=>{ohe||(ohe=!0,T_.forEach(a=>a()),r===!0&&process.exit(128+o))};T_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),T_.push(t)};on.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};on.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var lhe=_(fC=>{"use strict";fC.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};fC.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};fC.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};fC.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};fC.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Ahe=_((e8t,uhe)=>{"use strict";var che=ve("readline"),HAt=lhe(),qAt=/^(?:\x1b)([a-zA-Z0-9])$/,GAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,jAt={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function YAt(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function WAt(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var ok=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` +`)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=qAt.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=GAt.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=jAt[n],o.shift=YAt(n)||o.shift,o.ctrl=WAt(n)||o.ctrl}return o};ok.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=che.createInterface({terminal:!0,input:r});che.emitKeypressEvents(r,o);let a=(A,p)=>e(A,ok(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};ok.action=(t,e,r)=>{let o={...HAt,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};uhe.exports=ok});var phe=_((t8t,fhe)=>{"use strict";fhe.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),KAt(t,r,o)}};function KAt(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var ghe=_((r8t,hhe)=>{"use strict";var{define:zAt,width:JAt}=To(),L_=class{constructor(e){let r=e.options;zAt(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=JAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};hhe.exports=L_});var mhe=_((n8t,dhe)=>{"use strict";var N_=To(),$s=zc(),O_={default:$s.noop,noop:$s.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||N_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||N_.complement(this.primary)},primary:$s.cyan,success:$s.green,danger:$s.magenta,strong:$s.bold,warning:$s.yellow,muted:$s.dim,disabled:$s.gray,dark:$s.dim.gray,underline:$s.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};O_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&($s.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&($s.visible=t.styles.visible);let e=N_.merge({},O_,t.styles);delete e.merge;for(let r of Object.keys($s))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>$s[r]});for(let r of Object.keys($s.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>$s[r]});return e};dhe.exports=O_});var Ehe=_((i8t,yhe)=>{"use strict";var M_=process.platform==="win32",zf=zc(),VAt=To(),U_={...zf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:zf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:zf.symbols.question,submitted:zf.symbols.check,cancelled:zf.symbols.cross},separator:{pending:zf.symbols.pointerSmall,submitted:zf.symbols.middot,cancelled:zf.symbols.middot},radio:{off:M_?"( )":"\u25EF",on:M_?"(*)":"\u25C9",disabled:M_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};U_.merge=t=>{let e=VAt.merge({},zf.symbols,U_,t.symbols);return delete e.merge,e};yhe.exports=U_});var whe=_((s8t,Che)=>{"use strict";var XAt=mhe(),ZAt=Ehe(),$At=To();Che.exports=t=>{t.options=$At.merge({},t.options.theme,t.options),t.symbols=ZAt.merge(t.options),t.styles=XAt.merge(t.options)}});var Dhe=_((vhe,Phe)=>{"use strict";var Ihe=process.env.TERM_PROGRAM==="Apple_Terminal",eft=zc(),__=To(),Jc=Phe.exports=vhe,Pi="\x1B[",Bhe="\x07",H_=!1,bh=Jc.code={bell:Bhe,beep:Bhe,beginning:`${Pi}G`,down:`${Pi}J`,esc:Pi,getPosition:`${Pi}6n`,hide:`${Pi}?25l`,line:`${Pi}2K`,lineEnd:`${Pi}K`,lineStart:`${Pi}1K`,restorePosition:Pi+(Ihe?"8":"u"),savePosition:Pi+(Ihe?"7":"s"),screen:`${Pi}2J`,show:`${Pi}?25h`,up:`${Pi}1J`},jd=Jc.cursor={get hidden(){return H_},hide(){return H_=!0,bh.hide},show(){return H_=!1,bh.show},forward:(t=1)=>`${Pi}${t}C`,backward:(t=1)=>`${Pi}${t}D`,nextLine:(t=1)=>`${Pi}E`.repeat(t),prevLine:(t=1)=>`${Pi}F`.repeat(t),up:(t=1)=>t?`${Pi}${t}A`:"",down:(t=1)=>t?`${Pi}${t}B`:"",right:(t=1)=>t?`${Pi}${t}C`:"",left:(t=1)=>t?`${Pi}${t}D`:"",to(t,e){return e?`${Pi}${e+1};${t+1}H`:`${Pi}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?jd.left(-t):t>0?jd.right(t):"",r+=e<0?jd.up(-e):e>0?jd.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=__.isPrimitive(o)?String(o):"",a=__.isPrimitive(a)?String(a):"",A=__.isPrimitive(A)?String(A):"",u){let p=Jc.cursor.up(u)+Jc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=Jc.cursor.left(h)),p}if(A||e){let p=!a&&!!o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),Jc.cursor.move(p)}}},q_=Jc.erase={screen:bh.screen,up:bh.up,down:bh.down,line:bh.line,lineEnd:bh.lineEnd,lineStart:bh.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return q_.line+jd.to(0);let r=n=>[...eft.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(q_.line+jd.prevLine()).repeat(a-1)+q_.line+jd.to(0)}});var pC=_((o8t,bhe)=>{"use strict";var tft=ve("events"),She=zc(),G_=Ahe(),rft=phe(),nft=ghe(),ift=whe(),Fa=To(),Yd=Dhe(),u2=class extends tft{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,ift(this),rft(this),this.state=new nft(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=oft(this.options.margin),this.setMaxListeners(0),sft(this)}async keypress(e,r={}){this.keypressed=!0;let o=G_.action(e,G_(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Yd.code.beep)}cursorHide(){this.stdout.write(Yd.cursor.hide()),Fa.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Yd.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Yd.cursor.down(e)+Yd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},E=Yd.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=She.unstyle(o);let a=She.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` +`),h=p[0],E=p[p.length-1],v=(o+(r?" "+r:"")).length,x=ve.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let I=await this.resolve(E,n,r,o);return!I&&r&&r[e]?this.resolve(h,n,r,o):I}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Fa.isObject(e)&&(e=e[o.status]||e.pending),Fa.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Fa.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return Fa.isObject(n)&&(n=n[o.status]||n.pending),Fa.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Fa.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Fa.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Fa.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Fa.resolve(this,e,...r)}get base(){return u2.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Fa.height(this.stdout,25)}get width(){return this.options.columns||Fa.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function sft(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function oft(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` +`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}bhe.exports=u2});var Qhe=_((a8t,khe)=>{"use strict";var aft=To(),xhe={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return xhe.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};khe.exports=(t,e={})=>{let r=aft.merge({},xhe,e.roles);return r[t]||r.default}});var A2=_((l8t,The)=>{"use strict";var lft=zc(),cft=pC(),uft=Qhe(),ak=To(),{reorder:j_,scrollUp:Aft,scrollDown:fft,isObject:Rhe,swap:pft}=ak,Y_=class extends cft{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Rhe(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=uft(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,ak.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,lft.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return Fhe(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=j_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),E=A.filter(I=>!h.includes(I));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=j_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=j_(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Aft(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=fft(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){pft(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if(Rhe(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=ak.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return Fhe(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function Fhe(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(ak.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}The.exports=Y_});var xh=_((c8t,Lhe)=>{"use strict";var hft=A2(),W_=To(),K_=class extends hft{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!W_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!W_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(W_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` +`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),I=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,E,I].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Lhe.exports=K_});var Ohe=_((u8t,Nhe)=>{"use strict";var gft=xh(),dft=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},z_=class extends gft{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=dft(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Nhe.exports=z_});var V_=_((A8t,Mhe)=>{"use strict";var J_=To();Mhe.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=J_.inverse(t.styles.primary),h=F=>p(t.styles.black(F)),E=r,I=" ",v=h(I);if(t.blink&&t.blink.off===!0&&(h=F=>F,v=""),n&&a===0&&o===""&&r==="")return h(I);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=J_.isPrimitive(o)?`${o}`:"",r=J_.isPrimitive(r)?`${r}`:"";let x=o&&o.startsWith(r)&&o!==r,C=x?h(o[r.length]):v;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),C=""),n===!1&&(C=""),x){let F=t.styles.unstyle(E+C);return E+C+A(o.slice(F.length))}return E+C}});var lk=_((f8t,Uhe)=>{"use strict";var mft=zc(),yft=xh(),Eft=V_(),X_=class extends yft{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:E,submitted:I,primary:v,danger:x}=a,C=p,F=this.index===r,N=e.validate||(()=>!0),U=await this.choiceSeparator(e,r),J=e.message;this.align==="right"&&(J=J.padStart(this.longest+1," ")),this.align==="left"&&(J=J.padEnd(this.longest+1," "));let te=this.values[A]=h||u,ae=h?"success":"dark";await N.call(e,te,this.state)!==!0&&(ae="danger");let le=a[ae],ce=le(await this.indicator(e,r))+(e.pad||""),we=this.indent(e),de=()=>[we,ce,J+U,h,C].filter(Boolean).join(" ");if(o.submitted)return J=mft.unstyle(J),h=I(h),C="",de();if(e.format)h=await e.format.call(this,h,e,r);else{let Be=this.styles.muted;h=Eft(this,{input:h,initial:u,pos:n,showCursor:F,color:Be})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,te,e,r)),F&&(J=v(J)),e.error?h+=(h?" ":"")+x(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),de()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Uhe.exports=X_});var Z_=_((p8t,Hhe)=>{"use strict";var Cft=lk(),wft=()=>{throw new Error("expected prompt to have a custom authenticate method")},_he=(t=wft)=>{class e extends Cft{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return _he(o)}}return e};Hhe.exports=_he()});var jhe=_((h8t,Ghe)=>{"use strict";var Ift=Z_();function Bft(t,e){return t.username===this.options.username&&t.password===this.options.password}var qhe=(t=Bft)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends Ift.create(t){constructor(a){super({...a,choices:e})}static create(a){return qhe(a)}}return r};Ghe.exports=qhe()});var ck=_((g8t,Yhe)=>{"use strict";var vft=pC(),{isPrimitive:Pft,hasColor:Dft}=To(),$_=class extends vft{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Pft(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return Dft(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),I=await this.error()||await this.hint(),v=await this.footer();I&&!A.includes(I)&&(E+=" "+I),A+=" "+E,this.clear(r),this.write([p,A,v].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Yhe.exports=$_});var Khe=_((d8t,Whe)=>{"use strict";var Sft=ck(),e8=class extends Sft{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Whe.exports=e8});var Jhe=_((m8t,zhe)=>{"use strict";var bft=xh(),xft=lk(),hC=xft.prototype,t8=class extends bft{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():hC.dispatch.call(this,e,r)}append(e,r){return hC.append.call(this,e,r)}delete(e,r){return hC.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?hC.next.call(this):super.next()}prev(){return this.focused.editable?hC.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?hC.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};zhe.exports=t8});var Wd=_((y8t,Vhe)=>{"use strict";var kft=pC(),Qft=V_(),{isPrimitive:Rft}=To(),r8=class extends kft{constructor(e){super(e),this.initial=Rft(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):Qft(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` +`)),this.restore()}};Vhe.exports=r8});var Zhe=_((E8t,Xhe)=>{"use strict";var Fft=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),uk=t=>Fft(t).filter(Boolean);Xhe.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:uk([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:uk([...n,r]),present:u};case"save":return{past:uk([...o,r]),present:""};case"remove":return u=uk(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var i8=_((C8t,e0e)=>{"use strict";var Tft=Wd(),$he=Zhe(),n8=class extends Tft{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=$he(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=$he("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};e0e.exports=n8});var r0e=_((w8t,t0e)=>{"use strict";var Lft=Wd(),s8=class extends Lft{format(){return""}};t0e.exports=s8});var i0e=_((I8t,n0e)=>{"use strict";var Nft=Wd(),o8=class extends Nft{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};n0e.exports=o8});var o0e=_((B8t,s0e)=>{"use strict";var Oft=xh(),a8=class extends Oft{constructor(e){super({...e,multiple:!0})}};s0e.exports=a8});var c8=_((v8t,a0e)=>{"use strict";var Mft=Wd(),l8=class extends Mft{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return othis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};a0e.exports=l8});var c0e=_((P8t,l0e)=>{l0e.exports=c8()});var A0e=_((D8t,u0e)=>{"use strict";var Uft=Wd(),u8=class extends Uft{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};u0e.exports=u8});var h0e=_((S8t,p0e)=>{"use strict";var _ft=zc(),Hft=A2(),f0e=To(),A8=class extends Hft{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!f0e.hasColor(n)&&(n=this.styles.muted(n));let u=C=>this.margin[3]+C.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),I=this.margin[1]+this.margin[3];this.scaleLength=_ft.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-I.length);let x=f0e.wordWrap(h,{width:this.widths[0],newline:A}).split(` +`).map(C=>u(C)+this.margin[1]);return o&&(E=this.styles.info(E),x=x.map(C=>this.styles.info(C))),x[0]+=E,this.linebreak&&x.push(""),[p+a,x.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),I=await this.renderChoices(),v=await this.footer(),x=this.emptyError;p&&(u+=p),E&&!u.includes(E)&&(u+=" "+E),e&&!p&&!I.trim()&&this.multiple&&x!=null&&(u+=this.styles.danger(x)),this.clear(r),this.write([A,u,h,I,v].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};p0e.exports=A8});var m0e=_((b8t,d0e)=>{"use strict";var g0e=zc(),qft=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",p8=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=qft(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Gft=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,I=()=>n[++E],v=()=>n[E+1],x=C=>{C.line=h,u.push(C)};for(x({type:"bos",value:""});Eae.name===U.key);U.field=a.find(ae=>ae.name===U.key),te||(te=new p8(U),A.push(te)),te.lines.push(U.line-1);continue}let F=u[u.length-1];F.type==="text"&&F.line===h?F.value+=C:x({type:"text",value:C})}return x({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};d0e.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await Gft(e,o),A=f8("result",t,e),p=f8("format",t,e),h=f8("validate",t,e,!0),E=t.isValue.bind(t);return async(I={},v=!1)=>{let x=0;I.required=r,I.items=n,I.keys=u,I.output="";let C=async(J,te,ae,le)=>{let ce=await h(J,te,ae,le);return ce===!1?"Invalid field "+ae.name:ce};for(let J of a){let te=J.value,ae=J.key;if(J.type!=="template"){te&&(I.output+=te);continue}if(J.type==="template"){let le=n.find(Ee=>Ee.name===ae);e.required===!0&&I.required.add(le.name);let ce=[le.input,I.values[le.value],le.value,te].find(E),de=(le.field||{}).message||J.inner;if(v){let Ee=await C(I.values[ae],I,le,x);if(Ee&&typeof Ee=="string"||Ee===!1){I.invalid.set(ae,Ee);continue}I.invalid.delete(ae);let g=await A(I.values[ae],I,le,x);I.output+=g0e.unstyle(g);continue}le.placeholder=!1;let Be=te;te=await p(te,I,le,x),ce!==te?(I.values[ae]=ce,te=t.styles.typing(ce),I.missing.delete(de)):(I.values[ae]=void 0,ce=`<${de}>`,te=t.styles.primary(ce),le.placeholder=!0,I.required.has(ae)&&I.missing.add(de)),I.missing.has(de)&&I.validating&&(te=t.styles.warning(ce)),I.invalid.has(ae)&&I.validating&&(te=t.styles.danger(ce)),x===I.index&&(Be!==te?te=t.styles.underline(te):te=t.styles.heading(g0e.unstyle(te))),x++}te&&(I.output+=te)}let F=I.output.split(` +`).map(J=>" "+J),N=n.length,U=0;for(let J of n)I.invalid.has(J.name)&&J.lines.forEach(te=>{F[te][0]===" "&&(F[te]=I.styles.danger(I.symbols.bullet)+F[te].slice(1))}),t.isValue(I.values[J.name])&&U++;return I.completed=(U/N*100).toFixed(0),I.output=F.join(` +`),I.output}};function f8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var E0e=_((x8t,y0e)=>{"use strict";var jft=zc(),Yft=m0e(),Wft=pC(),h8=class extends Wft{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Yft(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` +`].find(J=>J!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),I=await this.error()||"",v=await this.hint()||"",x=o?"":await this.interpolate(this.state),C=this.state.key=r[e]||"",F=await this.format(C),N=await this.footer();F&&(h+=" "+F),v&&!F&&this.state.completed===0&&(h+=" "+v),this.clear(a);let U=[E,h,x,N,I.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} +`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=jft.unstyle(o).split(` +`).map(A=>A.slice(1)).join(` +`);return this.value={values:a,result:u},super.submit()}};y0e.exports=h8});var w0e=_((k8t,C0e)=>{"use strict";var Kft="(Use + to sort)",zft=xh(),g8=class extends zft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,Kft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};C0e.exports=g8});var B0e=_((Q8t,I0e)=>{"use strict";var Jft=A2(),d8=class extends Jft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=Vft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=te=>(te?this.styles.success("\u25C9"):"\u25EF")+u,E=r+1+".",I=o?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),x=this.indent(e),C=x+e.scale.map((te,ae)=>h(ae===e.scaleIdx)).join(A),F=te=>te===e.scaleIdx?I(te):te,N=x+e.scale.map((te,ae)=>F(ae)).join(p),U=()=>[E,v].filter(Boolean).join(" "),J=()=>[U(),C,N," "].filter(Boolean).join(` +`);return o&&(C=this.styles.cyan(C),N=this.styles.cyan(N)),J()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),I=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,E,I].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function Vft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o{v0e.exports=i8()});var S0e=_((F8t,D0e)=>{"use strict";var Xft=ck(),m8=class extends Xft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};D0e.exports=m8});var x0e=_((T8t,b0e)=>{"use strict";var Zft=xh(),y8=class extends Zft{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};b0e.exports=y8});var Q0e=_(E8=>{"use strict";var k0e=To(),ps=(t,e)=>{k0e.defineExport(E8,t,e),k0e.defineExport(E8,t.toLowerCase(),e)};ps("AutoComplete",()=>Ohe());ps("BasicAuth",()=>jhe());ps("Confirm",()=>Khe());ps("Editable",()=>Jhe());ps("Form",()=>lk());ps("Input",()=>i8());ps("Invisible",()=>r0e());ps("List",()=>i0e());ps("MultiSelect",()=>o0e());ps("Numeral",()=>c0e());ps("Password",()=>A0e());ps("Scale",()=>h0e());ps("Select",()=>xh());ps("Snippet",()=>E0e());ps("Sort",()=>w0e());ps("Survey",()=>B0e());ps("Text",()=>P0e());ps("Toggle",()=>S0e());ps("Quiz",()=>x0e())});var F0e=_((N8t,R0e)=>{R0e.exports={ArrayPrompt:A2(),AuthPrompt:Z_(),BooleanPrompt:ck(),NumberPrompt:c8(),StringPrompt:Wd()}});var p2=_((O8t,L0e)=>{"use strict";var T0e=ve("assert"),w8=ve("events"),kh=To(),Vc=class extends w8{constructor(e,r){super(),this.options=kh.merge({},e),this.answers={...r}}register(e,r){if(kh.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}T0e.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(kh.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=kh.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=kh;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];T0e(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",E=>{this.emit("answer",a,E,A),n(this.answers,a,E)});let h=A.emit.bind(A);return A.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||pC()}static get prompts(){return Q0e()}static get types(){return F0e()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return kh.mixinEmitter(e,new w8),e}};kh.mixinEmitter(Vc,new w8);var C8=Vc.prompts;for(let t of Object.keys(C8)){let e=t.toLowerCase(),r=o=>new C8[t](o).run();Vc.prompt[e]=r,Vc[e]=r,Vc[t]||Reflect.defineProperty(Vc,t,{get:()=>C8[t]})}var f2=t=>{kh.defineExport(Vc,t,()=>Vc.types[t])};f2("ArrayPrompt");f2("AuthPrompt");f2("BooleanPrompt");f2("NumberPrompt");f2("StringPrompt");L0e.exports=Vc});var m2=_((EHt,q0e)=>{var ipt=Xx();function spt(t,e,r){var o=t==null?void 0:ipt(t,e);return o===void 0?r:o}q0e.exports=spt});var Y0e=_((PHt,j0e)=>{function opt(t,e){for(var r=-1,o=t==null?0:t.length;++r{var apt=md(),lpt=VD();function cpt(t,e){return t&&apt(e,lpt(e),t)}W0e.exports=cpt});var J0e=_((SHt,z0e)=>{var upt=md(),Apt=Gy();function fpt(t,e){return t&&upt(e,Apt(e),t)}z0e.exports=fpt});var X0e=_((bHt,V0e)=>{var ppt=md(),hpt=jD();function gpt(t,e){return ppt(t,hpt(t),e)}V0e.exports=gpt});var S8=_((xHt,Z0e)=>{var dpt=GD(),mpt=tS(),ypt=jD(),Ept=zL(),Cpt=Object.getOwnPropertySymbols,wpt=Cpt?function(t){for(var e=[];t;)dpt(e,ypt(t)),t=mpt(t);return e}:Ept;Z0e.exports=wpt});var ege=_((kHt,$0e)=>{var Ipt=md(),Bpt=S8();function vpt(t,e){return Ipt(t,Bpt(t),e)}$0e.exports=vpt});var b8=_((QHt,tge)=>{var Ppt=KL(),Dpt=S8(),Spt=Gy();function bpt(t){return Ppt(t,Spt,Dpt)}tge.exports=bpt});var nge=_((RHt,rge)=>{var xpt=Object.prototype,kpt=xpt.hasOwnProperty;function Qpt(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kpt.call(t,"index")&&(r.index=t.index,r.input=t.input),r}rge.exports=Qpt});var sge=_((FHt,ige)=>{var Rpt=$D();function Fpt(t,e){var r=e?Rpt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}ige.exports=Fpt});var age=_((THt,oge)=>{var Tpt=/\w*$/;function Lpt(t){var e=new t.constructor(t.source,Tpt.exec(t));return e.lastIndex=t.lastIndex,e}oge.exports=Lpt});var fge=_((LHt,Age)=>{var lge=hd(),cge=lge?lge.prototype:void 0,uge=cge?cge.valueOf:void 0;function Npt(t){return uge?Object(uge.call(t)):{}}Age.exports=Npt});var hge=_((NHt,pge)=>{var Opt=$D(),Mpt=sge(),Upt=age(),_pt=fge(),Hpt=lN(),qpt="[object Boolean]",Gpt="[object Date]",jpt="[object Map]",Ypt="[object Number]",Wpt="[object RegExp]",Kpt="[object Set]",zpt="[object String]",Jpt="[object Symbol]",Vpt="[object ArrayBuffer]",Xpt="[object DataView]",Zpt="[object Float32Array]",$pt="[object Float64Array]",eht="[object Int8Array]",tht="[object Int16Array]",rht="[object Int32Array]",nht="[object Uint8Array]",iht="[object Uint8ClampedArray]",sht="[object Uint16Array]",oht="[object Uint32Array]";function aht(t,e,r){var o=t.constructor;switch(e){case Vpt:return Opt(t);case qpt:case Gpt:return new o(+t);case Xpt:return Mpt(t,r);case Zpt:case $pt:case eht:case tht:case rht:case nht:case iht:case sht:case oht:return Hpt(t,r);case jpt:return new o;case Ypt:case zpt:return new o(t);case Wpt:return Upt(t);case Kpt:return new o;case Jpt:return _pt(t)}}pge.exports=aht});var dge=_((OHt,gge)=>{var lht=qI(),cht=Vu(),uht="[object Map]";function Aht(t){return cht(t)&&lht(t)==uht}gge.exports=Aht});var Cge=_((MHt,Ege)=>{var fht=dge(),pht=WD(),mge=KD(),yge=mge&&mge.isMap,hht=yge?pht(yge):fht;Ege.exports=hht});var Ige=_((UHt,wge)=>{var ght=qI(),dht=Vu(),mht="[object Set]";function yht(t){return dht(t)&&ght(t)==mht}wge.exports=yht});var Dge=_((_Ht,Pge)=>{var Eht=Ige(),Cht=WD(),Bge=KD(),vge=Bge&&Bge.isSet,wht=vge?Cht(vge):Eht;Pge.exports=wht});var x8=_((HHt,kge)=>{var Iht=HD(),Bht=Y0e(),vht=rS(),Pht=K0e(),Dht=J0e(),Sht=aN(),bht=eS(),xht=X0e(),kht=ege(),Qht=ZL(),Rht=b8(),Fht=qI(),Tht=nge(),Lht=hge(),Nht=cN(),Oht=ql(),Mht=OI(),Uht=Cge(),_ht=sl(),Hht=Dge(),qht=VD(),Ght=Gy(),jht=1,Yht=2,Wht=4,Sge="[object Arguments]",Kht="[object Array]",zht="[object Boolean]",Jht="[object Date]",Vht="[object Error]",bge="[object Function]",Xht="[object GeneratorFunction]",Zht="[object Map]",$ht="[object Number]",xge="[object Object]",e0t="[object RegExp]",t0t="[object Set]",r0t="[object String]",n0t="[object Symbol]",i0t="[object WeakMap]",s0t="[object ArrayBuffer]",o0t="[object DataView]",a0t="[object Float32Array]",l0t="[object Float64Array]",c0t="[object Int8Array]",u0t="[object Int16Array]",A0t="[object Int32Array]",f0t="[object Uint8Array]",p0t="[object Uint8ClampedArray]",h0t="[object Uint16Array]",g0t="[object Uint32Array]",ri={};ri[Sge]=ri[Kht]=ri[s0t]=ri[o0t]=ri[zht]=ri[Jht]=ri[a0t]=ri[l0t]=ri[c0t]=ri[u0t]=ri[A0t]=ri[Zht]=ri[$ht]=ri[xge]=ri[e0t]=ri[t0t]=ri[r0t]=ri[n0t]=ri[f0t]=ri[p0t]=ri[h0t]=ri[g0t]=!0;ri[Vht]=ri[bge]=ri[i0t]=!1;function fk(t,e,r,o,a,n){var u,A=e&jht,p=e&Yht,h=e&Wht;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!_ht(t))return t;var E=Oht(t);if(E){if(u=Tht(t),!A)return bht(t,u)}else{var I=Fht(t),v=I==bge||I==Xht;if(Mht(t))return Sht(t,A);if(I==xge||I==Sge||v&&!a){if(u=p||v?{}:Nht(t),!A)return p?kht(t,Dht(u,t)):xht(t,Pht(u,t))}else{if(!ri[I])return a?t:{};u=Lht(t,I,A)}}n||(n=new Iht);var x=n.get(t);if(x)return x;n.set(t,u),Hht(t)?t.forEach(function(N){u.add(fk(N,e,r,N,t,n))}):Uht(t)&&t.forEach(function(N,U){u.set(U,fk(N,e,r,U,t,n))});var C=h?p?Rht:Qht:p?Ght:qht,F=E?void 0:C(t);return Bht(F||t,function(N,U){F&&(U=N,N=t[U]),vht(u,U,fk(N,e,r,U,t,n))}),u}kge.exports=fk});var k8=_((qHt,Qge)=>{var d0t=x8(),m0t=1,y0t=4;function E0t(t){return d0t(t,m0t|y0t)}Qge.exports=E0t});var Q8=_((GHt,Rge)=>{var C0t=I_();function w0t(t,e,r){return t==null?t:C0t(t,e,r)}Rge.exports=w0t});var Oge=_((JHt,Nge)=>{var I0t=Object.prototype,B0t=I0t.hasOwnProperty;function v0t(t,e){return t!=null&&B0t.call(t,e)}Nge.exports=v0t});var Uge=_((VHt,Mge)=>{var P0t=Oge(),D0t=B_();function S0t(t,e){return t!=null&&D0t(t,e,P0t)}Mge.exports=S0t});var Hge=_((XHt,_ge)=>{function b0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}_ge.exports=b0t});var Gge=_((ZHt,qge)=>{var x0t=Xx(),k0t=pU();function Q0t(t,e){return e.length<2?t:x0t(t,k0t(e,0,-1))}qge.exports=Q0t});var F8=_(($Ht,jge)=>{var R0t=Gd(),F0t=Hge(),T0t=Gge(),L0t=oC();function N0t(t,e){return e=R0t(e,t),t=T0t(t,e),t==null||delete t[L0t(F0t(e))]}jge.exports=N0t});var T8=_((e6t,Yge)=>{var O0t=F8();function M0t(t,e){return t==null?!0:O0t(t,e)}Yge.exports=M0t});var Vge=_((x6t,H0t)=>{H0t.exports={name:"@yarnpkg/cli",version:"4.3.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var G8=_((o9t,lde)=>{"use strict";lde.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var ude=_((a9t,cde)=>{"use strict";var agt=G8();function lgt(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=agt(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}cde.exports=lgt});var pde=_((l9t,fde)=>{"use strict";var cgt=ude();function ugt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var Agt=ugt(cgt),fgt="text/plain",pgt="us-ascii",Ade=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),hgt=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),E=[...u.map(I=>{let[v,x=""]=I.split("=").map(C=>C.trim());return v==="charset"&&(x=x.toLowerCase(),x===pgt)?"":`${v}${x?`=${x}`:""}`}).filter(Boolean)];return A&&E.push("base64"),(E.length>0||p&&p!==fgt)&&E.unshift(p),`data:${E.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function ggt(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return hgt(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let E=u.exec(a.pathname);if(!E)break;let I=E[0],v=E.index,x=a.pathname.slice(A,v);p+=x.replace(/\/{2,}/g,"/"),p+=I,A=v+I.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];Ade(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])Ade(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var j8=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>j8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=ggt(t,e));let a=Agt.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};j8.MAX_INPUT_LENGTH=2048;fde.exports=j8});var dde=_((c9t,gde)=>{"use strict";var dgt=G8();function hde(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=dgt(t);if(t=t.substring(t.indexOf("://")+3),hde(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@"){"use strict";var mgt=pde(),mde=dde();function ygt(t){var e=mgt(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),mde(e.protocols)||e.protocols.length===0&&mde(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}yde.exports=ygt});var wde=_((A9t,Cde)=>{"use strict";var Egt=Ede();function Y8(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=Egt(t),o=r.resource.split("."),a=null;switch(r.toString=function(N){return Y8.stringify(this,N)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),I=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:E>0?E-1:I>0?I-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var x=a.length>n&&a[n+1]==="-"?n+1:n;a.length>x+2&&["raw","src","blob","tree","edit"].indexOf(a[x+1])>=0&&(r.filepathtype=a[x+1],r.ref=a[x+2],a.length>x+3&&(r.filepath=a.slice(x+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var C=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,F=C.exec(r.pathname);return F!=null&&(r.source="bitbucket-server",F[1]==="users"?r.owner="~"+F[2]:r.owner=F[2],r.organization=r.owner,r.name=F[3],a=F[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}Y8.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?Cgt(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+wgt(t)+a;default:return t.href}};function Cgt(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function wgt(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}Cde.exports=Y8});var Ode=_((j5t,Nde)=>{var Rgt=qb(),Fgt=eS(),Tgt=ql(),Lgt=AE(),Ngt=w_(),Ogt=oC(),Mgt=N1();function Ugt(t){return Tgt(t)?Rgt(t,Ogt):Lgt(t)?[t]:Fgt(Ngt(Mgt(t)))}Nde.exports=Ugt});function Ggt(t,e){return e===1&&qgt.has(t[0])}function v2(t){let e=Array.isArray(t)?t:(0,_de.default)(t);return e.map((o,a)=>_gt.test(o)?`[${o}]`:Hgt.test(o)&&!Ggt(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function jgt(t,e){let r=[];if(e.methodName!==null&&r.push(pe.pretty(t,e.methodName,pe.Type.CODE)),e.file!==null){let o=[];o.push(pe.pretty(t,e.file,pe.Type.PATH)),e.line!==null&&(o.push(pe.pretty(t,e.line,pe.Type.NUMBER)),e.column!==null&&o.push(pe.pretty(t,e.column,pe.Type.NUMBER))),r.push(`(${o.join(pe.pretty(t,":","grey"))})`)}return r.join(" ")}function dk(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){let a=new Map,n=new Map,u=[...r.keys()].map(A=>[A,new Map]);for(let[A,p]of[...u,...e]){let h=r.get(A)?.map(x=>({text:x,fixable:!1}))??[],E=!1,I=t.getWorkspaceByCwd(A),v=I.manifest.exportTo({});for(let[x,C]of p){if(C.size>1){let F=[...C].map(([N,U])=>{let J=pe.pretty(t.configuration,N,pe.Type.INSPECT),te=U.size>0?jgt(t.configuration,U.values().next().value):null;return te!==null?` +${J} at ${te}`:` +${J}`}).join("");h.push({text:`Conflict detected in constraint targeting ${pe.pretty(t.configuration,x,pe.Type.CODE)}; conflicting values are:${F}`,fixable:!1})}else{let[[F]]=C,N=(0,Mde.default)(v,x);if(JSON.stringify(N)===JSON.stringify(F))continue;if(!o){let U=typeof N>"u"?`Missing field ${pe.pretty(t.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,F,pe.Type.INSPECT)}`:typeof F>"u"?`Extraneous field ${pe.pretty(t.configuration,x,pe.Type.CODE)} currently set to ${pe.pretty(t.configuration,N,pe.Type.INSPECT)}`:`Invalid field ${pe.pretty(t.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,F,pe.Type.INSPECT)}, found ${pe.pretty(t.configuration,N,pe.Type.INSPECT)}`;h.push({text:U,fixable:!0});continue}typeof F>"u"?(0,Hde.default)(v,x):(0,Ude.default)(v,x,F),E=!0}E&&a.set(I,v)}h.length>0&&n.set(I,h)}return{changedWorkspaces:a,remainingErrors:n}}function qde(t,{configuration:e}){let r={children:[]};for(let[o,a]of t){let n=[];for(let A of a){let p=A.text.split(/\n/);A.fixable&&(p[0]=`${pe.pretty(e,"\u2699","gray")} ${p[0]}`),n.push({value:pe.tuple(pe.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:pe.tuple(pe.Type.NO_HINT,h)}))})}let u={value:pe.tuple(pe.Type.LOCATOR,o.anchoredLocator),children:He.sortMap(n,A=>A.value[1])};r.children.push(u)}return r.children=He.sortMap(r.children,o=>o.value[1]),r}var Mde,Ude,_de,Hde,EC,_gt,Hgt,qgt,P2=Et(()=>{je();Mde=Ze(m2()),Ude=Ze(Q8()),_de=Ze(Ode()),Hde=Ze(T8()),EC=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.hasOwn(e,r)?e[r]:void 0;if(typeof o>"u")continue;He.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let E=new Set(h.get(A)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let I of a)E.has(I)||a.delete(I);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.hasOwn(u,A)&&u[A]===p:Object.hasOwn(u,A)===!1))return!1;return!0})),n}},_gt=/^[0-9]+$/,Hgt=/^[a-zA-Z0-9_]+$/,qgt=new Set(["scripts",...Ot.allDependencies])});var Gde=_((r7t,sH)=>{var Ygt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E0;I--)E[I].equals(E[I-1])&&E.splice(I,1);for(var v=new t.type.Term("[]"),I=E.length-1;I>=0;I--)v=new t.type.Term(".",[E[I],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),I=new t.type.Term("[]"),v=E.length-1;v>=0;v--)I=new t.type.Term(".",[E[v],I]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,E=u;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))o.throw_error(t.error.type("list",u,n.indicator));else{for(var I=p.sort(t.compare),v=new t.type.Term("[]"),x=I.length-1;x>=0;x--)v=new t.type.Term(".",[new t.type.Term("-",[I[x],I[x].pair]),v]),delete I[x].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],I=A;h>0&&I.indicator==="./2";)E.push(I.args[0]),I=I.args[1],h--;if(h===0){for(var v=new t.type.Term("[]"),h=E.length-1;h>=0;h--)v=new t.type.Term(".",[E[h],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],I=A;h>0&&I.indicator==="./2";)E.push(I.args[0]),I=I.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?u:A,I=new t.type.Term("[]",[]);E.indicator==="./2";)I=new t.type.Term(".",[E.args[0],I]),E=E.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=[],I=new t.type.Term("[]",[]),v,x=0;x=0;x--)I=new t.type.Term(".",[E[x],I]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,I])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof sH<"u"?sH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(Ygt)});var ime=_(Wr=>{"use strict";var $d=process.platform==="win32",oH="aes-256-cbc",Wgt="sha256",Wde="The current environment doesn't support interactive reading from TTY.",Yn=ve("fs"),jde=process.binding("tty_wrap").TTY,lH=ve("child_process"),u0=ve("path"),cH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Vf="none",Zc,wC,Yde=!1,c0,yk,aH,Kgt=0,hH="",Zd=[],Ek,Kde=!1,uH=!1,D2=!1;function zde(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return yk.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function zgt(t,e){function r(U){var J,te="",ae;for(aH=aH||ve("os").tmpdir();;){J=u0.join(aH,U+te);try{ae=Yn.openSync(J,"wx")}catch(le){if(le.code==="EEXIST"){te++;continue}else throw le}Yn.closeSync(ae);break}return J}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),I=r("readline-sync.exit"),v=r("readline-sync.done"),x=ve("crypto"),C,F,N;C=x.createHash(Wgt),C.update(""+process.pid+Kgt+++Math.random()),N=C.digest("hex"),F=x.createDecipher(oH,N),o=zde(t),$d?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+c0+"%Q%"+o.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+I+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+oH+"%Q% %Q%"+N+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+c0+'"'+o.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+I+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+oH+'" "'+N+'" >"'+h+'"; echo 1 >"'+v+'"']),D2&&D2("_execFileSync",o);try{lH.spawn(a,n,e)}catch(U){u.error=new Error(U.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Yn.readFileSync(v,{encoding:t.encoding}).trim()!=="1";);return(A=Yn.readFileSync(I,{encoding:t.encoding}).trim())==="0"?u.input=F.update(Yn.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+F.final(t.encoding):(p=Yn.readFileSync(E,{encoding:t.encoding}).trim(),u.error=new Error(Wde+(p?` +`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Yn.unlinkSync(h),Yn.unlinkSync(E),Yn.unlinkSync(I),Yn.unlinkSync(v),u}function Jgt(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(c0||($d?process.env.PSModulePath?(c0="powershell.exe",yk=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(c0="cscript.exe",yk=["//nologo",__dirname+"\\read.cs.js"]):(c0="/bin/sh",yk=[__dirname+"/read.sh"])),$d&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),lH.execFileSync){e=zde(t),D2&&D2("execFileSync",e);try{r.input=lH.execFileSync(c0,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(Wde+(o?` +`+o:"")),r.error.method="execFileSync",r.error.program=c0,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=zgt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function AH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=Jgt(t);if(n.error)throw n.error;return n.input}return uH&&uH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Vf=="string")if(Vf=null,$d){if(A=function(h){var E=h.replace(/^\D+/,"").split("."),I=0;return(E[0]=+E[0])&&(I+=E[0]*1e4),(E[1]=+E[1])&&(I+=E[1]*100),(E[2]=+E[2])&&(I+=E[2]),I}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Vf=process.stdin.fd,wC=process.stdin._handle;else try{Vf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),wC=new jde(Vf,!0)}catch{}if(process.stdout.isTTY)Zc=process.stdout.fd;else{try{Zc=Yn.openSync("\\\\.\\CON","w")}catch{}if(typeof Zc!="number")try{Zc=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Vf=Yn.openSync("/dev/tty","r"),wC=process.stdin._handle}catch{}}else try{Vf=Yn.openSync("/dev/tty","r"),wC=new jde(Vf,!1)}catch{}if(process.stdout.isTTY)Zc=process.stdout.fd;else try{Zc=Yn.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,E,I,v;Ek="";function x(C){return C===Yde?!0:wC.setRawMode(C)!==0?!1:(Yde=C,!0)}if(Kde||!wC||typeof Zc!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Yn.writeSync(Zc,t.display),t.display=""),!t.displayOnly){if(!x(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=Yn.readSync(Vf,p,0,h)}catch(C){if(C.code!=="EOF"){x(!1),e+=a();return}}if(E>0?(I=p.toString(t.encoding,0,E),Ek+=I):(I=` +`,Ek+=String.fromCharCode(0)),I&&typeof(v=(I.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(I=v,n=!0),I&&(I=I.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),I&&u&&(I=I.replace(u,"")),I&&(A||(t.hideEchoBack?t.mask&&Yn.writeSync(Zc,new Array(I.length+1).join(t.mask)):Yn.writeSync(Zc,I)),e+=I),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Yn.writeSync(Zc,` +`),x(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` +`),t.encoding),t.displayOnly?"":hH=t.keepWhitespace||t.keyIn?e:e.trim()}function Vgt(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function gH(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Ls(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(cH),t.unshift(cH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=Vgt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function fH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function dH(t,e){var r=u0.normalize($d?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=u0.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+gH(r)+"(?=\\/|\\\\|$)",$d?"i":""),"~")}function IC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,E,I){var v;return A||typeof(v=e(E))!="string"?p:v?(h||"")+v+(I||""):""}return t.replace(o,n).replace(a,n)}function Jde(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(E,I){return I.length>3?(E.push(I[0]+"..."+I[I.length-1]),p=!0):I.length&&(E=E.concat(I)),E}return o=t.reduce(function(E,I){return E.concat((I+"").split(""))},[]).reduce(function(E,I){var v,x;return e||(I=I.toLowerCase()),v=/^\d$/.test(I)?1:/^[A-Z]$/.test(I)?2:/^[a-z]$/.test(I)?3:0,r&&v===0?A+=I:(x=I.charCodeAt(0),v&&v===n&&x===u+1?a.push(I):(E=h(E,a),a=[I],n=v),u=x),E},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Vde(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function Xde(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=Jde(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Vde(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=hH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=u0.basename(r):t==="cwdHome"&&(r=dH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=Zd[Zd.length-n]||"")}return r}function Zde(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o +And the length must be: $`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(x){return x==="charlist"?r.text:x==="length"?o+"..."+a:null}}),u,A,p,h,E,I,v;for(e=e||{},u=IC(e.charlist?e.charlist+"":"$",Zde),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+gH(u)+"]{"+o+","+a+"}$"),r=Jde([u],n.caseSensitive,!0),r.text=Vde(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!v;)n.limit=h,n.limitMessage=E,I=Wr.question(t,n),n.limit=[I,""],n.limitMessage=p,v=Wr.question(A,n);return I};function tme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return Wr.question(t,Ls({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}Wr.questionInt=function(t,e){return tme(t,e,function(r){return parseInt(r,10)})};Wr.questionFloat=function(t,e){return tme(t,e,parseFloat)};Wr.questionPath=function(t,e){var r,o="",a=Ls({hideEchoBack:!1,limitMessage:`$Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=dH(n,!0),o="";function h(E){E.split(/\/|\\/).reduce(function(I,v){var x=u0.resolve(I+=v+u0.sep);if(!Yn.existsSync(x))Yn.mkdirSync(x);else if(!Yn.statSync(x).isDirectory())throw new Error("Non directory already exists: "+x);return I},"")}try{if(u=Yn.existsSync(n),r=u?Yn.realpathSync(n):u0.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(u0.dirname(r)),Yn.closeSync(Yn.openSync(r,"w"))),r=Yn.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Yn.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(E){return o=E+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),Wr.question(t,a),r};function rme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=pH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=pH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}Wr.promptCL=function(t,e){var r=Ls({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=rme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,Wr.prompt(r),o.args};Wr.promptLoop=function(t,e){for(var r=Ls({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(Wr.prompt(r)););};Wr.promptCLLoop=function(t,e){var r=Ls({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=rme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;Wr.prompt(r),!o.hRes;);};Wr.promptSimShell=function(t){return Wr.prompt(Ls({hideEchoBack:!1,history:!0},t,{prompt:function(){return $d?"$>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$$ "}()}))};function nme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=Wr.keyIn(t,Ls(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}Wr.keyInYN=function(t,e){return nme(t,e)};Wr.keyInYNStrict=function(t,e){return nme(t,e,"yn")};Wr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),Wr.keyIn(t,Ls({limit:null},e,{hideEchoBack:!0,mask:""}))};Wr.keyInSelect=function(t,e,r){var o=Ls({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` +`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(u);a+=E,n[E]=h,A+="["+E+"] "+(p+"").trim()+` +`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` +`),o.limit=a,A+=` +`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$]: "),A+=e),n[Wr.keyIn(A,o).toLowerCase()]};Wr.getRawInput=function(){return Ek};function S2(t,e){var r;return e.length&&(r={},r[t]=e[0]),Wr.setDefaultOptions(r)[t]}Wr.setPrint=function(){return S2("print",arguments)};Wr.setPrompt=function(){return S2("prompt",arguments)};Wr.setEncoding=function(){return S2("encoding",arguments)};Wr.setMask=function(){return S2("mask",arguments)};Wr.setBufferSize=function(){return S2("bufferSize",arguments)}});var mH=_((i7t,gl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(w,S,y){var R=tau_file_system.files[w];if(!R){if(y==="read")return null;R={path:w,text:"",type:S,get:function(V,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+V)},put:function(V,X){return X==="end_of_file"?(this.text+=V,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+V+this.text.substring(X+V.length),!0)},get_byte:function(V){if(V==="end_of_stream")return-1;var X=Math.floor(V/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(V/2)],0);return V%2===0?$&255:$/256>>>0},put_byte:function(V,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var ie=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ie=ie/256>>>0,ie=(ie&255)<<8|V&255):(ie=ie&255,ie=(V&255)<<8|ie&255),this.text.length===$?this.text+=u(ie):this.text=this.text.substring(0,$)+u(ie)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var V=tau_file_system.files[this.path];return V?!0:null}},tau_file_system.files[w]=R}return y==="write"&&(R.text=""),R}},tau_user_input={buffer:"",get:function(w,S){for(var y;tau_user_input.buffer.length\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function N(w,S){return w.get_flag("char_conversion").id==="on"?S.replace(/./g,function(y){return w.get_char_conversion(y)}):S}function U(w){this.thread=w,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(w){return this.tokens=w},U.prototype.new_text=function(w){this.text=w,this.tokens=[]},U.prototype.get_tokens=function(w){var S,y=0,R=0,V=0,X=[],$=!1;if(w){var ie=this.tokens[w-1];y=ie.len,S=N(this.thread,this.text.substr(ie.len)),R=ie.line,V=ie.start}else S=this.text;if(/^\s*$/.test(S))return null;for(;S!=="";){var be=[],Fe=!1;if(/^\n/.exec(S)!==null){R++,V=0,y++,S=S.replace(/\n/,""),$=!0;continue}for(var at in F)if(F.hasOwnProperty(at)){var dt=F[at].exec(S);dt&&be.push({value:dt[0],name:at,matches:dt})}if(!be.length)return this.set_last_tokens([{value:S,matches:[],name:"lexical",line:R,start:V}]);var ie=r(be,function(kr,mr){return kr.value.length>=mr.value.length?kr:mr});switch(ie.start=V,ie.line=R,S=S.replace(ie.value,""),V+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=C(ie.value),ie.blank=Fe;break;case"string":var Gt=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),Gt),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var tr=X[X.length-1];tr&&(tr.space=!0),Fe=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Fe=!1}var bt=this.set_last_tokens(X);return bt.length===0?null:bt};function J(w,S,y,R,V){if(!S[y])return{type:A,value:b.error.syntax(S[y-1],"expression expected",!0)};var X;if(R==="0"){var $=S[y];switch($.name){case"number":return{type:p,len:y+1,value:new b.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new b.type.Var($.value)};case"string":var ie;switch(w.get_flag("double_quotes").id){case"atom":ie=new H($.value,[]);break;case"codes":ie=new H("[]",[]);for(var be=$.value.length-1;be>=0;be--)ie=new H(".",[new b.type.Num(n($.value,be),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var be=$.value.length-1;be>=0;be--)ie=new H(".",[new b.type.Term($.value.charAt(be),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var bt=J(w,S,y+1,w.__get_max_priority(),!0);return bt.type!==p?bt:S[bt.len]&&S[bt.len].name==="r_paren"?(bt.len++,bt):{type:A,derived:!0,value:b.error.syntax(S[bt.len]?S[bt.len]:S[bt.len-1],") or operator expected",!S[bt.len])};case"l_bracket":var bt=J(w,S,y+1,w.__get_max_priority(),!0);return bt.type!==p?bt:S[bt.len]&&S[bt.len].name==="r_bracket"?(bt.len++,bt.value=new H("{}",[bt.value]),bt):{type:A,derived:!0,value:b.error.syntax(S[bt.len]?S[bt.len]:S[bt.len-1],"} or operator expected",!S[bt.len])}}var Fe=te(w,S,y,V);return Fe.type===p||Fe.derived||(Fe=ae(w,S,y),Fe.type===p||Fe.derived)?Fe:{type:A,derived:!1,value:b.error.syntax(S[y],"unexpected token")}}var at=w.__get_max_priority(),dt=w.__get_next_priority(R),Gt=y;if(S[y].name==="atom"&&S[y+1]&&(S[y].space||S[y+1].name!=="l_paren")){var $=S[y++],tr=w.__lookup_operator_classes(R,$.value);if(tr&&tr.indexOf("fy")>-1){var bt=J(w,S,y,R,V);if(bt.type!==A)return $.value==="-"&&!$.space&&b.type.is_number(bt.value)?{value:new b.type.Num(-bt.value.value,bt.value.is_float),len:bt.len,type:p}:{value:new b.type.Term($.value,[bt.value]),len:bt.len,type:p};X=bt}else if(tr&&tr.indexOf("fx")>-1){var bt=J(w,S,y,dt,V);if(bt.type!==A)return{value:new b.type.Term($.value,[bt.value]),len:bt.len,type:p};X=bt}}y=Gt;var bt=J(w,S,y,dt,V);if(bt.type===p){y=bt.len;var $=S[y];if(S[y]&&(S[y].name==="atom"&&w.__lookup_operator_classes(R,$.value)||S[y].name==="bar"&&w.__lookup_operator_classes(R,"|"))){var ln=dt,kr=R,tr=w.__lookup_operator_classes(R,$.value);if(tr.indexOf("xf")>-1)return{value:new b.type.Term($.value,[bt.value]),len:++bt.len,type:p};if(tr.indexOf("xfx")>-1){var mr=J(w,S,y+1,ln,V);return mr.type===p?{value:new b.type.Term($.value,[bt.value,mr.value]),len:mr.len,type:p}:(mr.derived=!0,mr)}else if(tr.indexOf("xfy")>-1){var mr=J(w,S,y+1,kr,V);return mr.type===p?{value:new b.type.Term($.value,[bt.value,mr.value]),len:mr.len,type:p}:(mr.derived=!0,mr)}else if(bt.type!==A)for(;;){y=bt.len;var $=S[y];if($&&$.name==="atom"&&w.__lookup_operator_classes(R,$.value)){var tr=w.__lookup_operator_classes(R,$.value);if(tr.indexOf("yf")>-1)bt={value:new b.type.Term($.value,[bt.value]),len:++y,type:p};else if(tr.indexOf("yfx")>-1){var mr=J(w,S,++y,ln,V);if(mr.type===A)return mr.derived=!0,mr;y=mr.len,bt={value:new b.type.Term($.value,[bt.value,mr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:b.error.syntax(S[bt.len-1],"operator expected")};return bt}return bt}function te(w,S,y,R){if(!S[y]||S[y].name==="atom"&&S[y].raw==="."&&!R&&(S[y].space||!S[y+1]||S[y+1].name!=="l_paren"))return{type:A,derived:!1,value:b.error.syntax(S[y-1],"unfounded token")};var V=S[y],X=[];if(S[y].name==="atom"&&S[y].raw!==","){if(y++,S[y-1].space)return{type:p,len:y,value:new b.type.Term(V.value,X)};if(S[y]&&S[y].name==="l_paren"){if(S[y+1]&&S[y+1].name==="r_paren")return{type:A,derived:!0,value:b.error.syntax(S[y+1],"argument expected")};var $=J(w,S,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],"argument expected",!S[y])};for(X.push($.value),y=$.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if($=J(w,S,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X.push($.value),y=$.len}if(S[y]&&S[y].name==="r_paren")y++;else return{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],", or ) expected",!S[y])}}return{type:p,len:y,value:new b.type.Term(V.value,X)}}return{type:A,derived:!1,value:b.error.syntax(S[y],"term expected")}}function ae(w,S,y){if(!S[y])return{type:A,derived:!1,value:b.error.syntax(S[y-1],"[ expected")};if(S[y]&&S[y].name==="l_brace"){var R=J(w,S,++y,"999",!0),V=[R.value],X=void 0;if(R.type===A)return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:new b.type.Term("[]",[])}:{type:A,derived:!0,value:b.error.syntax(S[y],"] expected")};for(y=R.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if(R=J(w,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};V.push(R.value),y=R.len}var $=!1;if(S[y]&&S[y].name==="bar"){if($=!0,R=J(w,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X=R.value,y=R.len}return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:g(V,X)}:{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],$?"] expected":", or | or ] expected",!S[y])}}return{type:A,derived:!1,value:b.error.syntax(S[y],"list expected")}}function le(w,S,y){var R=S[y].line,V=J(w,S,y,w.__get_max_priority(),!1),X=null,$;if(V.type!==A)if(y=V.len,S[y]&&S[y].name==="atom"&&S[y].raw===".")if(y++,b.type.is_term(V.value)){if(V.value.indicator===":-/2"?(X=new b.type.Rule(V.value.args[0],Ee(V.value.args[1])),$={value:X,len:y,type:p}):V.value.indicator==="-->/2"?(X=de(new b.type.Rule(V.value.args[0],V.value.args[1]),w),X.body=Ee(X.body),$={value:X,len:y,type:b.type.is_rule(X)?p:A}):(X=new b.type.Rule(V.value,null),$={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&w.throw_warning(b.warning.singleton(ie,X.head.indicator,R))}return $}else return{type:A,value:b.error.syntax(S[y],"callable expected")};else return{type:A,value:b.error.syntax(S[y]?S[y]:S[y-1],". or operator expected")};return V}function ce(w,S,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var R=new U(w),V={},X;R.new_text(S);var $=0,ie=R.get_tokens($);do{if(ie===null||!ie[$])break;var be=le(w,ie,$);if(be.type===A)return new H("throw",[be.value]);if(be.value.body===null&&be.value.head.indicator==="?-/1"){var Fe=new et(w.session);Fe.add_goal(be.value.head.args[0]),Fe.answer(function(dt){b.type.is_error(dt)?w.throw_warning(dt.args[0]):(dt===!1||dt===null)&&w.throw_warning(b.warning.failed_goal(be.value.head.args[0],be.len))}),$=be.len;var at=!0}else if(be.value.body===null&&be.value.head.indicator===":-/1"){var at=w.run_directive(be.value.head.args[0]);$=be.len,be.value.head.args[0].indicator==="char_conversion/2"&&(ie=R.get_tokens($),$=0)}else{X=be.value.head.indicator,y.reconsult!==!1&&V[X]!==!0&&!w.is_multifile_predicate(X)&&(w.session.rules[X]=a(w.session.rules[X]||[],function(Gt){return Gt.dynamic}),V[X]=!0);var at=w.add_rule(be.value,y);$=be.len}if(!at)return at}while(!0);return!0}function we(w,S){var y=new U(w);y.new_text(S);var R=0;do{var V=y.get_tokens(R);if(V===null)break;var X=J(w,V,0,w.__get_max_priority(),!1);if(X.type!==A){var $=X.len,ie=$;if(V[$]&&V[$].name==="atom"&&V[$].raw===".")w.add_goal(Ee(X.value));else{var be=V[$];return new H("throw",[b.error.syntax(be||V[$-1],". or operator expected",!be)])}R=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function de(w,S){w=w.rename(S);var y=S.next_free_variable(),R=Be(w.body,y,S);return R.error?R.value:(w.body=R.value,w.head.args=w.head.args.concat([y,R.variable]),w.head=new H(w.head.id,w.head.args),w)}function Be(w,S,y){var R;if(b.type.is_term(w)&&w.indicator==="!/0")return{value:w,variable:S,error:!1};if(b.type.is_term(w)&&w.indicator===",/2"){var V=Be(w.args[0],S,y);if(V.error)return V;var X=Be(w.args[1],V.variable,y);return X.error?X:{value:new H(",",[V.value,X.value]),variable:X.variable,error:!1}}else{if(b.type.is_term(w)&&w.indicator==="{}/1")return{value:w.args[0],variable:S,error:!1};if(b.type.is_empty_list(w))return{value:new H("true",[]),variable:S,error:!1};if(b.type.is_list(w)){R=y.next_free_variable();for(var $=w,ie;$.indicator==="./2";)ie=$,$=$.args[1];return b.type.is_variable($)?{value:b.error.instantiation("DCG"),variable:S,error:!0}:b.type.is_empty_list($)?(ie.args[1]=R,{value:new H("=",[S,w]),variable:R,error:!1}):{value:b.error.type("list",w,"DCG"),variable:S,error:!0}}else return b.type.is_callable(w)?(R=y.next_free_variable(),w.args=w.args.concat([S,R]),w=new H(w.id,w.args),{value:w,variable:R,error:!1}):{value:b.error.type("callable",w,"DCG"),variable:S,error:!0}}}function Ee(w){return b.type.is_variable(w)?new H("call",[w]):b.type.is_term(w)&&[",/2",";/2","->/2"].indexOf(w.indicator)!==-1?new H(w.id,[Ee(w.args[0]),Ee(w.args[1])]):w}function g(w,S){for(var y=S||new b.type.Term("[]",[]),R=w.length-1;R>=0;R--)y=new b.type.Term(".",[w[R],y]);return y}function me(w,S){for(var y=w.length-1;y>=0;y--)w[y]===S&&w.splice(y,1)}function Ce(w){for(var S={},y=[],R=0;R=0;S--)if(w.charAt(S)==="/")return new H("/",[new H(w.substring(0,S)),new Le(parseInt(w.substring(S+1)),!1)])}function xe(w){this.id=w}function Le(w,S){this.is_float=S!==void 0?S:parseInt(w)!==w,this.value=this.is_float?w:parseInt(w)}var ht=0;function H(w,S,y){this.ref=y||++ht,this.id=w,this.args=S||[],this.indicator=w+"/"+this.args.length}var rt=0;function Te(w,S,y,R,V,X){this.id=rt++,this.stream=w,this.mode=S,this.alias=y,this.type=R!==void 0?R:"text",this.reposition=V!==void 0?V:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Re(w){w=w||{},this.links=w}function ke(w,S,y){S=S||new Re,y=y||null,this.goal=w,this.substitution=S,this.parent=y}function Ye(w,S,y){this.head=w,this.body=S,this.dynamic=y||!1}function Se(w){w=w===void 0||w<=0?1e3:w,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new et(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=w,this.streams={user_input:new Te(typeof gl<"u"&&gl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Te(typeof gl<"u"&&gl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof gl<"u"&&gl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(S){return S.substitution},this.format_error=function(S){return S.goal},this.flag={bounded:b.flag.bounded.value,max_integer:b.flag.max_integer.value,min_integer:b.flag.min_integer.value,integer_rounding_function:b.flag.integer_rounding_function.value,char_conversion:b.flag.char_conversion.value,debug:b.flag.debug.value,max_arity:b.flag.max_arity.value,unknown:b.flag.unknown.value,double_quotes:b.flag.double_quotes.value,occurs_check:b.flag.occurs_check.value,dialect:b.flag.dialect.value,version_data:b.flag.version_data.value,nodejs:b.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function et(w){this.epoch=Date.now(),this.session=w,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Ue(w,S,y){this.id=w,this.rules=S,this.exports=y,b.module[w]=this}Ue.prototype.exports_predicate=function(w){return this.exports.indexOf(w)!==-1},xe.prototype.unify=function(w,S){if(S&&e(w.variables(),this.id)!==-1&&!b.type.is_variable(w))return null;var y={};return y[this.id]=w,new Re(y)},Le.prototype.unify=function(w,S){return b.type.is_number(w)&&this.value===w.value&&this.is_float===w.is_float?new Re:null},H.prototype.unify=function(w,S){if(b.type.is_term(w)&&this.indicator===w.indicator){for(var y=new Re,R=0;R=0){var R=this.args[0].value,V=Math.floor(R/26),X=R%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(V!==0?V:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(w)+"}";case"./2":for(var $="["+this.args[0].toString(w),ie=this.args[1];ie.indicator==="./2";)$+=", "+ie.args[0].toString(w),ie=ie.args[1];return ie.indicator!=="[]/0"&&($+="|"+ie.toString(w)),$+="]",$;case",/2":return"("+this.args[0].toString(w)+", "+this.args[1].toString(w)+")";default:var be=this.id,Fe=w.session?w.session.lookup_operator(this.id,this.args.length):null;if(w.session===void 0||w.ignore_ops||Fe===null)return w.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(be)&&be!=="{}"&&be!=="[]"&&(be="'"+x(be)+"'"),be+(this.args.length?"("+o(this.args,function(tr){return tr.toString(w)}).join(", ")+")":"");var at=Fe.priority>S.priority||Fe.priority===S.priority&&(Fe.class==="xfy"&&this.indicator!==S.indicator||Fe.class==="yfx"&&this.indicator!==S.indicator||this.indicator===S.indicator&&Fe.class==="yfx"&&y==="right"||this.indicator===S.indicator&&Fe.class==="xfy"&&y==="left");Fe.indicator=this.indicator;var dt=at?"(":"",Gt=at?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Fe.class)!==-1?dt+be+" "+this.args[0].toString(w,Fe)+Gt:["yf","xf"].indexOf(Fe.class)!==-1?dt+this.args[0].toString(w,Fe)+" "+be+Gt:dt+this.args[0].toString(w,Fe,"left")+" "+this.id+" "+this.args[1].toString(w,Fe,"right")+Gt}},Te.prototype.toString=function(w){return"("+this.id+")"},Re.prototype.toString=function(w){var S="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(S!=="{"&&(S+=", "),S+=y+"/"+this.links[y].toString(w));return S+="}",S},ke.prototype.toString=function(w){return this.goal===null?"<"+this.substitution.toString(w)+">":"<"+this.goal.toString(w)+", "+this.substitution.toString(w)+">"},Ye.prototype.toString=function(w){return this.body?this.head.toString(w)+" :- "+this.body.toString(w)+".":this.head.toString(w)+"."},Se.prototype.toString=function(w){for(var S="",y=0;y=0;V--)R=new H(".",[S[V],R]);return R}return new H(this.id,o(this.args,function(X){return X.apply(w)}),this.ref)},Te.prototype.apply=function(w){return this},Ye.prototype.apply=function(w){return new Ye(this.head.apply(w),this.body!==null?this.body.apply(w):null)},Re.prototype.apply=function(w){var S,y={};for(S in this.links)!this.links.hasOwnProperty(S)||(y[S]=this.links[S].apply(w));return new Re(y)},H.prototype.select=function(){for(var w=this;w.indicator===",/2";)w=w.args[0];return w},H.prototype.replace=function(w){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(w),this.args[1]]):w===null?this.args[1]:new H(",",[w,this.args[1]]):w},H.prototype.search=function(w){if(b.type.is_term(w)&&w.ref!==void 0&&this.ref===w.ref)return!0;for(var S=0;SS&&R0&&(S=this.head_point().substitution.domain());e(S,b.format_variable(this.session.rename))!==-1;)this.session.rename++;if(w.id==="_")return new xe(b.format_variable(this.session.rename));this.session.renamed_variables[w.id]=b.format_variable(this.session.rename)}return new xe(this.session.renamed_variables[w.id])},Se.prototype.next_free_variable=function(){return this.thread.next_free_variable()},et.prototype.next_free_variable=function(){this.session.rename++;var w=[];for(this.points.length>0&&(w=this.head_point().substitution.domain());e(w,b.format_variable(this.session.rename))!==-1;)this.session.rename++;return new xe(b.format_variable(this.session.rename))},Se.prototype.is_public_predicate=function(w){return!this.public_predicates.hasOwnProperty(w)||this.public_predicates[w]===!0},et.prototype.is_public_predicate=function(w){return this.session.is_public_predicate(w)},Se.prototype.is_multifile_predicate=function(w){return this.multifile_predicates.hasOwnProperty(w)&&this.multifile_predicates[w]===!0},et.prototype.is_multifile_predicate=function(w){return this.session.is_multifile_predicate(w)},Se.prototype.prepend=function(w){return this.thread.prepend(w)},et.prototype.prepend=function(w){for(var S=w.length-1;S>=0;S--)this.points.push(w[S])},Se.prototype.success=function(w,S){return this.thread.success(w,S)},et.prototype.success=function(w,y){var y=typeof y>"u"?w:y;this.prepend([new ke(w.goal.replace(null),w.substitution,y)])},Se.prototype.throw_error=function(w){return this.thread.throw_error(w)},et.prototype.throw_error=function(w){this.prepend([new ke(new H("throw",[w]),new Re,null,null)])},Se.prototype.step_rule=function(w,S){return this.thread.step_rule(w,S)},et.prototype.step_rule=function(w,S){var y=S.indicator;if(w==="user"&&(w=null),w===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var R=w===null?this.session.modules:e(this.session.modules,w)===-1?[]:[w],V=0;V1)&&this.again()},Se.prototype.answers=function(w,S,y){return this.thread.answers(w,S,y)},et.prototype.answers=function(w,S,y){var R=S||1e3,V=this;if(S<=0){y&&y();return}this.answer(function(X){w(X),X!==!1?setTimeout(function(){V.answers(w,S-1,y)},1):y&&y()})},Se.prototype.again=function(w){return this.thread.again(w)},et.prototype.again=function(w){for(var S,y=Date.now();this.__calls.length>0;){for(this.warnings=[],w!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!b.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var R=Date.now();this.cpu_time_last=R-y,this.cpu_time+=this.cpu_time_last;var V=this.__calls.shift();this.current_limit<=0?V(null):this.points.length===0?V(!1):b.type.is_error(this.head_point().goal)?(S=this.session.format_error(this.points.pop()),this.points=[],V(S)):(this.debugger&&this.debugger_states.push(this.head_point()),S=this.session.format_success(this.points.pop()),V(S))}},Se.prototype.unfold=function(w){if(w.body===null)return!1;var S=w.head,y=w.body,R=y.select(),V=new et(this),X=[];V.add_goal(R),V.step();for(var $=V.points.length-1;$>=0;$--){var ie=V.points[$],be=S.apply(ie.substitution),Fe=y.replace(ie.goal);Fe!==null&&(Fe=Fe.apply(ie.substitution)),X.push(new Ye(be,Fe))}var at=this.rules[S.indicator],dt=e(at,w);return X.length>0&&dt!==-1?(at.splice.apply(at,[dt,1].concat(X)),!0):!1},et.prototype.unfold=function(w){return this.session.unfold(w)},xe.prototype.interpret=function(w){return b.error.instantiation(w.level)},Le.prototype.interpret=function(w){return this},H.prototype.interpret=function(w){return b.type.is_unitary_list(this)?this.args[0].interpret(w):b.operate(w,this)},xe.prototype.compare=function(w){return this.idw.id?1:0},Le.prototype.compare=function(w){if(this.value===w.value&&this.is_float===w.is_float)return 0;if(this.valuew.value)return 1},H.prototype.compare=function(w){if(this.args.lengthw.args.length||this.args.length===w.args.length&&this.id>w.id)return 1;for(var S=0;SR)return 1;if(w.constructor===Le){if(w.is_float&&S.is_float)return 0;if(w.is_float)return-1;if(S.is_float)return 1}return 0},is_substitution:function(w){return w instanceof Re},is_state:function(w){return w instanceof ke},is_rule:function(w){return w instanceof Ye},is_variable:function(w){return w instanceof xe},is_stream:function(w){return w instanceof Te},is_anonymous_var:function(w){return w instanceof xe&&w.id==="_"},is_callable:function(w){return w instanceof H},is_number:function(w){return w instanceof Le},is_integer:function(w){return w instanceof Le&&!w.is_float},is_float:function(w){return w instanceof Le&&w.is_float},is_term:function(w){return w instanceof H},is_atom:function(w){return w instanceof H&&w.args.length===0},is_ground:function(w){if(w instanceof xe)return!1;if(w instanceof H){for(var S=0;S0},is_list:function(w){return w instanceof H&&(w.indicator==="[]/0"||w.indicator==="./2")},is_empty_list:function(w){return w instanceof H&&w.indicator==="[]/0"},is_non_empty_list:function(w){return w instanceof H&&w.indicator==="./2"},is_fully_list:function(w){for(;w instanceof H&&w.indicator==="./2";)w=w.args[1];return w instanceof xe||w instanceof H&&w.indicator==="[]/0"},is_instantiated_list:function(w){for(;w instanceof H&&w.indicator==="./2";)w=w.args[1];return w instanceof H&&w.indicator==="[]/0"},is_unitary_list:function(w){return w instanceof H&&w.indicator==="./2"&&w.args[1]instanceof H&&w.args[1].indicator==="[]/0"},is_character:function(w){return w instanceof H&&(w.id.length===1||w.id.length>0&&w.id.length<=2&&n(w.id,0)>=65536)},is_character_code:function(w){return w instanceof Le&&!w.is_float&&w.value>=0&&w.value<=1114111},is_byte:function(w){return w instanceof Le&&!w.is_float&&w.value>=0&&w.value<=255},is_operator:function(w){return w instanceof H&&b.arithmetic.evaluation[w.indicator]},is_directive:function(w){return w instanceof H&&b.directive[w.indicator]!==void 0},is_builtin:function(w){return w instanceof H&&b.predicate[w.indicator]!==void 0},is_error:function(w){return w instanceof H&&w.indicator==="throw/1"},is_predicate_indicator:function(w){return w instanceof H&&w.indicator==="//2"&&w.args[0]instanceof H&&w.args[0].args.length===0&&w.args[1]instanceof Le&&w.args[1].is_float===!1},is_flag:function(w){return w instanceof H&&w.args.length===0&&b.flag[w.id]!==void 0},is_value_flag:function(w,S){if(!b.type.is_flag(w))return!1;for(var y in b.flag[w.id].allowed)if(!!b.flag[w.id].allowed.hasOwnProperty(y)&&b.flag[w.id].allowed[y].equals(S))return!0;return!1},is_io_mode:function(w){return b.type.is_atom(w)&&["read","write","append"].indexOf(w.id)!==-1},is_stream_option:function(w){return b.type.is_term(w)&&(w.indicator==="alias/1"&&b.type.is_atom(w.args[0])||w.indicator==="reposition/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="type/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary")||w.indicator==="eof_action/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))},is_stream_position:function(w){return b.type.is_integer(w)&&w.value>=0||b.type.is_atom(w)&&(w.id==="end_of_stream"||w.id==="past_end_of_stream")},is_stream_property:function(w){return b.type.is_term(w)&&(w.indicator==="input/0"||w.indicator==="output/0"||w.indicator==="alias/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0]))||w.indicator==="file_name/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0]))||w.indicator==="position/1"&&(b.type.is_variable(w.args[0])||b.type.is_stream_position(w.args[0]))||w.indicator==="reposition/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))||w.indicator==="type/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary"))||w.indicator==="mode/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="read"||w.args[0].id==="write"||w.args[0].id==="append"))||w.indicator==="eof_action/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))||w.indicator==="end_of_stream/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="at"||w.args[0].id==="past"||w.args[0].id==="not")))},is_streamable:function(w){return w.__proto__.stream!==void 0},is_read_option:function(w){return b.type.is_term(w)&&["variables/1","variable_names/1","singletons/1"].indexOf(w.indicator)!==-1},is_write_option:function(w){return b.type.is_term(w)&&(w.indicator==="quoted/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="ignore_ops/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="numbervars/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))},is_close_option:function(w){return b.type.is_term(w)&&w.indicator==="force/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")},is_modifiable_flag:function(w){return b.type.is_flag(w)&&b.flag[w.id].changeable},is_module:function(w){return w instanceof H&&w.indicator==="library/1"&&w.args[0]instanceof H&&w.args[0].args.length===0&&b.module[w.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(w){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(w){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(w){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(w){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(w,S){return w}},"-/1":{type_args:null,type_result:null,fn:function(w,S){return-w}},"\\/1":{type_args:!1,type_result:!1,fn:function(w,S){return~w}},"abs/1":{type_args:null,type_result:null,fn:function(w,S){return Math.abs(w)}},"sign/1":{type_args:null,type_result:null,fn:function(w,S){return Math.sign(w)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(w,S){return parseInt(w)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(w,S){return w-parseInt(w)}},"float/1":{type_args:null,type_result:!0,fn:function(w,S){return parseFloat(w)}},"floor/1":{type_args:!0,type_result:!1,fn:function(w,S){return Math.floor(w)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(w,S){return parseInt(w)}},"round/1":{type_args:!0,type_result:!1,fn:function(w,S){return Math.round(w)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(w,S){return Math.ceil(w)}},"sin/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.sin(w)}},"cos/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.cos(w)}},"tan/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.tan(w)}},"asin/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.asin(w)}},"acos/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.acos(w)}},"atan/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.atan(w)}},"atan2/2":{type_args:null,type_result:!0,fn:function(w,S,y){return Math.atan2(w,S)}},"exp/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.exp(w)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.sqrt(w)}},"log/1":{type_args:null,type_result:!0,fn:function(w,S){return w>0?Math.log(w):b.error.evaluation("undefined",S.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(w,S,y){return w+S}},"-/2":{type_args:null,type_result:null,fn:function(w,S,y){return w-S}},"*/2":{type_args:null,type_result:null,fn:function(w,S,y){return w*S}},"//2":{type_args:null,type_result:!0,fn:function(w,S,y){return S?w/S:b.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(w,S,y){return S?parseInt(w/S):b.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(w,S,y){return Math.pow(w,S)}},"^/2":{type_args:null,type_result:null,fn:function(w,S,y){return Math.pow(w,S)}},"<>/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w>>S}},"/\\/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w&S}},"\\//2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w|S}},"xor/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w^S}},"rem/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return S?w%S:b.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return S?w-parseInt(w/S)*S:b.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(w,S,y){return Math.max(w,S)}},"min/2":{type_args:null,type_result:null,fn:function(w,S,y){return Math.min(w,S)}}}},directive:{"dynamic/1":function(w,S){var y=S.args[0];if(b.type.is_variable(y))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_compound(y)||y.indicator!=="//2")w.throw_error(b.error.type("predicate_indicator",y,S.indicator));else if(b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1]))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_atom(y.args[0]))w.throw_error(b.error.type("atom",y.args[0],S.indicator));else if(!b.type.is_integer(y.args[1]))w.throw_error(b.error.type("integer",y.args[1],S.indicator));else{var R=S.args[0].args[0].id+"/"+S.args[0].args[1].value;w.session.public_predicates[R]=!0,w.session.rules[R]||(w.session.rules[R]=[])}},"multifile/1":function(w,S){var y=S.args[0];b.type.is_variable(y)?w.throw_error(b.error.instantiation(S.indicator)):!b.type.is_compound(y)||y.indicator!=="//2"?w.throw_error(b.error.type("predicate_indicator",y,S.indicator)):b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1])?w.throw_error(b.error.instantiation(S.indicator)):b.type.is_atom(y.args[0])?b.type.is_integer(y.args[1])?w.session.multifile_predicates[S.args[0].args[0].id+"/"+S.args[0].args[1].value]=!0:w.throw_error(b.error.type("integer",y.args[1],S.indicator)):w.throw_error(b.error.type("atom",y.args[0],S.indicator))},"set_prolog_flag/2":function(w,S){var y=S.args[0],R=S.args[1];b.type.is_variable(y)||b.type.is_variable(R)?w.throw_error(b.error.instantiation(S.indicator)):b.type.is_atom(y)?b.type.is_flag(y)?b.type.is_value_flag(y,R)?b.type.is_modifiable_flag(y)?w.session.flag[y.id]=R:w.throw_error(b.error.permission("modify","flag",y)):w.throw_error(b.error.domain("flag_value",new H("+",[y,R]),S.indicator)):w.throw_error(b.error.domain("prolog_flag",y,S.indicator)):w.throw_error(b.error.type("atom",y,S.indicator))},"use_module/1":function(w,S){var y=S.args[0];if(b.type.is_variable(y))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_term(y))w.throw_error(b.error.type("term",y,S.indicator));else if(b.type.is_module(y)){var R=y.args[0].id;e(w.session.modules,R)===-1&&w.session.modules.push(R)}},"char_conversion/2":function(w,S){var y=S.args[0],R=S.args[1];b.type.is_variable(y)||b.type.is_variable(R)?w.throw_error(b.error.instantiation(S.indicator)):b.type.is_character(y)?b.type.is_character(R)?y.id===R.id?delete w.session.__char_conversion[y.id]:w.session.__char_conversion[y.id]=R.id:w.throw_error(b.error.type("character",R,S.indicator)):w.throw_error(b.error.type("character",y,S.indicator))},"op/3":function(w,S){var y=S.args[0],R=S.args[1],V=S.args[2];if(b.type.is_variable(y)||b.type.is_variable(R)||b.type.is_variable(V))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_integer(y))w.throw_error(b.error.type("integer",y,S.indicator));else if(!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,S.indicator));else if(!b.type.is_atom(V))w.throw_error(b.error.type("atom",V,S.indicator));else if(y.value<0||y.value>1200)w.throw_error(b.error.domain("operator_priority",y,S.indicator));else if(V.id===",")w.throw_error(b.error.permission("modify","operator",V,S.indicator));else if(V.id==="|"&&(y.value<1001||R.id.length!==3))w.throw_error(b.error.permission("modify","operator",V,S.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(R.id)===-1)w.throw_error(b.error.domain("operator_specifier",R,S.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in w.session.__operators)if(!!w.session.__operators.hasOwnProperty($)){var ie=w.session.__operators[$][V.id];ie&&(e(ie,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(ie,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(ie,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(ie,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(ie,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(ie,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(ie,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var be;switch(R.id){case"fy":case"fx":be="prefix";break;case"yf":case"xf":be="postfix";break;default:be="infix";break}if(((X.prefix&&be==="prefix"||X.postfix&&be==="postfix"||X.infix&&be==="infix")&&X[be].type!==R.id||X.infix&&be==="postfix"||X.postfix&&be==="infix")&&y.value!==0)w.throw_error(b.error.permission("create","operator",V,S.indicator));else return X[be]&&(me(w.session.__operators[X[be].priority][V.id],R.id),w.session.__operators[X[be].priority][V.id].length===0&&delete w.session.__operators[X[be].priority][V.id]),y.value>0&&(w.session.__operators[y.value]||(w.session.__operators[y.value.toString()]={}),w.session.__operators[y.value][V.id]||(w.session.__operators[y.value][V.id]=[]),w.session.__operators[y.value][V.id].push(R.id)),!0}}},predicate:{"op/3":function(w,S,y){b.directive["op/3"](w,y)&&w.success(S)},"current_op/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2],$=[];for(var ie in w.session.__operators)for(var be in w.session.__operators[ie])for(var Fe=0;Fe/2"){var R=w.points,V=w.session.format_success,X=w.session.format_error;w.session.format_success=function(Fe){return Fe.substitution},w.session.format_error=function(Fe){return Fe.goal},w.points=[new ke(y.args[0].args[0],S.substitution,S)];var $=function(Fe){w.points=R,w.session.format_success=V,w.session.format_error=X,Fe===!1?w.prepend([new ke(S.goal.replace(y.args[1]),S.substitution,S)]):b.type.is_error(Fe)?w.throw_error(Fe.args[0]):Fe===null?(w.prepend([S]),w.__calls.shift()(null)):w.prepend([new ke(S.goal.replace(y.args[0].args[1]).apply(Fe),S.substitution.apply(Fe),S)])};w.__calls.unshift($)}else{var ie=new ke(S.goal.replace(y.args[0]),S.substitution,S),be=new ke(S.goal.replace(y.args[1]),S.substitution,S);w.prepend([ie,be])}},"!/0":function(w,S,y){var R,V,X=[];for(R=S,V=null;R.parent!==null&&R.parent.goal.search(y);)if(V=R,R=R.parent,R.goal!==null){var $=R.goal.select();if($&&$.id==="call"&&$.search(y)){R=V;break}}for(var ie=w.points.length-1;ie>=0;ie--){for(var be=w.points[ie],Fe=be.parent;Fe!==null&&Fe!==R.parent;)Fe=Fe.parent;Fe===null&&Fe!==R.parent&&X.push(be)}w.points=X.reverse(),w.success(S)},"\\+/1":function(w,S,y){var R=y.args[0];b.type.is_variable(R)?w.throw_error(b.error.instantiation(w.level)):b.type.is_callable(R)?w.prepend([new ke(S.goal.replace(new H(",",[new H(",",[new H("call",[R]),new H("!",[])]),new H("fail",[])])),S.substitution,S),new ke(S.goal.replace(null),S.substitution,S)]):w.throw_error(b.error.type("callable",R,w.level))},"->/2":function(w,S,y){var R=S.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));w.prepend([new ke(R,S.substitution,S)])},"fail/0":function(w,S,y){},"false/0":function(w,S,y){},"true/0":function(w,S,y){w.success(S)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("call",[R]),new H("!",[])])),S.substitution,S)])},"forall/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("\\+",[new H(",",[new H("call",[R]),new H("\\+",[new H("call",[V])])])])),S.substitution,S)])},"repeat/0":function(w,S,y){w.prepend([new ke(S.goal.replace(null),S.substitution,S),S])},"throw/1":function(w,S,y){b.type.is_variable(y.args[0])?w.throw_error(b.error.instantiation(w.level)):w.throw_error(y.args[0])},"catch/3":function(w,S,y){var R=w.points;w.points=[],w.prepend([new ke(y.args[0],S.substitution,S)]);var V=w.session.format_success,X=w.session.format_error;w.session.format_success=function(ie){return ie.substitution},w.session.format_error=function(ie){return ie.goal};var $=function(ie){var be=w.points;if(w.points=R,w.session.format_success=V,w.session.format_error=X,b.type.is_error(ie)){for(var Fe=[],at=w.points.length-1;at>=0;at--){for(var tr=w.points[at],dt=tr.parent;dt!==null&&dt!==S.parent;)dt=dt.parent;dt===null&&dt!==S.parent&&Fe.push(tr)}w.points=Fe;var Gt=w.get_flag("occurs_check").indicator==="true/0",tr=new ke,bt=b.unify(ie.args[0],y.args[1],Gt);bt!==null?(tr.substitution=S.substitution.apply(bt),tr.goal=S.goal.replace(y.args[2]).apply(bt),tr.parent=S,w.prepend([tr])):w.throw_error(ie.args[0])}else if(ie!==!1){for(var ln=ie===null?[]:[new ke(S.goal.apply(ie).replace(null),S.substitution.apply(ie),S)],kr=[],at=be.length-1;at>=0;at--){kr.push(be[at]);var mr=be[at].goal!==null?be[at].goal.select():null;if(b.type.is_term(mr)&&mr.indicator==="!/0")break}var br=o(kr,function(Kr){return Kr.goal===null&&(Kr.goal=new H("true",[])),Kr=new ke(S.goal.replace(new H("catch",[Kr.goal,y.args[1],y.args[2]])),S.substitution.apply(Kr.substitution),Kr.parent),Kr.exclude=y.args[0].variables(),Kr}).reverse();w.prepend(br),w.prepend(ln),ie===null&&(this.current_limit=0,w.__calls.shift()(null))}};w.__calls.unshift($)},"=/2":function(w,S,y){var R=w.get_flag("occurs_check").indicator==="true/0",V=new ke,X=b.unify(y.args[0],y.args[1],R);X!==null&&(V.goal=S.goal.apply(X).replace(null),V.substitution=S.substitution.apply(X),V.parent=S,w.prepend([V]))},"unify_with_occurs_check/2":function(w,S,y){var R=new ke,V=b.unify(y.args[0],y.args[1],!0);V!==null&&(R.goal=S.goal.apply(V).replace(null),R.substitution=S.substitution.apply(V),R.parent=S,w.prepend([R]))},"\\=/2":function(w,S,y){var R=w.get_flag("occurs_check").indicator==="true/0",V=b.unify(y.args[0],y.args[1],R);V===null&&w.success(S)},"subsumes_term/2":function(w,S,y){var R=w.get_flag("occurs_check").indicator==="true/0",V=b.unify(y.args[1],y.args[0],R);V!==null&&y.args[1].apply(V).equals(y.args[1])&&w.success(S)},"findall/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(V))w.throw_error(b.error.type("callable",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var $=w.next_free_variable(),ie=new H(",",[V,new H("=",[$,R])]),be=w.points,Fe=w.session.limit,at=w.session.format_success;w.session.format_success=function(tr){return tr.substitution},w.add_goal(ie,!0,S);var dt=[],Gt=function(tr){if(tr!==!1&&tr!==null&&!b.type.is_error(tr))w.__calls.unshift(Gt),dt.push(tr.links[$.id]),w.session.limit=w.current_limit;else if(w.points=be,w.session.limit=Fe,w.session.format_success=at,b.type.is_error(tr))w.throw_error(tr.args[0]);else if(w.current_limit>0){for(var bt=new H("[]"),ln=dt.length-1;ln>=0;ln--)bt=new H(".",[dt[ln],bt]);w.prepend([new ke(S.goal.replace(new H("=",[X,bt])),S.substitution,S)])}};w.__calls.unshift(Gt)}},"bagof/3":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))w.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_list($))w.throw_error(b.error.type("list",$,y.indicator));else{var ie=w.next_free_variable(),be;X.indicator==="^/2"?(be=X.args[0].variables(),X=X.args[1]):be=[],be=be.concat(V.variables());for(var Fe=X.variables().filter(function(br){return e(be,br)===-1}),at=new H("[]"),dt=Fe.length-1;dt>=0;dt--)at=new H(".",[new xe(Fe[dt]),at]);var Gt=new H(",",[X,new H("=",[ie,new H(",",[at,V])])]),tr=w.points,bt=w.session.limit,ln=w.session.format_success;w.session.format_success=function(br){return br.substitution},w.add_goal(Gt,!0,S);var kr=[],mr=function(br){if(br!==!1&&br!==null&&!b.type.is_error(br)){w.__calls.unshift(mr);var Kr=!1,Kn=br.links[ie.id].args[0],Os=br.links[ie.id].args[1];for(var Ti in kr)if(!!kr.hasOwnProperty(Ti)){var gs=kr[Ti];if(gs.variables.equals(Kn)){gs.answers.push(Os),Kr=!0;break}}Kr||kr.push({variables:Kn,answers:[Os]}),w.session.limit=w.current_limit}else if(w.points=tr,w.session.limit=bt,w.session.format_success=ln,b.type.is_error(br))w.throw_error(br.args[0]);else if(w.current_limit>0){for(var no=[],Si=0;Si=0;io--)Ms=new H(".",[br[io],Ms]);no.push(new ke(S.goal.replace(new H(",",[new H("=",[at,kr[Si].variables]),new H("=",[$,Ms])])),S.substitution,S))}w.prepend(no)}};w.__calls.unshift(mr)}},"setof/3":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))w.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_list($))w.throw_error(b.error.type("list",$,y.indicator));else{var ie=w.next_free_variable(),be;X.indicator==="^/2"?(be=X.args[0].variables(),X=X.args[1]):be=[],be=be.concat(V.variables());for(var Fe=X.variables().filter(function(br){return e(be,br)===-1}),at=new H("[]"),dt=Fe.length-1;dt>=0;dt--)at=new H(".",[new xe(Fe[dt]),at]);var Gt=new H(",",[X,new H("=",[ie,new H(",",[at,V])])]),tr=w.points,bt=w.session.limit,ln=w.session.format_success;w.session.format_success=function(br){return br.substitution},w.add_goal(Gt,!0,S);var kr=[],mr=function(br){if(br!==!1&&br!==null&&!b.type.is_error(br)){w.__calls.unshift(mr);var Kr=!1,Kn=br.links[ie.id].args[0],Os=br.links[ie.id].args[1];for(var Ti in kr)if(!!kr.hasOwnProperty(Ti)){var gs=kr[Ti];if(gs.variables.equals(Kn)){gs.answers.push(Os),Kr=!0;break}}Kr||kr.push({variables:Kn,answers:[Os]}),w.session.limit=w.current_limit}else if(w.points=tr,w.session.limit=bt,w.session.format_success=ln,b.type.is_error(br))w.throw_error(br.args[0]);else if(w.current_limit>0){for(var no=[],Si=0;Si=0;io--)Ms=new H(".",[br[io],Ms]);no.push(new ke(S.goal.replace(new H(",",[new H("=",[at,kr[Si].variables]),new H("=",[$,Ms])])),S.substitution,S))}w.prepend(no)}};w.__calls.unshift(mr)}},"functor/3":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(V)&&(b.type.is_variable(X)||b.type.is_variable($)))w.throw_error(b.error.instantiation("functor/3"));else if(!b.type.is_variable($)&&!b.type.is_integer($))w.throw_error(b.error.type("integer",y.args[2],"functor/3"));else if(!b.type.is_variable(X)&&!b.type.is_atomic(X))w.throw_error(b.error.type("atomic",y.args[1],"functor/3"));else if(b.type.is_integer(X)&&b.type.is_integer($)&&$.value!==0)w.throw_error(b.error.type("atom",y.args[1],"functor/3"));else if(b.type.is_variable(V)){if(y.args[2].value>=0){for(var ie=[],be=0;be<$.value;be++)ie.push(w.next_free_variable());var Fe=b.type.is_integer(X)?X:new H(X.id,ie);w.prepend([new ke(S.goal.replace(new H("=",[V,Fe])),S.substitution,S)])}}else{var at=b.type.is_integer(V)?V:new H(V.id,[]),dt=b.type.is_integer(V)?new Le(0,!1):new Le(V.args.length,!1),Gt=new H(",",[new H("=",[at,X]),new H("=",[dt,$])]);w.prepend([new ke(S.goal.replace(Gt),S.substitution,S)])}},"arg/3":function(w,S,y){if(b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1]))w.throw_error(b.error.instantiation(y.indicator));else if(y.args[0].value<0)w.throw_error(b.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!b.type.is_compound(y.args[1]))w.throw_error(b.error.type("compound",y.args[1],y.indicator));else{var R=y.args[0].value;if(R>0&&R<=y.args[1].args.length){var V=new H("=",[y.args[1].args[R-1],y.args[2]]);w.prepend([new ke(S.goal.replace(V),S.substitution,S)])}}},"=../2":function(w,S,y){var R;if(b.type.is_variable(y.args[0])&&(b.type.is_variable(y.args[1])||b.type.is_non_empty_list(y.args[1])&&b.type.is_variable(y.args[1].args[0])))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_fully_list(y.args[1]))w.throw_error(b.error.type("list",y.args[1],y.indicator));else if(b.type.is_variable(y.args[0])){if(!b.type.is_variable(y.args[1])){var X=[];for(R=y.args[1].args[1];R.indicator==="./2";)X.push(R.args[0]),R=R.args[1];b.type.is_variable(y.args[0])&&b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):X.length===0&&b.type.is_compound(y.args[1].args[0])?w.throw_error(b.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(b.type.is_compound(y.args[1].args[0])||b.type.is_number(y.args[1].args[0]))?w.throw_error(b.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?w.prepend([new ke(S.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],S)),S.substitution,S)]):w.prepend([new ke(S.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),S.substitution,S)])}}else{if(b.type.is_atomic(y.args[0]))R=new H(".",[y.args[0],new H("[]")]);else{R=new H("[]");for(var V=y.args[0].args.length-1;V>=0;V--)R=new H(".",[y.args[0].args[V],R]);R=new H(".",[new H(y.args[0].id),R])}w.prepend([new ke(S.goal.replace(new H("=",[R,y.args[1]])),S.substitution,S)])}},"copy_term/2":function(w,S,y){var R=y.args[0].rename(w);w.prepend([new ke(S.goal.replace(new H("=",[R,y.args[1]])),S.substitution,S.parent)])},"term_variables/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(!b.type.is_fully_list(V))w.throw_error(b.error.type("list",V,y.indicator));else{var X=g(o(Ce(R.variables()),function($){return new xe($)}));w.prepend([new ke(S.goal.replace(new H("=",[V,X])),S.substitution,S)])}},"clause/2":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_callable(y.args[1]))w.throw_error(b.error.type("callable",y.args[1],y.indicator));else if(w.session.rules[y.args[0].indicator]!==void 0)if(w.is_public_predicate(y.args[0].indicator)){var R=[];for(var V in w.session.rules[y.args[0].indicator])if(!!w.session.rules[y.args[0].indicator].hasOwnProperty(V)){var X=w.session.rules[y.args[0].indicator][V];w.session.renamed_variables={},X=X.rename(w),X.body===null&&(X.body=new H("true"));var $=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);R.push(new ke(S.goal.replace($),S.substitution,S))}w.prepend(R)}else w.throw_error(b.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(w,S,y){var R=y.args[0];if(!b.type.is_variable(R)&&(!b.type.is_compound(R)||R.indicator!=="//2"))w.throw_error(b.error.type("predicate_indicator",R,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_variable(R.args[0])&&!b.type.is_atom(R.args[0]))w.throw_error(b.error.type("atom",R.args[0],y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_variable(R.args[1])&&!b.type.is_integer(R.args[1]))w.throw_error(b.error.type("integer",R.args[1],y.indicator));else{var V=[];for(var X in w.session.rules)if(!!w.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),ie=X.substr(0,$),be=parseInt(X.substr($+1,X.length-($+1))),Fe=new H("/",[new H(ie),new Le(be,!1)]),at=new H("=",[Fe,R]);V.push(new ke(S.goal.replace(at),S.substitution,S))}w.prepend(V)}},"asserta/1":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,V;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],V=Ee(y.args[0].args[1])):(R=y.args[0],V=null),b.type.is_callable(R)?V!==null&&!b.type.is_callable(V)?w.throw_error(b.error.type("callable",V,y.indicator)):w.is_public_predicate(R.indicator)?(w.session.rules[R.indicator]===void 0&&(w.session.rules[R.indicator]=[]),w.session.public_predicates[R.indicator]=!0,w.session.rules[R.indicator]=[new Ye(R,V,!0)].concat(w.session.rules[R.indicator]),w.success(S)):w.throw_error(b.error.permission("modify","static_procedure",R.indicator,y.indicator)):w.throw_error(b.error.type("callable",R,y.indicator))}},"assertz/1":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,V;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],V=Ee(y.args[0].args[1])):(R=y.args[0],V=null),b.type.is_callable(R)?V!==null&&!b.type.is_callable(V)?w.throw_error(b.error.type("callable",V,y.indicator)):w.is_public_predicate(R.indicator)?(w.session.rules[R.indicator]===void 0&&(w.session.rules[R.indicator]=[]),w.session.public_predicates[R.indicator]=!0,w.session.rules[R.indicator].push(new Ye(R,V,!0)),w.success(S)):w.throw_error(b.error.permission("modify","static_procedure",R.indicator,y.indicator)):w.throw_error(b.error.type("callable",R,y.indicator))}},"retract/1":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,V;if(y.args[0].indicator===":-/2"?(R=y.args[0].args[0],V=y.args[0].args[1]):(R=y.args[0],V=new H("true")),typeof S.retract>"u")if(w.is_public_predicate(R.indicator)){if(w.session.rules[R.indicator]!==void 0){for(var X=[],$=0;$w.get_flag("max_arity").value)w.throw_error(b.error.representation("max_arity",y.indicator));else{var R=y.args[0].args[0].id+"/"+y.args[0].args[1].value;w.is_public_predicate(R)?(delete w.session.rules[R],w.success(S)):w.throw_error(b.error.permission("modify","static_procedure",R,y.indicator))}},"atom_length/2":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_atom(y.args[0]))w.throw_error(b.error.type("atom",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_integer(y.args[1]))w.throw_error(b.error.type("integer",y.args[1],y.indicator));else if(b.type.is_integer(y.args[1])&&y.args[1].value<0)w.throw_error(b.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var R=new Le(y.args[0].id.length,!1);w.prepend([new ke(S.goal.replace(new H("=",[R,y.args[1]])),S.substitution,S)])}},"atom_concat/3":function(w,S,y){var R,V,X=y.args[0],$=y.args[1],ie=y.args[2];if(b.type.is_variable(ie)&&(b.type.is_variable(X)||b.type.is_variable($)))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))w.throw_error(b.error.type("atom",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_atom($))w.throw_error(b.error.type("atom",$,y.indicator));else if(!b.type.is_variable(ie)&&!b.type.is_atom(ie))w.throw_error(b.error.type("atom",ie,y.indicator));else{var be=b.type.is_variable(X),Fe=b.type.is_variable($);if(!be&&!Fe)V=new H("=",[ie,new H(X.id+$.id)]),w.prepend([new ke(S.goal.replace(V),S.substitution,S)]);else if(be&&!Fe)R=ie.id.substr(0,ie.id.length-$.id.length),R+$.id===ie.id&&(V=new H("=",[X,new H(R)]),w.prepend([new ke(S.goal.replace(V),S.substitution,S)]));else if(Fe&&!be)R=ie.id.substr(X.id.length),X.id+R===ie.id&&(V=new H("=",[$,new H(R)]),w.prepend([new ke(S.goal.replace(V),S.substitution,S)]));else{for(var at=[],dt=0;dt<=ie.id.length;dt++){var Gt=new H(ie.id.substr(0,dt)),tr=new H(ie.id.substr(dt));V=new H(",",[new H("=",[Gt,X]),new H("=",[tr,$])]),at.push(new ke(S.goal.replace(V),S.substitution,S))}w.prepend(at)}}},"sub_atom/5":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2],ie=y.args[3],be=y.args[4];if(b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))w.throw_error(b.error.type("integer",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_integer($))w.throw_error(b.error.type("integer",$,y.indicator));else if(!b.type.is_variable(ie)&&!b.type.is_integer(ie))w.throw_error(b.error.type("integer",ie,y.indicator));else if(b.type.is_integer(X)&&X.value<0)w.throw_error(b.error.domain("not_less_than_zero",X,y.indicator));else if(b.type.is_integer($)&&$.value<0)w.throw_error(b.error.domain("not_less_than_zero",$,y.indicator));else if(b.type.is_integer(ie)&&ie.value<0)w.throw_error(b.error.domain("not_less_than_zero",ie,y.indicator));else{var Fe=[],at=[],dt=[];if(b.type.is_variable(X))for(R=0;R<=V.id.length;R++)Fe.push(R);else Fe.push(X.value);if(b.type.is_variable($))for(R=0;R<=V.id.length;R++)at.push(R);else at.push($.value);if(b.type.is_variable(ie))for(R=0;R<=V.id.length;R++)dt.push(R);else dt.push(ie.value);var Gt=[];for(var tr in Fe)if(!!Fe.hasOwnProperty(tr)){R=Fe[tr];for(var bt in at)if(!!at.hasOwnProperty(bt)){var ln=at[bt],kr=V.id.length-R-ln;if(e(dt,kr)!==-1&&R+ln+kr===V.id.length){var mr=V.id.substr(R,ln);if(V.id===V.id.substr(0,R)+mr+V.id.substr(R+ln,kr)){var br=new H("=",[new H(mr),be]),Kr=new H("=",[X,new Le(R)]),Kn=new H("=",[$,new Le(ln)]),Os=new H("=",[ie,new Le(kr)]),Ti=new H(",",[new H(",",[new H(",",[Kr,Kn]),Os]),br]);Gt.push(new ke(S.goal.replace(Ti),S.substitution,S))}}}}w.prepend(Gt)}},"atom_chars/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_variable(R)){for(var ie=V,be=b.type.is_variable(R),Fe="";ie.indicator==="./2";){if(b.type.is_character(ie.args[0]))Fe+=ie.args[0].id;else if(b.type.is_variable(ie.args[0])&&be){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}b.type.is_variable(ie)&&be?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)?w.throw_error(b.error.type("list",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[new H(Fe),R])),S.substitution,S)])}else{for(var X=new H("[]"),$=R.id.length-1;$>=0;$--)X=new H(".",[new H(R.id.charAt($)),X]);w.prepend([new ke(S.goal.replace(new H("=",[V,X])),S.substitution,S)])}},"atom_codes/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_variable(R)){for(var ie=V,be=b.type.is_variable(R),Fe="";ie.indicator==="./2";){if(b.type.is_character_code(ie.args[0]))Fe+=u(ie.args[0].value);else if(b.type.is_variable(ie.args[0])&&be){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.representation("character_code",y.indicator));return}ie=ie.args[1]}b.type.is_variable(ie)&&be?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)?w.throw_error(b.error.type("list",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[new H(Fe),R])),S.substitution,S)])}else{for(var X=new H("[]"),$=R.id.length-1;$>=0;$--)X=new H(".",[new Le(n(R.id,$),!1),X]);w.prepend([new ke(S.goal.replace(new H("=",[V,X])),S.substitution,S)])}},"char_code/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_character(R))w.throw_error(b.error.type("character",R,y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_integer(V))w.throw_error(b.error.type("integer",V,y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_character_code(V))w.throw_error(b.error.representation("character_code",y.indicator));else if(b.type.is_variable(V)){var X=new Le(n(R.id,0),!1);w.prepend([new ke(S.goal.replace(new H("=",[X,V])),S.substitution,S)])}else{var $=new H(u(V.value));w.prepend([new ke(S.goal.replace(new H("=",[$,R])),S.substitution,S)])}},"number_chars/2":function(w,S,y){var R,V=y.args[0],X=y.args[1];if(b.type.is_variable(V)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_number(V))w.throw_error(b.error.type("number",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var $=b.type.is_variable(V);if(!b.type.is_variable(X)){var ie=X,be=!0;for(R="";ie.indicator==="./2";){if(b.type.is_character(ie.args[0]))R+=ie.args[0].id;else if(b.type.is_variable(ie.args[0]))be=!1;else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(be=be&&b.type.is_empty_list(ie),!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)){w.throw_error(b.error.type("list",X,y.indicator));return}if(!be&&$){w.throw_error(b.error.instantiation(y.indicator));return}else if(be)if(b.type.is_variable(ie)&&$){w.throw_error(b.error.instantiation(y.indicator));return}else{var Fe=w.parse(R),at=Fe.value;!b.type.is_number(at)||Fe.tokens[Fe.tokens.length-1].space?w.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,at])),S.substitution,S)]);return}}if(!$){R=V.toString();for(var dt=new H("[]"),Gt=R.length-1;Gt>=0;Gt--)dt=new H(".",[new H(R.charAt(Gt)),dt]);w.prepend([new ke(S.goal.replace(new H("=",[X,dt])),S.substitution,S)])}}},"number_codes/2":function(w,S,y){var R,V=y.args[0],X=y.args[1];if(b.type.is_variable(V)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_number(V))w.throw_error(b.error.type("number",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var $=b.type.is_variable(V);if(!b.type.is_variable(X)){var ie=X,be=!0;for(R="";ie.indicator==="./2";){if(b.type.is_character_code(ie.args[0]))R+=u(ie.args[0].value);else if(b.type.is_variable(ie.args[0]))be=!1;else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(be=be&&b.type.is_empty_list(ie),!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)){w.throw_error(b.error.type("list",X,y.indicator));return}if(!be&&$){w.throw_error(b.error.instantiation(y.indicator));return}else if(be)if(b.type.is_variable(ie)&&$){w.throw_error(b.error.instantiation(y.indicator));return}else{var Fe=w.parse(R),at=Fe.value;!b.type.is_number(at)||Fe.tokens[Fe.tokens.length-1].space?w.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,at])),S.substitution,S)]);return}}if(!$){R=V.toString();for(var dt=new H("[]"),Gt=R.length-1;Gt>=0;Gt--)dt=new H(".",[new Le(n(R,Gt),!1),dt]);w.prepend([new ke(S.goal.replace(new H("=",[X,dt])),S.substitution,S)])}}},"upcase_atom/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?!b.type.is_variable(V)&&!b.type.is_atom(V)?w.throw_error(b.error.type("atom",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,new H(R.id.toUpperCase(),[])])),S.substitution,S)]):w.throw_error(b.error.type("atom",R,y.indicator))},"downcase_atom/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?!b.type.is_variable(V)&&!b.type.is_atom(V)?w.throw_error(b.error.type("atom",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,new H(R.id.toLowerCase(),[])])),S.substitution,S)]):w.throw_error(b.error.type("atom",R,y.indicator))},"atomic_list_concat/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("atomic_list_concat",[R,new H("",[]),V])),S.substitution,S)])},"atomic_list_concat/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(b.type.is_variable(V)||b.type.is_variable(R)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_list(R))w.throw_error(b.error.type("list",R,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))w.throw_error(b.error.type("atom",X,y.indicator));else if(b.type.is_variable(X)){for(var ie="",be=R;b.type.is_term(be)&&be.indicator==="./2";){if(!b.type.is_atom(be.args[0])&&!b.type.is_number(be.args[0])){w.throw_error(b.error.type("atomic",be.args[0],y.indicator));return}ie!==""&&(ie+=V.id),b.type.is_atom(be.args[0])?ie+=be.args[0].id:ie+=""+be.args[0].value,be=be.args[1]}ie=new H(ie,[]),b.type.is_variable(be)?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_term(be)||be.indicator!=="[]/0"?w.throw_error(b.error.type("list",R,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[ie,X])),S.substitution,S)])}else{var $=g(o(X.id.split(V.id),function(Fe){return new H(Fe,[])}));w.prepend([new ke(S.goal.replace(new H("=",[$,R])),S.substitution,S)])}},"@=/2":function(w,S,y){b.compare(y.args[0],y.args[1])>0&&w.success(S)},"@>=/2":function(w,S,y){b.compare(y.args[0],y.args[1])>=0&&w.success(S)},"compare/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_atom(R)&&["<",">","="].indexOf(R.id)===-1)w.throw_error(b.type.domain("order",R,y.indicator));else{var $=b.compare(V,X);$=$===0?"=":$===-1?"<":">",w.prepend([new ke(S.goal.replace(new H("=",[R,new H($,[])])),S.substitution,S)])}},"is/2":function(w,S,y){var R=y.args[1].interpret(w);b.type.is_number(R)?w.prepend([new ke(S.goal.replace(new H("=",[y.args[0],R],w.level)),S.substitution,S)]):w.throw_error(R)},"between/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(b.type.is_variable(R)||b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_integer(R))w.throw_error(b.error.type("integer",R,y.indicator));else if(!b.type.is_integer(V))w.throw_error(b.error.type("integer",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))w.throw_error(b.error.type("integer",X,y.indicator));else if(b.type.is_variable(X)){var $=[new ke(S.goal.replace(new H("=",[X,R])),S.substitution,S)];R.value=X.value&&w.success(S)},"succ/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)&&b.type.is_variable(V)?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_variable(R)&&!b.type.is_integer(R)?w.throw_error(b.error.type("integer",R,y.indicator)):!b.type.is_variable(V)&&!b.type.is_integer(V)?w.throw_error(b.error.type("integer",V,y.indicator)):!b.type.is_variable(R)&&R.value<0?w.throw_error(b.error.domain("not_less_than_zero",R,y.indicator)):!b.type.is_variable(V)&&V.value<0?w.throw_error(b.error.domain("not_less_than_zero",V,y.indicator)):(b.type.is_variable(V)||V.value>0)&&(b.type.is_variable(R)?w.prepend([new ke(S.goal.replace(new H("=",[R,new Le(V.value-1,!1)])),S.substitution,S)]):w.prepend([new ke(S.goal.replace(new H("=",[V,new Le(R.value+1,!1)])),S.substitution,S)]))},"=:=/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R===0&&w.success(S)},"=\\=/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R!==0&&w.success(S)},"/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R>0&&w.success(S)},">=/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R>=0&&w.success(S)},"var/1":function(w,S,y){b.type.is_variable(y.args[0])&&w.success(S)},"atom/1":function(w,S,y){b.type.is_atom(y.args[0])&&w.success(S)},"atomic/1":function(w,S,y){b.type.is_atomic(y.args[0])&&w.success(S)},"compound/1":function(w,S,y){b.type.is_compound(y.args[0])&&w.success(S)},"integer/1":function(w,S,y){b.type.is_integer(y.args[0])&&w.success(S)},"float/1":function(w,S,y){b.type.is_float(y.args[0])&&w.success(S)},"number/1":function(w,S,y){b.type.is_number(y.args[0])&&w.success(S)},"nonvar/1":function(w,S,y){b.type.is_variable(y.args[0])||w.success(S)},"ground/1":function(w,S,y){y.variables().length===0&&w.success(S)},"acyclic_term/1":function(w,S,y){for(var R=S.substitution.apply(S.substitution),V=y.args[0].variables(),X=0;X0?bt[bt.length-1]:null,bt!==null&&(Gt=J(w,bt,0,w.__get_max_priority(),!1))}if(Gt.type===p&&Gt.len===bt.length-1&&ln.value==="."){Gt=Gt.value.rename(w);var kr=new H("=",[V,Gt]);if(ie.variables){var mr=g(o(Ce(Gt.variables()),function(br){return new xe(br)}));kr=new H(",",[kr,new H("=",[ie.variables,mr])])}if(ie.variable_names){var mr=g(o(Ce(Gt.variables()),function(Kr){var Kn;for(Kn in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(Kn)&&w.session.renamed_variables[Kn]===Kr)break;return new H("=",[new H(Kn,[]),new xe(Kr)])}));kr=new H(",",[kr,new H("=",[ie.variable_names,mr])])}if(ie.singletons){var mr=g(o(new Ye(Gt,null).singleton_variables(),function(Kr){var Kn;for(Kn in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(Kn)&&w.session.renamed_variables[Kn]===Kr)break;return new H("=",[new H(Kn,[]),new xe(Kr)])}));kr=new H(",",[kr,new H("=",[ie.singletons,mr])])}w.prepend([new ke(S.goal.replace(kr),S.substitution,S)])}else Gt.type===p?w.throw_error(b.error.syntax(bt[Gt.len],"unexpected token",!1)):w.throw_error(Gt.value)}}},"write/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("write",[new xe("S"),R])])),S.substitution,S)])},"write/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("write_term",[R,V,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),S.substitution,S)])},"writeq/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("writeq",[new xe("S"),R])])),S.substitution,S)])},"writeq/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("write_term",[R,V,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),S.substitution,S)])},"write_canonical/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("write_canonical",[new xe("S"),R])])),S.substitution,S)])},"write_canonical/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("write_term",[R,V,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),S.substitution,S)])},"write_term/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("write_term",[new xe("S"),R,V])])),S.substitution,S)])},"write_term/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2],$=b.type.is_stream(R)?R:w.get_stream_by_alias(R.id);if(b.type.is_variable(R)||b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))w.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream($)||$.stream===null)w.throw_error(b.error.existence("stream",R,y.indicator));else if($.input)w.throw_error(b.error.permission("output","stream",R,y.indicator));else if($.type==="binary")w.throw_error(b.error.permission("output","binary_stream",R,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")w.throw_error(b.error.permission("output","past_end_of_stream",R,y.indicator));else{for(var ie={},be=X,Fe;b.type.is_term(be)&&be.indicator==="./2";){if(Fe=be.args[0],b.type.is_variable(Fe)){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_write_option(Fe)){w.throw_error(b.error.domain("write_option",Fe,y.indicator));return}ie[Fe.id]=Fe.args[0].id==="true",be=be.args[1]}if(be.indicator!=="[]/0"){b.type.is_variable(be)?w.throw_error(b.error.instantiation(y.indicator)):w.throw_error(b.error.type("list",X,y.indicator));return}else{ie.session=w.session;var at=V.toString(ie);$.stream.put(at,$.position),typeof $.position=="number"&&($.position+=at.length),w.success(S)}}},"halt/0":function(w,S,y){w.points=[]},"halt/1":function(w,S,y){var R=y.args[0];b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_integer(R)?w.points=[]:w.throw_error(b.error.type("integer",R,y.indicator))},"current_prolog_flag/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_flag(R))w.throw_error(b.error.domain("prolog_flag",R,y.indicator));else{var X=[];for(var $ in b.flag)if(!!b.flag.hasOwnProperty($)){var ie=new H(",",[new H("=",[new H($),R]),new H("=",[w.get_flag($),V])]);X.push(new ke(S.goal.replace(ie),S.substitution,S))}w.prepend(X)}},"set_prolog_flag/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)||b.type.is_variable(V)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?b.type.is_flag(R)?b.type.is_value_flag(R,V)?b.type.is_modifiable_flag(R)?(w.session.flag[R.id]=V,w.success(S)):w.throw_error(b.error.permission("modify","flag",R)):w.throw_error(b.error.domain("flag_value",new H("+",[R,V]),y.indicator)):w.throw_error(b.error.domain("prolog_flag",R,y.indicator)):w.throw_error(b.error.type("atom",R,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new Le(Number.MAX_SAFE_INTEGER)],value:new Le(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Le(Number.MIN_SAFE_INTEGER)],value:new Le(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new Le(t.major,!1),new Le(t.minor,!1),new Le(t.patch,!1),new H(t.status)])],value:new H("tau",[new Le(t.major,!1),new Le(t.minor,!1),new Le(t.patch,!1),new H(t.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof gl<"u"&&gl.exports?"yes":"no"),changeable:!1}},unify:function(w,S,y){y=y===void 0?!1:y;for(var R=[{left:w,right:S}],V={};R.length!==0;){var X=R.pop();if(w=X.left,S=X.right,b.type.is_term(w)&&b.type.is_term(S)){if(w.indicator!==S.indicator)return null;for(var $=0;$V.value?1:0:V}else return R},operate:function(w,S){if(b.type.is_operator(S)){for(var y=b.type.is_operator(S),R=[],V,X=!1,$=0;$w.get_flag("max_integer").value||V0?w.start+w.matches[0].length:w.start,V=y?new H("token_not_found"):new H("found",[new H(w.value.toString())]),X=new H(".",[new H("line",[new Le(w.line+1)]),new H(".",[new H("column",[new Le(R+1)]),new H(".",[V,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(S)]),X])},syntax_by_predicate:function(w,S){return new H("error",[new H("syntax_error",[new H(w)]),Z(S)])}},warning:{singleton:function(w,S,y){for(var R=new H("[]"),V=w.length-1;V>=0;V--)R=new H(".",[new xe(w[V]),R]);return new H("warning",[new H("singleton_variables",[R,Z(S)]),new H(".",[new H("line",[new Le(y,!1)]),new H("[]")])])},failed_goal:function(w,S){return new H("warning",[new H("failed_goal",[w]),new H(".",[new H("line",[new Le(S,!1)]),new H("[]")])])}},format_variable:function(w){return"_"+w},format_answer:function(w,S,R){S instanceof Se&&(S=S.thread);var R=R||{};if(R.session=S?S.session:void 0,b.type.is_error(w))return"uncaught exception: "+w.args[0].toString();if(w===!1)return"false.";if(w===null)return"limit exceeded ;";var V=0,X="";if(b.type.is_substitution(w)){var $=w.domain(!0);w=w.filter(function(Fe,at){return!b.type.is_variable(at)||$.indexOf(at.id)!==-1&&Fe!==at.id})}for(var ie in w.links)!w.links.hasOwnProperty(ie)||(V++,X!==""&&(X+=", "),X+=ie.toString(R)+" = "+w.links[ie].toString(R));var be=typeof S>"u"||S.points.length>0?" ;":".";return V===0?"true"+be:X+be},flatten_error:function(w){if(!b.type.is_error(w))return null;w=w.args[0];var S={};return S.type=w.args[0].id,S.thrown=S.type==="syntax_error"?null:w.args[1].id,S.expected=null,S.found=null,S.representation=null,S.existence=null,S.existence_type=null,S.line=null,S.column=null,S.permission_operation=null,S.permission_type=null,S.evaluation_type=null,S.type==="type_error"||S.type==="domain_error"?(S.expected=w.args[0].args[0].id,S.found=w.args[0].args[1].toString()):S.type==="syntax_error"?w.args[1].indicator==="./2"?(S.expected=w.args[0].args[0].id,S.found=w.args[1].args[1].args[1].args[0],S.found=S.found.id==="token_not_found"?S.found.id:S.found.args[0].id,S.line=w.args[1].args[0].args[0].value,S.column=w.args[1].args[1].args[0].args[0].value):S.thrown=w.args[1].id:S.type==="permission_error"?(S.found=w.args[0].args[2].toString(),S.permission_operation=w.args[0].args[0].id,S.permission_type=w.args[0].args[1].id):S.type==="evaluation_error"?S.evaluation_type=w.args[0].args[0].id:S.type==="representation_error"?S.representation=w.args[0].args[0].id:S.type==="existence_error"&&(S.existence=w.args[0].args[1].toString(),S.existence_type=w.args[0].args[0].id),S},create:function(w){return new b.type.Session(w)}};typeof gl<"u"?gl.exports=b:window.pl=b})()});function sme(t,e,r){t.prepend(r.map(o=>new Ta.default.type.State(e.goal.replace(o),e.substitution,e)))}function yH(t){let e=ame.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function lme(t,e){ame.set(t,e),t.consult(`:- use_module(library(${$gt.id})).`)}var EH,Ta,ome,A0,Xgt,Zgt,ame,$gt,cme=Et(()=>{je();EH=Ze(m2()),Ta=Ze(mH()),ome=Ze(ve("vm")),{is_atom:A0,is_variable:Xgt,is_instantiated_list:Zgt}=Ta.default.type;ame=new WeakMap;$gt=new Ta.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!A0(o)||!A0(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let u=j.parseIdent(o.id),A=j.makeDescriptor(u,a.id),h=yH(t).tryWorkspaceByDescriptor(A);Xgt(n)&&h!==null&&sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(String(h.relativeCwd))])]),A0(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},["workspace_field/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!A0(o)||!A0(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let A=yH(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,EH.default)(A.manifest.raw,a.id);typeof p>"u"||sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Ta.default.type.State(e.goal.replace(new Ta.default.type.Term("workspace_field_test",[o,a,n,new Ta.default.type.Term("[]",[])])),e.substitution,e)])},["workspace_field_test/4"]:(t,e,r)=>{let[o,a,n,u]=r.args;if(!A0(o)||!A0(a)||!A0(n)||!Zgt(u)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let p=yH(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,EH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[v,x]of u.toJavaScript().entries())E[`$${v}`]=x;ome.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var x2={};zt(x2,{Constraints:()=>b2,DependencyType:()=>pme});function eo(t){if(t instanceof BC.default.type.Num)return t.value;if(t instanceof BC.default.type.Term)switch(t.indicator){case"throw/1":return eo(t.args[0]);case"error/1":return eo(t.args[0]);case"error/2":if(t.args[0]instanceof BC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(eo(t.args[0]),...eo(t.args[1]));{let e=eo(t.args[0]);return e.message+=` (in ${eo(t.args[1])})`,e}case"syntax_error/1":return new Vt(43,`Syntax error: ${eo(t.args[0])}`);case"existence_error/2":return new Vt(44,`Existence error: ${eo(t.args[0])} ${eo(t.args[1])} not found`);case"instantiation_error/0":return new Vt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:eo(t.args[0])};case"column/1":return{column:eo(t.args[0])};case"found/1":return{found:eo(t.args[0])};case"./2":return[eo(t.args[0])].concat(eo(t.args[1]));case"//2":return`${eo(t.args[0])}/${eo(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function Ame(t){let e;try{e=eo(t)}catch(r){throw typeof r=="string"?new Vt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function em(t){return t.id==="null"?null:`${t.toJavaScript()}`}function edt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function f0(t){return typeof t=="string"?`'${t}'`:"[]"}var fme,BC,pme,ume,CH,b2,k2=Et(()=>{je();je();Dt();fme=Ze(Gde()),BC=Ze(mH());P2();cme();(0,fme.default)(BC.default);pme=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(pme||{}),ume=["dependencies","devDependencies","peerDependencies"];CH=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=BC.default.create(o),lme(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw Ame(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new Vt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw Ame(o);yield o}}};b2=class{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");oe.existsSync(r)&&(this.source=oe.readFileSync(r,"utf8"))}static async find(e){return new b2(e)}getProjectDatabase(){let e="";for(let r of ume)e+=`dependency_type(${r}). +`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${f0(o)}). +`,e+=`workspace_ident(${f0(o)}, ${f0(j.stringifyIdent(r.anchoredLocator))}). +`,e+=`workspace_version(${f0(o)}, ${f0(r.manifest.version)}). +`;for(let a of ume)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${f0(o)}, ${f0(j.stringifyIdent(n))}, ${f0(n.range)}, ${a}). +`}return e+=`workspace(_) :- false. +`,e+=`workspace_ident(_, _) :- false. +`,e+=`workspace_version(_, _) :- false. +`,e+=`workspace_has_dependency(_, _, _, _) :- false. +`,e}getDeclarations(){let e="";return e+=`gen_enforced_dependency(_, _, _, _) :- false. +`,e+=`gen_enforced_field(_, _, _) :- false. +`,e}get fullSource(){return`${this.getProjectDatabase()} +${this.source} +${this.getDeclarations()}`}createSession(){return new CH(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=v2([A,j.stringifyIdent(n)]),h=He.getMapWithDefault(o,a.cwd);He.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=v2(n),p=He.getMapWithDefault(o,a.cwd);He.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=z.resolve(this.project.cwd,em(o.links.WorkspaceCwd)),n=em(o.links.DependencyIdent),u=em(o.links.DependencyRange),A=em(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=j.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return He.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>j.stringifyIdent(o.anchoredLocator),({dependencyIdent:o})=>j.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=z.resolve(this.project.cwd,em(o.links.WorkspaceCwd)),n=em(o.links.FieldPath),u=edt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return He.sortMap(r,[({workspace:o})=>j.stringifyIdent(o.anchoredLocator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=em(u));yield a}}}});var Ime=_(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});function Y2(t){let e=[...t.caches],r=e.shift();return r===void 0?wme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>Y2({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>Y2({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>Y2({caches:e}).delete(o))},clear(){return r.clear().catch(()=>Y2({caches:e}).clear())}}}function wme(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}Bk.createFallbackableCache=Y2;Bk.createNullCache=wme});var vme=_((TWt,Bme)=>{Bme.exports=Ime()});var Pme=_(TH=>{"use strict";Object.defineProperty(TH,"__esModule",{value:!0});function Edt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}TH.createInMemoryCache=Edt});var Sme=_((NWt,Dme)=>{Dme.exports=Pme()});var xme=_($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});function Cdt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===LH.WithinHeaders?o:{}},queryParameters(){return t===LH.WithinQueryParameters?o:{}}}}function wdt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function bme(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return bme(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function Idt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function Bdt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function vdt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Pdt="4.22.1",Ddt=t=>()=>t.transporter.requester.destroy(),LH={WithinQueryParameters:0,WithinHeaders:1};$c.AuthMode=LH;$c.addMethods=Bdt;$c.createAuth=Cdt;$c.createRetryablePromise=wdt;$c.createWaitablePromise=bme;$c.destroy=Ddt;$c.encode=vdt;$c.shuffle=Idt;$c.version=Pdt});var W2=_((MWt,kme)=>{kme.exports=xme()});var Qme=_(NH=>{"use strict";Object.defineProperty(NH,"__esModule",{value:!0});var Sdt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};NH.MethodEnum=Sdt});var K2=_((_Wt,Rme)=>{Rme.exports=Qme()});var Kme=_(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});var Tme=K2();function OH(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var z2={Read:1,Write:2,Any:3},SC={Up:1,Down:2,Timeouted:3},Lme=2*60*1e3;function UH(t,e=SC.Up){return{...t,status:e,lastUpdate:Date.now()}}function Nme(t){return t.status===SC.Up||Date.now()-t.lastUpdate>Lme}function Ome(t){return t.status===SC.Timeouted&&Date.now()-t.lastUpdate<=Lme}function _H(t){return typeof t=="string"?{protocol:"https",url:t,accept:z2.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||z2.Any}}function bdt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(UH(r))))).then(r=>{let o=r.filter(A=>Nme(A)),a=r.filter(A=>Ome(A)),n=[...o,...a],u=n.length>0?n.map(A=>_H(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var xdt=({isTimedOut:t,status:e})=>!t&&~~e===0,kdt=t=>{let e=t.status;return t.isTimedOut||xdt(t)||~~(e/100)!==2&&~~(e/100)!==4},Qdt=({status:t})=>~~(t/100)===2,Rdt=(t,e)=>kdt(t)?e.onRetry(t):Qdt(t)?e.onSuccess(t):e.onFail(t);function Fme(t,e,r,o){let a=[],n=qme(r,o),u=Gme(t,o),A=r.method,p=r.method!==Tme.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},E=0,I=(v,x)=>{let C=v.pop();if(C===void 0)throw Wme(MH(a));let F={data:n,headers:u,method:A,url:_me(C,r.path,h),connectTimeout:x(E,t.timeouts.connect),responseTimeout:x(E,o.timeout)},N=J=>{let te={request:F,response:J,host:C,triesLeft:v.length};return a.push(te),te},U={onSuccess:J=>Mme(J),onRetry(J){let te=N(J);return J.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",HH(te)),t.hostsCache.set(C,UH(C,J.isTimedOut?SC.Timeouted:SC.Down))]).then(()=>I(v,x))},onFail(J){throw N(J),Ume(J,MH(a))}};return t.requester.send(F).then(J=>Rdt(J,U))};return bdt(t.hostsCache,e).then(v=>I([...v.statelessHosts].reverse(),v.getTimeout))}function Fdt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:E}=t,I={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:E,queryParameters:h,hosts:p.map(v=>_H(v)),read(v,x){let C=OH(x,I.timeouts.read),F=()=>Fme(I,I.hosts.filter(J=>(J.accept&z2.Read)!==0),v,C);if((C.cacheable!==void 0?C.cacheable:v.cacheable)!==!0)return F();let U={request:v,mappedRequestOptions:C,transporter:{queryParameters:I.queryParameters,headers:I.headers}};return I.responsesCache.get(U,()=>I.requestsCache.get(U,()=>I.requestsCache.set(U,F()).then(J=>Promise.all([I.requestsCache.delete(U),J]),J=>Promise.all([I.requestsCache.delete(U),Promise.reject(J)])).then(([J,te])=>te)),{miss:J=>I.responsesCache.set(U,J)})},write(v,x){return Fme(I,I.hosts.filter(C=>(C.accept&z2.Write)!==0),v,OH(x,I.timeouts.write))}};return I}function Tdt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function Mme(t){try{return JSON.parse(t.content)}catch(e){throw Yme(e.message,t)}}function Ume({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return jme(o,e,r)}function Ldt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function _me(t,e,r){let o=Hme(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function Hme(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Ldt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function qme(t,e){if(t.method===Tme.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function Gme(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function MH(t){return t.map(e=>HH(e))}function HH(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function jme(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function Yme(t,e){return{name:"DeserializationError",message:t,response:e}}function Wme(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}Ri.CallEnum=z2;Ri.HostStatusEnum=SC;Ri.createApiError=jme;Ri.createDeserializationError=Yme;Ri.createMappedRequestOptions=OH;Ri.createRetryError=Wme;Ri.createStatefulHost=UH;Ri.createStatelessHost=_H;Ri.createTransporter=Fdt;Ri.createUserAgent=Tdt;Ri.deserializeFailure=Ume;Ri.deserializeSuccess=Mme;Ri.isStatefulHostTimeouted=Ome;Ri.isStatefulHostUp=Nme;Ri.serializeData=qme;Ri.serializeHeaders=Gme;Ri.serializeQueryParameters=Hme;Ri.serializeUrl=_me;Ri.stackFrameWithoutCredentials=HH;Ri.stackTraceWithoutCredentials=MH});var J2=_((qWt,zme)=>{zme.exports=Kme()});var Jme=_(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var bC=W2(),Ndt=J2(),V2=K2(),Odt=t=>{let e=t.region||"us",r=bC.createAuth(bC.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Ndt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return bC.addMethods({appId:a,transporter:o},t.methods)},Mdt=t=>(e,r)=>t.transporter.write({method:V2.MethodEnum.Post,path:"2/abtests",data:e},r),Udt=t=>(e,r)=>t.transporter.write({method:V2.MethodEnum.Delete,path:bC.encode("2/abtests/%s",e)},r),_dt=t=>(e,r)=>t.transporter.read({method:V2.MethodEnum.Get,path:bC.encode("2/abtests/%s",e)},r),Hdt=t=>e=>t.transporter.read({method:V2.MethodEnum.Get,path:"2/abtests"},e),qdt=t=>(e,r)=>t.transporter.write({method:V2.MethodEnum.Post,path:bC.encode("2/abtests/%s/stop",e)},r);y0.addABTest=Mdt;y0.createAnalyticsClient=Odt;y0.deleteABTest=Udt;y0.getABTest=_dt;y0.getABTests=Hdt;y0.stopABTest=qdt});var Xme=_((jWt,Vme)=>{Vme.exports=Jme()});var $me=_(X2=>{"use strict";Object.defineProperty(X2,"__esModule",{value:!0});var qH=W2(),Gdt=J2(),Zme=K2(),jdt=t=>{let e=t.region||"us",r=qH.createAuth(qH.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Gdt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return qH.addMethods({appId:t.appId,transporter:o},t.methods)},Ydt=t=>e=>t.transporter.read({method:Zme.MethodEnum.Get,path:"1/strategies/personalization"},e),Wdt=t=>(e,r)=>t.transporter.write({method:Zme.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);X2.createPersonalizationClient=jdt;X2.getPersonalizationStrategy=Ydt;X2.setPersonalizationStrategy=Wdt});var tye=_((WWt,eye)=>{eye.exports=$me()});var gye=_(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});var jt=W2(),La=J2(),Ir=K2(),Kdt=ve("crypto");function vk(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var zdt=t=>{let e=t.appId,r=jt.createAuth(t.authMode!==void 0?t.authMode:jt.AuthMode.WithinHeaders,e,t.apiKey),o=La.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:La.CallEnum.Read},{url:`${e}.algolia.net`,accept:La.CallEnum.Write}].concat(jt.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return jt.addMethods(a,t.methods)};function rye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function nye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function iye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Jdt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>jt.createRetryablePromise(h=>Z2(t)(A.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:"1/keys",data:n},a),u)},Vdt=t=>(e,r,o)=>{let a=La.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Ir.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},Xdt=t=>(e,r,o)=>t.transporter.write({method:Ir.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),Zdt=t=>(e,r)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>xC(t)(o.taskID,a)),Pk=t=>(e,r,o)=>{let a=(n,u)=>$2(t)(e,{methods:{waitTask:$i}}).waitTask(n.taskID,u);return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},$dt=t=>(e,r,o)=>Pk(t)(e,r,{...o,scope:[Sk.Rules]}),emt=t=>(e,r,o)=>Pk(t)(e,r,{...o,scope:[Sk.Settings]}),tmt=t=>(e,r,o)=>Pk(t)(e,r,{...o,scope:[Sk.Synonyms]}),rmt=t=>(e,r)=>e.method===Ir.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),nmt=t=>(e,r)=>{let o=(a,n)=>jt.createRetryablePromise(u=>Z2(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/keys/%s",e)},r),o)},imt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>xC(t)(n.taskID,u))},smt=()=>(t,e)=>{let r=La.serializeQueryParameters(e),o=Kdt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},Z2=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/keys/%s",e)},r),sye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/task/%s",e.toString())},r),omt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),amt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/logs"},e),lmt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw iye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},cmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping/top"},e),umt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/clusters/mapping/%s",e)},r),Amt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},$2=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return jt.addMethods(o,r.methods)},fmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/keys"},e),pmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters"},e),hmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/indexes"},e),gmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping"},e),dmt=t=>(e,r,o)=>{let a=(n,u)=>$2(t)(e,{methods:{waitTask:$i}}).waitTask(n.taskID,u);return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},mmt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>$2(t)(u,{methods:{waitTask:$i}}).waitTask(a.taskID[u],n)));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},ymt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),Emt=t=>(e,r)=>{let o=e.map(a=>({...a,params:La.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},Cmt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return $2(t)(o.indexName,{methods:{searchForFacetValues:fye}}).searchForFacetValues(a,n,{...r,...u})})),wmt=t=>(e,r)=>{let o=La.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Ir.MethodEnum.Delete,path:"1/clusters/mapping"},o)},Imt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>xC(t)(n.taskID,u))},Bmt=t=>(e,r)=>{let o=(a,n)=>jt.createRetryablePromise(u=>Z2(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/keys/%s/restore",e)},r),o)},vmt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>xC(t)(n.taskID,u))},Pmt=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Dmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),Smt=t=>(e,r)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>xC(t)(o.taskID,a)),bmt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(o).filter(I=>A.indexOf(I)!==-1).every(I=>{if(Array.isArray(E[I])&&Array.isArray(o[I])){let v=E[I];return v.length===o[I].length&&v.every((x,C)=>x===o[I][C])}else return E[I]===o[I]}),h=(E,I)=>jt.createRetryablePromise(v=>Z2(t)(e,I).then(x=>p(x)?Promise.resolve():v()));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:jt.encode("1/keys/%s",e),data:u},n),h)},xC=t=>(e,r)=>jt.createRetryablePromise(o=>sye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),oye=t=>(e,r)=>{let o=(a,n)=>$i(t)(a.taskID,n);return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},xmt=t=>e=>vk({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),kmt=t=>e=>{let r={hitsPerPage:1e3,...e};return vk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Qmt=t=>e=>{let r={hitsPerPage:1e3,...e};return vk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Dk=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],E;for(E=p;E({action:r,body:I})),n).then(I=>(u.objectIDs=u.objectIDs.concat(I.objectIDs),u.taskIDs.push(I.taskID),E++,A(E)))};return jt.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(E=>$i(t)(E,h))))},Rmt=t=>e=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>$i(t)(r.taskID,o)),Fmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=La.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>$i(t)(n.taskID,u))},Tmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=La.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>$i(t)(n.taskID,u))},Lmt=t=>(e,r)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>$i(t)(o.taskID,a)),Nmt=t=>e=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/indexes/%s",t.indexName)},e),(r,o)=>$i(t)(r.taskID,o)),Omt=t=>(e,r)=>jt.createWaitablePromise(aye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>$i(t)(o.taskID,a)),aye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return Dk(t)(o,nm.DeleteObject,r)},Mmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=La.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>$i(t)(u.taskID,A))},Umt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=La.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>$i(t)(u.taskID,A))},_mt=t=>e=>lye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),Hmt=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),qmt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>Aye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw nye();return A()});return A()},Gmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/%s",t.indexName,e)},r),jmt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},Ymt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},Wmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),lye=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),Kmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),cye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),zmt=t=>(e,r)=>jt.createWaitablePromise(uye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>$i(t)(o.taskID,a)),uye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?nm.PartialUpdateObject:nm.PartialUpdateObjectNoCreate;return Dk(t)(e,n,a)},Jmt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(C,F,N,U)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/operation",C),data:{operation:N,destination:F}},U),(J,te)=>$i(t)(J.taskID,te)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=GH({appId:t.appId,transporter:t.transporter,indexName:h}),I=[],v=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});I.push(v);let x=(o?v.wait(u):v).then(()=>{let C=E(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return I.push(C),o?C.wait(u):C}).then(()=>{let C=A(h,t.indexName,"move",u);return I.push(C),o?C.wait(u):C}).then(()=>Promise.all(I)).then(([C,F,N])=>({objectIDs:F.objectIDs,taskIDs:[C.taskID,...F.taskIDs,N.taskID]}));return jt.createWaitablePromise(x,(C,F)=>Promise.all(I.map(N=>N.wait(F))))},Vmt=t=>(e,r)=>jH(t)(e,{...r,clearExistingRules:!0}),Xmt=t=>(e,r)=>YH(t)(e,{...r,clearExistingSynonyms:!0}),Zmt=t=>(e,r)=>jt.createWaitablePromise(GH(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>$i(t)(o.taskID,a)),GH=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?nm.AddObject:nm.UpdateObject;if(n===nm.UpdateObject){for(let u of e)if(u.objectID===void 0)return jt.createWaitablePromise(Promise.reject(rye()))}return Dk(t)(e,n,a)},$mt=t=>(e,r)=>jH(t)([e],r),jH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=La.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>$i(t)(A.taskID,p))},eyt=t=>(e,r)=>YH(t)([e],r),YH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=La.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>$i(t)(p.taskID,h))},Aye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),fye=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),pye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),hye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),tyt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=La.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:jt.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>$i(t)(u.taskID,A))},$i=t=>(e,r)=>jt.createRetryablePromise(o=>cye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),ryt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",Inference:"inference",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},nm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},Sk={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},nyt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},iyt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Rt.ApiKeyACLEnum=ryt;Rt.BatchActionEnum=nm;Rt.ScopeEnum=Sk;Rt.StrategyEnum=nyt;Rt.SynonymEnum=iyt;Rt.addApiKey=Jdt;Rt.assignUserID=Vdt;Rt.assignUserIDs=Xdt;Rt.batch=oye;Rt.browseObjects=xmt;Rt.browseRules=kmt;Rt.browseSynonyms=Qmt;Rt.chunkedBatch=Dk;Rt.clearDictionaryEntries=Zdt;Rt.clearObjects=Rmt;Rt.clearRules=Fmt;Rt.clearSynonyms=Tmt;Rt.copyIndex=Pk;Rt.copyRules=$dt;Rt.copySettings=emt;Rt.copySynonyms=tmt;Rt.createBrowsablePromise=vk;Rt.createMissingObjectIDError=rye;Rt.createObjectNotFoundError=nye;Rt.createSearchClient=zdt;Rt.createValidUntilNotFoundError=iye;Rt.customRequest=rmt;Rt.deleteApiKey=nmt;Rt.deleteBy=Lmt;Rt.deleteDictionaryEntries=imt;Rt.deleteIndex=Nmt;Rt.deleteObject=Omt;Rt.deleteObjects=aye;Rt.deleteRule=Mmt;Rt.deleteSynonym=Umt;Rt.exists=_mt;Rt.findAnswers=Hmt;Rt.findObject=qmt;Rt.generateSecuredApiKey=smt;Rt.getApiKey=Z2;Rt.getAppTask=sye;Rt.getDictionarySettings=omt;Rt.getLogs=amt;Rt.getObject=Gmt;Rt.getObjectPosition=jmt;Rt.getObjects=Ymt;Rt.getRule=Wmt;Rt.getSecuredApiKeyRemainingValidity=lmt;Rt.getSettings=lye;Rt.getSynonym=Kmt;Rt.getTask=cye;Rt.getTopUserIDs=cmt;Rt.getUserID=umt;Rt.hasPendingMappings=Amt;Rt.initIndex=$2;Rt.listApiKeys=fmt;Rt.listClusters=pmt;Rt.listIndices=hmt;Rt.listUserIDs=gmt;Rt.moveIndex=dmt;Rt.multipleBatch=mmt;Rt.multipleGetObjects=ymt;Rt.multipleQueries=Emt;Rt.multipleSearchForFacetValues=Cmt;Rt.partialUpdateObject=zmt;Rt.partialUpdateObjects=uye;Rt.removeUserID=wmt;Rt.replaceAllObjects=Jmt;Rt.replaceAllRules=Vmt;Rt.replaceAllSynonyms=Xmt;Rt.replaceDictionaryEntries=Imt;Rt.restoreApiKey=Bmt;Rt.saveDictionaryEntries=vmt;Rt.saveObject=Zmt;Rt.saveObjects=GH;Rt.saveRule=$mt;Rt.saveRules=jH;Rt.saveSynonym=eyt;Rt.saveSynonyms=YH;Rt.search=Aye;Rt.searchDictionaryEntries=Pmt;Rt.searchForFacetValues=fye;Rt.searchRules=pye;Rt.searchSynonyms=hye;Rt.searchUserIDs=Dmt;Rt.setDictionarySettings=Smt;Rt.setSettings=tyt;Rt.updateApiKey=bmt;Rt.waitAppTask=xC;Rt.waitTask=$i});var mye=_((zWt,dye)=>{dye.exports=gye()});var yye=_(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});function syt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var oyt={Debug:1,Info:2,Error:3};bk.LogLevelEnum=oyt;bk.createNullLogger=syt});var Cye=_((VWt,Eye)=>{Eye.exports=yye()});var vye=_(WH=>{"use strict";Object.defineProperty(WH,"__esModule",{value:!0});var wye=ve("http"),Iye=ve("https"),ayt=ve("url"),Bye={keepAlive:!0},lyt=new wye.Agent(Bye),cyt=new Iye.Agent(Bye);function uyt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||lyt,n=r||t||cyt;return{send(u){return new Promise(A=>{let p=ayt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},I=(p.protocol==="https:"?Iye:wye).request(E,F=>{let N=[];F.on("data",U=>{N=N.concat(U)}),F.on("end",()=>{clearTimeout(x),clearTimeout(C),A({status:F.statusCode||0,content:Buffer.concat(N).toString(),isTimedOut:!1})})}),v=(F,N)=>setTimeout(()=>{I.abort(),A({status:0,content:N,isTimedOut:!0})},F*1e3),x=v(u.connectTimeout,"Connection timeout"),C;I.on("error",F=>{clearTimeout(x),clearTimeout(C),A({status:0,content:F.message,isTimedOut:!1})}),I.once("response",()=>{clearTimeout(x),C=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&I.write(u.data),I.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}WH.createNodeHttpRequester=uyt});var Dye=_((ZWt,Pye)=>{Pye.exports=vye()});var kye=_(($Wt,xye)=>{"use strict";var Sye=vme(),Ayt=Sme(),kC=Xme(),zH=W2(),KH=tye(),_t=mye(),fyt=Cye(),pyt=Dye(),hyt=J2();function bye(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:pyt.createNodeHttpRequester(),logger:fyt.createNullLogger(),responsesCache:Sye.createNullCache(),requestsCache:Sye.createNullCache(),hostsCache:Ayt.createInMemoryCache(),userAgent:hyt.createUserAgent(zH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>KH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:KH.getPersonalizationStrategy,setPersonalizationStrategy:KH.setPersonalizationStrategy}});return _t.createSearchClient({...a,methods:{search:_t.multipleQueries,searchForFacetValues:_t.multipleSearchForFacetValues,multipleBatch:_t.multipleBatch,multipleGetObjects:_t.multipleGetObjects,multipleQueries:_t.multipleQueries,copyIndex:_t.copyIndex,copySettings:_t.copySettings,copyRules:_t.copyRules,copySynonyms:_t.copySynonyms,moveIndex:_t.moveIndex,listIndices:_t.listIndices,getLogs:_t.getLogs,listClusters:_t.listClusters,multipleSearchForFacetValues:_t.multipleSearchForFacetValues,getApiKey:_t.getApiKey,addApiKey:_t.addApiKey,listApiKeys:_t.listApiKeys,updateApiKey:_t.updateApiKey,deleteApiKey:_t.deleteApiKey,restoreApiKey:_t.restoreApiKey,assignUserID:_t.assignUserID,assignUserIDs:_t.assignUserIDs,getUserID:_t.getUserID,searchUserIDs:_t.searchUserIDs,listUserIDs:_t.listUserIDs,getTopUserIDs:_t.getTopUserIDs,removeUserID:_t.removeUserID,hasPendingMappings:_t.hasPendingMappings,generateSecuredApiKey:_t.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:_t.getSecuredApiKeyRemainingValidity,destroy:zH.destroy,clearDictionaryEntries:_t.clearDictionaryEntries,deleteDictionaryEntries:_t.deleteDictionaryEntries,getDictionarySettings:_t.getDictionarySettings,getAppTask:_t.getAppTask,replaceDictionaryEntries:_t.replaceDictionaryEntries,saveDictionaryEntries:_t.saveDictionaryEntries,searchDictionaryEntries:_t.searchDictionaryEntries,setDictionarySettings:_t.setDictionarySettings,waitAppTask:_t.waitAppTask,customRequest:_t.customRequest,initIndex:u=>A=>_t.initIndex(u)(A,{methods:{batch:_t.batch,delete:_t.deleteIndex,findAnswers:_t.findAnswers,getObject:_t.getObject,getObjects:_t.getObjects,saveObject:_t.saveObject,saveObjects:_t.saveObjects,search:_t.search,searchForFacetValues:_t.searchForFacetValues,waitTask:_t.waitTask,setSettings:_t.setSettings,getSettings:_t.getSettings,partialUpdateObject:_t.partialUpdateObject,partialUpdateObjects:_t.partialUpdateObjects,deleteObject:_t.deleteObject,deleteObjects:_t.deleteObjects,deleteBy:_t.deleteBy,clearObjects:_t.clearObjects,browseObjects:_t.browseObjects,getObjectPosition:_t.getObjectPosition,findObject:_t.findObject,exists:_t.exists,saveSynonym:_t.saveSynonym,saveSynonyms:_t.saveSynonyms,getSynonym:_t.getSynonym,searchSynonyms:_t.searchSynonyms,browseSynonyms:_t.browseSynonyms,deleteSynonym:_t.deleteSynonym,clearSynonyms:_t.clearSynonyms,replaceAllObjects:_t.replaceAllObjects,replaceAllSynonyms:_t.replaceAllSynonyms,searchRules:_t.searchRules,getRule:_t.getRule,deleteRule:_t.deleteRule,saveRule:_t.saveRule,saveRules:_t.saveRules,replaceAllRules:_t.replaceAllRules,browseRules:_t.browseRules,clearRules:_t.clearRules}}),initAnalytics:()=>u=>kC.createAnalyticsClient({...o,...u,methods:{addABTest:kC.addABTest,getABTest:kC.getABTest,getABTests:kC.getABTests,stopABTest:kC.stopABTest,deleteABTest:kC.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}bye.version=zH.version;xye.exports=bye});var VH=_((eKt,JH)=>{var Qye=kye();JH.exports=Qye;JH.exports.default=Qye});var $H=_((rKt,Tye)=>{"use strict";var Fye=Object.getOwnPropertySymbols,dyt=Object.prototype.hasOwnProperty,myt=Object.prototype.propertyIsEnumerable;function yyt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Eyt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Tye.exports=Eyt()?Object.assign:function(t,e){for(var r,o=yyt(t),a,n=1;n{"use strict";var i6=$H(),eu=typeof Symbol=="function"&&Symbol.for,eB=eu?Symbol.for("react.element"):60103,Cyt=eu?Symbol.for("react.portal"):60106,wyt=eu?Symbol.for("react.fragment"):60107,Iyt=eu?Symbol.for("react.strict_mode"):60108,Byt=eu?Symbol.for("react.profiler"):60114,vyt=eu?Symbol.for("react.provider"):60109,Pyt=eu?Symbol.for("react.context"):60110,Dyt=eu?Symbol.for("react.forward_ref"):60112,Syt=eu?Symbol.for("react.suspense"):60113,byt=eu?Symbol.for("react.memo"):60115,xyt=eu?Symbol.for("react.lazy"):60116,Lye=typeof Symbol=="function"&&Symbol.iterator;function tB(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;rxk.length&&xk.push(t)}function t6(t,e,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var n=!1;if(t===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(t.$$typeof){case eB:case Cyt:n=!0}}if(n)return r(o,t,e===""?"."+e6(t,0):e),1;if(n=0,e=e===""?".":e+":",Array.isArray(t))for(var u=0;u{"use strict";Kye.exports=Wye()});var u6=_((sKt,c6)=>{"use strict";var fn=c6.exports;c6.exports.default=fn;var Nn="\x1B[",rB="\x1B]",RC="\x07",kk=";",zye=process.env.TERM_PROGRAM==="Apple_Terminal";fn.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?Nn+(t+1)+"G":Nn+(e+1)+";"+(t+1)+"H"};fn.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=Nn+-t+"D":t>0&&(r+=Nn+t+"C"),e<0?r+=Nn+-e+"A":e>0&&(r+=Nn+e+"B"),r};fn.cursorUp=(t=1)=>Nn+t+"A";fn.cursorDown=(t=1)=>Nn+t+"B";fn.cursorForward=(t=1)=>Nn+t+"C";fn.cursorBackward=(t=1)=>Nn+t+"D";fn.cursorLeft=Nn+"G";fn.cursorSavePosition=zye?"\x1B7":Nn+"s";fn.cursorRestorePosition=zye?"\x1B8":Nn+"u";fn.cursorGetPosition=Nn+"6n";fn.cursorNextLine=Nn+"E";fn.cursorPrevLine=Nn+"F";fn.cursorHide=Nn+"?25l";fn.cursorShow=Nn+"?25h";fn.eraseLines=t=>{let e="";for(let r=0;r[rB,"8",kk,kk,e,RC,t,rB,"8",kk,kk,RC].join("");fn.image=(t,e={})=>{let r=`${rB}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+RC};fn.iTerm={setCwd:(t=process.cwd())=>`${rB}50;CurrentDir=${t}${RC}`,annotation:(t,e={})=>{let r=`${rB}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+RC}}});var Vye=_((oKt,A6)=>{"use strict";var Jye=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};A6.exports=Jye;A6.exports.default=Jye});var Zye=_((aKt,Rk)=>{"use strict";var Lyt=Vye(),Qk=new WeakMap,Xye=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"",n=function(...u){if(Qk.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Lyt(n,t),Qk.set(n,o),n};Rk.exports=Xye;Rk.exports.default=Xye;Rk.exports.callCount=t=>{if(!Qk.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return Qk.get(t)}});var $ye=_((lKt,Fk)=>{Fk.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Fk.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Fk.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var h6=_((cKt,LC)=>{var Ei=global.process,im=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};im(Ei)?(eEe=ve("assert"),FC=$ye(),tEe=/^win/i.test(Ei.platform),nB=ve("events"),typeof nB!="function"&&(nB=nB.EventEmitter),Ei.__signal_exit_emitter__?Ns=Ei.__signal_exit_emitter__:(Ns=Ei.__signal_exit_emitter__=new nB,Ns.count=0,Ns.emitted={}),Ns.infinite||(Ns.setMaxListeners(1/0),Ns.infinite=!0),LC.exports=function(t,e){if(!im(global.process))return function(){};eEe.equal(typeof t,"function","a callback must be provided for exit handler"),TC===!1&&f6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){Ns.removeListener(r,t),Ns.listeners("exit").length===0&&Ns.listeners("afterexit").length===0&&Tk()};return Ns.on(r,t),o},Tk=function(){!TC||!im(global.process)||(TC=!1,FC.forEach(function(e){try{Ei.removeListener(e,Lk[e])}catch{}}),Ei.emit=Nk,Ei.reallyExit=p6,Ns.count-=1)},LC.exports.unload=Tk,sm=function(e,r,o){Ns.emitted[e]||(Ns.emitted[e]=!0,Ns.emit(e,r,o))},Lk={},FC.forEach(function(t){Lk[t]=function(){if(!!im(global.process)){var r=Ei.listeners(t);r.length===Ns.count&&(Tk(),sm("exit",null,t),sm("afterexit",null,t),tEe&&t==="SIGHUP"&&(t="SIGINT"),Ei.kill(Ei.pid,t))}}}),LC.exports.signals=function(){return FC},TC=!1,f6=function(){TC||!im(global.process)||(TC=!0,Ns.count+=1,FC=FC.filter(function(e){try{return Ei.on(e,Lk[e]),!0}catch{return!1}}),Ei.emit=nEe,Ei.reallyExit=rEe)},LC.exports.load=f6,p6=Ei.reallyExit,rEe=function(e){!im(global.process)||(Ei.exitCode=e||0,sm("exit",Ei.exitCode,null),sm("afterexit",Ei.exitCode,null),p6.call(Ei,Ei.exitCode))},Nk=Ei.emit,nEe=function(e,r){if(e==="exit"&&im(global.process)){r!==void 0&&(Ei.exitCode=r);var o=Nk.apply(this,arguments);return sm("exit",Ei.exitCode,null),sm("afterexit",Ei.exitCode,null),o}else return Nk.apply(this,arguments)}):LC.exports=function(){return function(){}};var eEe,FC,tEe,nB,Ns,Tk,sm,Lk,TC,f6,p6,rEe,Nk,nEe});var sEe=_((uKt,iEe)=>{"use strict";var Nyt=Zye(),Oyt=h6();iEe.exports=Nyt(()=>{Oyt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var g6=_(NC=>{"use strict";var Myt=sEe(),Ok=!1;NC.show=(t=process.stderr)=>{!t.isTTY||(Ok=!1,t.write("\x1B[?25h"))};NC.hide=(t=process.stderr)=>{!t.isTTY||(Myt(),Ok=!0,t.write("\x1B[?25l"))};NC.toggle=(t,e)=>{t!==void 0&&(Ok=t),Ok?NC.show(e):NC.hide(e)}});var cEe=_(iB=>{"use strict";var lEe=iB&&iB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iB,"__esModule",{value:!0});var oEe=lEe(u6()),aEe=lEe(g6()),Uyt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(aEe.default.hide(),a=!0);let A=u+` +`;A!==o&&(o=A,t.write(oEe.default.eraseLines(r)+A),r=A.split(` +`).length)};return n.clear=()=>{t.write(oEe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(aEe.default.show(),a=!1)},n};iB.default={create:Uyt}});var uEe=_((pKt,_yt)=>{_yt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var pEe=_(dl=>{"use strict";var fEe=uEe(),hA=process.env;Object.defineProperty(dl,"_vendors",{value:fEe.map(function(t){return t.constant})});dl.name=null;dl.isPR=null;fEe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return AEe(o)});if(dl[t.constant]=r,r)switch(dl.name=t.name,typeof t.pr){case"string":dl.isPR=!!hA[t.pr];break;case"object":"env"in t.pr?dl.isPR=t.pr.env in hA&&hA[t.pr.env]!==t.pr.ne:"any"in t.pr?dl.isPR=t.pr.any.some(function(o){return!!hA[o]}):dl.isPR=AEe(t.pr);break;default:dl.isPR=null}});dl.isCI=!!(hA.CI||hA.CONTINUOUS_INTEGRATION||hA.BUILD_NUMBER||hA.RUN_ID||dl.name);function AEe(t){return typeof t=="string"?!!hA[t]:Object.keys(t).every(function(e){return hA[e]===t[e]})}});var gEe=_((gKt,hEe)=>{"use strict";hEe.exports=pEe().isCI});var mEe=_((dKt,dEe)=>{"use strict";var Hyt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};dEe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of Hyt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var vEe=_(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});var MC,aB,qk,Gk,I6;typeof window>"u"||typeof MessageChannel!="function"?(OC=null,d6=null,m6=function(){if(OC!==null)try{var t=kn.unstable_now();OC(!0,t),OC=null}catch(e){throw setTimeout(m6,0),e}},yEe=Date.now(),kn.unstable_now=function(){return Date.now()-yEe},MC=function(t){OC!==null?setTimeout(MC,0,t):(OC=t,setTimeout(m6,0))},aB=function(t,e){d6=setTimeout(t,e)},qk=function(){clearTimeout(d6)},Gk=function(){return!1},I6=kn.unstable_forceFrameRate=function(){}):(Mk=window.performance,y6=window.Date,EEe=window.setTimeout,CEe=window.clearTimeout,typeof console<"u"&&(wEe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof wEe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof Mk=="object"&&typeof Mk.now=="function"?kn.unstable_now=function(){return Mk.now()}:(IEe=y6.now(),kn.unstable_now=function(){return y6.now()-IEe}),sB=!1,oB=null,Uk=-1,E6=5,C6=0,Gk=function(){return kn.unstable_now()>=C6},I6=function(){},kn.unstable_forceFrameRate=function(t){0>t||125Hk(u,r))p!==void 0&&0>Hk(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>Hk(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function Hk(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var tu=[],E0=[],qyt=1,na=null,Lo=3,Yk=!1,om=!1,lB=!1;function Wk(t){for(var e=ic(E0);e!==null;){if(e.callback===null)jk(E0);else if(e.startTime<=t)jk(E0),e.sortIndex=e.expirationTime,B6(tu,e);else break;e=ic(E0)}}function v6(t){if(lB=!1,Wk(t),!om)if(ic(tu)!==null)om=!0,MC(P6);else{var e=ic(E0);e!==null&&aB(v6,e.startTime-t)}}function P6(t,e){om=!1,lB&&(lB=!1,qk()),Yk=!0;var r=Lo;try{for(Wk(e),na=ic(tu);na!==null&&(!(na.expirationTime>e)||t&&!Gk());){var o=na.callback;if(o!==null){na.callback=null,Lo=na.priorityLevel;var a=o(na.expirationTime<=e);e=kn.unstable_now(),typeof a=="function"?na.callback=a:na===ic(tu)&&jk(tu),Wk(e)}else jk(tu);na=ic(tu)}if(na!==null)var n=!0;else{var u=ic(E0);u!==null&&aB(v6,u.startTime-e),n=!1}return n}finally{na=null,Lo=r,Yk=!1}}function BEe(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var Gyt=I6;kn.unstable_ImmediatePriority=1;kn.unstable_UserBlockingPriority=2;kn.unstable_NormalPriority=3;kn.unstable_IdlePriority=5;kn.unstable_LowPriority=4;kn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Lo;Lo=t;try{return e()}finally{Lo=r}};kn.unstable_next=function(t){switch(Lo){case 1:case 2:case 3:var e=3;break;default:e=Lo}var r=Lo;Lo=e;try{return t()}finally{Lo=r}};kn.unstable_scheduleCallback=function(t,e,r){var o=kn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0o?(t.sortIndex=a,B6(E0,t),ic(tu)===null&&t===ic(E0)&&(lB?qk():lB=!0,aB(v6,a-o))):(t.sortIndex=r,B6(tu,t),om||Yk||(om=!0,MC(P6))),t};kn.unstable_cancelCallback=function(t){t.callback=null};kn.unstable_wrapCallback=function(t){var e=Lo;return function(){var r=Lo;Lo=e;try{return t.apply(this,arguments)}finally{Lo=r}}};kn.unstable_getCurrentPriorityLevel=function(){return Lo};kn.unstable_shouldYield=function(){var t=kn.unstable_now();Wk(t);var e=ic(tu);return e!==na&&na!==null&&e!==null&&e.callback!==null&&e.startTime<=t&&e.expirationTime{"use strict";PEe.exports=vEe()});var DEe=_((EKt,cB)=>{cB.exports=function t(e){"use strict";var r=$H(),o=an(),a=D6();function n(D){for(var P="https://reactjs.org/docs/error-decoder.html?invariant="+D,T=1;Too||(D.current=El[oo],El[oo]=null,oo--)}function On(D,P){oo++,El[oo]=D.current,D.current=P}var Li={},Mn={current:Li},_i={current:!1},ir=Li;function Oe(D,P){var T=D.type.contextTypes;if(!T)return Li;var q=D.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===P)return q.__reactInternalMemoizedMaskedChildContext;var W={},fe;for(fe in T)W[fe]=P[fe];return q&&(D=D.stateNode,D.__reactInternalMemoizedUnmaskedChildContext=P,D.__reactInternalMemoizedMaskedChildContext=W),W}function ii(D){return D=D.childContextTypes,D!=null}function Ua(D){zn(_i,D),zn(Mn,D)}function hr(D){zn(_i,D),zn(Mn,D)}function Ac(D,P,T){if(Mn.current!==Li)throw Error(n(168));On(Mn,P,D),On(_i,T,D)}function Au(D,P,T){var q=D.stateNode;if(D=P.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var W in q)if(!(W in D))throw Error(n(108,de(P)||"Unknown",W));return r({},T,{},q)}function fc(D){var P=D.stateNode;return P=P&&P.__reactInternalMemoizedMergedChildContext||Li,ir=Mn.current,On(Mn,P,D),On(_i,_i.current,D),!0}function Cl(D,P,T){var q=D.stateNode;if(!q)throw Error(n(169));T?(P=Au(D,P,ir),q.__reactInternalMemoizedMergedChildContext=P,zn(_i,D),zn(Mn,D),On(Mn,P,D)):zn(_i,D),On(_i,T,D)}var PA=a.unstable_runWithPriority,fu=a.unstable_scheduleCallback,Ie=a.unstable_cancelCallback,Tt=a.unstable_shouldYield,pc=a.unstable_requestPaint,Hi=a.unstable_now,pu=a.unstable_getCurrentPriorityLevel,Yt=a.unstable_ImmediatePriority,wl=a.unstable_UserBlockingPriority,DA=a.unstable_NormalPriority,Ap=a.unstable_LowPriority,hc=a.unstable_IdlePriority,SA={},Qn=pc!==void 0?pc:function(){},hi=null,gc=null,bA=!1,sa=Hi(),Ni=1e4>sa?Hi:function(){return Hi()-sa};function Uo(){switch(pu()){case Yt:return 99;case wl:return 98;case DA:return 97;case Ap:return 96;case hc:return 95;default:throw Error(n(332))}}function Xe(D){switch(D){case 99:return Yt;case 98:return wl;case 97:return DA;case 96:return Ap;case 95:return hc;default:throw Error(n(332))}}function ao(D,P){return D=Xe(D),PA(D,P)}function dc(D,P,T){return D=Xe(D),fu(D,P,T)}function hu(D){return hi===null?(hi=[D],gc=fu(Yt,gu)):hi.push(D),SA}function qi(){if(gc!==null){var D=gc;gc=null,Ie(D)}gu()}function gu(){if(!bA&&hi!==null){bA=!0;var D=0;try{var P=hi;ao(99,function(){for(;D=P&&(qo=!0),D.firstContext=null)}function Es(D,P){if(aa!==D&&P!==!1&&P!==0)if((typeof P!="number"||P===1073741823)&&(aa=D,P=1073741823),P={context:D,observedBits:P,next:null},Hs===null){if(lo===null)throw Error(n(308));Hs=P,lo.dependencies={expirationTime:0,firstContext:P,responders:null}}else Hs=Hs.next=P;return b?D._currentValue:D._currentValue2}var qs=!1;function Un(D){return{baseState:D,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Dn(D){return{baseState:D.baseState,firstUpdate:D.firstUpdate,lastUpdate:D.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Cs(D,P){return{expirationTime:D,suspenseConfig:P,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function We(D,P){D.lastUpdate===null?D.firstUpdate=D.lastUpdate=P:(D.lastUpdate.next=P,D.lastUpdate=P)}function tt(D,P){var T=D.alternate;if(T===null){var q=D.updateQueue,W=null;q===null&&(q=D.updateQueue=Un(D.memoizedState))}else q=D.updateQueue,W=T.updateQueue,q===null?W===null?(q=D.updateQueue=Un(D.memoizedState),W=T.updateQueue=Un(T.memoizedState)):q=D.updateQueue=Dn(W):W===null&&(W=T.updateQueue=Dn(q));W===null||q===W?We(q,P):q.lastUpdate===null||W.lastUpdate===null?(We(q,P),We(W,P)):(We(q,P),W.lastUpdate=P)}function It(D,P){var T=D.updateQueue;T=T===null?D.updateQueue=Un(D.memoizedState):or(D,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=P:(T.lastCapturedUpdate.next=P,T.lastCapturedUpdate=P)}function or(D,P){var T=D.alternate;return T!==null&&P===T.updateQueue&&(P=D.updateQueue=Dn(P)),P}function ee(D,P,T,q,W,fe){switch(T.tag){case 1:return D=T.payload,typeof D=="function"?D.call(fe,q,W):D;case 3:D.effectTag=D.effectTag&-4097|64;case 0:if(D=T.payload,W=typeof D=="function"?D.call(fe,q,W):D,W==null)break;return r({},q,W);case 2:qs=!0}return q}function ye(D,P,T,q,W){qs=!1,P=or(D,P);for(var fe=P.baseState,Pe=null,vt=0,wt=P.firstUpdate,xt=fe;wt!==null;){var _r=wt.expirationTime;_rbn?(ai=Qr,Qr=null):ai=Qr.sibling;var tn=di(nt,Qr,At[bn],Wt);if(tn===null){Qr===null&&(Qr=ai);break}D&&Qr&&tn.alternate===null&&P(nt,Qr),ze=fe(tn,ze,bn),Sn===null?vr=tn:Sn.sibling=tn,Sn=tn,Qr=ai}if(bn===At.length)return T(nt,Qr),vr;if(Qr===null){for(;bnbn?(ai=Qr,Qr=null):ai=Qr.sibling;var po=di(nt,Qr,tn.value,Wt);if(po===null){Qr===null&&(Qr=ai);break}D&&Qr&&po.alternate===null&&P(nt,Qr),ze=fe(po,ze,bn),Sn===null?vr=po:Sn.sibling=po,Sn=po,Qr=ai}if(tn.done)return T(nt,Qr),vr;if(Qr===null){for(;!tn.done;bn++,tn=At.next())tn=ss(nt,tn.value,Wt),tn!==null&&(ze=fe(tn,ze,bn),Sn===null?vr=tn:Sn.sibling=tn,Sn=tn);return vr}for(Qr=q(nt,Qr);!tn.done;bn++,tn=At.next())tn=fo(Qr,nt,bn,tn.value,Wt),tn!==null&&(D&&tn.alternate!==null&&Qr.delete(tn.key===null?bn:tn.key),ze=fe(tn,ze,bn),Sn===null?vr=tn:Sn.sibling=tn,Sn=tn);return D&&Qr.forEach(function(PR){return P(nt,PR)}),vr}return function(nt,ze,At,Wt){var vr=typeof At=="object"&&At!==null&&At.type===E&&At.key===null;vr&&(At=At.props.children);var Sn=typeof At=="object"&&At!==null;if(Sn)switch(At.$$typeof){case p:e:{for(Sn=At.key,vr=ze;vr!==null;){if(vr.key===Sn)if(vr.tag===7?At.type===E:vr.elementType===At.type){T(nt,vr.sibling),ze=W(vr,At.type===E?At.props.children:At.props,Wt),ze.ref=QA(nt,vr,At),ze.return=nt,nt=ze;break e}else{T(nt,vr);break}else P(nt,vr);vr=vr.sibling}At.type===E?(ze=xu(At.props.children,nt.mode,Wt,At.key),ze.return=nt,nt=ze):(Wt=Hm(At.type,At.key,At.props,null,nt.mode,Wt),Wt.ref=QA(nt,ze,At),Wt.return=nt,nt=Wt)}return Pe(nt);case h:e:{for(vr=At.key;ze!==null;){if(ze.key===vr)if(ze.tag===4&&ze.stateNode.containerInfo===At.containerInfo&&ze.stateNode.implementation===At.implementation){T(nt,ze.sibling),ze=W(ze,At.children||[],Wt),ze.return=nt,nt=ze;break e}else{T(nt,ze);break}else P(nt,ze);ze=ze.sibling}ze=Qw(At,nt.mode,Wt),ze.return=nt,nt=ze}return Pe(nt)}if(typeof At=="string"||typeof At=="number")return At=""+At,ze!==null&&ze.tag===6?(T(nt,ze.sibling),ze=W(ze,At,Wt),ze.return=nt,nt=ze):(T(nt,ze),ze=kw(At,nt.mode,Wt),ze.return=nt,nt=ze),Pe(nt);if(kA(At))return zA(nt,ze,At,Wt);if(ce(At))return jo(nt,ze,At,Wt);if(Sn&&fp(nt,At),typeof At>"u"&&!vr)switch(nt.tag){case 1:case 0:throw nt=nt.type,Error(n(152,nt.displayName||nt.name||"Component"))}return T(nt,ze)}}var du=sg(!0),og=sg(!1),mu={},co={current:mu},RA={current:mu},yc={current:mu};function ca(D){if(D===mu)throw Error(n(174));return D}function ag(D,P){On(yc,P,D),On(RA,D,D),On(co,mu,D),P=ne(P),zn(co,D),On(co,P,D)}function Ec(D){zn(co,D),zn(RA,D),zn(yc,D)}function Dm(D){var P=ca(yc.current),T=ca(co.current);P=Z(T,D.type,P),T!==P&&(On(RA,D,D),On(co,P,D))}function lg(D){RA.current===D&&(zn(co,D),zn(RA,D))}var ei={current:0};function pp(D){for(var P=D;P!==null;){if(P.tag===13){var T=P.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Ms(T)||io(T)))return P}else if(P.tag===19&&P.memoizedProps.revealOrder!==void 0){if((P.effectTag&64)!==0)return P}else if(P.child!==null){P.child.return=P,P=P.child;continue}if(P===D)break;for(;P.sibling===null;){if(P.return===null||P.return===D)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}return null}function cg(D,P){return{responder:D,props:P}}var FA=u.ReactCurrentDispatcher,Gs=u.ReactCurrentBatchConfig,yu=0,qa=null,ji=null,ua=null,Eu=null,ws=null,Cc=null,wc=0,Y=null,Pt=0,Il=!1,xi=null,Ic=0;function ct(){throw Error(n(321))}function Cu(D,P){if(P===null)return!1;for(var T=0;Twc&&(wc=_r,_m(wc))):(Pw(_r,wt.suspenseConfig),fe=wt.eagerReducer===D?wt.eagerState:D(fe,wt.action)),Pe=wt,wt=wt.next}while(wt!==null&&wt!==q);xt||(vt=Pe,W=fe),ds(fe,P.memoizedState)||(qo=!0),P.memoizedState=fe,P.baseUpdate=vt,P.baseState=W,T.lastRenderedState=fe}return[P.memoizedState,T.dispatch]}function Ag(D){var P=TA();return typeof D=="function"&&(D=D()),P.memoizedState=P.baseState=D,D=P.queue={last:null,dispatch:null,lastRenderedReducer:Br,lastRenderedState:D},D=D.dispatch=dg.bind(null,qa,D),[P.memoizedState,D]}function fg(D){return Is(Br,D)}function pg(D,P,T,q){return D={tag:D,create:P,destroy:T,deps:q,next:null},Y===null?(Y={lastEffect:null},Y.lastEffect=D.next=D):(P=Y.lastEffect,P===null?Y.lastEffect=D.next=D:(T=P.next,P.next=D,D.next=T,Y.lastEffect=D)),D}function gp(D,P,T,q){var W=TA();Pt|=D,W.memoizedState=pg(P,T,void 0,q===void 0?null:q)}function Bc(D,P,T,q){var W=hp();q=q===void 0?null:q;var fe=void 0;if(ji!==null){var Pe=ji.memoizedState;if(fe=Pe.destroy,q!==null&&Cu(q,Pe.deps)){pg(0,T,fe,q);return}}Pt|=D,W.memoizedState=pg(P,T,fe,q)}function Ct(D,P){return gp(516,192,D,P)}function Sm(D,P){return Bc(516,192,D,P)}function hg(D,P){if(typeof P=="function")return D=D(),P(D),function(){P(null)};if(P!=null)return D=D(),P.current=D,function(){P.current=null}}function gg(){}function wu(D,P){return TA().memoizedState=[D,P===void 0?null:P],D}function bm(D,P){var T=hp();P=P===void 0?null:P;var q=T.memoizedState;return q!==null&&P!==null&&Cu(P,q[1])?q[0]:(T.memoizedState=[D,P],D)}function dg(D,P,T){if(!(25>Ic))throw Error(n(301));var q=D.alternate;if(D===qa||q!==null&&q===qa)if(Il=!0,D={expirationTime:yu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},xi===null&&(xi=new Map),T=xi.get(P),T===void 0)xi.set(P,D);else{for(P=T;P.next!==null;)P=P.next;P.next=D}else{var W=ga(),fe=pt.suspense;W=qA(W,D,fe),fe={expirationTime:W,suspenseConfig:fe,action:T,eagerReducer:null,eagerState:null,next:null};var Pe=P.last;if(Pe===null)fe.next=fe;else{var vt=Pe.next;vt!==null&&(fe.next=vt),Pe.next=fe}if(P.last=fe,D.expirationTime===0&&(q===null||q.expirationTime===0)&&(q=P.lastRenderedReducer,q!==null))try{var wt=P.lastRenderedState,xt=q(wt,T);if(fe.eagerReducer=q,fe.eagerState=xt,ds(xt,wt))return}catch{}finally{}bc(D,W)}}var Iu={readContext:Es,useCallback:ct,useContext:ct,useEffect:ct,useImperativeHandle:ct,useLayoutEffect:ct,useMemo:ct,useReducer:ct,useRef:ct,useState:ct,useDebugValue:ct,useResponder:ct,useDeferredValue:ct,useTransition:ct},mw={readContext:Es,useCallback:wu,useContext:Es,useEffect:Ct,useImperativeHandle:function(D,P,T){return T=T!=null?T.concat([D]):null,gp(4,36,hg.bind(null,P,D),T)},useLayoutEffect:function(D,P){return gp(4,36,D,P)},useMemo:function(D,P){var T=TA();return P=P===void 0?null:P,D=D(),T.memoizedState=[D,P],D},useReducer:function(D,P,T){var q=TA();return P=T!==void 0?T(P):P,q.memoizedState=q.baseState=P,D=q.queue={last:null,dispatch:null,lastRenderedReducer:D,lastRenderedState:P},D=D.dispatch=dg.bind(null,qa,D),[q.memoizedState,D]},useRef:function(D){var P=TA();return D={current:D},P.memoizedState=D},useState:Ag,useDebugValue:gg,useResponder:cg,useDeferredValue:function(D,P){var T=Ag(D),q=T[0],W=T[1];return Ct(function(){a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=P===void 0?null:P;try{W(D)}finally{Gs.suspense=fe}})},[D,P]),q},useTransition:function(D){var P=Ag(!1),T=P[0],q=P[1];return[wu(function(W){q(!0),a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=D===void 0?null:D;try{q(!1),W()}finally{Gs.suspense=fe}})},[D,T]),T]}},xm={readContext:Es,useCallback:bm,useContext:Es,useEffect:Sm,useImperativeHandle:function(D,P,T){return T=T!=null?T.concat([D]):null,Bc(4,36,hg.bind(null,P,D),T)},useLayoutEffect:function(D,P){return Bc(4,36,D,P)},useMemo:function(D,P){var T=hp();P=P===void 0?null:P;var q=T.memoizedState;return q!==null&&P!==null&&Cu(P,q[1])?q[0]:(D=D(),T.memoizedState=[D,P],D)},useReducer:Is,useRef:function(){return hp().memoizedState},useState:fg,useDebugValue:gg,useResponder:cg,useDeferredValue:function(D,P){var T=fg(D),q=T[0],W=T[1];return Sm(function(){a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=P===void 0?null:P;try{W(D)}finally{Gs.suspense=fe}})},[D,P]),q},useTransition:function(D){var P=fg(!1),T=P[0],q=P[1];return[bm(function(W){q(!0),a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=D===void 0?null:D;try{q(!1),W()}finally{Gs.suspense=fe}})},[D,T]),T]}},Aa=null,vc=null,Bl=!1;function Bu(D,P){var T=Dl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=P,T.return=D,T.effectTag=8,D.lastEffect!==null?(D.lastEffect.nextEffect=T,D.lastEffect=T):D.firstEffect=D.lastEffect=T}function mg(D,P){switch(D.tag){case 5:return P=no(P,D.type,D.pendingProps),P!==null?(D.stateNode=P,!0):!1;case 6:return P=Si(P,D.pendingProps),P!==null?(D.stateNode=P,!0):!1;case 13:return!1;default:return!1}}function LA(D){if(Bl){var P=vc;if(P){var T=P;if(!mg(D,P)){if(P=uc(T),!P||!mg(D,P)){D.effectTag=D.effectTag&-1025|2,Bl=!1,Aa=D;return}Bu(Aa,T)}Aa=D,vc=uu(P)}else D.effectTag=D.effectTag&-1025|2,Bl=!1,Aa=D}}function dp(D){for(D=D.return;D!==null&&D.tag!==5&&D.tag!==3&&D.tag!==13;)D=D.return;Aa=D}function Ga(D){if(!y||D!==Aa)return!1;if(!Bl)return dp(D),Bl=!0,!1;var P=D.type;if(D.tag!==5||P!=="head"&&P!=="body"&&!Re(P,D.memoizedProps))for(P=vc;P;)Bu(D,P),P=uc(P);if(dp(D),D.tag===13){if(!y)throw Error(n(316));if(D=D.memoizedState,D=D!==null?D.dehydrated:null,!D)throw Error(n(317));vc=Us(D)}else vc=Aa?uc(D.stateNode):null;return!0}function yg(){y&&(vc=Aa=null,Bl=!1)}var mp=u.ReactCurrentOwner,qo=!1;function Bs(D,P,T,q){P.child=D===null?og(P,null,T,q):du(P,D.child,T,q)}function Ii(D,P,T,q,W){T=T.render;var fe=P.ref;return ys(P,W),q=ug(D,P,T,q,fe,W),D!==null&&!qo?(P.updateQueue=D.updateQueue,P.effectTag&=-517,D.expirationTime<=W&&(D.expirationTime=0),si(D,P,W)):(P.effectTag|=1,Bs(D,P,q,W),P.child)}function km(D,P,T,q,W,fe){if(D===null){var Pe=T.type;return typeof Pe=="function"&&!xw(Pe)&&Pe.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(P.tag=15,P.type=Pe,Qm(D,P,Pe,q,W,fe)):(D=Hm(T.type,null,q,null,P.mode,fe),D.ref=P.ref,D.return=P,P.child=D)}return Pe=D.child,WP)&&HA.set(D,P)))}}function Dg(D,P){D.expirationTimeD?P:D)}function Ao(D){if(D.lastExpiredTime!==0)D.callbackExpirationTime=1073741823,D.callbackPriority=99,D.callbackNode=hu(vw.bind(null,D));else{var P=Um(D),T=D.callbackNode;if(P===0)T!==null&&(D.callbackNode=null,D.callbackExpirationTime=0,D.callbackPriority=90);else{var q=ga();if(P===1073741823?q=99:P===1||P===2?q=95:(q=10*(1073741821-P)-10*(1073741821-q),q=0>=q?99:250>=q?98:5250>=q?97:95),T!==null){var W=D.callbackPriority;if(D.callbackExpirationTime===P&&W>=q)return;T!==SA&&Ie(T)}D.callbackExpirationTime=P,D.callbackPriority=q,P=P===1073741823?hu(vw.bind(null,D)):dc(q,Kv.bind(null,D),{timeout:10*(1073741821-P)-Ni()}),D.callbackNode=P}}}function Kv(D,P){if(Mm=0,P)return P=ga(),qm(D,P),Ao(D),null;var T=Um(D);if(T!==0){if(P=D.callbackNode,(yr&(ns|js))!==En)throw Error(n(327));if(vp(),D===gi&&T===is||Su(D,T),Or!==null){var q=yr;yr|=ns;var W=jA(D);do try{hR();break}catch(vt){GA(D,vt)}while(1);if(la(),yr=q,wp.current=W,Yi===Tm)throw P=Lm,Su(D,T),KA(D,T),Ao(D),P;if(Or===null)switch(W=D.finishedWork=D.current.alternate,D.finishedExpirationTime=T,q=Yi,gi=null,q){case vu:case Tm:throw Error(n(345));case Bi:qm(D,2=T){D.lastPingedTime=T,Su(D,T);break}}if(fe=Um(D),fe!==0&&fe!==T)break;if(q!==0&&q!==T){D.lastPingedTime=q;break}D.timeoutHandle=Se(bu.bind(null,D),W);break}bu(D);break;case Pl:if(KA(D,T),q=D.lastSuspendedTime,T===q&&(D.nextKnownPendingLevel=Dw(W)),UA&&(W=D.lastPingedTime,W===0||W>=T)){D.lastPingedTime=T,Su(D,T);break}if(W=Um(D),W!==0&&W!==T)break;if(q!==0&&q!==T){D.lastPingedTime=q;break}if(MA!==1073741823?q=10*(1073741821-MA)-Ni():Wa===1073741823?q=0:(q=10*(1073741821-Wa)-5e3,W=Ni(),T=10*(1073741821-T)-W,q=W-q,0>q&&(q=0),q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*Ew(q/1960))-q,T=q?q=0:(W=Pe.busyDelayMs|0,fe=Ni()-(10*(1073741821-fe)-(Pe.timeoutMs|0||5e3)),q=fe<=W?0:W+q-fe),10 component higher in the tree to provide a loading indicator or placeholder to display.`+yl(W))}Yi!==Sc&&(Yi=Bi),fe=Cg(fe,W),wt=q;do{switch(wt.tag){case 3:Pe=fe,wt.effectTag|=4096,wt.expirationTime=P;var ze=Yv(wt,Pe,P);It(wt,ze);break e;case 1:Pe=fe;var At=wt.type,Wt=wt.stateNode;if((wt.effectTag&64)===0&&(typeof At.getDerivedStateFromError=="function"||Wt!==null&&typeof Wt.componentDidCatch=="function"&&(Du===null||!Du.has(Wt)))){wt.effectTag|=4096,wt.expirationTime=P;var vr=Wv(wt,Pe,P);It(wt,vr);break e}}wt=wt.return}while(wt!==null)}Or=Xv(Or)}catch(Sn){P=Sn;continue}break}while(1)}function jA(){var D=wp.current;return wp.current=Iu,D===null?Iu:D}function Pw(D,P){DIp&&(Ip=D)}function pR(){for(;Or!==null;)Or=Vv(Or)}function hR(){for(;Or!==null&&!Tt();)Or=Vv(Or)}function Vv(D){var P=$v(D.alternate,D,is);return D.memoizedProps=D.pendingProps,P===null&&(P=Xv(D)),Cw.current=null,P}function Xv(D){Or=D;do{var P=Or.alternate;if(D=Or.return,(Or.effectTag&2048)===0){e:{var T=P;P=Or;var q=is,W=P.pendingProps;switch(P.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:ii(P.type)&&Ua(P);break;case 3:Ec(P),hr(P),W=P.stateNode,W.pendingContext&&(W.context=W.pendingContext,W.pendingContext=null),(T===null||T.child===null)&&Ga(P)&&pa(P),vl(P);break;case 5:lg(P);var fe=ca(yc.current);if(q=P.type,T!==null&&P.stateNode!=null)rs(T,P,q,W,fe),T.ref!==P.ref&&(P.effectTag|=128);else if(W){if(T=ca(co.current),Ga(P)){if(W=P,!y)throw Error(n(175));T=cp(W.stateNode,W.type,W.memoizedProps,fe,T,W),W.updateQueue=T,T=T!==null,T&&pa(P)}else{var Pe=ht(q,W,fe,T,P);Pc(Pe,P,!1,!1),P.stateNode=Pe,rt(Pe,q,W,fe,T)&&pa(P)}P.ref!==null&&(P.effectTag|=128)}else if(P.stateNode===null)throw Error(n(166));break;case 6:if(T&&P.stateNode!=null)Yr(T,P,T.memoizedProps,W);else{if(typeof W!="string"&&P.stateNode===null)throw Error(n(166));if(T=ca(yc.current),fe=ca(co.current),Ga(P)){if(T=P,!y)throw Error(n(176));(T=up(T.stateNode,T.memoizedProps,T))&&pa(P)}else P.stateNode=Ye(W,T,fe,P)}break;case 11:break;case 13:if(zn(ei,P),W=P.memoizedState,(P.effectTag&64)!==0){P.expirationTime=q;break e}W=W!==null,fe=!1,T===null?P.memoizedProps.fallback!==void 0&&Ga(P):(q=T.memoizedState,fe=q!==null,W||q===null||(q=T.child.sibling,q!==null&&(Pe=P.firstEffect,Pe!==null?(P.firstEffect=q,q.nextEffect=Pe):(P.firstEffect=P.lastEffect=q,q.nextEffect=null),q.effectTag=8))),W&&!fe&&(P.mode&2)!==0&&(T===null&&P.memoizedProps.unstable_avoidThisFallback!==!0||(ei.current&1)!==0?Yi===vu&&(Yi=ha):((Yi===vu||Yi===ha)&&(Yi=Pl),Ip!==0&&gi!==null&&(KA(gi,is),tP(gi,Ip)))),S&&W&&(P.effectTag|=4),w&&(W||fe)&&(P.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Ec(P),vl(P);break;case 10:wi(P);break;case 9:break;case 14:break;case 17:ii(P.type)&&Ua(P);break;case 19:if(zn(ei,P),W=P.memoizedState,W===null)break;if(fe=(P.effectTag&64)!==0,Pe=W.rendering,Pe===null){if(fe)Dc(W,!1);else if(Yi!==vu||T!==null&&(T.effectTag&64)!==0)for(T=P.child;T!==null;){if(Pe=pp(T),Pe!==null){for(P.effectTag|=64,Dc(W,!1),T=Pe.updateQueue,T!==null&&(P.updateQueue=T,P.effectTag|=4),W.lastEffect===null&&(P.firstEffect=null),P.lastEffect=W.lastEffect,T=q,W=P.child;W!==null;)fe=W,q=T,fe.effectTag&=2,fe.nextEffect=null,fe.firstEffect=null,fe.lastEffect=null,Pe=fe.alternate,Pe===null?(fe.childExpirationTime=0,fe.expirationTime=q,fe.child=null,fe.memoizedProps=null,fe.memoizedState=null,fe.updateQueue=null,fe.dependencies=null):(fe.childExpirationTime=Pe.childExpirationTime,fe.expirationTime=Pe.expirationTime,fe.child=Pe.child,fe.memoizedProps=Pe.memoizedProps,fe.memoizedState=Pe.memoizedState,fe.updateQueue=Pe.updateQueue,q=Pe.dependencies,fe.dependencies=q===null?null:{expirationTime:q.expirationTime,firstContext:q.firstContext,responders:q.responders}),W=W.sibling;On(ei,ei.current&1|2,P),P=P.child;break e}T=T.sibling}}else{if(!fe)if(T=pp(Pe),T!==null){if(P.effectTag|=64,fe=!0,T=T.updateQueue,T!==null&&(P.updateQueue=T,P.effectTag|=4),Dc(W,!0),W.tail===null&&W.tailMode==="hidden"&&!Pe.alternate){P=P.lastEffect=W.lastEffect,P!==null&&(P.nextEffect=null);break}}else Ni()>W.tailExpiration&&1W&&(W=q),Pe>W&&(W=Pe),fe=fe.sibling;T.childExpirationTime=W}if(P!==null)return P;D!==null&&(D.effectTag&2048)===0&&(D.firstEffect===null&&(D.firstEffect=Or.firstEffect),Or.lastEffect!==null&&(D.lastEffect!==null&&(D.lastEffect.nextEffect=Or.firstEffect),D.lastEffect=Or.lastEffect),1D?P:D}function bu(D){var P=Uo();return ao(99,gR.bind(null,D,P)),null}function gR(D,P){do vp();while(vg!==null);if((yr&(ns|js))!==En)throw Error(n(327));var T=D.finishedWork,q=D.finishedExpirationTime;if(T===null)return null;if(D.finishedWork=null,D.finishedExpirationTime=0,T===D.current)throw Error(n(177));D.callbackNode=null,D.callbackExpirationTime=0,D.callbackPriority=90,D.nextKnownPendingLevel=0;var W=Dw(T);if(D.firstPendingTime=W,q<=D.lastSuspendedTime?D.firstSuspendedTime=D.lastSuspendedTime=D.nextKnownPendingLevel=0:q<=D.firstSuspendedTime&&(D.firstSuspendedTime=q-1),q<=D.lastPingedTime&&(D.lastPingedTime=0),q<=D.lastExpiredTime&&(D.lastExpiredTime=0),D===gi&&(Or=gi=null,is=0),1=T?cn(D,P,T):(On(ei,ei.current&1,P),P=si(D,P,T),P!==null?P.sibling:null);On(ei,ei.current&1,P);break;case 19:if(q=P.childExpirationTime>=T,(D.effectTag&64)!==0){if(q)return ja(D,P,T);P.effectTag|=64}if(W=P.memoizedState,W!==null&&(W.rendering=null,W.tail=null),On(ei,ei.current,P),!q)return null}return si(D,P,T)}qo=!1}}else qo=!1;switch(P.expirationTime=0,P.tag){case 2:if(q=P.type,D!==null&&(D.alternate=null,P.alternate=null,P.effectTag|=2),D=P.pendingProps,W=Oe(P,Mn.current),ys(P,T),W=ug(null,P,q,D,W,T),P.effectTag|=1,typeof W=="object"&&W!==null&&typeof W.render=="function"&&W.$$typeof===void 0){if(P.tag=1,dw(),ii(q)){var fe=!0;fc(P)}else fe=!1;P.memoizedState=W.state!==null&&W.state!==void 0?W.state:null;var Pe=q.getDerivedStateFromProps;typeof Pe=="function"&&rr(P,q,Pe,D),W.updater=$r,P.stateNode=W,W._reactInternalFiber=P,Ho(P,q,D,T),P=Ep(null,P,q,!0,fe,T)}else P.tag=0,Bs(null,P,W,T),P=P.child;return P;case 16:if(W=P.elementType,D!==null&&(D.alternate=null,P.alternate=null,P.effectTag|=2),D=P.pendingProps,we(W),W._status!==1)throw W._result;switch(W=W._result,P.type=W,fe=P.tag=IR(W),D=Ci(W,D),fe){case 0:P=NA(null,P,W,D,T);break;case 1:P=yp(null,P,W,D,T);break;case 11:P=Ii(null,P,W,D,T);break;case 14:P=km(null,P,W,Ci(W.type,D),q,T);break;default:throw Error(n(306,W,""))}return P;case 0:return q=P.type,W=P.pendingProps,W=P.elementType===q?W:Ci(q,W),NA(D,P,q,W,T);case 1:return q=P.type,W=P.pendingProps,W=P.elementType===q?W:Ci(q,W),yp(D,P,q,W,T);case 3:if(Eg(P),q=P.updateQueue,q===null)throw Error(n(282));if(W=P.memoizedState,W=W!==null?W.element:null,ye(P,q,P.pendingProps,null,T),q=P.memoizedState.element,q===W)yg(),P=si(D,P,T);else{if((W=P.stateNode.hydrate)&&(y?(vc=uu(P.stateNode.containerInfo),Aa=P,W=Bl=!0):W=!1),W)for(T=og(P,null,q,T),P.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else Bs(D,P,q,T),yg();P=P.child}return P;case 5:return Dm(P),D===null&&LA(P),q=P.type,W=P.pendingProps,fe=D!==null?D.memoizedProps:null,Pe=W.children,Re(q,W)?Pe=null:fe!==null&&Re(q,fe)&&(P.effectTag|=16),Go(D,P),P.mode&4&&T!==1&&ke(q,W)?(P.expirationTime=P.childExpirationTime=1,P=null):(Bs(D,P,Pe,T),P=P.child),P;case 6:return D===null&&LA(P),null;case 13:return cn(D,P,T);case 4:return ag(P,P.stateNode.containerInfo),q=P.pendingProps,D===null?P.child=du(P,null,q,T):Bs(D,P,q,T),P.child;case 11:return q=P.type,W=P.pendingProps,W=P.elementType===q?W:Ci(q,W),Ii(D,P,q,W,T);case 7:return Bs(D,P,P.pendingProps,T),P.child;case 8:return Bs(D,P,P.pendingProps.children,T),P.child;case 12:return Bs(D,P,P.pendingProps.children,T),P.child;case 10:e:{if(q=P.type._context,W=P.pendingProps,Pe=P.memoizedProps,fe=W.value,_o(P,fe),Pe!==null){var vt=Pe.value;if(fe=ds(vt,fe)?0:(typeof q._calculateChangedBits=="function"?q._calculateChangedBits(vt,fe):1073741823)|0,fe===0){if(Pe.children===W.children&&!_i.current){P=si(D,P,T);break e}}else for(vt=P.child,vt!==null&&(vt.return=P);vt!==null;){var wt=vt.dependencies;if(wt!==null){Pe=vt.child;for(var xt=wt.firstContext;xt!==null;){if(xt.context===q&&(xt.observedBits&fe)!==0){vt.tag===1&&(xt=Cs(T,null),xt.tag=2,tt(vt,xt)),vt.expirationTime"u")return!1;var P=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(P.isDisabled||!P.supportsFiber)return!0;try{var T=P.inject(D);Sw=function(q){try{P.onCommitFiberRoot(T,q,void 0,(q.current.effectTag&64)===64)}catch{}},bw=function(q){try{P.onCommitFiberUnmount(T,q)}catch{}}}catch{}return!0}function wR(D,P,T,q){this.tag=D,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=P,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Dl(D,P,T,q){return new wR(D,P,T,q)}function xw(D){return D=D.prototype,!(!D||!D.isReactComponent)}function IR(D){if(typeof D=="function")return xw(D)?1:0;if(D!=null){if(D=D.$$typeof,D===N)return 11;if(D===te)return 14}return 2}function WA(D,P){var T=D.alternate;return T===null?(T=Dl(D.tag,P,D.key,D.mode),T.elementType=D.elementType,T.type=D.type,T.stateNode=D.stateNode,T.alternate=D,D.alternate=T):(T.pendingProps=P,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=D.childExpirationTime,T.expirationTime=D.expirationTime,T.child=D.child,T.memoizedProps=D.memoizedProps,T.memoizedState=D.memoizedState,T.updateQueue=D.updateQueue,P=D.dependencies,T.dependencies=P===null?null:{expirationTime:P.expirationTime,firstContext:P.firstContext,responders:P.responders},T.sibling=D.sibling,T.index=D.index,T.ref=D.ref,T}function Hm(D,P,T,q,W,fe){var Pe=2;if(q=D,typeof D=="function")xw(D)&&(Pe=1);else if(typeof D=="string")Pe=5;else e:switch(D){case E:return xu(T.children,W,fe,P);case F:Pe=8,W|=7;break;case I:Pe=8,W|=1;break;case v:return D=Dl(12,T,P,W|8),D.elementType=v,D.type=v,D.expirationTime=fe,D;case U:return D=Dl(13,T,P,W),D.type=U,D.elementType=U,D.expirationTime=fe,D;case J:return D=Dl(19,T,P,W),D.elementType=J,D.expirationTime=fe,D;default:if(typeof D=="object"&&D!==null)switch(D.$$typeof){case x:Pe=10;break e;case C:Pe=9;break e;case N:Pe=11;break e;case te:Pe=14;break e;case ae:Pe=16,q=null;break e}throw Error(n(130,D==null?D:typeof D,""))}return P=Dl(Pe,T,P,W),P.elementType=D,P.type=q,P.expirationTime=fe,P}function xu(D,P,T,q){return D=Dl(7,D,q,P),D.expirationTime=T,D}function kw(D,P,T){return D=Dl(6,D,null,P),D.expirationTime=T,D}function Qw(D,P,T){return P=Dl(4,D.children!==null?D.children:[],D.key,P),P.expirationTime=T,P.stateNode={containerInfo:D.containerInfo,pendingChildren:null,implementation:D.implementation},P}function BR(D,P,T){this.tag=P,this.current=null,this.containerInfo=D,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=Ue,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function eP(D,P){var T=D.firstSuspendedTime;return D=D.lastSuspendedTime,T!==0&&T>=P&&D<=P}function KA(D,P){var T=D.firstSuspendedTime,q=D.lastSuspendedTime;TP||T===0)&&(D.lastSuspendedTime=P),P<=D.lastPingedTime&&(D.lastPingedTime=0),P<=D.lastExpiredTime&&(D.lastExpiredTime=0)}function tP(D,P){P>D.firstPendingTime&&(D.firstPendingTime=P);var T=D.firstSuspendedTime;T!==0&&(P>=T?D.firstSuspendedTime=D.lastSuspendedTime=D.nextKnownPendingLevel=0:P>=D.lastSuspendedTime&&(D.lastSuspendedTime=P+1),P>D.nextKnownPendingLevel&&(D.nextKnownPendingLevel=P))}function qm(D,P){var T=D.lastExpiredTime;(T===0||T>P)&&(D.lastExpiredTime=P)}function rP(D){var P=D._reactInternalFiber;if(P===void 0)throw typeof D.render=="function"?Error(n(188)):Error(n(268,Object.keys(D)));return D=me(P),D===null?null:D.stateNode}function nP(D,P){D=D.memoizedState,D!==null&&D.dehydrated!==null&&D.retryTime{"use strict";SEe.exports=DEe()});var kEe=_((wKt,xEe)=>{"use strict";var jyt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};xEe.exports=jyt});var TEe=_((IKt,FEe)=>{"use strict";var Yyt=Object.assign||function(t){for(var e=1;e"}}]),t}(),QEe=function(){Kk(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){b6(this,t),this.width=e,this.height=r}return Kk(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return""}}]),t}(),REe=function(){function t(e,r){b6(this,t),this.unit=e,this.value=r}return Kk(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case ru.UNIT_POINT:return String(this.value);case ru.UNIT_PERCENT:return this.value+"%";case ru.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();FEe.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var E=arguments.length,I=Array(E),v=0;v1?I-1:0),x=1;x1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ru.DIRECTION_LTR;return u.call(this,A,p,h)}),Yyt({Config:e.Config,Node:e.Node,Layout:t("Layout",Wyt),Size:t("Size",QEe),Value:t("Value",REe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},ru)}});var LEe=_((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof ve=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o>2]=0;for(p=A+n;o>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,E,I,v;h>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var E=o-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` +`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,I=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=I:(I=I+.5,Browser.mainLoop.remainingBlockers=(8*E+I)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(x){Runtime.warnOnce("Blob constructor present but fails: "+x+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var I=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var C=document.createElement("canvas");C.width=v.width,C.height=v.height;var F=C.getContext("2d");F.drawImage(v,0,0),Module.preloadedImages[u]=C,Browser.URLObject.revokeObjectURL(I),A&&A(n)},v.onerror=function(C){console.log("Image "+I+" could not be decoded"),p&&p()},v.src=I},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function E(F){h||(h=!0,Module.preloadedAudios[u]=F,A&&A(n))}function I(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return I()}var x=Browser.URLObject.createObjectURL(v),C=new Audio;C.addEventListener("canplaythrough",function(){E(C)},!1),C.onerror=function(N){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function U(J){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ae="=",le="",ce=0,we=0,de=0;de=6;){var Be=ce>>we-6&63;we-=6,le+=te[Be]}return we==2?(le+=te[(ce&3)<<4],le+=ae+ae):we==4&&(le+=te[(ce&15)<<2],le+=ae),le}C.src="data:audio/x-"+u.substr(-3)+";base64,"+U(n),E(C)},C.src=x,Browser.safeSetTimeout(function(){E(C)},1e4)}else return I()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[u.identifier];E||(E=h),Browser.lastTouches[u.identifier]=E,Browser.touches[u.identifier]=h}return}var I=t.pageX-(a+e.left),v=t.pageY-(n+e.top);I=I*(r/e.width),v=v*(o/e.height),Browser.mouseMovementX=I-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=I,Browser.mouseY=v}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function r(p,h,E,I,v,x){if(h==1){var C=I&896;(C==128||C==256||C==384)&&(p="X const")}var F;return x?F=E.replace("X",p).replace("Y",v):F=p.replace("X",E).replace("Y",v),F.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,E,I,v){throw new Error(p+" type "+E.replace("X",h+"?")+(I?" with flag "+I:"")+" in "+v)}function a(p,h,E,I,v,x,C,F){x===void 0&&(x="X"),F===void 0&&(F=1);var N=E(p);if(N)return N;var U=I(p),J=U.placeholderFlag,te=e[J];C&&te&&(x=r(C[2],C[0],x,te[0],"?",!0));var ae;J==0&&(ae="Unbound"),J>=10&&(ae="Corrupt"),F>20&&(ae="Deeply nested"),ae&&o(ae,p,x,J,v||"?");var le=U.paramList[0],ce=a(le,h,E,I,v,x,te,F+1),we,de={flags:te[0],id:p,name:"",paramList:[ce]},Be=[],Ee="?";switch(U.placeholderFlag){case 1:we=ce.spec;break;case 2:if((ce.flags&15360)==1024&&ce.spec.ptrSize==1){de.flags=7168;break}case 3:case 6:case 5:we=ce.spec,ce.flags&15360;break;case 8:Ee=""+U.paramList[1],de.paramList.push(U.paramList[1]);break;case 9:for(var g=0,me=U.paramList[1];g>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,I){var v=___syscall146.buffers[E];assert(v),I===0||I===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(I)});for(var u=0;u>2],p=HEAP32[o+(u*8+4)>>2],h=0;h"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;tt.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=u,I=A,v=p;if(n!==_nbind.ptrMarker){var x=h.__nbindConstructor.apply(h,arguments);E=4608,v=HEAPU32[x/4],I=HEAPU32[x/4+1]}var C={configurable:!0,enumerable:!1,value:null,writable:!1},F={__nbindFlags:E,__nbindPtr:I};v&&(F.__nbindShared=v,_nbind.mark(h));for(var N=0,U=Object.keys(F);N>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),I=e.DYNAMICTOP_PTR|0,v=e.tempDoublePtr|0,x=e.ABORT|0,C=e.STACKTOP|0,F=e.STACK_MAX|0,N=e.cttz_i8|0,U=e.___dso_handle|0,J=0,te=0,ae=0,le=0,ce=t.NaN,we=t.Infinity,de=0,Be=0,Ee=0,g=0,me=0,Ce=0,Ae=t.Math.floor,ne=t.Math.abs,Z=t.Math.sqrt,xe=t.Math.pow,Le=t.Math.cos,ht=t.Math.sin,H=t.Math.tan,rt=t.Math.acos,Te=t.Math.asin,Re=t.Math.atan,ke=t.Math.atan2,Ye=t.Math.exp,Se=t.Math.log,et=t.Math.ceil,Ue=t.Math.imul,b=t.Math.min,w=t.Math.max,S=t.Math.clz32,y=t.Math.fround,R=e.abort,V=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,ie=e.abortOnCannotGrowMemory,be=e.invoke_viiiii,Fe=e.invoke_vif,at=e.invoke_vid,dt=e.invoke_fiff,Gt=e.invoke_vi,tr=e.invoke_vii,bt=e.invoke_ii,ln=e.invoke_viddi,kr=e.invoke_vidd,mr=e.invoke_iiii,br=e.invoke_diii,Kr=e.invoke_di,Kn=e.invoke_iid,Os=e.invoke_iii,Ti=e.invoke_viiddi,gs=e.invoke_viiiiii,no=e.invoke_dii,Si=e.invoke_i,Ms=e.invoke_iiiiii,io=e.invoke_viiid,uc=e.invoke_viififi,uu=e.invoke_viii,cp=e.invoke_v,up=e.invoke_viid,Us=e.invoke_idd,Pn=e.invoke_viiii,so=e._emscripten_asm_const_iiiii,_s=e._emscripten_asm_const_iiidddddd,yl=e._emscripten_asm_const_iiiid,El=e.__nbind_reference_external,oo=e._emscripten_asm_const_iiiiiiii,zn=e._removeAccessorPrefix,On=e._typeModule,Li=e.__nbind_register_pool,Mn=e.__decorate,_i=e._llvm_stackrestore,ir=e.___cxa_atexit,Oe=e.__extends,ii=e.__nbind_get_value_object,Ua=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,hr=e._emscripten_set_main_loop_timing,Ac=e.__nbind_register_primitive,Au=e.__nbind_register_type,fc=e._emscripten_memcpy_big,Cl=e.__nbind_register_function,PA=e.___setErrNo,fu=e.__nbind_register_class,Ie=e.__nbind_finish,Tt=e._abort,pc=e._nbind_value,Hi=e._llvm_stacksave,pu=e.___syscall54,Yt=e._defineHidden,wl=e._emscripten_set_main_loop,DA=e._emscripten_get_now,Ap=e.__nbind_register_callback_signature,hc=e._emscripten_asm_const_iiiiii,SA=e.__nbind_free_external,Qn=e._emscripten_asm_const_iiii,hi=e._emscripten_asm_const_iiididi,gc=e.___syscall6,bA=e._atexit,sa=e.___syscall140,Ni=e.___syscall146,Uo=y(0);let Xe=y(0);function ao(s){s=s|0;var l=0;return l=C,C=C+s|0,C=C+15&-16,l|0}function dc(){return C|0}function hu(s){s=s|0,C=s}function qi(s,l){s=s|0,l=l|0,C=s,F=l}function gu(s,l){s=s|0,l=l|0,J||(J=s,te=l)}function xA(s){s=s|0,Ce=s}function Ha(){return Ce|0}function mc(){var s=0,l=0;Pr(8104,8,400)|0,Pr(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,ir(17,8104,U|0)|0}function ds(s){s=s|0,ft(s+948|0)}function Ht(s){return s=y(s),((Du(s)|0)&2147483647)>>>0>2139095040|0}function Rn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function Ci(s){s=s|0;var l=0;return l=hP(1e3)|0,oa(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Pr(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function oa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,Cg(s,5,3197,f)),C=d}function lo(){return Ci(956)|0}function Hs(s){s=s|0;var l=0;return l=Kt(1e3)|0,aa(l,s),oa(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function aa(s,l){s=s|0,l=l|0;var c=0;Pr(s|0,l|0,948)|0,Rm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function la(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(_o(c+948|0,s)|0,n[l>>2]=0),c=wi(s)|0,c|0){l=0;do n[(ms(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ys(c),gP(s),n[2276]=(n[2276]|0)+-1}function _o(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0;f=n[s>>2]|0,k=s+4|0,c=n[k>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(Nw(d|0,f|0,s|0)|0,c=n[k>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[k>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function wi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function ms(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function ys(s){s=s|0;var l=0,c=0,f=0,d=0;f=C,C=C+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Bp(l,d,d,s+8|0),vg(s,l),_A(l)),C=f}function Es(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;M=wi(s)|0;do if(M|0){if((n[(ms(s,0)|0)+944>>2]|0)==(s|0)){if(!(_o(s+948|0,l)|0))break;Pr(l+400|0,8504,540)|0,n[l+944>>2]=0,Ne(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,k=s+948|0,Q=(B|0)==0,c=0,m=0;do f=n[(n[k>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?Ne(s):(d=Hs(f)|0,n[(n[k>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,Q||LF[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0>>0){Q=s+948|0,k=s+952|0,B=c,c=n[k>>2]|0;do m=(n[Q>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(Nw(m|0,f|0,d|0)|0,c=n[k>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[k>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function qs(s){s=s|0;var l=0,c=0,f=0,d=0;Un(s,(wi(s)|0)==0,2491),Un(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),ys(l),l=s+976|0,c=n[l>>2]|0,Pr(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Un(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,uo(s,5,3197,f)),C=d}function Dn(){return n[2276]|0}function Cs(){var s=0;return s=hP(20)|0,We((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function We(s,l){s=s|0,l=l|0;var c=0,f=0;f=C,C=C+16|0,c=f,s||(n[c>>2]=l,uo(0,5,3197,c)),C=f}function tt(s){s=s|0,gP(s),n[2277]=(n[2277]|0)+-1}function It(s,l){s=s|0,l=l|0;var c=0;l?(Un(s,(wi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function or(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Un(s,(n[l+944>>2]|0)==0,2709),Un(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],ye(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,Ne(s),C=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;if(c=wi(s)|0,c|0&&(n[(ms(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,k=Hs(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=k,n[k+944>>2]=s,m||LF[f&15](B,k,s,l),l=l+1|0;while((l|0)!=(c|0))}}function ye(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0;$e=C,C=C+64|0,G=$e+52|0,k=$e+48|0,se=$e+28|0,Ge=$e+24|0,Me=$e+20|0,Qe=$e,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}HA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=L(s)|0,d>>>0>>0&&Vr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Bp(Qe,M>>2>>>0>>1>>>0?m>>>0>>0?f:m:d,l-O>>2,s+8|0),O=Qe+8|0,f=n[O>>2]|0,m=Qe+12|0,M=n[m>>2]|0,B=M,Q=f;do if((f|0)==(M|0)){if(M=Qe+4|0,f=n[M>>2]|0,Ve=n[Qe>>2]|0,d=Ve,f>>>0<=Ve>>>0){f=B-d>>1,f=(f|0)==0?1:f,Bp(se,f,f>>>2,n[Qe+16>>2]|0),n[Ge>>2]=n[M>>2],n[Me>>2]=n[O>>2],n[k>>2]=n[Ge>>2],n[G>>2]=n[Me>>2],Bw(se,k,G),f=n[Qe>>2]|0,n[Qe>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Ve=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Ve,f=se+8|0,Ve=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Ve,f=se+12|0,Ve=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Ve,_A(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,k=f+(B<<2)|0,d=Q-m|0,m=d>>2,m&&(Nw(k|0,f|0,d|0)|0,f=n[M>>2]|0),Ve=k+(m<<2)|0,n[O>>2]=Ve,n[M>>2]=f+(B<<2),f=Ve}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=Pg(s,Qe,l)|0,_A(Qe)}while(0);return C=$e,l|0}function Ne(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(ce),s=n[s+944>>2]|0}while((s|0)!=0)}function ft(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function pt(s){return s=s|0,n[s+944>>2]|0}function Lt(s){s=s|0,Un(s,(n[s+964>>2]|0)!=0,2832),Ne(s)}function rr(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function $r(s,l){s=s|0,l=l|0,RUe(s,l,400)|0&&(Pr(s|0,l|0,400)|0,Ne(s))}function Gi(s){s=s|0;var l=Xe;return l=y(h[s+44>>2]),s=Ht(l)|0,y(s?y(0):l)}function ts(s){s=s|0;var l=Xe;return l=y(h[s+48>>2]),Ht(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function bi(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function Ho(s){return s=s|0,n[s+980>>2]|0}function kA(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function QA(s){return s=s|0,n[s+4>>2]|0}function fp(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function sg(s){return s=s|0,n[s+8>>2]|0}function du(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function og(s){return s=s|0,n[s+12>>2]|0}function mu(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function co(s){return s=s|0,n[s+16>>2]|0}function RA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function yc(s){return s=s|0,n[s+20>>2]|0}function ca(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function ag(s){return s=s|0,n[s+24>>2]|0}function Ec(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function Dm(s){return s=s|0,n[s+28>>2]|0}function lg(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function ei(s){return s=s|0,n[s+32>>2]|0}function pp(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function cg(s){return s=s|0,n[s+36>>2]|0}function FA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function Gs(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function yu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function qa(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function ji(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ht(l)|0,n[c>>2]=f?3:2,Ne(s))}function ua(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Eu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function ws(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Cc(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Y(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Pt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Il(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(ce),n[c>>2]=3,Ne(s))}function xi(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Ic(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function ct(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Cu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function ug(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function dw(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function TA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ht(l)|0,n[c>>2]=f?3:2,Ne(s))}function hp(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(ce),n[l>>2]=3,Ne(s))}function Br(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Is(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function Ag(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ht(l)|0,n[c>>2]=f?3:2,Ne(s))}function fg(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(ce),n[l>>2]=3,Ne(s))}function pg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function gp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function Bc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function Ct(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Sm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function hg(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function gg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function wu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function bm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function dg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Iu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function mw(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function xm(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Aa(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function vc(s){return s=s|0,y(h[s+396>>2])}function Bl(s){return s=s|0,y(h[s+400>>2])}function Bu(s){return s=s|0,y(h[s+404>>2])}function mg(s){return s=s|0,y(h[s+408>>2])}function LA(s){return s=s|0,y(h[s+412>>2])}function dp(s){return s=s|0,y(h[s+416>>2])}function Ga(s){return s=s|0,y(h[s+420>>2])}function yg(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function mp(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function qo(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function Bs(s,l){s=s|0,l=l|0;var c=0,f=Xe;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,Ua(f|0,s|0,l|0,0),uo(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),t3e(f),C=c}function Go(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=Xe;s=y(s*l),d=y(xF(s,y(1)));do if(Ii(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ii(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ii(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function NA(s,l,c,f,d,m,B,k,Q,M,O,G,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,k=y(k),Q=y(Q),M=y(M),O=y(O),G=y(G),se=se|0;var Ge=0,Me=Xe,Qe=Xe,$e=Xe,Ve=Xe,lt=Xe,_e=Xe;return Q>2]),Me!=y(0))?($e=y(Go(l,Me,0,0)),Ve=y(Go(f,Me,0,0)),Qe=y(Go(m,Me,0,0)),Me=y(Go(k,Me,0,0))):(Qe=m,$e=l,Me=k,Ve=f),(d|0)==(s|0)?Ge=Ii(Qe,$e)|0:Ge=0,(B|0)==(c|0)?se=Ii(Me,Ve)|0:se=0,!Ge&&(lt=y(l-O),!(yp(s,lt,Q)|0))&&!(Ep(s,lt,d,Q)|0)?Ge=Eg(s,lt,d,m,Q)|0:Ge=1,!se&&(_e=y(f-G),!(yp(c,_e,M)|0))&&!(Ep(c,_e,B,M)|0)?se=Eg(c,_e,B,k,M)|0:se=1,se=Ge&se),se|0}function yp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ii(l,c)|0:s=0,s|0}function Ep(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ii(l,f)|0:s=0,s|0}function Eg(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ii(l,d)|0:s=0,s|0}function fa(s,l,c,f,d,m,B,k,Q,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),Q=Q|0,M=M|0,O=O|0;var G=0,se=0,Ge=0,Me=0,Qe=Xe,$e=Xe,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=Xe,ho=Xe,go=Xe,mo=0,ya=0;ar=C,C=C+160|0,Xt=ar+152|0,cr=ar+120|0,Mr=ar+104|0,_e=ar+72|0,Me=ar+56|0,Nt=ar+8|0,lt=ar,qe=(n[2279]|0)+1|0,n[2279]=qe,Dr=s+984|0,(o[Dr>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Ve=4:(n[s+516>>2]|0)==(f|0)?Tr=0:Ve=4,(Ve|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Tr=1);e:do if(n[s+964>>2]|0)if(Qe=y(cn(s,2,B)),$e=y(cn(s,0,B)),G=s+916|0,go=y(h[G>>2]),ho=y(h[s+920>>2]),xn=y(h[s+932>>2]),NA(d,l,m,c,n[s+924>>2]|0,go,n[s+928>>2]|0,ho,xn,y(h[s+936>>2]),Qe,$e,O)|0)Ve=22;else if(Ge=n[s+520>>2]|0,!Ge)Ve=21;else for(se=0;;){if(G=s+524+(se*24|0)|0,xn=y(h[G>>2]),ho=y(h[s+524+(se*24|0)+4>>2]),go=y(h[s+524+(se*24|0)+16>>2]),NA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,xn,n[s+524+(se*24|0)+12>>2]|0,ho,go,y(h[s+524+(se*24|0)+20>>2]),Qe,$e,O)|0){Ve=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Ve=21;break}}else{if(Q){if(G=s+916|0,!(Ii(y(h[G>>2]),l)|0)){Ve=21;break}if(!(Ii(y(h[s+920>>2]),c)|0)){Ve=21;break}if((n[s+924>>2]|0)!=(d|0)){Ve=21;break}G=(n[s+928>>2]|0)==(m|0)?G:0,Ve=22;break}if(Ge=n[s+520>>2]|0,!Ge)Ve=21;else for(se=0;;){if(G=s+524+(se*24|0)|0,Ii(y(h[G>>2]),l)|0&&Ii(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Ve=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Ve=21;break}}}while(0);do if((Ve|0)==21)o[11697]|0?(G=0,Ve=28):(G=0,Ve=31);else if((Ve|0)==22){if(se=(o[11697]|0)!=0,!((G|0)!=0&(Tr^1)))if(se){Ve=28;break}else{Ve=31;break}Me=G+16|0,n[s+908>>2]=n[Me>>2],Ge=G+20|0,n[s+912>>2]=n[Ge>>2],(o[11698]|0)==0|se^1||(n[lt>>2]=OA(qe)|0,n[lt+4>>2]=qe,uo(s,4,2972,lt),se=n[s+972>>2]|0,se|0&&tf[se&127](s),d=ja(d,Q)|0,m=ja(m,Q)|0,ya=+y(h[Me>>2]),mo=+y(h[Ge>>2]),n[Nt>>2]=d,n[Nt+4>>2]=m,E[Nt+8>>3]=+l,E[Nt+16>>3]=+c,E[Nt+24>>3]=ya,E[Nt+32>>3]=mo,n[Nt+40>>2]=M,uo(s,4,2989,Nt))}while(0);return(Ve|0)==28&&(se=OA(qe)|0,n[Me>>2]=se,n[Me+4>>2]=qe,n[Me+8>>2]=Tr?3047:11699,uo(s,4,3038,Me),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Nt=ja(d,Q)|0,Ve=ja(m,Q)|0,n[_e>>2]=Nt,n[_e+4>>2]=Ve,E[_e+8>>3]=+l,E[_e+16>>3]=+c,n[_e+24>>2]=M,uo(s,4,3049,_e),Ve=31),(Ve|0)==31&&(si(s,l,c,f,d,m,B,k,Q,O),o[11697]|0&&(se=n[2279]|0,Nt=OA(se)|0,n[Mr>>2]=Nt,n[Mr+4>>2]=se,n[Mr+8>>2]=Tr?3047:11699,uo(s,4,3083,Mr),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Nt=ja(d,Q)|0,Mr=ja(m,Q)|0,mo=+y(h[s+908>>2]),ya=+y(h[s+912>>2]),n[cr>>2]=Nt,n[cr+4>>2]=Mr,E[cr+8>>3]=mo,E[cr+16>>3]=ya,n[cr+24>>2]=M,uo(s,4,3092,cr)),n[s+516>>2]=f,G||(se=s+520|0,G=n[se>>2]|0,(G|0)==16&&(o[11697]|0&&uo(s,4,3124,Xt),n[se>>2]=0,G=0),Q?G=s+916|0:(n[se>>2]=G+1,G=s+524+(G*24|0)|0),h[G>>2]=l,h[G+4>>2]=c,n[G+8>>2]=d,n[G+12>>2]=m,n[G+16>>2]=n[s+908>>2],n[G+20>>2]=n[s+912>>2],G=0)),Q&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Dr>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],C=ar,Tr|(G|0)==0|0}function cn(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return f=y(K(s,l,c)),y(f+y(re(s,l,c)))}function uo(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=C,C=C+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,wg(f,s,l,c,d),C=m}function OA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function ja(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,C=d,s|0}function si(s,l,c,f,d,m,B,k,Q,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),Q=Q|0,M=M|0;var O=0,G=0,se=0,Ge=0,Me=Xe,Qe=Xe,$e=Xe,Ve=Xe,lt=Xe,_e=Xe,qe=Xe,Nt=0,Mr=0,cr=0,Xt=Xe,Dr=Xe,Tr=0,ar=Xe,xn=0,ho=0,go=0,mo=0,ya=0,Fp=0,Tp=0,xl=0,Lp=0,Fu=0,Tu=0,Np=0,Op=0,Mp=0,Xr=0,kl=0,Up=0,kc=0,_p=Xe,Hp=Xe,Lu=Xe,Nu=Xe,Qc=Xe,Ys=0,Xa=0,Yo=0,Ql=0,nf=0,sf=Xe,Ou=Xe,of=Xe,af=Xe,Ws=Xe,Ds=Xe,Rl=0,Fn=Xe,lf=Xe,yo=Xe,Rc=Xe,Eo=Xe,Fc=Xe,cf=0,uf=0,Tc=Xe,Ks=Xe,Fl=0,Af=0,ff=0,pf=0,xr=Xe,Jn=0,Ss=0,Co=0,zs=0,Rr=0,ur=0,Tl=0,Jt=Xe,hf=0,li=0;Tl=C,C=C+16|0,Ys=Tl+12|0,Xa=Tl+8|0,Yo=Tl+4|0,Ql=Tl,Un(s,(d|0)==0|(Ht(l)|0)^1,3326),Un(s,(m|0)==0|(Ht(c)|0)^1,3406),Ss=mt(s,f)|0,n[s+496>>2]=Ss,Rr=fr(2,Ss)|0,ur=fr(0,Ss)|0,h[s+440>>2]=y(K(s,Rr,B)),h[s+444>>2]=y(re(s,Rr,B)),h[s+428>>2]=y(K(s,ur,B)),h[s+436>>2]=y(re(s,ur,B)),h[s+464>>2]=y(Cr(s,Rr)),h[s+468>>2]=y(yn(s,Rr)),h[s+452>>2]=y(Cr(s,ur)),h[s+460>>2]=y(yn(s,ur)),h[s+488>>2]=y(oi(s,Rr,B)),h[s+492>>2]=y(Oi(s,Rr,B)),h[s+476>>2]=y(oi(s,ur,B)),h[s+484>>2]=y(Oi(s,ur,B));do if(n[s+964>>2]|0)Bg(s,l,c,d,m,B,k);else{if(Co=s+948|0,zs=(n[s+952>>2]|0)-(n[Co>>2]|0)>>2,!zs){Yv(s,l,c,d,m,B,k);break}if(!Q&&Wv(s,l,c,d,m,B,k)|0)break;ee(s),kl=s+508|0,o[kl>>0]=0,Rr=fr(n[s+4>>2]|0,Ss)|0,ur=Ew(Rr,Ss)|0,Jn=he(Rr)|0,Up=n[s+8>>2]|0,Af=s+28|0,kc=(n[Af>>2]|0)!=0,Eo=Jn?B:k,Tc=Jn?k:B,_p=y(wp(s,Rr,B)),Hp=y(Cw(s,Rr,B)),Me=y(wp(s,ur,B)),Fc=y(En(s,Rr,B)),Ks=y(En(s,ur,B)),cr=Jn?d:m,Fl=Jn?m:d,xr=Jn?Fc:Ks,lt=Jn?Ks:Fc,Rc=y(cn(s,2,B)),Ve=y(cn(s,0,B)),Qe=y(y(Yr(s+364|0,B))-xr),$e=y(y(Yr(s+380|0,B))-xr),_e=y(y(Yr(s+372|0,k))-lt),qe=y(y(Yr(s+388|0,k))-lt),Lu=Jn?Qe:_e,Nu=Jn?$e:qe,Rc=y(l-Rc),l=y(Rc-xr),Ht(l)|0?xr=l:xr=y(_n(y(Lg(l,$e)),Qe)),lf=y(c-Ve),l=y(lf-lt),Ht(l)|0?yo=l:yo=y(_n(y(Lg(l,qe)),_e)),Qe=Jn?xr:yo,Fn=Jn?yo:xr;e:do if((cr|0)==1)for(f=0,G=0;;){if(O=ms(s,G)|0,!f)y(ns(O))>y(0)&&y(js(O))>y(0)?f=O:f=0;else if(Fm(O)|0){Ge=0;break e}if(G=G+1|0,G>>>0>=zs>>>0){Ge=f;break}}else Ge=0;while(0);Nt=Ge+500|0,Mr=Ge+504|0,f=0,O=0,l=y(0),se=0;do{if(G=n[(n[Co>>2]|0)+(se<<2)>>2]|0,(n[G+36>>2]|0)==1)vu(G),o[G+985>>0]=1,o[G+984>>0]=0;else{vl(G),Q&&Cp(G,mt(G,Ss)|0,Qe,Fn,xr);do if((n[G+24>>2]|0)!=1)if((G|0)==(Ge|0)){n[Nt>>2]=n[2278],h[Mr>>2]=y(0);break}else{Tm(s,G,xr,d,yo,xr,yo,m,Ss,M);break}else O|0&&(n[O+960>>2]=G),n[G+960>>2]=0,O=G,f=(f|0)==0?G:f;while(0);Ds=y(h[G+504>>2]),l=y(l+y(Ds+y(cn(G,Rr,xr))))}se=se+1|0}while((se|0)!=(zs|0));for(go=l>Qe,Rl=kc&((cr|0)==2&go)?1:cr,xn=(Fl|0)==1,ya=xn&(Q^1),Fp=(Rl|0)==1,Tp=(Rl|0)==2,xl=976+(Rr<<2)|0,Lp=(Fl|2|0)==2,Mp=xn&(kc^1),Fu=1040+(ur<<2)|0,Tu=1040+(Rr<<2)|0,Np=976+(ur<<2)|0,Op=(Fl|0)!=1,go=kc&((cr|0)!=0&go),ho=s+976|0,xn=xn^1,l=Qe,Tr=0,mo=0,Ds=y(0),Qc=y(0);;){e:do if(Tr>>>0>>0)for(Mr=n[Co>>2]|0,se=0,qe=y(0),_e=y(0),$e=y(0),Qe=y(0),G=0,O=0,Ge=Tr;;){if(Nt=n[Mr+(Ge<<2)>>2]|0,(n[Nt+36>>2]|0)!=1&&(n[Nt+940>>2]=mo,(n[Nt+24>>2]|0)!=1)){if(Ve=y(cn(Nt,Rr,xr)),Xr=n[xl>>2]|0,c=y(Yr(Nt+380+(Xr<<3)|0,Eo)),lt=y(h[Nt+504>>2]),c=y(Lg(c,lt)),c=y(_n(y(Yr(Nt+364+(Xr<<3)|0,Eo)),c)),kc&(se|0)!=0&y(Ve+y(_e+c))>l){m=se,Ve=qe,cr=Ge;break e}Ve=y(Ve+c),c=y(_e+Ve),Ve=y(qe+Ve),Fm(Nt)|0&&($e=y($e+y(ns(Nt))),Qe=y(Qe-y(lt*y(js(Nt))))),O|0&&(n[O+960>>2]=Nt),n[Nt+960>>2]=0,se=se+1|0,O=Nt,G=(G|0)==0?Nt:G}else Ve=qe,c=_e;if(Ge=Ge+1|0,Ge>>>0>>0)qe=Ve,_e=c;else{m=se,cr=Ge;break}}else m=0,Ve=y(0),$e=y(0),Qe=y(0),G=0,cr=Tr;while(0);Xr=$e>y(0)&$ey(0)&QeNu&((Ht(Nu)|0)^1))l=Nu,Xr=51;else if(o[(n[ho>>2]|0)+3>>0]|0)Xr=51;else{if(Xt!=y(0)&&y(ns(s))!=y(0)){Xr=53;break}l=Ve,Xr=53}while(0);if((Xr|0)==51&&(Xr=0,Ht(l)|0?Xr=53:(Dr=y(l-Ve),ar=l)),(Xr|0)==53&&(Xr=0,Ve>2]|0,Ge=Dry(0),_e=y(Dr/Xt),$e=y(0),Ve=y(0),l=y(0),O=G;do c=y(Yr(O+380+(se<<3)|0,Eo)),Qe=y(Yr(O+364+(se<<3)|0,Eo)),Qe=y(Lg(c,y(_n(Qe,y(h[O+504>>2]))))),Ge?(c=y(Qe*y(js(O))),c!=y(-0)&&(Jt=y(Qe-y(lt*c)),sf=y(Bi(O,Rr,Jt,ar,xr)),Jt!=sf)&&($e=y($e-y(sf-Qe)),l=y(l+c))):Nt&&(Ou=y(ns(O)),Ou!=y(0))&&(Jt=y(Qe+y(_e*Ou)),of=y(Bi(O,Rr,Jt,ar,xr)),Jt!=of)&&($e=y($e-y(of-Qe)),Ve=y(Ve-Ou)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(qe+l),Qe=y(Dr+$e),nf)l=y(0);else{lt=y(Xt+Ve),Ge=n[xl>>2]|0,Nt=Qey(0),lt=y(Qe/lt),l=y(0);do{Jt=y(Yr(G+380+(Ge<<3)|0,Eo)),$e=y(Yr(G+364+(Ge<<3)|0,Eo)),$e=y(Lg(Jt,y(_n($e,y(h[G+504>>2]))))),Nt?(Jt=y($e*y(js(G))),Qe=y(-Jt),Jt!=y(-0)?(Jt=y(_e*Qe),Qe=y(Bi(G,Rr,y($e+(Mr?Qe:Jt)),ar,xr))):Qe=$e):se&&(af=y(ns(G)),af!=y(0))?Qe=y(Bi(G,Rr,y($e+y(lt*af)),ar,xr)):Qe=$e,l=y(l-y(Qe-$e)),Ve=y(cn(G,Rr,xr)),c=y(cn(G,ur,xr)),Qe=y(Qe+Ve),h[Xa>>2]=Qe,n[Ql>>2]=1,$e=y(h[G+396>>2]);e:do if(Ht($e)|0){O=Ht(Fn)|0;do if(!O){if(go|(rs(G,ur,Fn)|0|xn)||(ha(s,G)|0)!=4||(n[(Pl(G,ur)|0)+4>>2]|0)==3||(n[(Sc(G,ur)|0)+4>>2]|0)==3)break;h[Ys>>2]=Fn,n[Yo>>2]=1;break e}while(0);if(rs(G,ur,Fn)|0){O=n[G+992+(n[Np>>2]<<2)>>2]|0,Jt=y(c+y(Yr(O,Fn))),h[Ys>>2]=Jt,O=Op&(n[O+4>>2]|0)==2,n[Yo>>2]=((Ht(Jt)|0|O)^1)&1;break}else{h[Ys>>2]=Fn,n[Yo>>2]=O?0:2;break}}else Jt=y(Qe-Ve),Xt=y(Jt/$e),Jt=y($e*Jt),n[Yo>>2]=1,h[Ys>>2]=y(c+(Jn?Xt:Jt));while(0);yr(G,Rr,ar,xr,Ql,Xa),yr(G,ur,Fn,xr,Yo,Ys);do if(!(rs(G,ur,Fn)|0)&&(ha(s,G)|0)==4){if((n[(Pl(G,ur)|0)+4>>2]|0)==3){O=0;break}O=(n[(Sc(G,ur)|0)+4>>2]|0)!=3}else O=0;while(0);Jt=y(h[Xa>>2]),Xt=y(h[Ys>>2]),hf=n[Ql>>2]|0,li=n[Yo>>2]|0,fa(G,Jn?Jt:Xt,Jn?Xt:Jt,Ss,Jn?hf:li,Jn?li:hf,xr,yo,Q&(O^1),3488,M)|0,o[kl>>0]=o[kl>>0]|o[G+508>>0],G=n[G+960>>2]|0}while((G|0)!=0)}}else l=y(0);if(l=y(Dr+l),li=l>0]=li|u[kl>>0],Tp&l>y(0)?(O=n[xl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(Ws=y(Yr(s+364+(O<<3)|0,Eo)),Ws>=y(0))?Qe=y(_n(y(0),y(Ws-y(ar-l)))):Qe=y(0)):Qe=l,Nt=Tr>>>0>>0,Nt){Ge=n[Co>>2]|0,se=Tr,O=0;do G=n[Ge+(se<<2)>>2]|0,n[G+24>>2]|0||(O=((n[(Pl(G,Rr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(Sc(G,Rr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(cr|0));O?(Ve=y(0),c=y(0)):Xr=101}else Xr=101;e:do if((Xr|0)==101)switch(Xr=0,Up|0){case 1:{O=0,Ve=y(Qe*y(.5)),c=y(0);break e}case 2:{O=0,Ve=Qe,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Ve=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Ve=y(0),c=y(y(_n(Qe,y(0)))/c);break e}case 5:{c=y(Qe/y((m+1|0)>>>0)),O=0,Ve=c;break e}case 4:{c=y(Qe/y(m>>>0)),O=0,Ve=y(c*y(.5));break e}default:{O=0,Ve=y(0),c=y(0);break e}}while(0);if(l=y(_p+Ve),Nt){$e=y(Qe/y(O|0)),se=n[Co>>2]|0,G=Tr,Qe=y(0);do{O=n[se+(G<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(gi(O,Rr)|0){if(!Q)break e;Jt=y(Or(O,Rr,ar)),Jt=y(Jt+y(Cr(s,Rr))),Jt=y(Jt+y(K(O,Rr,xr))),h[O+400+(n[Tu>>2]<<2)>>2]=Jt;break e}break}case 0:if(li=(n[(Pl(O,Rr)|0)+4>>2]|0)==3,Jt=y($e+l),l=li?Jt:l,Q&&(li=O+400+(n[Tu>>2]<<2)|0,h[li>>2]=y(l+y(h[li>>2]))),li=(n[(Sc(O,Rr)|0)+4>>2]|0)==3,Jt=y($e+l),l=li?Jt:l,ya){Jt=y(c+y(cn(O,Rr,xr))),Qe=Fn,l=y(l+y(Jt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(is(O,Rr,xr)))),Qe=y(_n(Qe,y(is(O,ur,xr))));break e}default:}Q&&(Jt=y(Ve+y(Cr(s,Rr))),li=O+400+(n[Tu>>2]<<2)|0,h[li>>2]=y(Jt+y(h[li>>2])))}while(0);G=G+1|0}while((G|0)!=(cr|0))}else Qe=y(0);if(c=y(Hp+l),Lp?Ve=y(y(Bi(s,ur,y(Ks+Qe),Tc,B))-Ks):Ve=Fn,$e=y(y(Bi(s,ur,y(Ks+(Mp?Fn:Qe)),Tc,B))-Ks),Nt&Q){G=Tr;do{se=n[(n[Co>>2]|0)+(G<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(gi(se,ur)|0){if(Jt=y(Or(se,ur,Fn)),Jt=y(Jt+y(Cr(s,ur))),Jt=y(Jt+y(K(se,ur,xr))),O=n[Fu>>2]|0,h[se+400+(O<<2)>>2]=Jt,!(Ht(Jt)|0))break}else O=n[Fu>>2]|0;Jt=y(Cr(s,ur)),h[se+400+(O<<2)>>2]=y(Jt+y(K(se,ur,xr)));break}O=ha(s,se)|0;do if((O|0)==4){if((n[(Pl(se,ur)|0)+4>>2]|0)==3){Xr=139;break}if((n[(Sc(se,ur)|0)+4>>2]|0)==3){Xr=139;break}if(rs(se,ur,Fn)|0){l=Me;break}hf=n[se+908+(n[xl>>2]<<2)>>2]|0,n[Ys>>2]=hf,l=y(h[se+396>>2]),li=Ht(l)|0,Qe=(n[v>>2]=hf,y(h[v>>2])),li?l=$e:(Dr=y(cn(se,ur,xr)),Jt=y(Qe/l),l=y(l*Qe),l=y(Dr+(Jn?Jt:l))),h[Xa>>2]=l,h[Ys>>2]=y(y(cn(se,Rr,xr))+Qe),n[Yo>>2]=1,n[Ql>>2]=1,yr(se,Rr,ar,xr,Yo,Ys),yr(se,ur,Fn,xr,Ql,Xa),l=y(h[Ys>>2]),Dr=y(h[Xa>>2]),Jt=Jn?l:Dr,l=Jn?Dr:l,li=((Ht(Jt)|0)^1)&1,fa(se,Jt,l,Ss,li,((Ht(l)|0)^1)&1,xr,yo,1,3493,M)|0,l=Me}else Xr=139;while(0);e:do if((Xr|0)==139){Xr=0,l=y(Ve-y(is(se,ur,xr)));do if((n[(Pl(se,ur)|0)+4>>2]|0)==3){if((n[(Sc(se,ur)|0)+4>>2]|0)!=3)break;l=y(Me+y(_n(y(0),y(l*y(.5)))));break e}while(0);if((n[(Sc(se,ur)|0)+4>>2]|0)==3){l=Me;break}if((n[(Pl(se,ur)|0)+4>>2]|0)==3){l=y(Me+y(_n(y(0),l)));break}switch(O|0){case 1:{l=Me;break e}case 2:{l=y(Me+y(l*y(.5)));break e}default:{l=y(Me+l);break e}}}while(0);Jt=y(Ds+l),li=se+400+(n[Fu>>2]<<2)|0,h[li>>2]=y(Jt+y(h[li>>2]))}while(0);G=G+1|0}while((G|0)!=(cr|0))}if(Ds=y(Ds+$e),Qc=y(_n(Qc,c)),m=mo+1|0,cr>>>0>=zs>>>0)break;l=ar,Tr=cr,mo=m}do if(Q){if(O=m>>>0>1,!O&&!(Yi(s)|0))break;if(!(Ht(Fn)|0)){l=y(Fn-Ds);e:do switch(n[s+12>>2]|0){case 3:{Me=y(Me+l),_e=y(0);break}case 2:{Me=y(Me+y(l*y(.5))),_e=y(0);break}case 4:{Fn>Ds?_e=y(l/y(m>>>0)):_e=y(0);break}case 7:if(Fn>Ds){Me=y(Me+y(l/y(m<<1>>>0))),_e=y(l/y(m>>>0)),_e=O?_e:y(0);break e}else{Me=y(Me+y(l*y(.5))),_e=y(0);break e}case 6:{_e=y(l/y(mo>>>0)),_e=Fn>Ds&O?_e:y(0);break}default:_e=y(0)}while(0);if(m|0)for(Nt=1040+(ur<<2)|0,Mr=976+(ur<<2)|0,Ge=0,G=0;;){e:do if(G>>>0>>0)for(Qe=y(0),$e=y(0),l=y(0),se=G;;){O=n[(n[Co>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(Ge|0))break e;if(Lm(O,ur)|0&&(Jt=y(h[O+908+(n[Mr>>2]<<2)>>2]),l=y(_n(l,y(Jt+y(cn(O,ur,xr)))))),(ha(s,O)|0)!=5)break;Ws=y(Wa(O)),Ws=y(Ws+y(K(O,0,xr))),Jt=y(h[O+912>>2]),Jt=y(y(Jt+y(cn(O,0,xr)))-Ws),Ws=y(_n($e,Ws)),Jt=y(_n(Qe,Jt)),Qe=Jt,$e=Ws,l=y(_n(l,y(Ws+Jt)))}while(0);if(O=se+1|0,O>>>0>>0)se=O;else{se=O;break}}else $e=y(0),l=y(0),se=G;while(0);if(lt=y(_e+l),c=Me,Me=y(Me+lt),G>>>0>>0){Ve=y(c+$e),O=G;do{G=n[(n[Co>>2]|0)+(O<<2)>>2]|0;e:do if((n[G+36>>2]|0)!=1&&(n[G+24>>2]|0)==0)switch(ha(s,G)|0){case 1:{Jt=y(c+y(K(G,ur,xr))),h[G+400+(n[Nt>>2]<<2)>>2]=Jt;break e}case 3:{Jt=y(y(Me-y(re(G,ur,xr)))-y(h[G+908+(n[Mr>>2]<<2)>>2])),h[G+400+(n[Nt>>2]<<2)>>2]=Jt;break e}case 2:{Jt=y(c+y(y(lt-y(h[G+908+(n[Mr>>2]<<2)>>2]))*y(.5))),h[G+400+(n[Nt>>2]<<2)>>2]=Jt;break e}case 4:{if(Jt=y(c+y(K(G,ur,xr))),h[G+400+(n[Nt>>2]<<2)>>2]=Jt,rs(G,ur,Fn)|0||(Jn?(Qe=y(h[G+908>>2]),l=y(Qe+y(cn(G,Rr,xr))),$e=lt):($e=y(h[G+912>>2]),$e=y($e+y(cn(G,ur,xr))),l=lt,Qe=y(h[G+908>>2])),Ii(l,Qe)|0&&Ii($e,y(h[G+912>>2]))|0))break e;fa(G,l,$e,Ss,1,1,xr,yo,1,3501,M)|0;break e}case 5:{h[G+404>>2]=y(y(Ve-y(Wa(G)))+y(Or(G,0,Fn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(Ge=Ge+1|0,(Ge|0)==(m|0))break;G=se}}}while(0);if(h[s+908>>2]=y(Bi(s,2,Rc,B,B)),h[s+912>>2]=y(Bi(s,0,lf,k,B)),(Rl|0)!=0&&(cf=n[s+32>>2]|0,uf=(Rl|0)==2,!(uf&(cf|0)!=2))?uf&(cf|0)==2&&(l=y(Fc+ar),l=y(_n(y(Lg(l,y(MA(s,Rr,Qc,Eo)))),Fc)),Xr=198):(l=y(Bi(s,Rr,Qc,Eo,B)),Xr=198),(Xr|0)==198&&(h[s+908+(n[976+(Rr<<2)>>2]<<2)>>2]=l),(Fl|0)!=0&&(ff=n[s+32>>2]|0,pf=(Fl|0)==2,!(pf&(ff|0)!=2))?pf&(ff|0)==2&&(l=y(Ks+Fn),l=y(_n(y(Lg(l,y(MA(s,ur,y(Ks+Ds),Tc)))),Ks)),Xr=204):(l=y(Bi(s,ur,y(Ks+Ds),Tc,B)),Xr=204),(Xr|0)==204&&(h[s+908+(n[976+(ur<<2)>>2]<<2)>>2]=l),Q){if((n[Af>>2]|0)==2){G=976+(ur<<2)|0,se=1040+(ur<<2)|0,O=0;do Ge=ms(s,O)|0,n[Ge+24>>2]|0||(hf=n[G>>2]|0,Jt=y(h[s+908+(hf<<2)>>2]),li=Ge+400+(n[se>>2]<<2)|0,Jt=y(Jt-y(h[li>>2])),h[li>>2]=y(Jt-y(h[Ge+908+(hf<<2)>>2]))),O=O+1|0;while((O|0)!=(zs|0))}if(f|0){O=Jn?Rl:d;do Nm(s,f,xr,O,yo,Ss,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Rr|2|0)==3,G=(ur|2|0)==3,O|G){f=0;do se=n[(n[Co>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&Ip(s,se,Rr),G&&Ip(s,se,ur)),f=f+1|0;while((f|0)!=(zs|0))}}}while(0);C=Tl}function pa(s,l){s=s|0,l=y(l);var c=0;oa(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function Pc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=Xe,m=Xe,B=0,k=0,Q=0;n[2278]=(n[2278]|0)+1,vl(s),rs(s,2,l)|0?(d=y(Yr(n[s+992>>2]|0,l)),Q=1,d=y(d+y(cn(s,2,l)))):(d=y(Yr(s+380|0,l)),d>=y(0)?Q=2:(Q=((Ht(l)|0)^1)&1,d=l)),rs(s,0,c)|0?(m=y(Yr(n[s+996>>2]|0,c)),k=1,m=y(m+y(cn(s,0,l)))):(m=y(Yr(s+388|0,c)),m>=y(0)?k=2:(k=((Ht(c)|0)^1)&1,m=c)),B=s+976|0,fa(s,d,m,f,Q,k,l,c,1,3189,n[B>>2]|0)|0&&(Cp(s,n[s+496>>2]|0,l,c,l),Dc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&km(s,7)}function vl(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;k=C,C=C+32|0,B=k+24|0,m=k+16|0,f=k+8|0,d=k,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(Q=l,M=n[Q+4>>2]|0,O=f,n[O>>2]=n[Q>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,Q=d,n[Q>>2]=n[O>>2],n[Q+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],Bs(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);C=k}function rs(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])>2])>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(ce)}return y(l)}function Cp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=Xe;l=n[s+944>>2]|0?l:1,m=fr(n[s+4>>2]|0,l)|0,l=Ew(m,l)|0,c=y(Om(s,m,c)),f=y(Om(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(re(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(re(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function Dc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=Xe,k=Xe,Q=0,M=0,O=Xe,G=0,se=Xe,Ge=Xe,Me=Xe,Qe=Xe;if(l!=y(0)&&(d=s+400|0,Qe=y(h[d>>2]),m=s+404|0,Me=y(h[m>>2]),G=s+416|0,Ge=y(h[G>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Qe+c),O=y(Me+f),f=y(se+Ge),k=y(O+B),Q=(n[s+988>>2]|0)==1,h[d>>2]=y(Go(Qe,l,0,Q)),h[m>>2]=y(Go(Me,l,0,Q)),c=y(xF(y(Ge*l),y(1))),Ii(c,y(0))|0?m=0:m=(Ii(c,y(1))|0)^1,c=y(xF(y(B*l),y(1))),Ii(c,y(0))|0?d=0:d=(Ii(c,y(1))|0)^1,Qe=y(Go(f,l,Q&m,Q&(m^1))),h[G>>2]=y(Qe-y(Go(se,l,0,Q))),Qe=y(Go(k,l,Q&d,Q&(d^1))),h[M>>2]=y(Qe-y(Go(O,l,0,Q))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do Dc(ms(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function yw(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=i7(n[489]|0,f,d)|0;break}default:s=XUe(f,d)|0}return s|0}function Cg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=C,C=C+16|0,m=d,n[m>>2]=f,wg(s,0,l,c,m),C=d}function wg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,P7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Tt();else return}function Ya(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Rm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(Ig(s,f),Qt(s,n[l>>2]|0,n[c>>2]|0,f))}function Ig(s,l){s=s|0,l=l|0;var c=0;if((L(s)|0)>>>0>>0&&Vr(s),l>>>0>1073741823)Tt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function Qt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Pr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function L(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),he(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=Rn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(Je(s,c))}function re(s,l,c){return s=s|0,l=l|0,c=y(c),he(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=Rn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(Je(s,c))}function he(s){return s=s|0,(s|1|0)==3|0}function Je(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Yr(s,l)),y(l)}function mt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function fr(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function Cr(s,l){s=s|0,l=l|0;var c=Xe;return he(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(_n(y(h[(Rn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function yn(s,l){s=s|0,l=l|0;var c=Xe;return he(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(_n(y(h[(Rn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function oi(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return he(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(Yr(s+236|0,c)),f>=y(0))||(f=y(_n(y(Yr(Rn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Oi(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return he(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(Yr(s+244|0,c)),f>=y(0))||(f=y(_n(y(Yr(Rn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Bg(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Xe,Q=Xe,M=Xe,O=Xe,G=Xe,se=Xe,Ge=0,Me=0,Qe=0;Qe=C,C=C+16|0,Ge=Qe,Me=s+964|0,Un(s,(n[Me>>2]|0)!=0,3519),k=y(En(s,2,l)),Q=y(En(s,0,l)),M=y(cn(s,2,l)),O=y(cn(s,0,l)),Ht(l)|0?G=l:G=y(_n(y(0),y(y(l-M)-k))),Ht(c)|0?se=c:se=y(_n(y(0),y(y(c-O)-Q))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Bi(s,2,y(l-M),m,m)),l=y(Bi(s,0,y(c-O),B,m))):(D7[n[Me>>2]&1](Ge,s,G,f,se,d),G=y(k+y(h[Ge>>2])),se=y(l-M),h[s+908>>2]=y(Bi(s,2,(f|2|0)==2?G:se,m,m)),se=y(Q+y(h[Ge+4>>2])),l=y(c-O),l=y(Bi(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,C=Qe}function Yv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Xe,Q=Xe,M=Xe,O=Xe;M=y(En(s,2,m)),k=y(En(s,0,m)),O=y(cn(s,2,m)),Q=y(cn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Bi(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-Q),h[s+912>>2]=y(Bi(s,0,(d|2|0)==2?k:c,B,m))}function Wv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=0,Q=Xe,M=Xe;return k=(f|0)==2,!(l<=y(0)&k)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(Q=y(cn(s,0,m)),M=y(cn(s,2,m)),k=l>2]=y(Bi(s,2,k?y(0):l,m,m)),l=y(c-Q),k=c>2]=y(Bi(s,0,k?y(0):l,B,m)),s=1),s|0}function Ew(s,l){return s=s|0,l=l|0,UA(s)|0?s=fr(2,l)|0:s=0,s|0}function wp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(oi(s,l,c)),y(c+y(Cr(s,l)))}function Cw(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Oi(s,l,c)),y(c+y(yn(s,l)))}function En(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return f=y(wp(s,l,c)),y(f+y(Cw(s,l,c)))}function Fm(s){return s=s|0,n[s+24>>2]|0?s=0:y(ns(s))!=y(0)?s=1:s=y(js(s))!=y(0),s|0}function ns(s){s=s|0;var l=Xe;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ht(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ht(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function js(s){s=s|0;var l=Xe,c=0,f=Xe;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ht(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function vu(s){s=s|0;var l=0,c=0;if(Vm(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=wi(s)|0,c|0){l=s+948|0,s=0;do vu(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Tm(s,l,c,f,d,m,B,k,Q,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),k=k|0,Q=Q|0,M=M|0;var O=0,G=Xe,se=0,Ge=0,Me=Xe,Qe=Xe,$e=0,Ve=Xe,lt=0,_e=Xe,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=0,ho=0;xn=C,C=C+16|0,Mr=xn+12|0,cr=xn+8|0,Xt=xn+4|0,Dr=xn,ar=fr(n[s+4>>2]|0,Q)|0,qe=he(ar)|0,G=y(Yr(ww(l)|0,qe?m:B)),Nt=rs(l,2,m)|0,Tr=rs(l,0,B)|0;do if(!(Ht(G)|0)&&!(Ht(qe?c:d)|0)){if(O=l+504|0,!(Ht(y(h[O>>2]))|0)&&(!(Iw(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(_n(G,y(En(l,ar,m))))}else se=7;while(0);do if((se|0)==7){if(lt=qe^1,!(lt|Nt^1)){B=y(Yr(n[l+992>>2]|0,m)),h[l+504>>2]=y(_n(B,y(En(l,2,m))));break}if(!(qe|Tr^1)){B=y(Yr(n[l+996>>2]|0,B)),h[l+504>>2]=y(_n(B,y(En(l,0,m))));break}h[Mr>>2]=y(ce),h[cr>>2]=y(ce),n[Xt>>2]=0,n[Dr>>2]=0,Ve=y(cn(l,2,m)),_e=y(cn(l,0,m)),Nt?(Me=y(Ve+y(Yr(n[l+992>>2]|0,m))),h[Mr>>2]=Me,n[Xt>>2]=1,Ge=1):(Ge=0,Me=y(ce)),Tr?(G=y(_e+y(Yr(n[l+996>>2]|0,B))),h[cr>>2]=G,n[Dr>>2]=1,O=1):(O=0,G=y(ce)),se=n[s+32>>2]|0,qe&(se|0)==2?se=2:Ht(Me)|0&&!(Ht(c)|0)&&(h[Mr>>2]=c,n[Xt>>2]=2,Ge=2,Me=c),!((se|0)==2<)&&Ht(G)|0&&!(Ht(d)|0)&&(h[cr>>2]=d,n[Dr>>2]=2,O=2,G=d),Qe=y(h[l+396>>2]),$e=Ht(Qe)|0;do if($e)se=Ge;else{if((Ge|0)==1<){h[cr>>2]=y(y(Me-Ve)/Qe),n[Dr>>2]=1,O=1,se=1;break}qe&(O|0)==1?(h[Mr>>2]=y(Qe*y(G-_e)),n[Xt>>2]=1,O=1,se=1):se=Ge}while(0);ho=Ht(c)|0,Ge=(ha(s,l)|0)!=4,!(qe|Nt|((f|0)!=1|ho)|(Ge|(se|0)==1))&&(h[Mr>>2]=c,n[Xt>>2]=1,!$e)&&(h[cr>>2]=y(y(c-Ve)/Qe),n[Dr>>2]=1,O=1),!(Tr|lt|((k|0)!=1|(Ht(d)|0))|(Ge|(O|0)==1))&&(h[cr>>2]=d,n[Dr>>2]=1,!$e)&&(h[Mr>>2]=y(Qe*y(d-_e)),n[Xt>>2]=1),yr(l,2,m,m,Xt,Mr),yr(l,0,B,m,Dr,cr),c=y(h[Mr>>2]),d=y(h[cr>>2]),fa(l,c,d,Q,n[Xt>>2]|0,n[Dr>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(ar<<2)>>2]<<2)>>2]),h[l+504>>2]=y(_n(B,y(En(l,ar,m))))}while(0);n[l+500>>2]=n[2278],C=xn}function Bi(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(MA(s,l,c,f)),y(_n(f,y(En(s,l,d))))}function ha(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&UA(n[s+4>>2]|0)|0&&(l=1),l|0}function Pl(s,l){return s=s|0,l=l|0,he(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function Sc(s,l){return s=s|0,l=l|0,he(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function yr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Yr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(cn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ht(c)|0,f=y(h[m>>2]),h[m>>2]=d|f>2]=2,h[m>>2]=c);break}default:}}function gi(s,l){return s=s|0,l=l|0,s=s+132|0,he(l)|0&&(n[(Rn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Rn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Or(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,he(l)|0&&(f=Rn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Rn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Yr(f,c))),y(c)}function is(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(re(s,l,c)))}function Yi(s){s=s|0;var l=0,c=0,f=0;e:do if(UA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=wi(s)|0,!c)l=0;else for(l=0;;){if(f=ms(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Lm(s,l){s=s|0,l=l|0;var c=Xe;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ht(c)|0)^1)|0}function Wa(s){s=s|0;var l=Xe,c=0,f=0,d=0,m=0,B=0,k=0,Q=Xe;if(c=n[s+968>>2]|0,c)Q=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(w7[c&0](s,Q,l)),Un(s,(Ht(l)|0)^1,3573);else{m=wi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=ms(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(k=(ha(s,f)|0)==5,k){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Wa(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function MA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=Xe,m=0;return UA(l)|0?(l=1,m=3):he(l)|0?(l=0,m=3):(f=y(ce),d=y(ce)),(m|0)==3&&(d=y(Yr(s+364+(l<<3)|0,f)),f=y(Yr(s+380+(l<<3)|0,f))),m=f=y(0)&((Ht(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ht(d)|0)^1)&c>2]|0,m)|0,Me=Ew($e,m)|0,Qe=he($e)|0,G=y(cn(l,2,c)),se=y(cn(l,0,c)),rs(l,2,c)|0?k=y(G+y(Yr(n[l+992>>2]|0,c))):gi(l,2)|0&&lr(l,2)|0?(k=y(h[s+908>>2]),Q=y(Cr(s,2)),Q=y(k-y(Q+y(yn(s,2)))),k=y(Or(l,2,c)),k=y(Bi(l,2,y(Q-y(k+y(Pu(l,2,c)))),c,c))):k=y(ce),rs(l,0,d)|0?Q=y(se+y(Yr(n[l+996>>2]|0,d))):gi(l,0)|0&&lr(l,0)|0?(Q=y(h[s+912>>2]),lt=y(Cr(s,0)),lt=y(Q-y(lt+y(yn(s,0)))),Q=y(Or(l,0,d)),Q=y(Bi(l,0,y(lt-y(Q+y(Pu(l,0,d)))),d,c))):Q=y(ce),M=Ht(k)|0,O=Ht(Q)|0;do if(M^O&&(Ge=y(h[l+396>>2]),!(Ht(Ge)|0)))if(M){k=y(G+y(y(Q-se)*Ge));break}else{lt=y(se+y(y(k-G)/Ge)),Q=O?lt:Q;break}while(0);O=Ht(k)|0,M=Ht(Q)|0,O|M&&(_e=(O^1)&1,f=c>y(0)&((f|0)!=0&O),k=Qe?k:f?c:k,fa(l,k,Q,m,Qe?_e:f?2:_e,O&(M^1)&1,k,Q,0,3623,B)|0,k=y(h[l+908>>2]),k=y(k+y(cn(l,2,c))),Q=y(h[l+912>>2]),Q=y(Q+y(cn(l,0,c)))),fa(l,k,Q,m,1,1,k,Q,1,3635,B)|0,lr(l,$e)|0&&!(gi(l,$e)|0)?(_e=n[976+($e<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),lt=y(lt-y(yn(s,$e))),lt=y(lt-y(re(l,$e,c))),lt=y(lt-y(Pu(l,$e,Qe?c:d))),h[l+400+(n[1040+($e<<2)>>2]<<2)>>2]=lt):Ve=21;do if((Ve|0)==21){if(!(gi(l,$e)|0)&&(n[s+8>>2]|0)==1){_e=n[976+($e<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(y(lt-y(h[l+908+(_e<<2)>>2]))*y(.5)),h[l+400+(n[1040+($e<<2)>>2]<<2)>>2]=lt;break}!(gi(l,$e)|0)&&(n[s+8>>2]|0)==2&&(_e=n[976+($e<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),h[l+400+(n[1040+($e<<2)>>2]<<2)>>2]=lt)}while(0);lr(l,Me)|0&&!(gi(l,Me)|0)?(_e=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),lt=y(lt-y(yn(s,Me))),lt=y(lt-y(re(l,Me,c))),lt=y(lt-y(Pu(l,Me,Qe?d:c))),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt):Ve=30;do if((Ve|0)==30&&!(gi(l,Me)|0)){if((ha(s,l)|0)==2){_e=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(y(lt-y(h[l+908+(_e<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt;break}_e=(ha(s,l)|0)==3,_e^(n[s+28>>2]|0)==2&&(_e=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt)}while(0)}function Ip(s,l,c){s=s|0,l=l|0,c=c|0;var f=Xe,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function UA(s){return s=s|0,(s|1|0)==1|0}function ww(s){s=s|0;var l=Xe;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ht(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function Iw(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function lr(s,l){return s=s|0,l=l|0,s=s+132|0,he(l)|0&&(n[(Rn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Rn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Pu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,he(l)|0&&(f=Rn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Rn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Yr(f,c))),y(c)}function Om(s,l,c){return s=s|0,l=l|0,c=y(c),gi(s,l)|0?c=y(Or(s,l,c)):c=y(-y(Pu(s,l,c))),y(c)}function Du(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Bp(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function vg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _A(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function HA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;if(B=s+4|0,k=n[B>>2]|0,d=k-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0>>0){f=k;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0>>0)}m|0&&Nw(k+(0-m<<2)|0,l|0,d|0)|0}function Pg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0;return k=l+4|0,Q=n[k>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=Q+(0-(m>>2)<<2)|0,n[k>>2]=f,(m|0)>0&&Pr(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(Pr(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[k>>2],n[k>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[k>>2],Q|0}function Bw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Mm(){mc()}function ga(){var s=0;return s=Kt(4)|0,qA(s),s|0}function qA(s){s=s|0,n[s>>2]=Cs()|0}function bc(s){s=s|0,s|0&&(Dg(s),gt(s))}function Dg(s){s=s|0,tt(n[s>>2]|0)}function Um(s,l,c){s=s|0,l=l|0,c=c|0,Ya(n[s>>2]|0,l,c)}function Ao(s,l){s=s|0,l=y(l),pa(n[s>>2]|0,l)}function Kv(s,l){return s=s|0,l=l|0,Iw(n[s>>2]|0,l)|0}function vw(){var s=0;return s=Kt(8)|0,zv(s,0),s|0}function zv(s,l){s=s|0,l=l|0,l?l=Ci(n[l>>2]|0)|0:l=lo()|0,n[s>>2]=l,n[s+4>>2]=0,bi(l,s)}function fR(s){s=s|0;var l=0;return l=Kt(8)|0,zv(l,s),l|0}function Jv(s){s=s|0,s|0&&(Su(s),gt(s))}function Su(s){s=s|0;var l=0;la(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(GA(s),gt(s))}function GA(s){s=s|0,jA(s)}function jA(s){s=s|0,s=n[s>>2]|0,s|0&&SA(s|0)}function Pw(s){return s=s|0,Ho(s)|0}function _m(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(GA(l),gt(l)),qs(n[s>>2]|0)}function pR(s,l){s=s|0,l=l|0,$r(n[s>>2]|0,n[l>>2]|0)}function hR(s,l){s=s|0,l=l|0,ca(n[s>>2]|0,l)}function Vv(s,l,c){s=s|0,l=l|0,c=+c,Eu(n[s>>2]|0,l,y(c))}function Xv(s,l,c){s=s|0,l=l|0,c=+c,ws(n[s>>2]|0,l,y(c))}function Dw(s,l){s=s|0,l=l|0,du(n[s>>2]|0,l)}function bu(s,l){s=s|0,l=l|0,mu(n[s>>2]|0,l)}function gR(s,l){s=s|0,l=l|0,RA(n[s>>2]|0,l)}function dR(s,l){s=s|0,l=l|0,kA(n[s>>2]|0,l)}function vp(s,l){s=s|0,l=l|0,Ec(n[s>>2]|0,l)}function mR(s,l){s=s|0,l=l|0,fp(n[s>>2]|0,l)}function Zv(s,l,c){s=s|0,l=l|0,c=+c,wc(n[s>>2]|0,l,y(c))}function YA(s,l,c){s=s|0,l=l|0,c=+c,Y(n[s>>2]|0,l,y(c))}function yR(s,l){s=s|0,l=l|0,Il(n[s>>2]|0,l)}function ER(s,l){s=s|0,l=l|0,lg(n[s>>2]|0,l)}function $v(s,l){s=s|0,l=l|0,pp(n[s>>2]|0,l)}function Sw(s,l){s=s|0,l=+l,FA(n[s>>2]|0,y(l))}function bw(s,l){s=s|0,l=+l,qa(n[s>>2]|0,y(l))}function CR(s,l){s=s|0,l=+l,ji(n[s>>2]|0,y(l))}function wR(s,l){s=s|0,l=+l,Gs(n[s>>2]|0,y(l))}function Dl(s,l){s=s|0,l=+l,yu(n[s>>2]|0,y(l))}function xw(s,l){s=s|0,l=+l,dw(n[s>>2]|0,y(l))}function IR(s,l){s=s|0,l=+l,TA(n[s>>2]|0,y(l))}function WA(s){s=s|0,hp(n[s>>2]|0)}function Hm(s,l){s=s|0,l=+l,Is(n[s>>2]|0,y(l))}function xu(s,l){s=s|0,l=+l,Ag(n[s>>2]|0,y(l))}function kw(s){s=s|0,fg(n[s>>2]|0)}function Qw(s,l){s=s|0,l=+l,gp(n[s>>2]|0,y(l))}function BR(s,l){s=s|0,l=+l,Bc(n[s>>2]|0,y(l))}function eP(s,l){s=s|0,l=+l,Sm(n[s>>2]|0,y(l))}function KA(s,l){s=s|0,l=+l,hg(n[s>>2]|0,y(l))}function tP(s,l){s=s|0,l=+l,wu(n[s>>2]|0,y(l))}function qm(s,l){s=s|0,l=+l,bm(n[s>>2]|0,y(l))}function rP(s,l){s=s|0,l=+l,Iu(n[s>>2]|0,y(l))}function nP(s,l){s=s|0,l=+l,mw(n[s>>2]|0,y(l))}function Gm(s,l){s=s|0,l=+l,Aa(n[s>>2]|0,y(l))}function iP(s,l,c){s=s|0,l=l|0,c=+c,Cu(n[s>>2]|0,l,y(c))}function vR(s,l,c){s=s|0,l=l|0,c=+c,xi(n[s>>2]|0,l,y(c))}function D(s,l,c){s=s|0,l=l|0,c=+c,Ic(n[s>>2]|0,l,y(c))}function P(s){return s=s|0,ag(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Cc(d,n[l>>2]|0,c),q(s,d),C=f}function q(s,l){s=s|0,l=l|0,W(s,n[l+4>>2]|0,+y(h[l>>2]))}function W(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,E[s+8>>3]=c}function fe(s){return s=s|0,og(n[s>>2]|0)|0}function Pe(s){return s=s|0,co(n[s>>2]|0)|0}function vt(s){return s=s|0,yc(n[s>>2]|0)|0}function wt(s){return s=s|0,QA(n[s>>2]|0)|0}function xt(s){return s=s|0,Dm(n[s>>2]|0)|0}function _r(s){return s=s|0,sg(n[s>>2]|0)|0}function ss(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Pt(d,n[l>>2]|0,c),q(s,d),C=f}function di(s){return s=s|0,ei(n[s>>2]|0)|0}function fo(s){return s=s|0,cg(n[s>>2]|0)|0}function zA(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ua(f,n[l>>2]|0),q(s,f),C=c}function jo(s){return s=s|0,+ +y(Gi(n[s>>2]|0))}function nt(s){return s=s|0,+ +y(ts(n[s>>2]|0))}function ze(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Br(f,n[l>>2]|0),q(s,f),C=c}function At(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,pg(f,n[l>>2]|0),q(s,f),C=c}function Wt(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Ct(f,n[l>>2]|0),q(s,f),C=c}function vr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,gg(f,n[l>>2]|0),q(s,f),C=c}function Sn(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,dg(f,n[l>>2]|0),q(s,f),C=c}function Qr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,xm(f,n[l>>2]|0),q(s,f),C=c}function bn(s){return s=s|0,+ +y(vc(n[s>>2]|0))}function ai(s,l){return s=s|0,l=l|0,+ +y(ug(n[s>>2]|0,l))}function tn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,ct(d,n[l>>2]|0,c),q(s,d),C=f}function po(s,l,c){s=s|0,l=l|0,c=c|0,or(n[s>>2]|0,n[l>>2]|0,c)}function PR(s,l){s=s|0,l=l|0,Es(n[s>>2]|0,n[l>>2]|0)}function tve(s){return s=s|0,wi(n[s>>2]|0)|0}function rve(s){return s=s|0,s=pt(n[s>>2]|0)|0,s?s=Pw(s)|0:s=0,s|0}function nve(s,l){return s=s|0,l=l|0,s=ms(n[s>>2]|0,l)|0,s?s=Pw(s)|0:s=0,s|0}function ive(s,l){s=s|0,l=l|0;var c=0,f=0;f=Kt(4)|0,Vj(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(GA(l),gt(l)),It(n[s>>2]|0,1)}function Vj(s,l){s=s|0,l=l|0,dve(s,l)}function sve(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,ove(k,Ho(l)|0,+c,f,+d,m),h[s>>2]=y(+E[k>>3]),h[s+4>>2]=y(+E[k+8>>3]),C=B}function ove(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,k=0,Q=0,M=0,O=0;B=C,C=C+32|0,O=B+8|0,M=B+20|0,Q=B,k=B+16|0,E[O>>3]=c,n[M>>2]=f,E[Q>>3]=d,n[k>>2]=m,ave(s,n[l+4>>2]|0,O,M,Q,k),C=B}function ave(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,za(k),l=da(l)|0,lve(s,l,+E[c>>3],n[f>>2]|0,+E[d>>3],n[m>>2]|0),Ja(k),C=B}function da(s){return s=s|0,n[s>>2]|0}function lve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=Sl(cve()|0)|0,c=+JA(c),f=DR(f)|0,d=+JA(d),uve(s,hi(0,B|0,l|0,+c,f|0,+d,DR(m)|0)|0)}function cve(){var s=0;return o[7608]|0||(hve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function Sl(s){return s=s|0,n[s+8>>2]|0}function JA(s){return s=+s,+ +SR(s)}function DR(s){return s=s|0,Zj(s)|0}function uve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=l,f&1?(Ave(c,0),ii(f|0,c|0)|0,fve(s,c),pve(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),C=d}function Ave(s,l){s=s|0,l=l|0,Xj(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function fve(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function pve(s){s=s|0,o[s+24>>0]=0}function Xj(s,l){s=s|0,l=l|0,n[s>>2]=l}function Zj(s){return s=s|0,s|0}function SR(s){return s=+s,+s}function hve(s){s=s|0,bl(s,gve()|0,4)}function gve(){return 1064}function bl(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=Ap(l|0,c+1|0)|0}function dve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,El(l|0)}function mve(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(GA(l),gt(l)),It(n[s>>2]|0,0)}function yve(s){s=s|0,Lt(n[s>>2]|0)}function Eve(s){return s=s|0,rr(n[s>>2]|0)|0}function Cve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,Pc(n[s>>2]|0,y(l),y(c),f)}function wve(s){return s=s|0,+ +y(Bl(n[s>>2]|0))}function Ive(s){return s=s|0,+ +y(mg(n[s>>2]|0))}function Bve(s){return s=s|0,+ +y(Bu(n[s>>2]|0))}function vve(s){return s=s|0,+ +y(LA(n[s>>2]|0))}function Pve(s){return s=s|0,+ +y(dp(n[s>>2]|0))}function Dve(s){return s=s|0,+ +y(Ga(n[s>>2]|0))}function Sve(s,l){s=s|0,l=l|0,E[s>>3]=+y(Bl(n[l>>2]|0)),E[s+8>>3]=+y(mg(n[l>>2]|0)),E[s+16>>3]=+y(Bu(n[l>>2]|0)),E[s+24>>3]=+y(LA(n[l>>2]|0)),E[s+32>>3]=+y(dp(n[l>>2]|0)),E[s+40>>3]=+y(Ga(n[l>>2]|0))}function bve(s,l){return s=s|0,l=l|0,+ +y(yg(n[s>>2]|0,l))}function xve(s,l){return s=s|0,l=l|0,+ +y(mp(n[s>>2]|0,l))}function kve(s,l){return s=s|0,l=l|0,+ +y(qo(n[s>>2]|0,l))}function Qve(){return Dn()|0}function Rve(){Fve(),Tve(),Lve(),Nve(),Ove(),Mve()}function Fve(){OLe(11713,4938,1)}function Tve(){rLe(10448)}function Lve(){OTe(10408)}function Nve(){oTe(10324)}function Ove(){hRe(10096)}function Mve(){Uve(9132)}function Uve(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=0,ho=0,go=0,mo=0,ya=0,Fp=0,Tp=0,xl=0,Lp=0,Fu=0,Tu=0,Np=0,Op=0,Mp=0,Xr=0,kl=0,Up=0,kc=0,_p=0,Hp=0,Lu=0,Nu=0,Qc=0,Ys=0,Xa=0,Yo=0,Ql=0,nf=0,sf=0,Ou=0,of=0,af=0,Ws=0,Ds=0,Rl=0,Fn=0,lf=0,yo=0,Rc=0,Eo=0,Fc=0,cf=0,uf=0,Tc=0,Ks=0,Fl=0,Af=0,ff=0,pf=0,xr=0,Jn=0,Ss=0,Co=0,zs=0,Rr=0,ur=0,Tl=0;l=C,C=C+672|0,c=l+656|0,Tl=l+648|0,ur=l+640|0,Rr=l+632|0,zs=l+624|0,Co=l+616|0,Ss=l+608|0,Jn=l+600|0,xr=l+592|0,pf=l+584|0,ff=l+576|0,Af=l+568|0,Fl=l+560|0,Ks=l+552|0,Tc=l+544|0,uf=l+536|0,cf=l+528|0,Fc=l+520|0,Eo=l+512|0,Rc=l+504|0,yo=l+496|0,lf=l+488|0,Fn=l+480|0,Rl=l+472|0,Ds=l+464|0,Ws=l+456|0,af=l+448|0,of=l+440|0,Ou=l+432|0,sf=l+424|0,nf=l+416|0,Ql=l+408|0,Yo=l+400|0,Xa=l+392|0,Ys=l+384|0,Qc=l+376|0,Nu=l+368|0,Lu=l+360|0,Hp=l+352|0,_p=l+344|0,kc=l+336|0,Up=l+328|0,kl=l+320|0,Xr=l+312|0,Mp=l+304|0,Op=l+296|0,Np=l+288|0,Tu=l+280|0,Fu=l+272|0,Lp=l+264|0,xl=l+256|0,Tp=l+248|0,Fp=l+240|0,ya=l+232|0,mo=l+224|0,go=l+216|0,ho=l+208|0,xn=l+200|0,ar=l+192|0,Tr=l+184|0,Dr=l+176|0,Xt=l+168|0,cr=l+160|0,Mr=l+152|0,Nt=l+144|0,qe=l+136|0,_e=l+128|0,lt=l+120|0,Ve=l+112|0,$e=l+104|0,Qe=l+96|0,Me=l+88|0,Ge=l+80|0,se=l+72|0,G=l+64|0,O=l+56|0,M=l+48|0,Q=l+40|0,k=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,_ve(s,3646),Hve(s,3651,2)|0,qve(s,3665,2)|0,Gve(s,3682,18)|0,n[Tl>>2]=19,n[Tl+4>>2]=0,n[c>>2]=n[Tl>>2],n[c+4>>2]=n[Tl+4>>2],Rw(s,3690,c)|0,n[ur>>2]=1,n[ur+4>>2]=0,n[c>>2]=n[ur>>2],n[c+4>>2]=n[ur+4>>2],jve(s,3696,c)|0,n[Rr>>2]=2,n[Rr+4>>2]=0,n[c>>2]=n[Rr>>2],n[c+4>>2]=n[Rr+4>>2],ku(s,3706,c)|0,n[zs>>2]=1,n[zs+4>>2]=0,n[c>>2]=n[zs>>2],n[c+4>>2]=n[zs+4>>2],Sg(s,3722,c)|0,n[Co>>2]=2,n[Co+4>>2]=0,n[c>>2]=n[Co>>2],n[c+4>>2]=n[Co+4>>2],Sg(s,3734,c)|0,n[Ss>>2]=3,n[Ss+4>>2]=0,n[c>>2]=n[Ss>>2],n[c+4>>2]=n[Ss+4>>2],ku(s,3753,c)|0,n[Jn>>2]=4,n[Jn+4>>2]=0,n[c>>2]=n[Jn>>2],n[c+4>>2]=n[Jn+4>>2],ku(s,3769,c)|0,n[xr>>2]=5,n[xr+4>>2]=0,n[c>>2]=n[xr>>2],n[c+4>>2]=n[xr+4>>2],ku(s,3783,c)|0,n[pf>>2]=6,n[pf+4>>2]=0,n[c>>2]=n[pf>>2],n[c+4>>2]=n[pf+4>>2],ku(s,3796,c)|0,n[ff>>2]=7,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],ku(s,3813,c)|0,n[Af>>2]=8,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],ku(s,3825,c)|0,n[Fl>>2]=3,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],Sg(s,3843,c)|0,n[Ks>>2]=4,n[Ks+4>>2]=0,n[c>>2]=n[Ks>>2],n[c+4>>2]=n[Ks+4>>2],Sg(s,3853,c)|0,n[Tc>>2]=9,n[Tc+4>>2]=0,n[c>>2]=n[Tc>>2],n[c+4>>2]=n[Tc+4>>2],ku(s,3870,c)|0,n[uf>>2]=10,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],ku(s,3884,c)|0,n[cf>>2]=11,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],ku(s,3896,c)|0,n[Fc>>2]=1,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],vs(s,3907,c)|0,n[Eo>>2]=2,n[Eo+4>>2]=0,n[c>>2]=n[Eo>>2],n[c+4>>2]=n[Eo+4>>2],vs(s,3915,c)|0,n[Rc>>2]=3,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],vs(s,3928,c)|0,n[yo>>2]=4,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],vs(s,3948,c)|0,n[lf>>2]=5,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],vs(s,3960,c)|0,n[Fn>>2]=6,n[Fn+4>>2]=0,n[c>>2]=n[Fn>>2],n[c+4>>2]=n[Fn+4>>2],vs(s,3974,c)|0,n[Rl>>2]=7,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],vs(s,3983,c)|0,n[Ds>>2]=20,n[Ds+4>>2]=0,n[c>>2]=n[Ds>>2],n[c+4>>2]=n[Ds+4>>2],Rw(s,3999,c)|0,n[Ws>>2]=8,n[Ws+4>>2]=0,n[c>>2]=n[Ws>>2],n[c+4>>2]=n[Ws+4>>2],vs(s,4012,c)|0,n[af>>2]=9,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],vs(s,4022,c)|0,n[of>>2]=21,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],Rw(s,4039,c)|0,n[Ou>>2]=10,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],vs(s,4053,c)|0,n[sf>>2]=11,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],vs(s,4065,c)|0,n[nf>>2]=12,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],vs(s,4084,c)|0,n[Ql>>2]=13,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],vs(s,4097,c)|0,n[Yo>>2]=14,n[Yo+4>>2]=0,n[c>>2]=n[Yo>>2],n[c+4>>2]=n[Yo+4>>2],vs(s,4117,c)|0,n[Xa>>2]=15,n[Xa+4>>2]=0,n[c>>2]=n[Xa>>2],n[c+4>>2]=n[Xa+4>>2],vs(s,4129,c)|0,n[Ys>>2]=16,n[Ys+4>>2]=0,n[c>>2]=n[Ys>>2],n[c+4>>2]=n[Ys+4>>2],vs(s,4148,c)|0,n[Qc>>2]=17,n[Qc+4>>2]=0,n[c>>2]=n[Qc>>2],n[c+4>>2]=n[Qc+4>>2],vs(s,4161,c)|0,n[Nu>>2]=18,n[Nu+4>>2]=0,n[c>>2]=n[Nu>>2],n[c+4>>2]=n[Nu+4>>2],vs(s,4181,c)|0,n[Lu>>2]=5,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],Sg(s,4196,c)|0,n[Hp>>2]=6,n[Hp+4>>2]=0,n[c>>2]=n[Hp>>2],n[c+4>>2]=n[Hp+4>>2],Sg(s,4206,c)|0,n[_p>>2]=7,n[_p+4>>2]=0,n[c>>2]=n[_p>>2],n[c+4>>2]=n[_p+4>>2],Sg(s,4217,c)|0,n[kc>>2]=3,n[kc+4>>2]=0,n[c>>2]=n[kc>>2],n[c+4>>2]=n[kc+4>>2],VA(s,4235,c)|0,n[Up>>2]=1,n[Up+4>>2]=0,n[c>>2]=n[Up>>2],n[c+4>>2]=n[Up+4>>2],bR(s,4251,c)|0,n[kl>>2]=4,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],VA(s,4263,c)|0,n[Xr>>2]=5,n[Xr+4>>2]=0,n[c>>2]=n[Xr>>2],n[c+4>>2]=n[Xr+4>>2],VA(s,4279,c)|0,n[Mp>>2]=6,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],VA(s,4293,c)|0,n[Op>>2]=7,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],VA(s,4306,c)|0,n[Np>>2]=8,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],VA(s,4323,c)|0,n[Tu>>2]=9,n[Tu+4>>2]=0,n[c>>2]=n[Tu>>2],n[c+4>>2]=n[Tu+4>>2],VA(s,4335,c)|0,n[Fu>>2]=2,n[Fu+4>>2]=0,n[c>>2]=n[Fu>>2],n[c+4>>2]=n[Fu+4>>2],bR(s,4353,c)|0,n[Lp>>2]=12,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],bg(s,4363,c)|0,n[xl>>2]=1,n[xl+4>>2]=0,n[c>>2]=n[xl>>2],n[c+4>>2]=n[xl+4>>2],XA(s,4376,c)|0,n[Tp>>2]=2,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],XA(s,4388,c)|0,n[Fp>>2]=13,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],bg(s,4402,c)|0,n[ya>>2]=14,n[ya+4>>2]=0,n[c>>2]=n[ya>>2],n[c+4>>2]=n[ya+4>>2],bg(s,4411,c)|0,n[mo>>2]=15,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],bg(s,4421,c)|0,n[go>>2]=16,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],bg(s,4433,c)|0,n[ho>>2]=17,n[ho+4>>2]=0,n[c>>2]=n[ho>>2],n[c+4>>2]=n[ho+4>>2],bg(s,4446,c)|0,n[xn>>2]=18,n[xn+4>>2]=0,n[c>>2]=n[xn>>2],n[c+4>>2]=n[xn+4>>2],bg(s,4458,c)|0,n[ar>>2]=3,n[ar+4>>2]=0,n[c>>2]=n[ar>>2],n[c+4>>2]=n[ar+4>>2],XA(s,4471,c)|0,n[Tr>>2]=1,n[Tr+4>>2]=0,n[c>>2]=n[Tr>>2],n[c+4>>2]=n[Tr+4>>2],sP(s,4486,c)|0,n[Dr>>2]=10,n[Dr+4>>2]=0,n[c>>2]=n[Dr>>2],n[c+4>>2]=n[Dr+4>>2],VA(s,4496,c)|0,n[Xt>>2]=11,n[Xt+4>>2]=0,n[c>>2]=n[Xt>>2],n[c+4>>2]=n[Xt+4>>2],VA(s,4508,c)|0,n[cr>>2]=3,n[cr+4>>2]=0,n[c>>2]=n[cr>>2],n[c+4>>2]=n[cr+4>>2],bR(s,4519,c)|0,n[Mr>>2]=4,n[Mr+4>>2]=0,n[c>>2]=n[Mr>>2],n[c+4>>2]=n[Mr+4>>2],Yve(s,4530,c)|0,n[Nt>>2]=19,n[Nt+4>>2]=0,n[c>>2]=n[Nt>>2],n[c+4>>2]=n[Nt+4>>2],Wve(s,4542,c)|0,n[qe>>2]=12,n[qe+4>>2]=0,n[c>>2]=n[qe>>2],n[c+4>>2]=n[qe+4>>2],Kve(s,4554,c)|0,n[_e>>2]=13,n[_e+4>>2]=0,n[c>>2]=n[_e>>2],n[c+4>>2]=n[_e+4>>2],zve(s,4568,c)|0,n[lt>>2]=2,n[lt+4>>2]=0,n[c>>2]=n[lt>>2],n[c+4>>2]=n[lt+4>>2],Jve(s,4578,c)|0,n[Ve>>2]=20,n[Ve+4>>2]=0,n[c>>2]=n[Ve>>2],n[c+4>>2]=n[Ve+4>>2],Vve(s,4587,c)|0,n[$e>>2]=22,n[$e+4>>2]=0,n[c>>2]=n[$e>>2],n[c+4>>2]=n[$e+4>>2],Rw(s,4602,c)|0,n[Qe>>2]=23,n[Qe+4>>2]=0,n[c>>2]=n[Qe>>2],n[c+4>>2]=n[Qe+4>>2],Rw(s,4619,c)|0,n[Me>>2]=14,n[Me+4>>2]=0,n[c>>2]=n[Me>>2],n[c+4>>2]=n[Me+4>>2],Xve(s,4629,c)|0,n[Ge>>2]=1,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],Zve(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],XA(s,4653,c)|0,n[G>>2]=5,n[G+4>>2]=0,n[c>>2]=n[G>>2],n[c+4>>2]=n[G+4>>2],XA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],XA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],XA(s,4701,c)|0,n[Q>>2]=8,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],XA(s,4719,c)|0,n[k>>2]=9,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],XA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],$ve(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],sP(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],sP(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],sP(s,4808,c)|0,C=l}function _ve(s,l){s=s|0,l=l|0;var c=0;c=sRe()|0,n[s>>2]=c,oRe(c,l),kp(n[s>>2]|0)}function Hve(s,l,c){return s=s|0,l=l|0,c=c|0,YQe(s,pn(l)|0,c,0),s|0}function qve(s,l,c){return s=s|0,l=l|0,c=c|0,xQe(s,pn(l)|0,c,0),s|0}function Gve(s,l,c){return s=s|0,l=l|0,c=c|0,gQe(s,pn(l)|0,c,0),s|0}function Rw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$ke(s,l,d),C=f,s|0}function jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tke(s,l,d),C=f,s|0}function ku(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yke(s,l,d),C=f,s|0}function Sg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rke(s,l,d),C=f,s|0}function vs(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_xe(s,l,d),C=f,s|0}function VA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vxe(s,l,d),C=f,s|0}function bR(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lxe(s,l,d),C=f,s|0}function bg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tbe(s,l,d),C=f,s|0}function XA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ybe(s,l,d),C=f,s|0}function sP(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rbe(s,l,d),C=f,s|0}function Yve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_Se(s,l,d),C=f,s|0}function Wve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vSe(s,l,d),C=f,s|0}function Kve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cSe(s,l,d),C=f,s|0}function zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zDe(s,l,d),C=f,s|0}function Jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QDe(s,l,d),C=f,s|0}function Vve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hDe(s,l,d),C=f,s|0}function Xve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZPe(s,l,d),C=f,s|0}function Zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],TPe(s,l,d),C=f,s|0}function $ve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ePe(s,l,d),C=f,s|0}function ePe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tPe(s,c,d,1),C=f}function pn(s){return s=s|0,s|0}function tPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=xR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rPe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,nPe(m,f)|0,f),C=d}function xR(){var s=0,l=0;if(o[7616]|0||(t9(9136),ir(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t9(9136)}return 9136}function rPe(s){return s=s|0,0}function nPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=xR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],e9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(oPe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function hn(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0;B=C,C=C+32|0,se=B+24|0,G=B+20|0,Q=B+16|0,O=B+12|0,M=B+8|0,k=B+4|0,Ge=B,n[G>>2]=l,n[Q>>2]=c,n[O>>2]=f,n[M>>2]=d,n[k>>2]=m,m=s+28|0,n[Ge>>2]=n[m>>2],n[se>>2]=n[Ge>>2],iPe(s+24|0,se,G,O,M,Q,k)|0,n[m>>2]=n[n[m>>2]>>2],C=B}function iPe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=sPe(l)|0,l=Kt(24)|0,$j(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function sPe(s){return s=s|0,n[s>>2]|0}function $j(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function gr(s,l){return s=s|0,l=l|0,l|s|0}function e9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function oPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=aPe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lPe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],e9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cPe(s,k),uPe(k),C=M;return}}function aPe(s){return s=s|0,357913941}function lPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function uPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function t9(s){s=s|0,pPe(s)}function APe(s){s=s|0,fPe(s+24|0)}function Fr(s){return s=s|0,n[s>>2]|0}function fPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,3,l,hPe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zr(){return 9228}function hPe(){return 1140}function gPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=dPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=mPe(l,f)|0,C=c,l|0}function Jr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function dPe(s){return s=s|0,(n[(xR()|0)+24>>2]|0)+(s*12|0)|0}function mPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=yPe(f)|0,C=d,f|0}function yPe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=kR(r9()|0)|0,f?(QR(l,f),RR(c,l),EPe(s,c),s=FR(l)|0):s=CPe(s)|0,C=d,s|0}function r9(){var s=0;return o[7632]|0||(kPe(9184),ir(25,9184,U|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function kR(s){return s=s|0,n[s+36>>2]|0}function QR(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function RR(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function EPe(s,l){s=s|0,l=l|0,vPe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function FR(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function CPe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0;Q=C,C=C+16|0,c=Q+4|0,f=Q,d=Ka(8)|0,m=d,B=Kt(48)|0,k=B,l=k+48|0;do n[k>>2]=n[s>>2],k=k+4|0,s=s+4|0;while((k|0)<(l|0));return l=m+4|0,n[l>>2]=B,k=Kt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],n9(k,B,c),n[d>>2]=k,C=Q,m|0}function n9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function wPe(s){s=s|0,Jm(s),gt(s)}function IPe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function BPe(s){s=s|0,gt(s)}function vPe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=PPe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function PPe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var k=0,Q=0;return k=C,C=C+16|0,Q=k,za(Q),s=da(s)|0,B=DPe(s,+E[l>>3],+E[c>>3],+E[f>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,Ja(Q),C=k,B|0}function DPe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var k=0;return k=Sl(SPe()|0)|0,l=+JA(l),c=+JA(c),f=+JA(f),d=+JA(d),m=+JA(m),_s(0,k|0,s|0,+l,+c,+f,+d,+m,+ +JA(B))|0}function SPe(){var s=0;return o[7624]|0||(bPe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function bPe(s){s=s|0,bl(s,xPe()|0,6)}function xPe(){return 1112}function kPe(s){s=s|0,Pp(s)}function QPe(s){s=s|0,i9(s+24|0),s9(s+16|0)}function i9(s){s=s|0,FPe(s)}function s9(s){s=s|0,RPe(s)}function RPe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function FPe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function Pp(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function TPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],LPe(s,c,d,0),C=f}function LPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=TR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=NPe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,OPe(m,f)|0,f),C=d}function TR(){var s=0,l=0;if(o[7640]|0||(a9(9232),ir(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a9(9232)}return 9232}function NPe(s){return s=s|0,0}function OPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=TR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(MPe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function MPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=UPe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,_Pe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,HPe(s,k),qPe(k),C=M;return}}function UPe(s){return s=s|0,357913941}function _Pe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function HPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function a9(s){s=s|0,YPe(s)}function GPe(s){s=s|0,jPe(s+24|0)}function jPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function YPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,WPe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function WPe(){return 1144}function KPe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+16|0,B=m+8|0,k=m,Q=zPe(s)|0,s=n[Q+4>>2]|0,n[k>>2]=n[Q>>2],n[k+4>>2]=s,n[B>>2]=n[k>>2],n[B+4>>2]=n[k+4>>2],JPe(l,B,c,f,d),C=m}function zPe(s){return s=s|0,(n[(TR()|0)+24>>2]|0)+(s*12|0)|0}function JPe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,Q=0,M=0;M=C,C=C+16|0,B=M+2|0,k=M+1|0,Q=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Qu(B,c),c=+Ru(B,c),Qu(k,f),f=+Ru(k,f),ZA(Q,d),Q=$A(Q,d)|0,I7[m&1](s,c,f,Q),C=M}function Qu(s,l){s=s|0,l=+l}function Ru(s,l){return s=s|0,l=+l,+ +XPe(l)}function ZA(s,l){s=s|0,l=l|0}function $A(s,l){return s=s|0,l=l|0,VPe(l)|0}function VPe(s){return s=s|0,s|0}function XPe(s){return s=+s,+s}function ZPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Pe(s,c,d,1),C=f}function $Pe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=LR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=eDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,tDe(m,f)|0,f),C=d}function LR(){var s=0,l=0;if(o[7648]|0||(c9(9268),ir(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c9(9268)}return 9268}function eDe(s){return s=s|0,0}function tDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=LR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],l9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(rDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function l9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function rDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=nDe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,iDe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],l9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,sDe(s,k),oDe(k),C=M;return}}function nDe(s){return s=s|0,357913941}function iDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function sDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function oDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function c9(s){s=s|0,cDe(s)}function aDe(s){s=s|0,lDe(s+24|0)}function lDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function cDe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,4,l,uDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uDe(){return 1160}function ADe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=fDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=pDe(l,f)|0,C=c,l|0}function fDe(s){return s=s|0,(n[(LR()|0)+24>>2]|0)+(s*12|0)|0}function pDe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),u9(Og[c&31](s)|0)|0}function u9(s){return s=s|0,s&1|0}function hDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gDe(s,c,d,0),C=f}function gDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=NR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=dDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,mDe(m,f)|0,f),C=d}function NR(){var s=0,l=0;if(o[7656]|0||(f9(9304),ir(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));f9(9304)}return 9304}function dDe(s){return s=s|0,0}function mDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=NR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],A9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(yDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function A9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function yDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=EDe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,CDe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],A9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,wDe(s,k),IDe(k),C=M;return}}function EDe(s){return s=s|0,357913941}function CDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function wDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function IDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function f9(s){s=s|0,PDe(s)}function BDe(s){s=s|0,vDe(s+24|0)}function vDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function PDe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,DDe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function DDe(){return 1164}function SDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=bDe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xDe(l,d,c),C=f}function bDe(s){return s=s|0,(n[(NR()|0)+24>>2]|0)+(s*12|0)|0}function xDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Dp(d,c),c=Sp(d,c)|0,rf[f&31](s,c),bp(d),C=m}function Dp(s,l){s=s|0,l=l|0,kDe(s,l)}function Sp(s,l){return s=s|0,l=l|0,s|0}function bp(s){s=s|0,GA(s)}function kDe(s,l){s=s|0,l=l|0,OR(s,l)}function OR(s,l){s=s|0,l=l|0,n[s>>2]=l}function QDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RDe(s,c,d,0),C=f}function RDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=MR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=FDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,TDe(m,f)|0,f),C=d}function MR(){var s=0,l=0;if(o[7664]|0||(h9(9340),ir(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));h9(9340)}return 9340}function FDe(s){return s=s|0,0}function TDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=MR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],p9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(LDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function p9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function LDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=NDe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,ODe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],p9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,MDe(s,k),UDe(k),C=M;return}}function NDe(s){return s=s|0,357913941}function ODe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function MDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function UDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function h9(s){s=s|0,qDe(s)}function _De(s){s=s|0,HDe(s+24|0)}function HDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function qDe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,4,l,GDe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GDe(){return 1180}function jDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=YDe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=WDe(l,d,c)|0,C=f,c|0}function YDe(s){return s=s|0,(n[(MR()|0)+24>>2]|0)+(s*12|0)|0}function WDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),xg(d,c),d=kg(d,c)|0,d=oP(TF[f&15](s,d)|0)|0,C=m,d|0}function xg(s,l){s=s|0,l=l|0}function kg(s,l){return s=s|0,l=l|0,KDe(l)|0}function oP(s){return s=s|0,s|0}function KDe(s){return s=s|0,s|0}function zDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],JDe(s,c,d,0),C=f}function JDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=UR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=VDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,XDe(m,f)|0,f),C=d}function UR(){var s=0,l=0;if(o[7672]|0||(d9(9376),ir(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));d9(9376)}return 9376}function VDe(s){return s=s|0,0}function XDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=UR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],g9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ZDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function g9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ZDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=$De(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,eSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],g9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,tSe(s,k),rSe(k),C=M;return}}function $De(s){return s=s|0,357913941}function eSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function tSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function d9(s){s=s|0,sSe(s)}function nSe(s){s=s|0,iSe(s+24|0)}function iSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function sSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,m9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function m9(){return 1196}function oSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=aSe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=lSe(l,f)|0,C=c,l|0}function aSe(s){return s=s|0,(n[(UR()|0)+24>>2]|0)+(s*12|0)|0}function lSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),oP(Og[c&31](s)|0)|0}function cSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uSe(s,c,d,1),C=f}function uSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=_R()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ASe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,fSe(m,f)|0,f),C=d}function _R(){var s=0,l=0;if(o[7680]|0||(E9(9412),ir(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));E9(9412)}return 9412}function ASe(s){return s=s|0,0}function fSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=_R()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],y9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(pSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function y9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function pSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=hSe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,gSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],y9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,dSe(s,k),mSe(k),C=M;return}}function hSe(s){return s=s|0,357913941}function gSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function dSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function mSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function E9(s){s=s|0,CSe(s)}function ySe(s){s=s|0,ESe(s+24|0)}function ESe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function CSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,C9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function C9(){return 1200}function wSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=ISe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=BSe(l,f)|0,C=c,l|0}function ISe(s){return s=s|0,(n[(_R()|0)+24>>2]|0)+(s*12|0)|0}function BSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),aP(Og[c&31](s)|0)|0}function aP(s){return s=s|0,s|0}function vSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PSe(s,c,d,0),C=f}function PSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=HR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=DSe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,SSe(m,f)|0,f),C=d}function HR(){var s=0,l=0;if(o[7688]|0||(I9(9448),ir(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I9(9448)}return 9448}function DSe(s){return s=s|0,0}function SSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=HR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(bSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function bSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xSe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,kSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,QSe(s,k),RSe(k),C=M;return}}function xSe(s){return s=s|0,357913941}function kSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function QSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function RSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function I9(s){s=s|0,LSe(s)}function FSe(s){s=s|0,TSe(s+24|0)}function TSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function LSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,B9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function B9(){return 1204}function NSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=OSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MSe(l,d,c),C=f}function OSe(s){return s=s|0,(n[(HR()|0)+24>>2]|0)+(s*12|0)|0}function MSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),qR(d,c),d=GR(d,c)|0,rf[f&31](s,d),C=m}function qR(s,l){s=s|0,l=l|0}function GR(s,l){return s=s|0,l=l|0,USe(l)|0}function USe(s){return s=s|0,s|0}function _Se(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HSe(s,c,d,0),C=f}function HSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=jR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=qSe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,GSe(m,f)|0,f),C=d}function jR(){var s=0,l=0;if(o[7696]|0||(P9(9484),ir(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P9(9484)}return 9484}function qSe(s){return s=s|0,0}function GSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=jR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=YSe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,WSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,KSe(s,k),zSe(k),C=M;return}}function YSe(s){return s=s|0,357913941}function WSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function KSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function P9(s){s=s|0,XSe(s)}function JSe(s){s=s|0,VSe(s+24|0)}function VSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function XSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,ZSe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZSe(){return 1212}function $Se(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=ebe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],tbe(l,m,c,f),C=d}function ebe(s){return s=s|0,(n[(jR()|0)+24>>2]|0)+(s*12|0)|0}function tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),qR(m,c),m=GR(m,c)|0,xg(B,f),B=kg(B,f)|0,Uw[d&15](s,m,B),C=k}function rbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nbe(s,c,d,1),C=f}function nbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=YR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ibe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,sbe(m,f)|0,f),C=d}function YR(){var s=0,l=0;if(o[7704]|0||(S9(9520),ir(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));S9(9520)}return 9520}function ibe(s){return s=s|0,0}function sbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=YR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],D9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(obe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function D9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function obe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=abe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lbe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],D9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cbe(s,k),ube(k),C=M;return}}function abe(s){return s=s|0,357913941}function lbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ube(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function S9(s){s=s|0,pbe(s)}function Abe(s){s=s|0,fbe(s+24|0)}function fbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pbe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,hbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hbe(){return 1224}function gbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;return d=C,C=C+16|0,m=d+8|0,B=d,k=dbe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+mbe(l,m,c),C=d,+f}function dbe(s){return s=s|0,(n[(YR()|0)+24>>2]|0)+(s*12|0)|0}function mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,B=+SR(+v7[f&7](s,d)),C=m,+B}function ybe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Ebe(s,c,d,1),C=f}function Ebe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=WR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Cbe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,wbe(m,f)|0,f),C=d}function WR(){var s=0,l=0;if(o[7712]|0||(x9(9556),ir(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));x9(9556)}return 9556}function Cbe(s){return s=s|0,0}function wbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=WR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],b9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Ibe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function b9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Bbe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,vbe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],b9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Pbe(s,k),Dbe(k),C=M;return}}function Bbe(s){return s=s|0,357913941}function vbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Pbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function x9(s){s=s|0,xbe(s)}function Sbe(s){s=s|0,bbe(s+24|0)}function bbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function xbe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,kbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kbe(){return 1232}function Qbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=Rbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+Fbe(l,d),C=f,+c}function Rbe(s){return s=s|0,(n[(WR()|0)+24>>2]|0)+(s*12|0)|0}function Fbe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +SR(+B7[c&15](s))}function Tbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Lbe(s,c,d,1),C=f}function Lbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=KR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nbe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Obe(m,f)|0,f),C=d}function KR(){var s=0,l=0;if(o[7720]|0||(Q9(9592),ir(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Q9(9592)}return 9592}function Nbe(s){return s=s|0,0}function Obe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=KR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],k9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Mbe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function k9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Ube(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,_be(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],k9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Hbe(s,k),qbe(k),C=M;return}}function Ube(s){return s=s|0,357913941}function _be(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Hbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function Q9(s){s=s|0,Ybe(s)}function Gbe(s){s=s|0,jbe(s+24|0)}function jbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Ybe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,7,l,Wbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Wbe(){return 1276}function Kbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=zbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Jbe(l,f)|0,C=c,l|0}function zbe(s){return s=s|0,(n[(KR()|0)+24>>2]|0)+(s*12|0)|0}function Jbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=R9(f)|0,C=d,f|0}function R9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=kR(F9()|0)|0,f?(QR(l,f),RR(c,l),Vbe(s,c),s=FR(l)|0):s=Xbe(s)|0,C=d,s|0}function F9(){var s=0;return o[7736]|0||(axe(9640),ir(25,9640,U|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function Vbe(s,l){s=s|0,l=l|0,txe(l,s,s+8|0)|0}function Xbe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,k=Kt(16)|0,n[k>>2]=n[s>>2],n[k+4>>2]=n[s+4>>2],n[k+8>>2]=n[s+8>>2],n[k+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],zR(s,m,d),n[f>>2]=s,C=c,l|0}function zR(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function Zbe(s){s=s|0,Jm(s),gt(s)}function $be(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function exe(s){s=s|0,gt(s)}function txe(s,l,c){return s=s|0,l=l|0,c=c|0,l=rxe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function rxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=C,C=C+16|0,d=f,za(d),s=da(s)|0,c=nxe(s,n[l>>2]|0,+E[c>>3])|0,Ja(d),C=f,c|0}function nxe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=Sl(ixe()|0)|0,l=DR(l)|0,yl(0,f|0,s|0,l|0,+ +JA(c))|0}function ixe(){var s=0;return o[7728]|0||(sxe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function sxe(s){s=s|0,bl(s,oxe()|0,2)}function oxe(){return 1264}function axe(s){s=s|0,Pp(s)}function lxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cxe(s,c,d,1),C=f}function cxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=JR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=uxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Axe(m,f)|0,f),C=d}function JR(){var s=0,l=0;if(o[7744]|0||(L9(9684),ir(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));L9(9684)}return 9684}function uxe(s){return s=s|0,0}function Axe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=JR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],T9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(fxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function T9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function fxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=pxe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,hxe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],T9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,gxe(s,k),dxe(k),C=M;return}}function pxe(s){return s=s|0,357913941}function hxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function gxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function L9(s){s=s|0,Exe(s)}function mxe(s){s=s|0,yxe(s+24|0)}function yxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Exe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,Cxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Cxe(){return 1280}function wxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=Ixe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=Bxe(l,d,c)|0,C=f,c|0}function Ixe(s){return s=s|0,(n[(JR()|0)+24>>2]|0)+(s*12|0)|0}function Bxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=C,C=C+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(m,c),m=$A(m,c)|0,Uw[f&15](d,s,m),m=R9(d)|0,C=B,m|0}function vxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Pxe(s,c,d,1),C=f}function Pxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=VR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Dxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Sxe(m,f)|0,f),C=d}function VR(){var s=0,l=0;if(o[7752]|0||(O9(9720),ir(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O9(9720)}return 9720}function Dxe(s){return s=s|0,0}function Sxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=VR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],N9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(bxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function N9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function bxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xxe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,kxe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],N9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Qxe(s,k),Rxe(k),C=M;return}}function xxe(s){return s=s|0,357913941}function kxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Qxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Rxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function O9(s){s=s|0,Lxe(s)}function Fxe(s){s=s|0,Txe(s+24|0)}function Txe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Lxe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,Nxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Nxe(){return 1288}function Oxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=Mxe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Uxe(l,f)|0,C=c,l|0}function Mxe(s){return s=s|0,(n[(VR()|0)+24>>2]|0)+(s*12|0)|0}function Uxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Zj(Og[c&31](s)|0)|0}function _xe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Hxe(s,c,d,0),C=f}function Hxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=XR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=qxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Gxe(m,f)|0,f),C=d}function XR(){var s=0,l=0;if(o[7760]|0||(U9(9756),ir(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U9(9756)}return 9756}function qxe(s){return s=s|0,0}function Gxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=XR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],M9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function M9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Yxe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,Wxe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],M9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Kxe(s,k),zxe(k),C=M;return}}function Yxe(s){return s=s|0,357913941}function Wxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Kxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function U9(s){s=s|0,Xxe(s)}function Jxe(s){s=s|0,Vxe(s+24|0)}function Vxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Xxe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,Zxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Zxe(){return 1292}function $xe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=eke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tke(l,d,c),C=f}function eke(s){return s=s|0,(n[(XR()|0)+24>>2]|0)+(s*12|0)|0}function tke(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Qu(d,c),c=+Ru(d,c),C7[f&31](s,c),C=m}function rke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nke(s,c,d,0),C=f}function nke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=ZR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ike(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,ske(m,f)|0,f),C=d}function ZR(){var s=0,l=0;if(o[7768]|0||(H9(9792),ir(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H9(9792)}return 9792}function ike(s){return s=s|0,0}function ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=ZR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(oke(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function oke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ake(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lke(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cke(s,k),uke(k),C=M;return}}function ake(s){return s=s|0,357913941}function lke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function uke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function H9(s){s=s|0,pke(s)}function Ake(s){s=s|0,fke(s+24|0)}function fke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pke(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,hke()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hke(){return 1300}function gke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=dke(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],mke(l,m,c,f),C=d}function dke(s){return s=s|0,(n[(ZR()|0)+24>>2]|0)+(s*12|0)|0}function mke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,Qu(B,f),f=+Ru(B,f),b7[d&15](s,m,f),C=k}function yke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Eke(s,c,d,0),C=f}function Eke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=$R()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Cke(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,wke(m,f)|0,f),C=d}function $R(){var s=0,l=0;if(o[7776]|0||(G9(9828),ir(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));G9(9828)}return 9828}function Cke(s){return s=s|0,0}function wke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=$R()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Ike(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Ike(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Bke(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,vke(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Pke(s,k),Dke(k),C=M;return}}function Bke(s){return s=s|0,357913941}function vke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Pke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function G9(s){s=s|0,xke(s)}function Ske(s){s=s|0,bke(s+24|0)}function bke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function xke(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,7,l,kke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kke(){return 1312}function Qke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=Rke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Fke(l,d,c),C=f}function Rke(s){return s=s|0,(n[($R()|0)+24>>2]|0)+(s*12|0)|0}function Fke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,rf[f&31](s,d),C=m}function Tke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Lke(s,c,d,0),C=f}function Lke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=eF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nke(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Oke(m,f)|0,f),C=d}function eF(){var s=0,l=0;if(o[7784]|0||(Y9(9864),ir(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Y9(9864)}return 9864}function Nke(s){return s=s|0,0}function Oke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=eF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],j9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Mke(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function j9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Mke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Uke(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,_ke(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],j9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Hke(s,k),qke(k),C=M;return}}function Uke(s){return s=s|0,357913941}function _ke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Hke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function Y9(s){s=s|0,Yke(s)}function Gke(s){s=s|0,jke(s+24|0)}function jke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Yke(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,Wke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Wke(){return 1320}function Kke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=zke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Jke(l,d,c),C=f}function zke(s){return s=s|0,(n[(eF()|0)+24>>2]|0)+(s*12|0)|0}function Jke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Vke(d,c),d=Xke(d,c)|0,rf[f&31](s,d),C=m}function Vke(s,l){s=s|0,l=l|0}function Xke(s,l){return s=s|0,l=l|0,Zke(l)|0}function Zke(s){return s=s|0,s|0}function $ke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eQe(s,c,d,0),C=f}function eQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=tF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=tQe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,rQe(m,f)|0,f),C=d}function tF(){var s=0,l=0;if(o[7792]|0||(K9(9900),ir(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K9(9900)}return 9900}function tQe(s){return s=s|0,0}function rQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=tF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],W9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(nQe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function W9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function nQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=iQe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,sQe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],W9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,oQe(s,k),aQe(k),C=M;return}}function iQe(s){return s=s|0,357913941}function sQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function oQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function aQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function K9(s){s=s|0,uQe(s)}function lQe(s){s=s|0,cQe(s+24|0)}function cQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function uQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,22,l,AQe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function AQe(){return 1344}function fQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=C,C=C+16|0,f=c+8|0,d=c,m=pQe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],hQe(l,f),C=c}function pQe(s){return s=s|0,(n[(tF()|0)+24>>2]|0)+(s*12|0)|0}function hQe(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&127](s)}function gQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=rF()|0,s=dQe(c)|0,hn(m,l,d,s,mQe(c,f)|0,f)}function rF(){var s=0,l=0;if(o[7800]|0||(J9(9936),ir(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));J9(9936)}return 9936}function dQe(s){return s=s|0,s|0}function mQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=rF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(z9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(yQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function z9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function yQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=EQe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,CQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,z9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,wQe(s,d),IQe(d),C=k;return}}function EQe(s){return s=s|0,536870911}function CQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function wQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function IQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function J9(s){s=s|0,PQe(s)}function BQe(s){s=s|0,vQe(s+24|0)}function vQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function PQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,23,l,B9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function DQe(s,l){s=s|0,l=l|0,bQe(n[(SQe(s)|0)>>2]|0,l)}function SQe(s){return s=s|0,(n[(rF()|0)+24>>2]|0)+(s<<3)|0}function bQe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,qR(f,l),l=GR(f,l)|0,tf[s&127](l),C=c}function xQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=nF()|0,s=kQe(c)|0,hn(m,l,d,s,QQe(c,f)|0,f)}function nF(){var s=0,l=0;if(o[7808]|0||(X9(9972),ir(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X9(9972)}return 9972}function kQe(s){return s=s|0,s|0}function QQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=nF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(V9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(RQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function V9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function RQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=FQe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,TQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,V9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,LQe(s,d),NQe(d),C=k;return}}function FQe(s){return s=s|0,536870911}function TQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function LQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function X9(s){s=s|0,UQe(s)}function OQe(s){s=s|0,MQe(s+24|0)}function MQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function UQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,9,l,_Qe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function _Qe(){return 1348}function HQe(s,l){return s=s|0,l=l|0,GQe(n[(qQe(s)|0)>>2]|0,l)|0}function qQe(s){return s=s|0,(n[(nF()|0)+24>>2]|0)+(s<<3)|0}function GQe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,Z9(f,l),l=$9(f,l)|0,l=oP(Og[s&31](l)|0)|0,C=c,l|0}function Z9(s,l){s=s|0,l=l|0}function $9(s,l){return s=s|0,l=l|0,jQe(l)|0}function jQe(s){return s=s|0,s|0}function YQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=iF()|0,s=WQe(c)|0,hn(m,l,d,s,KQe(c,f)|0,f)}function iF(){var s=0,l=0;if(o[7816]|0||(t5(10008),ir(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t5(10008)}return 10008}function WQe(s){return s=s|0,s|0}function KQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=iF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(e5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(zQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function e5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function zQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=JQe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,VQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,e5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,XQe(s,d),ZQe(d),C=k;return}}function JQe(s){return s=s|0,536870911}function VQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function XQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ZQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function t5(s){s=s|0,tRe(s)}function $Qe(s){s=s|0,eRe(s+24|0)}function eRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function tRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,15,l,m9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rRe(s){return s=s|0,iRe(n[(nRe(s)|0)>>2]|0)|0}function nRe(s){return s=s|0,(n[(iF()|0)+24>>2]|0)+(s<<3)|0}function iRe(s){return s=s|0,oP(wP[s&7]()|0)|0}function sRe(){var s=0;return o[7832]|0||(pRe(10052),ir(25,10052,U|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function oRe(s,l){s=s|0,l=l|0,n[s>>2]=aRe()|0,n[s+4>>2]=lRe()|0,n[s+12>>2]=l,n[s+8>>2]=cRe()|0,n[s+32>>2]=2}function aRe(){return 11709}function lRe(){return 1188}function cRe(){return lP()|0}function uRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(ARe(c),gt(c)):l|0&&(Su(l),gt(l))}function xp(s,l){return s=s|0,l=l|0,l&s|0}function ARe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function lP(){var s=0;return o[7824]|0||(n[2511]=fRe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function fRe(){return 0}function pRe(s){s=s|0,Pp(s)}function hRe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=C,C=C+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,gRe(s,4827),dRe(s,4834,3)|0,mRe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],yRe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],ERe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],CRe(s,4891,c)|0,C=l}function gRe(s,l){s=s|0,l=l|0;var c=0;c=ZFe()|0,n[s>>2]=c,$Fe(c,l),kp(n[s>>2]|0)}function dRe(s,l,c){return s=s|0,l=l|0,c=c|0,NFe(s,pn(l)|0,c,0),s|0}function mRe(s,l,c){return s=s|0,l=l|0,c=c|0,wFe(s,pn(l)|0,c,0),s|0}function yRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rFe(s,l,d),C=f,s|0}function ERe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ORe(s,l,d),C=f,s|0}function CRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wRe(s,l,d),C=f,s|0}function wRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IRe(s,c,d,1),C=f}function IRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=sF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=BRe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,vRe(m,f)|0,f),C=d}function sF(){var s=0,l=0;if(o[7840]|0||(n5(10100),ir(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n5(10100)}return 10100}function BRe(s){return s=s|0,0}function vRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=sF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],r5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(PRe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function r5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function PRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=DRe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,SRe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],r5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,bRe(s,k),xRe(k),C=M;return}}function DRe(s){return s=s|0,357913941}function SRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function xRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function n5(s){s=s|0,RRe(s)}function kRe(s){s=s|0,QRe(s+24|0)}function QRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function RRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,FRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function FRe(){return 1364}function TRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=LRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=NRe(l,d,c)|0,C=f,c|0}function LRe(s){return s=s|0,(n[(sF()|0)+24>>2]|0)+(s*12|0)|0}function NRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,d=u9(TF[f&15](s,d)|0)|0,C=m,d|0}function ORe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MRe(s,c,d,0),C=f}function MRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=oF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=URe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,_Re(m,f)|0,f),C=d}function oF(){var s=0,l=0;if(o[7848]|0||(s5(10136),ir(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s5(10136)}return 10136}function URe(s){return s=s|0,0}function _Re(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=oF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],i5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(HRe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function i5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function HRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=qRe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,GRe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],i5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,jRe(s,k),YRe(k),C=M;return}}function qRe(s){return s=s|0,357913941}function GRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function jRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function YRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function s5(s){s=s|0,zRe(s)}function WRe(s){s=s|0,KRe(s+24|0)}function KRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function zRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,9,l,JRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function JRe(){return 1372}function VRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=XRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZRe(l,d,c),C=f}function XRe(s){return s=s|0,(n[(oF()|0)+24>>2]|0)+(s*12|0)|0}function ZRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=Xe;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),$Re(d,c),B=y(eFe(d,c)),E7[f&1](s,B),C=m}function $Re(s,l){s=s|0,l=+l}function eFe(s,l){return s=s|0,l=+l,y(tFe(l))}function tFe(s){return s=+s,y(s)}function rFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nFe(s,c,d,0),C=f}function nFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=aF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=iFe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,sFe(m,f)|0,f),C=d}function aF(){var s=0,l=0;if(o[7856]|0||(a5(10172),ir(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a5(10172)}return 10172}function iFe(s){return s=s|0,0}function sFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=aF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(oFe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function oFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=aFe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lFe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cFe(s,k),uFe(k),C=M;return}}function aFe(s){return s=s|0,357913941}function lFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function uFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function a5(s){s=s|0,pFe(s)}function AFe(s){s=s|0,fFe(s+24|0)}function fFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pFe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,3,l,hFe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hFe(){return 1380}function gFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=dFe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],mFe(l,m,c,f),C=d}function dFe(s){return s=s|0,(n[(aF()|0)+24>>2]|0)+(s*12|0)|0}function mFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,yFe(B,f),B=EFe(B,f)|0,Uw[d&15](s,m,B),C=k}function yFe(s,l){s=s|0,l=l|0}function EFe(s,l){return s=s|0,l=l|0,CFe(l)|0}function CFe(s){return s=s|0,(s|0)!=0|0}function wFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=lF()|0,s=IFe(c)|0,hn(m,l,d,s,BFe(c,f)|0,f)}function lF(){var s=0,l=0;if(o[7864]|0||(c5(10208),ir(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c5(10208)}return 10208}function IFe(s){return s=s|0,s|0}function BFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=lF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(l5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(vFe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function l5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function vFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=PFe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,DFe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,l5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,SFe(s,d),bFe(d),C=k;return}}function PFe(s){return s=s|0,536870911}function DFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function SFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function bFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function c5(s){s=s|0,QFe(s)}function xFe(s){s=s|0,kFe(s+24|0)}function kFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function QFe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,24,l,RFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RFe(){return 1392}function FFe(s,l){s=s|0,l=l|0,LFe(n[(TFe(s)|0)>>2]|0,l)}function TFe(s){return s=s|0,(n[(lF()|0)+24>>2]|0)+(s<<3)|0}function LFe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Z9(f,l),l=$9(f,l)|0,tf[s&127](l),C=c}function NFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=cF()|0,s=OFe(c)|0,hn(m,l,d,s,MFe(c,f)|0,f)}function cF(){var s=0,l=0;if(o[7872]|0||(A5(10244),ir(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));A5(10244)}return 10244}function OFe(s){return s=s|0,s|0}function MFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=cF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(u5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(UFe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function u5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function UFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=_Fe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,HFe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,u5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,qFe(s,d),GFe(d),C=k;return}}function _Fe(s){return s=s|0,536870911}function HFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function qFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function GFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function A5(s){s=s|0,WFe(s)}function jFe(s){s=s|0,YFe(s+24|0)}function YFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function WFe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,16,l,KFe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function KFe(){return 1400}function zFe(s){return s=s|0,VFe(n[(JFe(s)|0)>>2]|0)|0}function JFe(s){return s=s|0,(n[(cF()|0)+24>>2]|0)+(s<<3)|0}function VFe(s){return s=s|0,XFe(wP[s&7]()|0)|0}function XFe(s){return s=s|0,s|0}function ZFe(){var s=0;return o[7880]|0||(sTe(10280),ir(25,10280,U|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function $Fe(s,l){s=s|0,l=l|0,n[s>>2]=eTe()|0,n[s+4>>2]=tTe()|0,n[s+12>>2]=l,n[s+8>>2]=rTe()|0,n[s+32>>2]=4}function eTe(){return 11711}function tTe(){return 1356}function rTe(){return lP()|0}function nTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(iTe(c),gt(c)):l|0&&(Dg(l),gt(l))}function iTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function sTe(s){s=s|0,Pp(s)}function oTe(s){s=s|0,aTe(s,4920),lTe(s)|0,cTe(s)|0}function aTe(s,l){s=s|0,l=l|0;var c=0;c=F9()|0,n[s>>2]=c,kTe(c,l),kp(n[s>>2]|0)}function lTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,CTe()|0),s|0}function cTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,uTe()|0),s|0}function uTe(){var s=0;return o[7888]|0||(f5(10328),ir(53,10328,U|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),Fr(10328)|0||f5(10328),10328}function Qg(s,l){s=s|0,l=l|0,hn(s,0,l,0,0,0)}function f5(s){s=s|0,pTe(s),Rg(s,10)}function ATe(s){s=s|0,fTe(s+24|0)}function fTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function pTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,1,l,mTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hTe(s,l,c){s=s|0,l=l|0,c=+c,gTe(s,l,c)}function Rg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function gTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,m=f+8|0,k=f+13|0,d=f,B=f+12|0,ZA(k,l),n[m>>2]=$A(k,l)|0,Qu(B,c),E[d>>3]=+Ru(B,c),dTe(s,m,d),C=f}function dTe(s,l,c){s=s|0,l=l|0,c=c|0,W(s+8|0,n[l>>2]|0,+E[c>>3]),o[s+24>>0]=1}function mTe(){return 1404}function yTe(s,l){return s=s|0,l=+l,ETe(s,l)|0}function ETe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+16|0,m=f+4|0,B=f+8|0,k=f,d=Ka(8)|0,c=d,Q=Kt(16)|0,ZA(m,s),s=$A(m,s)|0,Qu(B,l),W(Q,s,+Ru(B,l)),B=c+4|0,n[B>>2]=Q,s=Kt(8)|0,B=n[B>>2]|0,n[k>>2]=0,n[m>>2]=n[k>>2],zR(s,B,m),n[d>>2]=s,C=f,c|0}function CTe(){var s=0;return o[7896]|0||(p5(10364),ir(54,10364,U|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),Fr(10364)|0||p5(10364),10364}function p5(s){s=s|0,BTe(s),Rg(s,55)}function wTe(s){s=s|0,ITe(s+24|0)}function ITe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function BTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,4,l,STe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function vTe(s){s=s|0,PTe(s)}function PTe(s){s=s|0,DTe(s)}function DTe(s){s=s|0,h5(s+8|0),o[s+24>>0]=1}function h5(s){s=s|0,n[s>>2]=0,E[s+8>>3]=0}function STe(){return 1424}function bTe(){return xTe()|0}function xTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Kt(16)|0,h5(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],zR(f,m,d),n[c>>2]=f,C=l,s|0}function kTe(s,l){s=s|0,l=l|0,n[s>>2]=QTe()|0,n[s+4>>2]=RTe()|0,n[s+12>>2]=l,n[s+8>>2]=FTe()|0,n[s+32>>2]=5}function QTe(){return 11710}function RTe(){return 1416}function FTe(){return cP()|0}function TTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(LTe(c),gt(c)):l|0&>(l)}function LTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function cP(){var s=0;return o[7904]|0||(n[2600]=NTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function NTe(){return n[357]|0}function OTe(s){s=s|0,MTe(s,4926),UTe(s)|0}function MTe(s,l){s=s|0,l=l|0;var c=0;c=r9()|0,n[s>>2]=c,VTe(c,l),kp(n[s>>2]|0)}function UTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,_Te()|0),s|0}function _Te(){var s=0;return o[7912]|0||(g5(10412),ir(56,10412,U|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),Fr(10412)|0||g5(10412),10412}function g5(s){s=s|0,GTe(s),Rg(s,57)}function HTe(s){s=s|0,qTe(s+24|0)}function qTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function GTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,5,l,KTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jTe(s){s=s|0,YTe(s)}function YTe(s){s=s|0,WTe(s)}function WTe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function KTe(){return 1432}function zTe(){return JTe()|0}function JTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0;B=C,C=C+16|0,s=B+4|0,l=B,c=Ka(8)|0,f=c,d=Kt(48)|0,m=d,k=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(k|0));return m=f+4|0,n[m>>2]=d,k=Kt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],n9(k,m,s),n[c>>2]=k,C=B,f|0}function VTe(s,l){s=s|0,l=l|0,n[s>>2]=XTe()|0,n[s+4>>2]=ZTe()|0,n[s+12>>2]=l,n[s+8>>2]=$Te()|0,n[s+32>>2]=6}function XTe(){return 11704}function ZTe(){return 1436}function $Te(){return cP()|0}function eLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(tLe(c),gt(c)):l|0&>(l)}function tLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function rLe(s){s=s|0,nLe(s,4933),iLe(s)|0,sLe(s)|0}function nLe(s,l){s=s|0,l=l|0;var c=0;c=xLe()|0,n[s>>2]=c,kLe(c,l),kp(n[s>>2]|0)}function iLe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,ELe()|0),s|0}function sLe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,oLe()|0),s|0}function oLe(){var s=0;return o[7920]|0||(d5(10452),ir(58,10452,U|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),Fr(10452)|0||d5(10452),10452}function d5(s){s=s|0,cLe(s),Rg(s,1)}function aLe(s){s=s|0,lLe(s+24|0)}function lLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function cLe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,1,l,pLe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uLe(s,l,c){s=s|0,l=+l,c=+c,ALe(s,l,c)}function ALe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,m=f+8|0,k=f+17|0,d=f,B=f+16|0,Qu(k,l),E[m>>3]=+Ru(k,l),Qu(B,c),E[d>>3]=+Ru(B,c),fLe(s,m,d),C=f}function fLe(s,l,c){s=s|0,l=l|0,c=c|0,m5(s+8|0,+E[l>>3],+E[c>>3]),o[s+24>>0]=1}function m5(s,l,c){s=s|0,l=+l,c=+c,E[s>>3]=l,E[s+8>>3]=c}function pLe(){return 1472}function hLe(s,l){return s=+s,l=+l,gLe(s,l)|0}function gLe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+16|0,B=f+4|0,k=f+8|0,Q=f,d=Ka(8)|0,c=d,m=Kt(16)|0,Qu(B,s),s=+Ru(B,s),Qu(k,l),m5(m,s,+Ru(k,l)),k=c+4|0,n[k>>2]=m,m=Kt(8)|0,k=n[k>>2]|0,n[Q>>2]=0,n[B>>2]=n[Q>>2],y5(m,k,B),n[d>>2]=m,C=f,c|0}function y5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function dLe(s){s=s|0,Jm(s),gt(s)}function mLe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function yLe(s){s=s|0,gt(s)}function ELe(){var s=0;return o[7928]|0||(E5(10488),ir(59,10488,U|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),Fr(10488)|0||E5(10488),10488}function E5(s){s=s|0,ILe(s),Rg(s,60)}function CLe(s){s=s|0,wLe(s+24|0)}function wLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function ILe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,6,l,DLe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BLe(s){s=s|0,vLe(s)}function vLe(s){s=s|0,PLe(s)}function PLe(s){s=s|0,C5(s+8|0),o[s+24>>0]=1}function C5(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function DLe(){return 1492}function SLe(){return bLe()|0}function bLe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Kt(16)|0,C5(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],y5(f,m,d),n[c>>2]=f,C=l,s|0}function xLe(){var s=0;return o[7936]|0||(NLe(10524),ir(25,10524,U|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function kLe(s,l){s=s|0,l=l|0,n[s>>2]=QLe()|0,n[s+4>>2]=RLe()|0,n[s+12>>2]=l,n[s+8>>2]=FLe()|0,n[s+32>>2]=7}function QLe(){return 11700}function RLe(){return 1484}function FLe(){return cP()|0}function TLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(LLe(c),gt(c)):l|0&>(l)}function LLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function NLe(s){s=s|0,Pp(s)}function OLe(s,l,c){s=s|0,l=l|0,c=c|0,s=pn(l)|0,l=MLe(c)|0,c=ULe(c,0)|0,gNe(s,l,c,uF()|0,0)}function MLe(s){return s=s|0,s|0}function ULe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=uF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(I5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(WLe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function uF(){var s=0,l=0;if(o[7944]|0||(w5(10568),ir(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));w5(10568)}return 10568}function w5(s){s=s|0,qLe(s)}function _Le(s){s=s|0,HLe(s+24|0)}function HLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function qLe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,17,l,C9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GLe(s){return s=s|0,YLe(n[(jLe(s)|0)>>2]|0)|0}function jLe(s){return s=s|0,(n[(uF()|0)+24>>2]|0)+(s<<3)|0}function YLe(s){return s=s|0,aP(wP[s&7]()|0)|0}function I5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function WLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=KLe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,zLe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,I5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,JLe(s,d),VLe(d),C=k;return}}function KLe(s){return s=s|0,536870911}function zLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function JLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function VLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function XLe(){ZLe()}function ZLe(){$Le(10604)}function $Le(s){s=s|0,eNe(s,4955)}function eNe(s,l){s=s|0,l=l|0;var c=0;c=tNe()|0,n[s>>2]=c,rNe(c,l),kp(n[s>>2]|0)}function tNe(){var s=0;return o[7952]|0||(ANe(10612),ir(25,10612,U|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function rNe(s,l){s=s|0,l=l|0,n[s>>2]=oNe()|0,n[s+4>>2]=aNe()|0,n[s+12>>2]=l,n[s+8>>2]=lNe()|0,n[s+32>>2]=8}function kp(s){s=s|0;var l=0,c=0;l=C,C=C+16|0,c=l,jm()|0,n[c>>2]=s,nNe(10608,c),C=l}function jm(){return o[11714]|0||(n[2652]=0,ir(62,10608,U|0)|0,o[11714]=1),10608}function nNe(s,l){s=s|0,l=l|0;var c=0;c=Kt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function iNe(s){s=s|0,sNe(s)}function sNe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function oNe(){return 11715}function aNe(){return 1496}function lNe(){return lP()|0}function cNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(uNe(c),gt(c)):l|0&>(l)}function uNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function ANe(s){s=s|0,Pp(s)}function fNe(s,l){s=s|0,l=l|0;var c=0,f=0;jm()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&(n7(AF(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;pNe(f,l)}while(0)}function AF(s){return s=s|0,n[s+12>>2]|0}function pNe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(GA(c),gt(c)),c=Kt(4)|0,Vj(c,l),n[s>>2]=c}function fF(){return o[11716]|0||(n[2664]=0,ir(63,10656,U|0)|0,o[11716]=1),10656}function B5(){var s=0;return o[11717]|0?s=n[2665]|0:(hNe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function hNe(){o[11740]|0||(o[11718]=gr(gr(8,0)|0,0)|0,o[11719]=gr(gr(0,0)|0,0)|0,o[11720]=gr(gr(0,16)|0,0)|0,o[11721]=gr(gr(8,0)|0,0)|0,o[11722]=gr(gr(0,0)|0,0)|0,o[11723]=gr(gr(8,0)|0,0)|0,o[11724]=gr(gr(0,0)|0,0)|0,o[11725]=gr(gr(8,0)|0,0)|0,o[11726]=gr(gr(0,0)|0,0)|0,o[11727]=gr(gr(8,0)|0,0)|0,o[11728]=gr(gr(0,0)|0,0)|0,o[11729]=gr(gr(0,0)|0,32)|0,o[11730]=gr(gr(0,0)|0,32)|0,o[11740]=1)}function v5(){return 1572}function gNe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0;m=C,C=C+32|0,O=m+16|0,M=m+12|0,Q=m+8|0,k=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[Q>>2]=c,n[k>>2]=f,n[B>>2]=d,fF()|0,dNe(10656,O,M,Q,k,B),C=m}function dNe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Kt(24)|0,$j(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function P5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0;if(lt=C,C=C+32|0,Me=lt+20|0,Qe=lt+8|0,$e=lt+4|0,Ve=lt,l=n[l>>2]|0,l|0){Ge=Me+4|0,Q=Me+8|0,M=Qe+4|0,O=Qe+8|0,G=Qe+8|0,se=Me+8|0;do{if(B=l+4|0,k=pF(B)|0,k|0){if(d=Fw(k)|0,n[Me>>2]=0,n[Ge>>2]=0,n[Q>>2]=0,f=(Tw(k)|0)+1|0,mNe(Me,f),f|0)for(;f=f+-1|0,xc(Qe,n[d>>2]|0),m=n[Ge>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Qe>>2],n[Ge>>2]=(n[Ge>>2]|0)+4):hF(Me,Qe),f;)d=d+4|0;f=Lw(k)|0,n[Qe>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?yNe(Qe,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[G>>2]|0}while(0);n[$e>>2]=uP(B)|0,n[Ve>>2]=Fr(k)|0,ENe(c,s,$e,Ve,Me,Qe),gF(Qe),ef(Me)}l=n[l>>2]|0}while((l|0)!=0)}C=lt}function pF(s){return s=s|0,n[s+12>>2]|0}function Fw(s){return s=s|0,n[s+12>>2]|0}function Tw(s){return s=s|0,n[s+16>>2]|0}function mNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0>>0&&(F5(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),T5(s,c),L5(c)),C=d}function hF(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=R5(s)|0,m>>>0>>0)Vr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,Q=M>>1,F5(c,M>>2>>>0>>1>>>0?Q>>>0>>0?d:Q:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,T5(s,c),L5(c),C=B;return}}function Lw(s){return s=s|0,n[s+8>>2]|0}function yNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=Q5(s)|0,m>>>0>>0)Vr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,Q=M>>1,MNe(c,M>>2>>>0>>1>>>0?Q>>>0>>0?d:Q:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,UNe(s,c),_Ne(c),C=B;return}}function uP(s){return s=s|0,n[s>>2]|0}function ENe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,CNe(s,l,c,f,d,m)}function gF(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function ef(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function CNe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0;B=C,C=C+48|0,O=B+40|0,k=B+32|0,G=B+24|0,Q=B+12|0,M=B,za(k),s=da(s)|0,n[G>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,dF(Q,d),wNe(M,m),n[O>>2]=n[G>>2],INe(s,O,c,f,Q,M),gF(M),ef(Q),Ja(k),C=B}function dF(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(NNe(s,f),ONe(s,n[l>>2]|0,n[c>>2]|0,f))}function wNe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(TNe(s,f),LNe(s,n[l>>2]|0,n[c>>2]|0,f))}function INe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0;B=C,C=C+32|0,O=B+28|0,G=B+24|0,k=B+12|0,Q=B,M=Sl(BNe()|0)|0,n[G>>2]=n[l>>2],n[O>>2]=n[G>>2],l=Fg(O)|0,c=D5(c)|0,f=mF(f)|0,n[k>>2]=n[d>>2],O=d+4|0,n[k+4>>2]=n[O>>2],G=d+8|0,n[k+8>>2]=n[G>>2],n[G>>2]=0,n[O>>2]=0,n[d>>2]=0,d=yF(k)|0,n[Q>>2]=n[m>>2],O=m+4|0,n[Q+4>>2]=n[O>>2],G=m+8|0,n[Q+8>>2]=n[G>>2],n[G>>2]=0,n[O>>2]=0,n[m>>2]=0,oo(0,M|0,s|0,l|0,c|0,f|0,d|0,vNe(Q)|0)|0,gF(Q),ef(k),C=B}function BNe(){var s=0;return o[7968]|0||(RNe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function Fg(s){return s=s|0,b5(s)|0}function D5(s){return s=s|0,S5(s)|0}function mF(s){return s=s|0,aP(s)|0}function yF(s){return s=s|0,DNe(s)|0}function vNe(s){return s=s|0,PNe(s)|0}function PNe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=S5(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function S5(s){return s=s|0,s|0}function DNe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=b5((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function b5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=kR(x5()|0)|0,f?(QR(l,f),RR(c,l),lUe(s,c),s=FR(l)|0):s=SNe(s)|0,C=d,s|0}function x5(){var s=0;return o[7960]|0||(QNe(10664),ir(25,10664,U|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function SNe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,k=Kt(4)|0,n[k>>2]=n[s>>2],m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],k5(s,m,d),n[f>>2]=s,C=c,l|0}function k5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function bNe(s){s=s|0,Jm(s),gt(s)}function xNe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function kNe(s){s=s|0,gt(s)}function QNe(s){s=s|0,Pp(s)}function RNe(s){s=s|0,bl(s,FNe()|0,5)}function FNe(){return 1676}function TNe(s,l){s=s|0,l=l|0;var c=0;if((Q5(s)|0)>>>0>>0&&Vr(s),l>>>0>1073741823)Tt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function LNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Pr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function Q5(s){return s=s|0,1073741823}function NNe(s,l){s=s|0,l=l|0;var c=0;if((R5(s)|0)>>>0>>0&&Vr(s),l>>>0>1073741823)Tt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function ONe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Pr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function R5(s){return s=s|0,1073741823}function MNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function UNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _Ne(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function F5(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function T5(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function L5(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function HNe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0;if(Qe=C,C=C+32|0,O=Qe+20|0,G=Qe+12|0,M=Qe+16|0,se=Qe+4|0,Ge=Qe,Me=Qe+8|0,k=B5()|0,m=n[k>>2]|0,B=n[m>>2]|0,B|0)for(Q=n[k+8>>2]|0,k=n[k+4>>2]|0;xc(O,B),qNe(s,O,k,Q),m=m+4|0,B=n[m>>2]|0,B;)Q=Q+1|0,k=k+1|0;if(m=v5()|0,B=n[m>>2]|0,B|0)do xc(O,B),n[G>>2]=n[m+4>>2],GNe(l,O,G),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(jm()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,xc(O,n[(Ym(l)|0)>>2]|0),n[G>>2]=AF(l)|0,jNe(c,O,G),m=n[m>>2]|0;while((m|0)!=0);if(xc(M,0),m=fF()|0,n[O>>2]=n[M>>2],P5(O,m,d),m=n[(jm()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(Q=n[m+4>>2]|0,xc(G,n[(Ym(Q)|0)>>2]|0),YNe(se,N5(Q)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do xc(Ge,n[(Ym(n[B+4>>2]|0)|0)>>2]|0),k=n[s>>2]|0,k>>>0<(n[c>>2]|0)>>>0?(n[k>>2]=n[Ge>>2],n[s>>2]=(n[s>>2]|0)+4):hF(O,Ge),B=n[B>>2]|0;while((B|0)!=0);WNe(f,G,O),ef(O)}n[Me>>2]=n[G>>2],M=O5(Q)|0,n[O>>2]=n[Me>>2],P5(O,M,d),s9(se),m=n[m>>2]|0}while((m|0)!=0)}C=Qe}function qNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,iOe(s,l,c,f)}function GNe(s,l,c){s=s|0,l=l|0,c=c|0,nOe(s,l,c)}function Ym(s){return s=s|0,s|0}function jNe(s,l,c){s=s|0,l=l|0,c=c|0,$Ne(s,l,c)}function N5(s){return s=s|0,s+16|0}function YNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;if(m=C,C=C+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=ZNe(c)|0,f|0){if(f=Kt(12)|0,B=(M5(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Kt(12)|0,Q=(M5(d)|0)+4|0,k=n[Q+4>>2]|0,B=s+4|0,n[B>>2]=n[Q>>2],n[B+4>>2]=k,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}C=m}function WNe(s,l,c){s=s|0,l=l|0,c=c|0,KNe(s,l,c)}function O5(s){return s=s|0,s+24|0}function KNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+24|0,d=f+16|0,k=f+12|0,m=f,za(d),s=da(s)|0,n[k>>2]=n[l>>2],dF(m,c),n[B>>2]=n[k>>2],zNe(s,B,m),ef(m),Ja(d),C=f}function zNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+16|0,k=f+12|0,d=f,m=Sl(JNe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Fg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],k=c+8|0,n[d+8>>2]=n[k>>2],n[k>>2]=0,n[B>>2]=0,n[c>>2]=0,so(0,m|0,s|0,l|0,yF(d)|0)|0,ef(d),C=f}function JNe(){var s=0;return o[7976]|0||(VNe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function VNe(s){s=s|0,bl(s,XNe()|0,2)}function XNe(){return 1732}function ZNe(s){return s=s|0,n[s>>2]|0}function M5(s){return s=s|0,n[s>>2]|0}function $Ne(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],U5(s,m,c),Ja(d),C=f}function U5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+4|0,B=f,d=Sl(eOe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=Fg(m)|0,so(0,d|0,s|0,l|0,D5(c)|0)|0,C=f}function eOe(){var s=0;return o[7984]|0||(tOe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function tOe(s){s=s|0,bl(s,rOe()|0,2)}function rOe(){return 1744}function nOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],U5(s,m,c),Ja(d),C=f}function iOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,za(m),s=da(s)|0,n[k>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[k>>2],sOe(s,B,c,f),Ja(m),C=d}function sOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,B=d+4|0,k=d,m=Sl(oOe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Fg(B)|0,c=Wm(c)|0,hc(0,m|0,s|0,l|0,c|0,Wm(f)|0)|0,C=d}function oOe(){var s=0;return o[7992]|0||(lOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Wm(s){return s=s|0,aOe(s)|0}function aOe(s){return s=s|0,s&255|0}function lOe(s){s=s|0,bl(s,cOe()|0,3)}function cOe(){return 1756}function uOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;switch(se=C,C=C+32|0,k=se+8|0,Q=se+4|0,M=se+20|0,O=se,OR(s,0),f=aUe(l)|0,n[k>>2]=0,G=k+4|0,n[G>>2]=0,n[k+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,AOe(Q,c,M),AP(s,Q)|0,jA(Q);break}case 8:{G=vF(l)|0,o[M>>0]=8,xc(O,n[G+4>>2]|0),fOe(Q,c,M,O,G+8|0),AP(s,Q)|0,jA(Q);break}case 9:{if(m=vF(l)|0,l=n[m+4>>2]|0,l|0)for(B=k+8|0,d=m+12|0;l=l+-1|0,xc(Q,n[d>>2]|0),f=n[G>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[Q>>2],n[G>>2]=(n[G>>2]|0)+4):hF(k,Q),l;)d=d+4|0;o[M>>0]=9,xc(O,n[m+8>>2]|0),pOe(Q,c,M,O,k),AP(s,Q)|0,jA(Q);break}default:G=vF(l)|0,o[M>>0]=f,xc(O,n[G+4>>2]|0),hOe(Q,c,M,O),AP(s,Q)|0,jA(Q)}ef(k),C=se}function AOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,za(d),l=da(l)|0,SOe(s,l,o[c>>0]|0),Ja(d),C=f}function AP(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&SA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function fOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+32|0,k=m+16|0,B=m+8|0,Q=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],d=n[d>>2]|0,n[k>>2]=n[Q>>2],BOe(s,l,c,k,d),Ja(B),C=m}function pOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0;m=C,C=C+32|0,Q=m+24|0,B=m+16|0,M=m+12|0,k=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],dF(k,d),n[Q>>2]=n[M>>2],EOe(s,l,c,Q,k),ef(k),Ja(B),C=m}function hOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,za(m),l=da(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],n[B>>2]=n[k>>2],gOe(s,l,c,B),Ja(m),C=d}function gOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+4|0,k=d,B=Sl(dOe()|0)|0,c=Wm(c)|0,n[k>>2]=n[f>>2],n[m>>2]=n[k>>2],fP(s,so(0,B|0,l|0,c|0,Fg(m)|0)|0),C=d}function dOe(){var s=0;return o[8e3]|0||(mOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function fP(s,l){s=s|0,l=l|0,OR(s,l)}function mOe(s){s=s|0,bl(s,yOe()|0,2)}function yOe(){return 1772}function EOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0;m=C,C=C+32|0,Q=m+16|0,M=m+12|0,B=m,k=Sl(COe()|0)|0,c=Wm(c)|0,n[M>>2]=n[f>>2],n[Q>>2]=n[M>>2],f=Fg(Q)|0,n[B>>2]=n[d>>2],Q=d+4|0,n[B+4>>2]=n[Q>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[Q>>2]=0,n[d>>2]=0,fP(s,hc(0,k|0,l|0,c|0,f|0,yF(B)|0)|0),ef(B),C=m}function COe(){var s=0;return o[8008]|0||(wOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function wOe(s){s=s|0,bl(s,IOe()|0,3)}function IOe(){return 1784}function BOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+16|0,k=m+4|0,Q=m,B=Sl(vOe()|0)|0,c=Wm(c)|0,n[Q>>2]=n[f>>2],n[k>>2]=n[Q>>2],f=Fg(k)|0,fP(s,hc(0,B|0,l|0,c|0,f|0,mF(d)|0)|0),C=m}function vOe(){var s=0;return o[8016]|0||(POe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function POe(s){s=s|0,bl(s,DOe()|0,3)}function DOe(){return 1800}function SOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=Sl(bOe()|0)|0,fP(s,Qn(0,f|0,l|0,Wm(c)|0)|0)}function bOe(){var s=0;return o[8024]|0||(xOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function xOe(s){s=s|0,bl(s,kOe()|0,1)}function kOe(){return 1816}function QOe(){ROe(),FOe(),TOe()}function ROe(){n[2702]=p7(65536)|0}function FOe(){eMe(10856)}function TOe(){LOe(10816)}function LOe(s){s=s|0,NOe(s,5044),OOe(s)|0}function NOe(s,l){s=s|0,l=l|0;var c=0;c=x5()|0,n[s>>2]=c,zOe(c,l),kp(n[s>>2]|0)}function OOe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,MOe()|0),s|0}function MOe(){var s=0;return o[8032]|0||(_5(10820),ir(64,10820,U|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),Fr(10820)|0||_5(10820),10820}function _5(s){s=s|0,HOe(s),Rg(s,25)}function UOe(s){s=s|0,_Oe(s+24|0)}function _Oe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function HOe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,18,l,YOe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qOe(s,l){s=s|0,l=l|0,GOe(s,l)}function GOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=C,C=C+16|0,f=c,d=c+4|0,xg(d,l),n[f>>2]=kg(d,l)|0,jOe(s,f),C=c}function jOe(s,l){s=s|0,l=l|0,H5(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function H5(s,l){s=s|0,l=l|0,n[s>>2]=l}function YOe(){return 1824}function WOe(s){return s=s|0,KOe(s)|0}function KOe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,k=Kt(4)|0,xg(d,s),H5(k,kg(d,s)|0),m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],k5(s,m,d),n[f>>2]=s,C=c,l|0}function Ka(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=p7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function zOe(s,l){s=s|0,l=l|0,n[s>>2]=JOe()|0,n[s+4>>2]=VOe()|0,n[s+12>>2]=l,n[s+8>>2]=XOe()|0,n[s+32>>2]=9}function JOe(){return 11744}function VOe(){return 1832}function XOe(){return cP()|0}function ZOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&($Oe(c),gt(c)):l|0&>(l)}function $Oe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function eMe(s){s=s|0,tMe(s,5052),rMe(s)|0,nMe(s,5058,26)|0,iMe(s,5069,1)|0,sMe(s,5077,10)|0,oMe(s,5087,19)|0,aMe(s,5094,27)|0}function tMe(s,l){s=s|0,l=l|0;var c=0;c=$4e()|0,n[s>>2]=c,eUe(c,l),kp(n[s>>2]|0)}function rMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,U4e()|0),s|0}function nMe(s,l,c){return s=s|0,l=l|0,c=c|0,w4e(s,pn(l)|0,c,0),s|0}function iMe(s,l,c){return s=s|0,l=l|0,c=c|0,o4e(s,pn(l)|0,c,0),s|0}function sMe(s,l,c){return s=s|0,l=l|0,c=c|0,MMe(s,pn(l)|0,c,0),s|0}function oMe(s,l,c){return s=s|0,l=l|0,c=c|0,BMe(s,pn(l)|0,c,0),s|0}function q5(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}gt(c)}n[2701]=s}function aMe(s,l,c){return s=s|0,l=l|0,c=c|0,lMe(s,pn(l)|0,c,0),s|0}function lMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=EF()|0,s=cMe(c)|0,hn(m,l,d,s,uMe(c,f)|0,f)}function EF(){var s=0,l=0;if(o[8040]|0||(j5(10860),ir(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j5(10860)}return 10860}function cMe(s){return s=s|0,s|0}function uMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=EF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(G5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(AMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function G5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function AMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=fMe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,pMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,G5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,hMe(s,d),gMe(d),C=k;return}}function fMe(s){return s=s|0,536870911}function pMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function hMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function gMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function j5(s){s=s|0,yMe(s)}function dMe(s){s=s|0,mMe(s+24|0)}function mMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function yMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,11,l,EMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function EMe(){return 1840}function CMe(s,l,c){s=s|0,l=l|0,c=c|0,IMe(n[(wMe(s)|0)>>2]|0,l,c)}function wMe(s){return s=s|0,(n[(EF()|0)+24>>2]|0)+(s<<3)|0}function IMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+1|0,d=f,xg(m,l),l=kg(m,l)|0,xg(d,c),c=kg(d,c)|0,rf[s&31](l,c),C=f}function BMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=CF()|0,s=vMe(c)|0,hn(m,l,d,s,PMe(c,f)|0,f)}function CF(){var s=0,l=0;if(o[8048]|0||(W5(10896),ir(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W5(10896)}return 10896}function vMe(s){return s=s|0,s|0}function PMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=CF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(Y5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(DMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function Y5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function DMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=SMe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,bMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,Y5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,xMe(s,d),kMe(d),C=k;return}}function SMe(s){return s=s|0,536870911}function bMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function xMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function W5(s){s=s|0,FMe(s)}function QMe(s){s=s|0,RMe(s+24|0)}function RMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function FMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,11,l,TMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TMe(){return 1852}function LMe(s,l){return s=s|0,l=l|0,OMe(n[(NMe(s)|0)>>2]|0,l)|0}function NMe(s){return s=s|0,(n[(CF()|0)+24>>2]|0)+(s<<3)|0}function OMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,xg(f,l),l=kg(f,l)|0,l=aP(Og[s&31](l)|0)|0,C=c,l|0}function MMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=wF()|0,s=UMe(c)|0,hn(m,l,d,s,_Me(c,f)|0,f)}function wF(){var s=0,l=0;if(o[8056]|0||(z5(10932),ir(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));z5(10932)}return 10932}function UMe(s){return s=s|0,s|0}function _Me(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=wF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(K5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(HMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function K5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function HMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=qMe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,GMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,K5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,jMe(s,d),YMe(d),C=k;return}}function qMe(s){return s=s|0,536870911}function GMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function jMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function YMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function z5(s){s=s|0,zMe(s)}function WMe(s){s=s|0,KMe(s+24|0)}function KMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function zMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,7,l,JMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function JMe(){return 1860}function VMe(s,l,c){return s=s|0,l=l|0,c=c|0,ZMe(n[(XMe(s)|0)>>2]|0,l,c)|0}function XMe(s){return s=s|0,(n[(wF()|0)+24>>2]|0)+(s<<3)|0}function ZMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+32|0,B=f+12|0,m=f+8|0,k=f,Q=f+16|0,d=f+4|0,$Me(Q,l),e4e(k,Q,l),Dp(d,c),c=Sp(d,c)|0,n[B>>2]=n[k>>2],Uw[s&15](m,B,c),c=t4e(m)|0,jA(m),bp(d),C=f,c|0}function $Me(s,l){s=s|0,l=l|0}function e4e(s,l,c){s=s|0,l=l|0,c=c|0,r4e(s,c)}function t4e(s){return s=s|0,da(s)|0}function r4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+16|0,c=d,f=l,f&1?(n4e(c,0),ii(f|0,c|0)|0,i4e(s,c),s4e(c)):n[s>>2]=n[l>>2],C=d}function n4e(s,l){s=s|0,l=l|0,Xj(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function i4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function s4e(s){s=s|0,o[s+8>>0]=0}function o4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=IF()|0,s=a4e(c)|0,hn(m,l,d,s,l4e(c,f)|0,f)}function IF(){var s=0,l=0;if(o[8064]|0||(V5(10968),ir(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(10968)}return 10968}function a4e(s){return s=s|0,s|0}function l4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=IF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(J5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(c4e(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function J5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function c4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=u4e(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,A4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,J5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,f4e(s,d),p4e(d),C=k;return}}function u4e(s){return s=s|0,536870911}function A4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function f4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function p4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function V5(s){s=s|0,d4e(s)}function h4e(s){s=s|0,g4e(s+24|0)}function g4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function d4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,1,l,m4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function m4e(){return 1872}function y4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,C4e(n[(E4e(s)|0)>>2]|0,l,c,f,d,m)}function E4e(s){return s=s|0,(n[(IF()|0)+24>>2]|0)+(s<<3)|0}function C4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0;B=C,C=C+32|0,k=B+16|0,Q=B+12|0,M=B+8|0,O=B+4|0,G=B,Dp(k,l),l=Sp(k,l)|0,Dp(Q,c),c=Sp(Q,c)|0,Dp(M,f),f=Sp(M,f)|0,Dp(O,d),d=Sp(O,d)|0,Dp(G,m),m=Sp(G,m)|0,y7[s&1](l,c,f,d,m),bp(G),bp(O),bp(M),bp(Q),bp(k),C=B}function w4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=BF()|0,s=I4e(c)|0,hn(m,l,d,s,B4e(c,f)|0,f)}function BF(){var s=0,l=0;if(o[8072]|0||(Z5(11004),ir(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(Fr(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Z5(11004)}return 11004}function I4e(s){return s=s|0,s|0}function B4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=BF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(X5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(v4e(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function X5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function v4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=P4e(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,D4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,X5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,S4e(s,d),b4e(d),C=k;return}}function P4e(s){return s=s|0,536870911}function D4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function S4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function b4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function Z5(s){s=s|0,Q4e(s)}function x4e(s){s=s|0,k4e(s+24|0)}function k4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function Q4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,12,l,R4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function R4e(){return 1896}function F4e(s,l,c){s=s|0,l=l|0,c=c|0,L4e(n[(T4e(s)|0)>>2]|0,l,c)}function T4e(s){return s=s|0,(n[(BF()|0)+24>>2]|0)+(s<<3)|0}function L4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+4|0,d=f,N4e(m,l),l=O4e(m,l)|0,Dp(d,c),c=Sp(d,c)|0,rf[s&31](l,c),bp(d),C=f}function N4e(s,l){s=s|0,l=l|0}function O4e(s,l){return s=s|0,l=l|0,M4e(l)|0}function M4e(s){return s=s|0,s|0}function U4e(){var s=0;return o[8080]|0||($5(11040),ir(70,11040,U|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),Fr(11040)|0||$5(11040),11040}function $5(s){s=s|0,q4e(s),Rg(s,71)}function _4e(s){s=s|0,H4e(s+24|0)}function H4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function q4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,7,l,W4e()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function G4e(s){s=s|0,j4e(s)}function j4e(s){s=s|0,Y4e(s)}function Y4e(s){s=s|0,o[s+8>>0]=1}function W4e(){return 1936}function K4e(){return z4e()|0}function z4e(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,m=s+4|0,n[m>>2]=Kt(1)|0,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],J4e(f,m,d),n[c>>2]=f,C=l,s|0}function J4e(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function V4e(s){s=s|0,Jm(s),gt(s)}function X4e(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function Z4e(s){s=s|0,gt(s)}function $4e(){var s=0;return o[8088]|0||(oUe(11076),ir(25,11076,U|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function eUe(s,l){s=s|0,l=l|0,n[s>>2]=tUe()|0,n[s+4>>2]=rUe()|0,n[s+12>>2]=l,n[s+8>>2]=nUe()|0,n[s+32>>2]=10}function tUe(){return 11745}function rUe(){return 1940}function nUe(){return lP()|0}function iUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(sUe(c),gt(c)):l|0&>(l)}function sUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function oUe(s){s=s|0,Pp(s)}function xc(s,l){s=s|0,l=l|0,n[s>>2]=l}function vF(s){return s=s|0,n[s>>2]|0}function aUe(s){return s=s|0,o[n[s>>2]>>0]|0}function lUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,n[f>>2]=n[s>>2],cUe(l,f)|0,C=c}function cUe(s,l){s=s|0,l=l|0;var c=0;return c=uUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function uUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,za(f),s=da(s)|0,l=AUe(s,n[l>>2]|0)|0,Ja(f),C=c,l|0}function za(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function AUe(s,l){s=s|0,l=l|0;var c=0;return c=Sl(fUe()|0)|0,Qn(0,c|0,s|0,mF(l)|0)|0}function Ja(s){s=s|0,q5(n[s>>2]|0,n[s+4>>2]|0)}function fUe(){var s=0;return o[8096]|0||(pUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function pUe(s){s=s|0,bl(s,hUe()|0,1)}function hUe(){return 1948}function gUe(){dUe()}function dUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0;if(Me=C,C=C+16|0,O=Me+4|0,G=Me,Li(65536,10804,n[2702]|0,10812),c=B5()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;Ac(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=v5()|0,l=n[s>>2]|0,l|0)do Au(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);Au(mUe()|0,5167),M=jm()|0,s=n[M>>2]|0;e:do if(s|0){do yUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){Q=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(EUe(d)|0);)if(n[G>>2]=Q,n[O>>2]=n[G>>2],CUe(M,O)|0,!s)break e;if(wUe(d),Q=n[Q>>2]|0,l=e7(d)|0,m=Hi()|0,B=C,C=C+((1*(l<<2)|0)+15&-16)|0,k=C,C=C+((1*(l<<2)|0)+15&-16)|0,l=n[(N5(d)|0)>>2]|0,l|0)for(c=B,f=k;n[c>>2]=n[(Ym(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Qe=Ym(d)|0,l=IUe(d)|0,c=e7(d)|0,f=BUe(d)|0,fu(Qe|0,l|0,B|0,k|0,c|0,f|0,AF(d)|0),_i(m|0)}while((s|0)!=0)}}while(0);if(s=n[(fF()|0)>>2]|0,s|0)do Qe=s+4|0,M=pF(Qe)|0,d=Lw(M)|0,m=Fw(M)|0,B=(Tw(M)|0)+1|0,k=pP(M)|0,Q=t7(Qe)|0,M=Fr(M)|0,O=uP(Qe)|0,G=PF(Qe)|0,Cl(0,d|0,m|0,B|0,k|0,Q|0,M|0,O|0,G|0,DF(Qe)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(jm()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(Ym(l)|0)>>2]|0,Ge=n[(O5(l)|0)>>2]|0,Ge|0)){c=Ge;do{l=c+4|0,f=pF(l)|0;r:do if(f|0)switch(Fr(f)|0){case 0:break t;case 4:case 3:case 2:{k=Lw(f)|0,Q=Fw(f)|0,M=(Tw(f)|0)+1|0,O=pP(f)|0,G=Fr(f)|0,Qe=uP(l)|0,Cl(se|0,k|0,Q|0,M|0,O|0,0,G|0,Qe|0,PF(l)|0,DF(l)|0);break r}case 1:{B=Lw(f)|0,k=Fw(f)|0,Q=(Tw(f)|0)+1|0,M=pP(f)|0,O=t7(l)|0,G=Fr(f)|0,Qe=uP(l)|0,Cl(se|0,B|0,k|0,Q|0,M|0,O|0,G|0,Qe|0,PF(l)|0,DF(l)|0);break r}case 5:{M=Lw(f)|0,O=Fw(f)|0,G=(Tw(f)|0)+1|0,Qe=pP(f)|0,Cl(se|0,M|0,O|0,G|0,Qe|0,vUe(f)|0,Fr(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Tt()}while(0);Ie(),C=Me}function mUe(){return 11703}function yUe(s){s=s|0,o[s+40>>0]=0}function EUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function CUe(s,l){return s=s|0,l=l|0,l=PUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],gt(s),n[l>>2]|0}function wUe(s){s=s|0,o[s+40>>0]=1}function e7(s){return s=s|0,n[s+20>>2]|0}function IUe(s){return s=s|0,n[s+8>>2]|0}function BUe(s){return s=s|0,n[s+32>>2]|0}function pP(s){return s=s|0,n[s+4>>2]|0}function t7(s){return s=s|0,n[s+4>>2]|0}function PF(s){return s=s|0,n[s+8>>2]|0}function DF(s){return s=s|0,n[s+16>>2]|0}function vUe(s){return s=s|0,n[s+20>>2]|0}function PUe(s){return s=s|0,n[s>>2]|0}function hP(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0;Nt=C,C=C+16|0,se=Nt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,G=n[2783]|0,c=G>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=G&~(1<>2]=s,n[c>>2]=m),qe=l<<3,n[f+4>>2]=qe|3,qe=f+qe+4|0,n[qe>>2]=n[qe>>2]|1,qe=d,C=Nt,qe|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=G&~(1<>2]=l,n[s>>2]=c,s=G),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,qe=B,C=Nt,qe|0;if(k=n[2784]|0,k){if(c=(k&0-k)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,Q=c>>>2&4,c=c>>>Q,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|Q|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)Q=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,Q=B>>>0>>0,c=Q?B:c,s=Q?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);Q=s,m=c}if(B=Q+M|0,Q>>>0>>0){d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[Q+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[Q+28>>2]|0,s=11436+(l<<2)|0,(Q|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=k&~(1<>2]|0)!=(Q|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[Q+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[Q+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(qe=m+M|0,n[Q+4>>2]=qe|3,qe=Q+qe+4|0,n[qe>>2]=n[qe>>2]|1):(n[Q+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=G|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),qe=Q+8|0,C=Nt,qe|0}else G=M}else G=M}else G=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,Q=n[2784]|0,Q){f=0-M|0,s=s>>>8,s?M>>>0>16777215?k=31:(G=(s+1048320|0)>>>16&8,_e=s<>>16&4,_e=_e<>>16&2,k=14-(O|G|k)+(_e<>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=n[11436+(k<<2)>>2]|0;e:do if(!c)c=0,s=0,_e=57;else for(s=0,B=M<<((k|0)==31?0:25-(k>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,_e=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,_e=57;break}else B=B<<((d^1)&1)}while(0);if((_e|0)==57){if((c|0)==0&(s|0)==0){if(s=2<>>12&16,G=G>>>B,m=G>>>5&8,G=G>>>m,k=G>>>2&4,G=G>>>k,O=G>>>1&2,G=G>>>O,c=G>>>1&1,s=0,c=n[11436+((m|B|k|O|c)+(G>>>c)<<2)>>2]|0}c?(d=c,_e=61):(k=s,B=f)}if((_e|0)==61)for(;;)if(_e=0,c=(n[d+4>>2]&-8)-M|0,G=c>>>0>>0,c=G?c:f,s=G?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,_e=61;else{k=s,B=c;break}if((k|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=k+M|0,k>>>0>=m>>>0)return qe=0,C=Nt,qe|0;d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else qe=n[k+8>>2]|0,n[qe+12>>2]=l,n[l+8>>2]=qe;while(0);do if(d){if(s=n[k+28>>2]|0,c=11436+(s<<2)|0,(k|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=Q&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=l,!l){f=Q;break}n[l+24>>2]=d,s=n[k+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[k+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=Q}else f=Q;while(0);do if(B>>>0>=16){if(n[k+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(_e=(l+1048320|0)>>>16&8,qe=l<<_e,lt=(qe+520192|0)>>>16&4,qe=qe<>>16&2,l=14-(lt|_e|l)+(qe<>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){_e=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=96;break}}if((_e|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((_e|0)==97){_e=c+8|0,qe=n[_e>>2]|0,n[qe+12>>2]=m,n[_e>>2]=m,n[m+8>>2]=qe,n[m+12>>2]=c,n[m+24>>2]=0;break}}else qe=B+M|0,n[k+4>>2]=qe|3,qe=k+qe+4|0,n[qe>>2]=n[qe>>2]|1;while(0);return qe=k+8|0,C=Nt,qe|0}else G=M}else G=M;else G=-1;while(0);if(c=n[2785]|0,c>>>0>=G>>>0)return l=c-G|0,s=n[2788]|0,l>>>0>15?(qe=s+G|0,n[2788]=qe,n[2785]=l,n[qe+4>>2]=l|1,n[qe+l>>2]=l,n[s+4>>2]=G|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,qe=s+c+4|0,n[qe>>2]=n[qe>>2]|1),qe=s+8|0,C=Nt,qe|0;if(B=n[2786]|0,B>>>0>G>>>0)return lt=B-G|0,n[2786]=lt,qe=n[2789]|0,_e=qe+G|0,n[2789]=_e,n[_e+4>>2]=lt|1,n[qe+4>>2]=G|3,qe=qe+8|0,C=Nt,qe|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),k=G+48|0,Q=G+47|0,m=s+Q|0,d=0-s|0,M=m&d,M>>>0<=G>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return qe=0,C=Nt,qe|0;e:do if(n[2894]&4)l=0,_e=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Qe=f+4|0,(s+(n[Qe>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{_e=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=Rp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Qe>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,_e=135;break e}}else f=s,_e=126;else l=0}else _e=118;while(0);do if((_e|0)==118)if(c=Rp(0)|0,(c|0)!=-1&&(l=c,Ge=n[2902]|0,Me=Ge+-1|0,l=((Me&l|0)==0?0:(Me+l&0-Ge)-l|0)+M|0,Ge=n[2891]|0,Me=l+Ge|0,l>>>0>G>>>0&l>>>0<2147483647)){if(Qe=n[2893]|0,Qe|0&&Me>>>0<=Ge>>>0|Me>>>0>Qe>>>0){l=0;break}if(s=Rp(l|0)|0,(s|0)==(c|0)){B=l,m=c,_e=135;break e}else f=s,_e=126}else l=0;while(0);do if((_e|0)==126){if(c=0-l|0,!(k>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,_e=135;break e}if(s=n[2903]|0,s=Q-l+s&0-s,s>>>0>=2147483647){B=l,m=f,_e=135;break e}if((Rp(s|0)|0)==-1){Rp(c|0)|0,l=0;break}else{B=s+l|0,m=f,_e=135;break e}}while(0);n[2894]=n[2894]|4,_e=133}while(0);if((_e|0)==133&&M>>>0<2147483647&&(lt=Rp(M|0)|0,Qe=Rp(0)|0,$e=Qe-lt|0,Ve=$e>>>0>(G+40|0)>>>0,!((lt|0)==-1|Ve^1|lt>>>0>>0&((lt|0)!=-1&(Qe|0)!=-1)^1))&&(B=Ve?$e:l,m=lt,_e=135),(_e|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),Q=n[2789]|0;do if(Q){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){_e=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((_e|0)==145&&(n[l+12>>2]&8|0)==0&&Q>>>0>>0&Q>>>0>=s>>>0){n[c>>2]=f+B,qe=Q+8|0,qe=(qe&7|0)==0?0:0-qe&7,_e=Q+qe|0,qe=(n[2786]|0)+(B-qe)|0,n[2789]=_e,n[2786]=qe,n[_e+4>>2]=qe|1,n[_e+qe+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){_e=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((_e|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+G|0,k=l-O-G|0,n[O+4>>2]=G|3;do if((l|0)!=(Q|0)){if((l|0)==(n[2788]|0)){qe=(n[2785]|0)+k|0,n[2785]=qe,n[2788]=M,n[M+4>>2]=qe|1,n[M+qe>>2]=qe;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else qe=n[l+8>>2]|0,n[qe+12>>2]=s,n[s+8>>2]=qe;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+k|0}else d=k;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}_e=(l+1048320|0)>>>16&8,qe=l<<_e,lt=(qe+520192|0)>>>16&4,qe=qe<>>16&2,l=14-(lt|_e|l)+(qe<>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){_e=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=193;break}}if((_e|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((_e|0)==194){_e=c+8|0,qe=n[_e>>2]|0,n[qe+12>>2]=M,n[_e>>2]=M,n[M+8>>2]=qe,n[M+12>>2]=c,n[M+24>>2]=0;break}}else qe=(n[2786]|0)+k|0,n[2786]=qe,n[2789]=M,n[M+4>>2]=qe|1;while(0);return qe=O+8|0,C=Nt,qe|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=Q>>>0&&(qe=s+(n[l+4>>2]|0)|0,qe>>>0>Q>>>0));)l=n[l+8>>2]|0;d=qe+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=Q+16|0,s=s>>>0>>0?Q:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,_e=m+c|0,c=B+-40-c|0,n[2789]=_e,n[2786]=c,n[_e+4>>2]=c|1,n[_e+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do _e=l,l=l+4|0,n[l>>2]=7;while((_e+8|0)>>>0>>0);if((s|0)!=(Q|0)){if(m=s-Q|0,n[c>>2]=n[c>>2]&-2,n[Q+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=Q,n[l+12>>2]=Q,n[Q+8>>2]=l,n[Q+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(_e=(l+1048320|0)>>>16&8,qe=l<<_e,lt=(qe+520192|0)>>>16&4,qe=qe<>>16&2,c=14-(lt|_e|c)+(qe<>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[Q+28>>2]=c,n[Q+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){_e=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=215;break}}if((_e|0)==215){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((_e|0)==216){_e=c+8|0,qe=n[_e>>2]|0,n[qe+12>>2]=Q,n[_e>>2]=Q,n[Q+8>>2]=qe,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}}else{qe=n[2787]|0,(qe|0)==0|m>>>0>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do qe=11172+(l<<1<<2)|0,n[qe+12>>2]=qe,n[qe+8>>2]=qe,l=l+1|0;while((l|0)!=32);qe=m+8|0,qe=(qe&7|0)==0?0:0-qe&7,_e=m+qe|0,qe=B+-40-qe|0,n[2789]=_e,n[2786]=qe,n[_e+4>>2]=qe|1,n[_e+qe+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>G>>>0)return lt=l-G|0,n[2786]=lt,qe=n[2789]|0,_e=qe+G|0,n[2789]=_e,n[_e+4>>2]=lt|1,n[qe+4>>2]=G|3,qe=qe+8|0,C=Nt,qe|0}return n[(Km()|0)>>2]=12,qe=0,C=Nt,qe|0}function gP(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,Q=c+l|0;do if(s&1)k=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0>>0))return;if((B|0)==(n[2788]|0)){if(s=Q+4|0,l=n[s>>2]|0,(l&3|0)!=3){k=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=l,n[l+8>>2]=s,k=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else k=n[B+8>>2]|0,n[k+12>>2]=s,n[s+8>>2]=k;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){k=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,k=B,l=m):(k=B,l=m)}else k=B,l=m}while(0);if(!(B>>>0>=Q>>>0)&&(s=Q+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[k+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(Q|0)==(n[2789]|0)){if(Q=(n[2786]|0)+l|0,n[2786]=Q,n[2789]=k,n[k+4>>2]=Q|1,(k|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((Q|0)==(s|0)){Q=(n[2785]|0)+l|0,n[2785]=Q,n[2788]=B,n[k+4>>2]=Q|1,n[B+Q>>2]=Q;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[Q+8>>2]|0,s=n[Q+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<>2]=s,n[s+8>>2]=l;break}else{m=n[Q+24>>2]|0,s=n[Q+12>>2]|0;do if((s|0)==(Q|0)){if(c=Q+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[Q+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[Q+28>>2]|0,l=11436+(s<<2)|0,(Q|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<>2]|0)!=(Q|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=Q+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[k+4>>2]=d|1,n[B+d>>2]=d,(k|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=k,n[s+12>>2]=k,n[k+8>>2]=s,n[k+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,Q=s<>>16&4,Q=Q<>>16&2,s=14-(m|B|s)+(Q<>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[k+28>>2]=s,n[k+20>>2]=0,n[k+16>>2]=0,l=n[2784]|0,c=1<>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((s|0)==73){B=c+8|0,Q=n[B>>2]|0,n[Q+12>>2]=k,n[B>>2]=k,n[k+8>>2]=Q,n[k+12>>2]=c,n[k+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;while(0);if(Q=(n[2791]|0)+-1|0,n[2791]=Q,!Q)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function DUe(){return 11628}function SUe(s){s=s|0;var l=0,c=0;return l=C,C=C+16|0,c=l,n[c>>2]=kUe(n[s+60>>2]|0)|0,s=dP(gc(6,c|0)|0)|0,C=l,s|0}function r7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0;G=C,C=C+48|0,M=G+16|0,m=G,d=G+32|0,k=s+28|0,f=n[k>>2]|0,n[d>>2]=f,Q=s+20|0,f=(n[Q>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=dP(Ni(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,Ge=n[d+4>>2]|0,se=m>>>0>Ge>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,Ge=m-(se?Ge:0)|0,n[d>>2]=(n[d>>2]|0)+Ge,se=d+4|0,n[se>>2]=(n[se>>2]|0)-Ge,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=dP(Ni(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[k>>2]=0,n[Q>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(Ge=n[s+44>>2]|0,n[s+16>>2]=Ge+(n[s+48>>2]|0),n[k>>2]=Ge,n[Q>>2]=Ge),C=G,c|0}function bUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=C,C=C+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(dP(sa(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,C=d,s|0}function dP(s){return s=s|0,s>>>0>4294963200&&(n[(Km()|0)>>2]=0-s,s=-1),s|0}function Km(){return(xUe()|0)+64|0}function xUe(){return SF()|0}function SF(){return 2084}function kUe(s){return s=s|0,s|0}function QUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=C,C=C+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,pu(54,f|0)|0)&&(o[s+75>>0]=-1),f=r7(s,l,c)|0,C=d,f|0}function n7(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function RUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function i7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0;Qe=C,C=C+224|0,O=Qe+120|0,G=Qe+80|0,Ge=Qe,Me=Qe+136|0,f=G,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(bF(0,l,O,Ge,G)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=FUe(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=bF(s,l,O,Ge,G)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Me,B=s+28|0,n[B>>2]=Me,k=s+20|0,n[k>>2]=Me,n[f>>2]=80,Q=s+16|0,n[Q>>2]=Me+80,c=bF(s,l,O,Ge,G)|0,m&&(CP[n[s+36>>2]&7](s,0,0)|0,c=(n[k>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[Q>>2]=0,n[B>>2]=0,n[k>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&TUe(s),c=(f&32|0)==0?c:-1),C=Qe,c|0}function bF(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0;ar=C,C=C+64|0,cr=ar+16|0,Xt=ar,Nt=ar+24|0,Dr=ar+8|0,Tr=ar+20|0,n[cr>>2]=l,lt=(s|0)!=0,_e=Nt+40|0,qe=_e,Nt=Nt+39|0,Mr=Dr+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(Km()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)k=l;else{Ve=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=k,Ve=9;break t}case 0:{B=k;break t}default:}$e=k+1|0,n[cr>>2]=$e,B=o[$e>>0]|0,k=$e}t:do if((Ve|0)==9)for(;;){if(Ve=0,(o[k+1>>0]|0)!=37)break t;if(B=B+1|0,k=k+2|0,n[cr>>2]=k,(o[k>>0]|0)==37)Ve=9;else break}while(0);if(B=B-l|0,lt&&os(s,l,B),B|0){l=k;continue}Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10?($e=(o[k+2>>0]|0)==36,Qe=$e?B:-1,O=$e?1:O,Q=$e?k+3|0:Q):Qe=-1,n[cr>>2]=Q,B=o[Q>>0]|0,k=(B<<24>>24)+-32|0;t:do if(k>>>0<32)for(M=0,G=B;;){if(B=1<>2]=Q,B=o[Q>>0]|0,k=(B<<24>>24)+-32|0,k>>>0>=32)break;G=B}else M=0;while(0);if(B<<24>>24==42){if(k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10&&(o[Q+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[k>>0]|0)+-48<<3)>>2]|0,O=1,Q=Q+3|0;else{if(O|0){m=-1;break}lt?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,Q=k):(B=0,O=0,Q=k)}n[cr>>2]=Q,$e=(B|0)<0,B=$e?0-B|0:B,M=$e?M|8192:M}else{if(B=s7(cr)|0,(B|0)<0){m=-1;break}Q=n[cr>>2]|0}do if((o[Q>>0]|0)==46){if((o[Q+1>>0]|0)!=42){n[cr>>2]=Q+1,k=s7(cr)|0,Q=n[cr>>2]|0;break}if(G=Q+2|0,k=(o[G>>0]|0)+-48|0,k>>>0<10&&(o[Q+3>>0]|0)==36){n[d+(k<<2)>>2]=10,k=n[f+((o[G>>0]|0)+-48<<3)>>2]|0,Q=Q+4|0,n[cr>>2]=Q;break}if(O|0){m=-1;break e}lt?($e=(n[c>>2]|0)+(4-1)&~(4-1),k=n[$e>>2]|0,n[c>>2]=$e+4):k=0,n[cr>>2]=G,Q=G}else k=-1;while(0);for(Me=0;;){if(((o[Q>>0]|0)+-65|0)>>>0>57){m=-1;break e}if($e=Q+1|0,n[cr>>2]=$e,G=o[(o[Q>>0]|0)+-65+(5178+(Me*58|0))>>0]|0,se=G&255,(se+-1|0)>>>0<8)Me=se,Q=$e;else break}if(!(G<<24>>24)){m=-1;break}Ge=(Qe|0)>-1;do if(G<<24>>24==19)if(Ge){m=-1;break e}else Ve=49;else{if(Ge){n[d+(Qe<<2)>>2]=se,Ge=f+(Qe<<3)|0,Qe=n[Ge+4>>2]|0,Ve=Xt,n[Ve>>2]=n[Ge>>2],n[Ve+4>>2]=Qe,Ve=49;break}if(!lt){m=0;break e}o7(Xt,se,c)}while(0);if((Ve|0)==49&&(Ve=0,!lt)){B=0,l=$e;continue}Q=o[Q>>0]|0,Q=(Me|0)!=0&(Q&15|0)==3?Q&-33:Q,Ge=M&-65537,Qe=(M&8192|0)==0?M:Ge;t:do switch(Q|0){case 110:switch((Me&255)<<24>>24){case 0:{n[n[Xt>>2]>>2]=m,B=0,l=$e;continue e}case 1:{n[n[Xt>>2]>>2]=m,B=0,l=$e;continue e}case 2:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=$e;continue e}case 3:{a[n[Xt>>2]>>1]=m,B=0,l=$e;continue e}case 4:{o[n[Xt>>2]>>0]=m,B=0,l=$e;continue e}case 6:{n[n[Xt>>2]>>2]=m,B=0,l=$e;continue e}case 7:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=$e;continue e}default:{B=0,l=$e;continue e}}case 112:{Q=120,k=k>>>0>8?k:8,l=Qe|8,Ve=61;break}case 88:case 120:{l=Qe,Ve=61;break}case 111:{Q=Xt,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,se=NUe(l,Q,_e)|0,Ge=qe-se|0,M=0,G=5642,k=(Qe&8|0)==0|(k|0)>(Ge|0)?k:Ge+1|0,Ge=Qe,Ve=67;break}case 105:case 100:if(Q=Xt,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,(Q|0)<0){l=mP(0,0,l|0,Q|0)|0,Q=Ce,M=Xt,n[M>>2]=l,n[M+4>>2]=Q,M=1,G=5642,Ve=66;break t}else{M=(Qe&2049|0)!=0&1,G=(Qe&2048|0)==0?(Qe&1|0)==0?5642:5644:5643,Ve=66;break t}case 117:{Q=Xt,M=0,G=5642,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,Ve=66;break}case 99:{o[Nt>>0]=n[Xt>>2],l=Nt,M=0,G=5642,se=_e,Q=1,k=Ge;break}case 109:{Q=OUe(n[(Km()|0)>>2]|0)|0,Ve=71;break}case 115:{Q=n[Xt>>2]|0,Q=Q|0?Q:5652,Ve=71;break}case 67:{n[Dr>>2]=n[Xt>>2],n[Mr>>2]=0,n[Xt>>2]=Dr,se=-1,Q=Dr,Ve=75;break}case 83:{l=n[Xt>>2]|0,k?(se=k,Q=l,Ve=75):(Ps(s,32,B,0,Qe),l=0,Ve=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=UUe(s,+E[Xt>>3],B,k,Qe,Q)|0,l=$e;continue e}default:M=0,G=5642,se=_e,Q=k,k=Qe}while(0);t:do if((Ve|0)==61)Qe=Xt,Me=n[Qe>>2]|0,Qe=n[Qe+4>>2]|0,se=LUe(Me,Qe,_e,Q&32)|0,G=(l&8|0)==0|(Me|0)==0&(Qe|0)==0,M=G?0:2,G=G?5642:5642+(Q>>4)|0,Ge=l,l=Me,Q=Qe,Ve=67;else if((Ve|0)==66)se=zm(l,Q,_e)|0,Ge=Qe,Ve=67;else if((Ve|0)==71)Ve=0,Qe=MUe(Q,0,k)|0,Me=(Qe|0)==0,l=Q,M=0,G=5642,se=Me?Q+k|0:Qe,Q=Me?k:Qe-Q|0,k=Ge;else if((Ve|0)==75){for(Ve=0,G=Q,l=0,k=0;M=n[G>>2]|0,!(!M||(k=a7(Tr,M)|0,(k|0)<0|k>>>0>(se-l|0)>>>0));)if(l=k+l|0,se>>>0>l>>>0)G=G+4|0;else break;if((k|0)<0){m=-1;break e}if(Ps(s,32,B,l,Qe),!l)l=0,Ve=84;else for(M=0;;){if(k=n[Q>>2]|0,!k){Ve=84;break t}if(k=a7(Tr,k)|0,M=k+M|0,(M|0)>(l|0)){Ve=84;break t}if(os(s,Tr,k),M>>>0>=l>>>0){Ve=84;break}else Q=Q+4|0}}while(0);if((Ve|0)==67)Ve=0,Q=(l|0)!=0|(Q|0)!=0,Qe=(k|0)!=0|Q,Q=((Q^1)&1)+(qe-se)|0,l=Qe?se:_e,se=_e,Q=Qe?(k|0)>(Q|0)?k:Q:k,k=(k|0)>-1?Ge&-65537:Ge;else if((Ve|0)==84){Ve=0,Ps(s,32,B,l,Qe^8192),B=(B|0)>(l|0)?B:l,l=$e;continue}Me=se-l|0,Ge=(Q|0)<(Me|0)?Me:Q,Qe=Ge+M|0,B=(B|0)<(Qe|0)?Qe:B,Ps(s,32,B,Qe,k),os(s,G,M),Ps(s,48,B,Qe,k^65536),Ps(s,48,Ge,Me,0),os(s,l,Me),Ps(s,32,B,Qe,k^8192),l=$e}e:do if((Ve|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(o7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return C=ar,m|0}function FUe(s){return s=s|0,0}function TUe(s){s=s|0}function os(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||zUe(l,c,s)|0}function s7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function o7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}default:break e}while(0);while(0)}function LUe(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=yP(s|0,l|0,4)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function NUe(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=yP(s|0,l|0,3)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function zm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=RF(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=QF(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Ce;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function OUe(s){return s=s|0,jUe(s,n[(GUe()|0)+188>>2]|0)|0}function MUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=Ue(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function Ps(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=C,C=C+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,Vm(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do os(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}os(s,m,d)}C=B}function a7(s,l){return s=s|0,l=l|0,s?s=HUe(s,l,0)|0:s=0,s|0}function UUe(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=0;xn=C,C=C+560|0,Q=xn+8|0,$e=xn,ar=xn+524|0,Tr=ar,M=xn+512|0,n[$e>>2]=0,Dr=M+12|0,l7(l)|0,(Ce|0)<0?(l=-l,cr=1,Mr=5659):(cr=(d&2049|0)!=0&1,Mr=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),l7(l)|0,Xt=Ce&2146435072;do if(Xt>>>0<2146435072|(Xt|0)==2146435072&0<0){if(Ge=+_Ue(l,$e)*2,B=Ge!=0,B&&(n[$e>>2]=(n[$e>>2]|0)+-1),lt=m|32,(lt|0)==97){Me=m&32,se=(Me|0)==0?Mr:Mr+9|0,G=cr|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=Ge;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-Ge-l));break}else{l=Ge+l-l;break}}while(0);k=n[$e>>2]|0,B=(k|0)<0?0-k|0:k,B=zm(B,((B|0)<0)<<31>>31,Dr)|0,(B|0)==(Dr|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(k>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,Q=(d&8|0)==0,B=ar;do Xt=~~l,k=B+1|0,o[B>>0]=u[5694+Xt>>0]|Me,l=(l-+(Xt|0))*16,(k-Tr|0)==1&&!(Q&(M&l==0))?(o[k>>0]=46,B=B+2|0):B=k;while(l!=0);Xt=B-Tr|0,Tr=Dr-O|0,Dr=(f|0)!=0&(Xt+-2|0)<(f|0)?f+2|0:Xt,B=Tr+G+Dr|0,Ps(s,32,c,B,d),os(s,se,G),Ps(s,48,c,B,d^65536),os(s,ar,Xt),Ps(s,48,Dr-Xt|0,0,0),os(s,O,Tr),Ps(s,32,c,B,d^8192);break}k=(f|0)<0?6:f,B?(B=(n[$e>>2]|0)+-28|0,n[$e>>2]=B,l=Ge*268435456):(l=Ge,B=n[$e>>2]|0),Xt=(B|0)<0?Q:Q+288|0,Q=Xt;do qe=~~l>>>0,n[Q>>2]=qe,Q=Q+4|0,l=(l-+(qe>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Xt,G=Q;;){if(O=(B|0)<29?B:29,B=G+-4|0,B>>>0>=M>>>0){Q=0;do _e=h7(n[B>>2]|0,0,O|0)|0,_e=kF(_e|0,Ce|0,Q|0,0)|0,qe=Ce,Ve=RF(_e|0,qe|0,1e9,0)|0,n[B>>2]=Ve,Q=QF(_e|0,qe|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);Q&&(M=M+-4|0,n[M>>2]=Q)}for(Q=G;!(Q>>>0<=M>>>0);)if(B=Q+-4|0,!(n[B>>2]|0))Q=B;else break;if(B=(n[$e>>2]|0)-O|0,n[$e>>2]=B,(B|0)>0)G=Q;else break}else M=Xt;if((B|0)<0){f=((k+25|0)/9|0)+1|0,Qe=(lt|0)==102;do{if(Me=0-B|0,Me=(Me|0)<9?Me:9,M>>>0>>0){O=(1<>>Me,se=0,B=M;do qe=n[B>>2]|0,n[B>>2]=(qe>>>Me)+se,se=Ue(qe&O,G)|0,B=B+4|0;while(B>>>0>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[Q>>2]=se,M=B,B=Q+4|0):(M=B,B=Q)}else M=(n[M>>2]|0)==0?M+4|0:M,B=Q;Q=Qe?Xt:M,Q=(B-Q>>2|0)>(f|0)?Q+(f<<2)|0:B,B=(n[$e>>2]|0)+Me|0,n[$e>>2]=B}while((B|0)<0);B=M,f=Q}else B=M,f=Q;if(qe=Xt,B>>>0>>0){if(Q=(qe-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,Q=Q+1|0;while(O>>>0>=M>>>0)}}else Q=0;if(Qe=(lt|0)==103,Ve=(k|0)!=0,M=k-((lt|0)!=102?Q:0)+((Ve&Qe)<<31>>31)|0,(M|0)<(((f-qe>>2)*9|0)+-9|0)){if(M=M+9216|0,Me=Xt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(G=n[Me>>2]|0,se=(G>>>0)%(O>>>0)|0,M=(Me+4|0)==(f|0),M&(se|0)==0)M=Me;else if(Ge=(((G>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,_e=(O|0)/2|0,l=se>>>0<_e>>>0?.5:M&(se|0)==(_e|0)?1:1.5,cr&&(_e=(o[Mr>>0]|0)==45,l=_e?-l:l,Ge=_e?-Ge:Ge),M=G-se|0,n[Me>>2]=M,Ge+l!=Ge){if(_e=M+O|0,n[Me>>2]=_e,_e>>>0>999999999)for(Q=Me;M=Q+-4|0,n[Q>>2]=0,M>>>0>>0&&(B=B+-4|0,n[B>>2]=0),_e=(n[M>>2]|0)+1|0,n[M>>2]=_e,_e>>>0>999999999;)Q=M;else M=Me;if(Q=(qe-B>>2)*9|0,G=n[B>>2]|0,G>>>0>=10){O=10;do O=O*10|0,Q=Q+1|0;while(G>>>0>=O>>>0)}}else M=Me;M=M+4|0,M=f>>>0>M>>>0?M:f,_e=B}else M=f,_e=B;for(lt=M;;){if(lt>>>0<=_e>>>0){$e=0;break}if(B=lt+-4|0,!(n[B>>2]|0))lt=B;else{$e=1;break}}f=0-Q|0;do if(Qe)if(B=((Ve^1)&1)+k|0,(B|0)>(Q|0)&(Q|0)>-5?(O=m+-1|0,k=B+-1-Q|0):(O=m+-2|0,k=B+-1|0),B=d&8,B)Me=B;else{if($e&&(Nt=n[lt+-4>>2]|0,(Nt|0)!=0))if((Nt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Nt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((lt-qe>>2)*9|0)+-9|0,(O|32|0)==102){Me=B-M|0,Me=(Me|0)>0?Me:0,k=(k|0)<(Me|0)?k:Me,Me=0;break}else{Me=B+Q-M|0,Me=(Me|0)>0?Me:0,k=(k|0)<(Me|0)?k:Me,Me=0;break}}else O=m,Me=d&8;while(0);if(Qe=k|Me,G=(Qe|0)!=0&1,se=(O|32|0)==102,se)Ve=0,B=(Q|0)>0?Q:0;else{if(B=(Q|0)<0?f:Q,B=zm(B,((B|0)<0)<<31>>31,Dr)|0,M=Dr,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(Q>>31&2)+43,B=B+-2|0,o[B>>0]=O,Ve=B,B=M-B|0}if(B=cr+1+k+G+B|0,Ps(s,32,c,B,d),os(s,Mr,cr),Ps(s,48,c,B,d^65536),se){O=_e>>>0>Xt>>>0?Xt:_e,Me=ar+9|0,G=Me,se=ar+8|0,M=O;do{if(Q=zm(n[M>>2]|0,0,Me)|0,(M|0)==(O|0))(Q|0)==(Me|0)&&(o[se>>0]=48,Q=se);else if(Q>>>0>ar>>>0){Vm(ar|0,48,Q-Tr|0)|0;do Q=Q+-1|0;while(Q>>>0>ar>>>0)}os(s,Q,G-Q|0),M=M+4|0}while(M>>>0<=Xt>>>0);if(Qe|0&&os(s,5710,1),M>>>0>>0&(k|0)>0)for(;;){if(Q=zm(n[M>>2]|0,0,Me)|0,Q>>>0>ar>>>0){Vm(ar|0,48,Q-Tr|0)|0;do Q=Q+-1|0;while(Q>>>0>ar>>>0)}if(os(s,Q,(k|0)<9?k:9),M=M+4|0,Q=k+-9|0,M>>>0>>0&(k|0)>9)k=Q;else{k=Q;break}}Ps(s,48,k+9|0,9,0)}else{if(Qe=$e?lt:_e+4|0,(k|0)>-1){$e=ar+9|0,Me=(Me|0)==0,f=$e,G=0-Tr|0,se=ar+8|0,O=_e;do{Q=zm(n[O>>2]|0,0,$e)|0,(Q|0)==($e|0)&&(o[se>>0]=48,Q=se);do if((O|0)==(_e|0)){if(M=Q+1|0,os(s,Q,1),Me&(k|0)<1){Q=M;break}os(s,5710,1),Q=M}else{if(Q>>>0<=ar>>>0)break;Vm(ar|0,48,Q+G|0)|0;do Q=Q+-1|0;while(Q>>>0>ar>>>0)}while(0);Tr=f-Q|0,os(s,Q,(k|0)>(Tr|0)?Tr:k),k=k-Tr|0,O=O+4|0}while(O>>>0>>0&(k|0)>-1)}Ps(s,48,k+18|0,18,0),os(s,Ve,Dr-Ve|0)}Ps(s,32,c,B,d^8192)}else ar=(m&32|0)!=0,B=cr+3|0,Ps(s,32,c,B,d&-65537),os(s,Mr,cr),os(s,l!=l|!1?ar?5686:5690:ar?5678:5682,3),Ps(s,32,c,B,d^8192);while(0);return C=xn,((B|0)<(c|0)?c:B)|0}function l7(s){s=+s;var l=0;return E[v>>3]=s,l=n[v>>2]|0,Ce=n[v+4>>2]|0,l|0}function _Ue(s,l){return s=+s,l=l|0,+ +c7(s,l)}function c7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(E[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=yP(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+c7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+E[v>>3]}return+s}function HUe(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(qUe()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(Km()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(Km()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function qUe(){return SF()|0}function GUe(){return SF()|0}function jUe(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return YUe(c,n[l+20>>2]|0)|0}function YUe(s,l){return s=s|0,l=l|0,WUe(s,l)|0}function WUe(s,l){return s=s|0,l=l|0,l?l=KUe(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function KUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=Tg(n[s+8>>2]|0,se)|0,f=Tg(n[s+12>>2]|0,se)|0,d=Tg(n[s+16>>2]|0,se)|0;e:do if(m>>>0>>2>>>0&&(G=l-(m<<2)|0,f>>>0>>0&d>>>0>>0)&&((d|f)&3|0)==0){for(G=f>>>2,O=d>>>2,M=0;;){if(k=m>>>1,Q=M+k|0,B=Q<<1,d=B+G|0,f=Tg(n[s+(d<<2)>>2]|0,se)|0,d=Tg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=n7(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:Q,m=f?k:m-k|0}f=B+O|0,d=Tg(n[s+(f<<2)>>2]|0,se)|0,f=Tg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function Tg(s,l){s=s|0,l=l|0;var c=0;return c=m7(s|0)|0,((l|0)==0?s:c)|0}function zUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=c+16|0,d=n[f>>2]|0,d?m=5:JUe(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(k=c+20|0,B=n[k>>2]|0,f=B,(d-B|0)>>>0>>0){f=CP[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=CP[n[c+36>>2]&7](c,s,B)|0,f>>>0>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[k>>2]|0}else m=0,d=s;while(0);Pr(f|0,d|0,l|0)|0,n[k>>2]=(n[k>>2]|0)+l,f=m+l|0}while(0);return f|0}function JUe(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function _n(s,l){s=y(s),l=y(l);var c=0,f=0;c=u7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=u7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s>2]=s,n[v>>2]|0|0}function Lg(s,l){s=y(s),l=y(l);var c=0,f=0;c=A7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=A7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s>2]=s,n[v>>2]|0|0}function xF(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),k=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=k>>>23&255,Q=m&-2147483648,d=k<<1;e:do if((d|0)!=0&&!((c|0)==255|((VUe(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)k=k&8388607|8388608;else{if(m=k<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,k=k<<1-d}d=f-k|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-k|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|Q,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function VUe(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function XUe(s,l){return s=s|0,l=l|0,i7(n[582]|0,s,l)|0}function Vr(s){s=s|0,Tt()}function Jm(s){s=s|0}function ZUe(s,l){return s=s|0,l=l|0,0}function $Ue(s){return s=s|0,(f7(s+4|0)|0)==-1?(tf[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function f7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function Qp(s){s=s|0,$Ue(s)|0&&e3e(s)}function e3e(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(f7(l)|0)!=-1||tf[n[(n[s>>2]|0)+16>>2]&127](s)}function Kt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=hP(l)|0,!(s|0);){if(s=r3e()|0,!s){s=0;break}S7[s&0]()}return s|0}function p7(s){return s=s|0,Kt(s)|0}function gt(s){s=s|0,gP(s)}function t3e(s){s=s|0,(o[s+11>>0]|0)<0&>(n[s>>2]|0)}function r3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function n3e(){}function mP(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Ce=f,s-c>>>0|0|0}function kF(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Ce=l+f+(c>>>0>>0|0)>>>0,c|0|0}function Vm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function h7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l<>>32-c,s<>>c,s>>>c|(l&(1<>>c-32|0)}function Pr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return fc(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function g7(s){s=s|0;var l=0;return l=o[N+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[N+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[N+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[N+(s>>>24)>>0]|0)+24|0))}function d7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0;if(O=s,Q=l,M=Q,B=c,se=f,k=se,!M)return m=(d|0)!=0,k?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Ce=se,d|0);m=(k|0)==0;do if(B){if(!m){if(m=(S(k|0)|0)-(S(M|0)|0)|0,m>>>0<=31){G=m+1|0,k=31-m|0,l=m-31>>31,B=G,s=O>>>(G>>>0)&l|M<>>(G>>>0)&l,m=0,k=O<>2]=s|0,n[d+4>>2]=Q|l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0)}if(m=B-1|0,m&B|0){k=(S(B|0)|0)+33-(S(M|0)|0)|0,Me=64-k|0,G=32-k|0,Q=G>>31,Ge=k-32|0,l=Ge>>31,B=k,s=G-1>>31&M>>>(Ge>>>0)|(M<>>(k>>>0))&l,l=l&M>>>(k>>>0),m=O<>>(Ge>>>0))&Q|O<>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(Ge=Q|l&0,Me=s|0|0,Ce=Ge,Me|0):(Me=g7(B|0)|0,Ge=M>>>(Me>>>0)|0,Me=M<<32-Me|O>>>(Me>>>0)|0,Ce=Ge,Me|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),Ge=0,Me=(M>>>0)/(B>>>0)>>>0,Ce=Ge,Me|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(k>>>0)),Ge=0,Me=(M>>>0)/(k>>>0)>>>0,Ce=Ge,Me|0;if(m=k-1|0,!(m&k))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),Ge=0,Me=M>>>((g7(k|0)|0)>>>0),Ce=Ge,Me|0;if(m=(S(k|0)|0)-(S(M|0)|0)|0,m>>>0<=30){l=m+1|0,k=31-m|0,B=l,s=M<>>(l>>>0),l=M>>>(l>>>0),m=0,k=O<>2]=s|0,n[d+4>>2]=Q|l&0,Ge=0,Me=0,Ce=Ge,Me|0):(Ge=0,Me=0,Ce=Ge,Me|0)}while(0);if(!B)M=k,Q=0,k=0;else{G=c|0|0,O=se|f&0,M=kF(G|0,O|0,-1,-1)|0,c=Ce,Q=k,k=0;do f=Q,Q=m>>>31|Q<<1,m=k|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,mP(M|0,c|0,f|0,se|0)|0,Me=Ce,Ge=Me>>31|((Me|0)<0?-1:0)<<1,k=Ge&1,s=mP(f|0,se|0,Ge&G|0,(((Me|0)<0?-1:0)>>31|((Me|0)<0?-1:0)<<1)&O|0)|0,l=Ce,B=B-1|0;while((B|0)!=0);M=Q,Q=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),Ge=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|Q,Me=(m<<1|0>>>31)&-2|k,Ce=Ge,Me|0}function QF(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,d7(s,l,c,f,0)|0}function Rp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[I>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,PA(12),-1):(n[I>>2]=s,(s|0)>($()|0)&&(X()|0)==0?(n[I>>2]=l,PA(12),-1):l|0)}function Nw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else Pr(s,l,c)|0;return s|0}function RF(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=C,C=C+16|0,d=m|0,d7(s,l,c,f,d)|0,C=m,Ce=n[d+4>>2]|0,n[d>>2]|0|0}function m7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function i3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,y7[s&1](l|0,c|0,f|0,d|0,m|0)}function s3e(s,l,c){s=s|0,l=l|0,c=y(c),E7[s&1](l|0,y(c))}function o3e(s,l,c){s=s|0,l=l|0,c=+c,C7[s&31](l|0,+c)}function a3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(w7[s&0](l|0,y(c),y(f)))}function l3e(s,l){s=s|0,l=l|0,tf[s&127](l|0)}function c3e(s,l,c){s=s|0,l=l|0,c=c|0,rf[s&31](l|0,c|0)}function u3e(s,l){return s=s|0,l=l|0,Og[s&31](l|0)|0}function A3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,I7[s&1](l|0,+c,+f,d|0)}function f3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,W3e[s&1](l|0,+c,+f)}function p3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,CP[s&7](l|0,c|0,f|0)|0}function h3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+K3e[s&1](l|0,c|0,f|0)}function g3e(s,l){return s=s|0,l=l|0,+B7[s&15](l|0)}function d3e(s,l,c){return s=s|0,l=l|0,c=+c,z3e[s&1](l|0,+c)|0}function m3e(s,l,c){return s=s|0,l=l|0,c=c|0,TF[s&15](l|0,c|0)|0}function y3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,J3e[s&1](l|0,c|0,+f,+d,m|0)}function E3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,V3e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function C3e(s,l,c){return s=s|0,l=l|0,c=c|0,+v7[s&7](l|0,c|0)}function w3e(s){return s=s|0,wP[s&7]()|0}function I3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,P7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function B3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,X3e[s&1](l|0,c|0,f|0,+d)}function v3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,D7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function P3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,Uw[s&15](l|0,c|0,f|0)}function D3e(s){s=s|0,S7[s&0]()}function S3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,b7[s&15](l|0,c|0,+f)}function b3e(s,l,c){return s=s|0,l=+l,c=+c,Z3e[s&1](+l,+c)|0}function x3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,LF[s&15](l|0,c|0,f|0,d|0)}function k3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(0)}function Q3e(s,l){s=s|0,l=y(l),R(1)}function ma(s,l){s=s|0,l=+l,R(2)}function R3e(s,l,c){return s=s|0,l=y(l),c=y(c),R(3),Xe}function Er(s){s=s|0,R(4)}function Ow(s,l){s=s|0,l=l|0,R(5)}function Va(s){return s=s|0,R(6),0}function F3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,R(7)}function T3e(s,l,c){s=s|0,l=+l,c=+c,R(8)}function L3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(9),0}function N3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(10),0}function Ng(s){return s=s|0,R(11),0}function O3e(s,l){return s=s|0,l=+l,R(12),0}function Mw(s,l){return s=s|0,l=l|0,R(13),0}function M3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,R(14)}function U3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,R(15)}function FF(s,l){return s=s|0,l=l|0,R(16),0}function _3e(){return R(17),0}function H3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(18),0}function q3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,R(19)}function G3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,R(20)}function EP(s,l,c){s=s|0,l=l|0,c=c|0,R(21)}function j3e(){R(22)}function Xm(s,l,c){s=s|0,l=l|0,c=+c,R(23)}function Y3e(s,l){return s=+s,l=+l,R(24),0}function Zm(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,R(25)}var y7=[k3e,HNe],E7=[Q3e,Ao],C7=[ma,Sw,bw,CR,wR,Dl,xw,IR,Hm,xu,Qw,BR,eP,KA,tP,qm,rP,nP,Gm,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma],w7=[R3e],tf=[Er,Jm,wPe,IPe,BPe,Zbe,$be,exe,dLe,mLe,yLe,bNe,xNe,kNe,V4e,X4e,Z4e,ds,Jv,_m,WA,kw,mve,yve,APe,QPe,GPe,aDe,BDe,_De,nSe,ySe,FSe,JSe,Abe,Sbe,Gbe,mxe,Fxe,Jxe,Ake,Ske,Gke,lQe,BQe,OQe,$Qe,bc,kRe,WRe,AFe,xFe,jFe,ATe,wTe,vTe,HTe,jTe,aLe,CLe,BLe,_Le,iNe,i9,UOe,dMe,QMe,WMe,h4e,x4e,_4e,G4e,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er],rf=[Ow,pR,hR,Dw,bu,gR,dR,vp,mR,yR,ER,$v,zA,ze,At,Wt,vr,Sn,Qr,PR,ive,Sve,fQe,DQe,FFe,qOe,fNe,q5,Ow,Ow,Ow,Ow],Og=[Va,SUe,fR,P,fe,Pe,vt,wt,xt,_r,di,fo,tve,rve,Eve,rRe,zFe,GLe,WOe,Ka,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va],I7=[F3e,Cve],W3e=[T3e,uLe],CP=[L3e,r7,bUe,QUe,jDe,wxe,TRe,VMe],K3e=[N3e,gbe],B7=[Ng,jo,nt,bn,wve,Ive,Bve,vve,Pve,Dve,Ng,Ng,Ng,Ng,Ng,Ng],z3e=[O3e,yTe],TF=[Mw,ZUe,nve,gPe,ADe,oSe,wSe,Kbe,Oxe,HQe,Kv,LMe,Mw,Mw,Mw,Mw],J3e=[M3e,KPe],V3e=[U3e,y4e],v7=[FF,ai,bve,xve,kve,Qbe,FF,FF],wP=[_3e,Qve,vw,ga,bTe,zTe,SLe,K4e],P7=[H3e,yw],X3e=[q3e,gke],D7=[G3e,sve],Uw=[EP,T,ss,tn,po,SDe,NSe,Qke,Kke,Um,uOe,CMe,F4e,EP,EP,EP],S7=[j3e],b7=[Xm,Vv,Xv,Zv,YA,iP,vR,D,$xe,VRe,hTe,Xm,Xm,Xm,Xm,Xm],Z3e=[Y3e,hLe],LF=[Zm,$Se,uRe,gFe,nTe,TTe,eLe,TLe,cNe,ZOe,iUe,Zm,Zm,Zm,Zm,Zm];return{_llvm_bswap_i32:m7,dynCall_idd:b3e,dynCall_i:w3e,_i64Subtract:mP,___udivdi3:QF,dynCall_vif:s3e,setThrew:gu,dynCall_viii:P3e,_bitshift64Lshr:yP,_bitshift64Shl:h7,dynCall_vi:l3e,dynCall_viiddi:y3e,dynCall_diii:h3e,dynCall_iii:m3e,_memset:Vm,_sbrk:Rp,_memcpy:Pr,__GLOBAL__sub_I_Yoga_cpp:Mm,dynCall_vii:c3e,___uremdi3:RF,dynCall_vid:o3e,stackAlloc:ao,_nbind_init:gUe,getTempRet0:Ha,dynCall_di:g3e,dynCall_iid:d3e,setTempRet0:xA,_i64Add:kF,dynCall_fiff:a3e,dynCall_iiii:p3e,_emscripten_get_global_libc:DUe,dynCall_viid:S3e,dynCall_viiid:B3e,dynCall_viififi:v3e,dynCall_ii:u3e,__GLOBAL__sub_I_Binding_cc:QOe,dynCall_viiii:x3e,dynCall_iiiiii:I3e,stackSave:dc,dynCall_viiiii:i3e,__GLOBAL__sub_I_nbind_cc:Rve,dynCall_vidd:f3e,_free:gP,runPostSets:n3e,dynCall_viiiiii:E3e,establishStackSpace:qi,_memmove:Nw,stackRestore:hu,_malloc:hP,__GLOBAL__sub_I_common_cc:XLe,dynCall_viddi:A3e,dynCall_dii:C3e,dynCall_v:D3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var am=_((vKt,NEe)=>{"use strict";var Kyt=TEe(),zyt=LEe(),x6=!1,k6=null;zyt({},function(t,e){if(!x6){if(x6=!0,t)throw t;k6=e}});if(!x6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");NEe.exports=Kyt(k6.bind,k6.lib)});var R6=_((PKt,Q6)=>{"use strict";var OEe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);Q6.exports=OEe;Q6.exports.default=OEe});var UEe=_((DKt,MEe)=>{"use strict";MEe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var zk=_((SKt,F6)=>{"use strict";var Jyt=OD(),Vyt=R6(),Xyt=UEe(),_Ee=t=>{if(typeof t!="string"||t.length===0||(t=Jyt(t),t.length===0))return 0;t=t.replace(Xyt()," ");let e=0;for(let r=0;r=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=Vyt(o)?2:1)}return e};F6.exports=_Ee;F6.exports.default=_Ee});var L6=_((bKt,T6)=>{"use strict";var Zyt=zk(),HEe=t=>{let e=0;for(let r of t.split(` +`))e=Math.max(e,Zyt(r));return e};T6.exports=HEe;T6.exports.default=HEe});var qEe=_(uB=>{"use strict";var $yt=uB&&uB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uB,"__esModule",{value:!0});var eEt=$yt(L6()),N6={};uB.default=t=>{if(t.length===0)return{width:0,height:0};if(N6[t])return N6[t];let e=eEt.default(t),r=t.split(` +`).length;return N6[t]={width:e,height:r},{width:e,height:r}}});var GEe=_(AB=>{"use strict";var tEt=AB&&AB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(AB,"__esModule",{value:!0});var dn=tEt(am()),rEt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?dn.default.POSITION_TYPE_ABSOLUTE:dn.default.POSITION_TYPE_RELATIVE)},nEt=(t,e)=>{"marginLeft"in e&&t.setMargin(dn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(dn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(dn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(dn.default.EDGE_BOTTOM,e.marginBottom||0)},iEt=(t,e)=>{"paddingLeft"in e&&t.setPadding(dn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(dn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(dn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(dn.default.EDGE_BOTTOM,e.paddingBottom||0)},sEt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(dn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(dn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(dn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(dn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(dn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(dn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(dn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(dn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(dn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(dn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(dn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(dn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(dn.default.JUSTIFY_SPACE_AROUND))},oEt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},aEt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?dn.default.DISPLAY_FLEX:dn.default.DISPLAY_NONE)},lEt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(dn.default.EDGE_TOP,r),t.setBorder(dn.default.EDGE_BOTTOM,r),t.setBorder(dn.default.EDGE_LEFT,r),t.setBorder(dn.default.EDGE_RIGHT,r)}};AB.default=(t,e={})=>{rEt(t,e),nEt(t,e),iEt(t,e),sEt(t,e),oEt(t,e),aEt(t,e),lEt(t,e)}});var WEe=_((QKt,YEe)=>{"use strict";var fB=zk(),cEt=OD(),uEt=BI(),M6=new Set(["\x1B","\x9B"]),AEt=39,jEe=t=>`${M6.values().next().value}[${t}m`,fEt=t=>t.split(" ").map(e=>fB(e)),O6=(t,e,r)=>{let o=[...e],a=!1,n=fB(cEt(t[t.length-1]));for(let[u,A]of o.entries()){let p=fB(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),M6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u0&&t.length>1&&(t[t.length-2]+=t.pop())},pEt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(fB(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},hEt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=fEt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let E=fB(A[A.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),E=0),(E>0||r.trim===!1)&&(A[A.length-1]+=" ",E++)),r.hard&&u[p]>e){let I=e-E,v=1+Math.floor((u[p]-I-1)/e);Math.floor((u[p]-1)/e)e&&E>0&&u[p]>0){if(r.wordWrap===!1&&Ee&&r.wordWrap===!1){O6(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(pEt)),o=A.join(` +`);for(let[p,h]of[...o].entries()){if(a+=h,M6.has(h)){let I=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=I===AEt?null:I}let E=uEt.codes.get(Number(n));n&&E&&(o[p+1]===` +`?a+=jEe(E):h===` +`&&(a+=jEe(n)))}return a};YEe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` +`).split(` +`).map(o=>hEt(o,e,r)).join(` +`)});var JEe=_((RKt,zEe)=>{"use strict";var KEe="[\uD800-\uDBFF][\uDC00-\uDFFF]",gEt=t=>t&&t.exact?new RegExp(`^${KEe}$`):new RegExp(KEe,"g");zEe.exports=gEt});var U6=_((FKt,$Ee)=>{"use strict";var dEt=R6(),mEt=JEe(),VEe=BI(),ZEe=["\x1B","\x9B"],Jk=t=>`${ZEe[0]}[${t}m`,XEe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=VEe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(Jk(e?u:n))}else if(e){o.push(Jk(0));break}else o.push(Jk(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=Jk(VEe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};$Ee.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,E]of o.entries()){let I=!1;if(ZEe.includes(E)){let v=/\d[^m]*/.exec(t.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,Ae&&A<=r)p+=E;else if(A===e&&!n&&u!==void 0)p=XEe(a);else if(A>=r){p+=XEe(a,!0,u);break}}return p}});var tCe=_((TKt,eCe)=>{"use strict";var C0=U6(),yEt=zk();function Vk(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}eCe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=yEt(t);if(p<=e)return t;if(o==="start"){if(n){let h=Vk(t,p-e+1,!0);return u+C0(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+C0(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let E=Vk(t,h),I=Vk(t,p-(e-h)+1,!0);return C0(t,0,E)+u+C0(t,I,p).trim()}return C0(t,0,h)+u+C0(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=Vk(t,e-1);return C0(t,0,h)+u}return a===!0&&(u=" "+u,A=2),C0(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var H6=_(pB=>{"use strict";var rCe=pB&&pB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pB,"__esModule",{value:!0});var EEt=rCe(WEe()),CEt=rCe(tCe()),_6={};pB.default=(t,e,r)=>{let o=t+String(e)+String(r);if(_6[o])return _6[o];let a=t;if(r==="wrap"&&(a=EEt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=CEt.default(t,e,{position:n})}return _6[o]=a,a}});var G6=_(q6=>{"use strict";Object.defineProperty(q6,"__esModule",{value:!0});var nCe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=nCe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};q6.default=nCe});var j6=_(pi=>{"use strict";var hB=pi&&pi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pi,"__esModule",{value:!0});pi.setTextNodeValue=pi.createTextNode=pi.setStyle=pi.setAttribute=pi.removeChildNode=pi.insertBeforeNode=pi.appendChildNode=pi.createNode=pi.TEXT_NAME=void 0;var wEt=hB(am()),iCe=hB(qEe()),IEt=hB(GEe()),BEt=hB(H6()),vEt=hB(G6());pi.TEXT_NAME="#text";pi.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:wEt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(PEt.bind(null,r))),r};pi.appendChildNode=(t,e)=>{var r;e.parentNode&&pi.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Xk(t)};pi.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&pi.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Xk(t)};pi.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Xk(t)};pi.setAttribute=(t,e,r)=>{t.attributes[e]=r};pi.setStyle=(t,e)=>{t.style=e,t.yogaNode&&IEt.default(t.yogaNode,e)};pi.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return pi.setTextNodeValue(e,t),e};var PEt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:vEt.default(t),n=iCe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=BEt.default(a,e,u);return iCe.default(A)},sCe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:sCe(t.parentNode)},Xk=t=>{let e=sCe(t);e?.markDirty()};pi.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,Xk(t)}});var uCe=_(gB=>{"use strict";var cCe=gB&&gB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gB,"__esModule",{value:!0});var oCe=D6(),DEt=cCe(bEe()),aCe=cCe(am()),No=j6(),lCe=t=>{t?.unsetMeasureFunc(),t?.freeRecursive()};gB.default=DEt.default({schedulePassiveEffects:oCe.unstable_scheduleCallback,cancelPassiveEffects:oCe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error(" can\u2019t be nested inside component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=No.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?No.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:No.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside component`);return No.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{No.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{No.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(aCe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(aCe.default.DISPLAY_FLEX)},appendInitialChild:No.appendChildNode,appendChild:No.appendChildNode,insertBefore:No.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:No.appendChildNode,insertInContainerBefore:No.insertBeforeNode,removeChildFromContainer:(t,e)=>{No.removeChildNode(t,e),lCe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,E=r.style,I=Object.keys(h);for(let v of I){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let x={};n.style=x}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==E[v]){if(typeof n.style!="object"){let x={};n.style=x}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?No.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:No.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{No.setTextNodeValue(t,r)},removeChild:(t,e)=>{No.removeChildNode(t,e),lCe(e.yogaNode)}})});var fCe=_((UKt,ACe)=>{"use strict";ACe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var pCe=_(dB=>{"use strict";var SEt=dB&&dB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dB,"__esModule",{value:!0});var Zk=SEt(am());dB.default=t=>t.getComputedWidth()-t.getComputedPadding(Zk.default.EDGE_LEFT)-t.getComputedPadding(Zk.default.EDGE_RIGHT)-t.getComputedBorder(Zk.default.EDGE_LEFT)-t.getComputedBorder(Zk.default.EDGE_RIGHT)});var hCe=_((HKt,bEt)=>{bEt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var dCe=_((qKt,Y6)=>{"use strict";var gCe=hCe();Y6.exports=gCe;Y6.exports.default=gCe});var yCe=_((GKt,mCe)=>{"use strict";var xEt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},kEt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};mCe.exports={stringReplaceAll:xEt,stringEncaseCRLFWithFirstIndex:kEt}});var BCe=_((jKt,ICe)=>{"use strict";var QEt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,ECe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,REt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,FEt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,TEt=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function wCe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):TEt.get(t)||t}function LEt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(REt))r.push(a[2].replace(FEt,(A,p,h)=>p?wCe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function NEt(t){ECe.lastIndex=0;let e=[],r;for(;(r=ECe.exec(t))!==null;){let o=r[1];if(r[2]){let a=LEt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function CCe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}ICe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(QEt,(n,u,A,p,h,E)=>{if(u)a.push(wCe(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:CCe(t,r)(I)),r.push({inverse:A,styles:NEt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(CCe(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var nQ=_((YKt,xCe)=>{"use strict";var mB=BI(),{stdout:K6,stderr:z6}=mL(),{stringReplaceAll:OEt,stringEncaseCRLFWithFirstIndex:MEt}=yCe(),{isArray:$k}=Array,PCe=["ansi","ansi","ansi256","ansi16m"],UC=Object.create(null),UEt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=K6?K6.level:0;t.level=e.level===void 0?r:e.level},J6=class{constructor(e){return DCe(e)}},DCe=t=>{let e={};return UEt(e,t),e.template=(...r)=>bCe(e.template,...r),Object.setPrototypeOf(e,eQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=J6,e.template};function eQ(t){return DCe(t)}for(let[t,e]of Object.entries(mB))UC[t]={get(){let r=tQ(this,V6(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};UC.visible={get(){let t=tQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var SCe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of SCe)UC[t]={get(){let{level:e}=this;return function(...r){let o=V6(mB.color[PCe[e]][t](...r),mB.color.close,this._styler);return tQ(this,o,this._isEmpty)}}};for(let t of SCe){let e="bg"+t[0].toUpperCase()+t.slice(1);UC[e]={get(){let{level:r}=this;return function(...o){let a=V6(mB.bgColor[PCe[r]][t](...o),mB.bgColor.close,this._styler);return tQ(this,a,this._isEmpty)}}}}var _Et=Object.defineProperties(()=>{},{...UC,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),V6=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},tQ=(t,e,r)=>{let o=(...a)=>$k(a[0])&&$k(a[0].raw)?vCe(o,bCe(o,...a)):vCe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,_Et),o._generator=t,o._styler=e,o._isEmpty=r,o},vCe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=OEt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=MEt(e,a,o,n)),o+e+a},W6,bCe=(t,...e)=>{let[r]=e;if(!$k(r)||!$k(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";var HEt=EB&&EB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EB,"__esModule",{value:!0});var yB=HEt(nQ()),qEt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,GEt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,iQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);EB.default=(t,e,r)=>{if(!e)return t;if(e in yB.default){let a=iQ(e,r);return yB.default[a](t)}if(e.startsWith("#")){let a=iQ("hex",r);return yB.default[a](e)(t)}if(e.startsWith("ansi")){let a=GEt.exec(e);if(!a)return t;let n=iQ(a[1],r),u=Number(a[2]);return yB.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=qEt.exec(e);if(!a)return t;let n=iQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return yB.default[n](u,A,p)(t)}return t}});var QCe=_(CB=>{"use strict";var kCe=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var jEt=kCe(dCe()),Z6=kCe(X6());CB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=jEt.default[r.style.borderStyle],p=Z6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(Z6.default(A.vertical,u,"foreground")+` +`).repeat(n-2),E=Z6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,E,{transformers:[]})}}});var FCe=_(wB=>{"use strict";var lm=wB&&wB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wB,"__esModule",{value:!0});var YEt=lm(am()),WEt=lm(L6()),KEt=lm(fCe()),zEt=lm(H6()),JEt=lm(pCe()),VEt=lm(G6()),XEt=lm(QCe()),ZEt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` +`.repeat(n)+KEt.default(e,a)}return e},RCe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===YEt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),I=u;if(typeof t.internal_transform=="function"&&(I=[t.internal_transform,...u]),t.nodeName==="ink-text"){let v=VEt.default(t);if(v.length>0){let x=WEt.default(v),C=JEt.default(p);if(x>C){let F=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";v=zEt.default(v,C,F)}v=ZEt(t,v),e.write(h,E,v,{transformers:I})}return}if(t.nodeName==="ink-box"&&XEt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)RCe(v,e,{offsetX:h,offsetY:E,transformers:I,skipStaticElements:A})}};wB.default=RCe});var LCe=_((JKt,TCe)=>{"use strict";TCe.exports=t=>{t=Object.assign({onlyFirst:!1},t);let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t.onlyFirst?void 0:"g")}});var OCe=_((VKt,$6)=>{"use strict";var $Et=LCe(),NCe=t=>typeof t=="string"?t.replace($Et(),""):t;$6.exports=NCe;$6.exports.default=NCe});var _Ce=_((XKt,UCe)=>{"use strict";var MCe="[\uD800-\uDBFF][\uDC00-\uDFFF]";UCe.exports=t=>t&&t.exact?new RegExp(`^${MCe}$`):new RegExp(MCe,"g")});var qCe=_((ZKt,eq)=>{"use strict";var eCt=OCe(),tCt=_Ce(),HCe=t=>eCt(t).replace(tCt()," ").length;eq.exports=HCe;eq.exports.default=HCe});var YCe=_(IB=>{"use strict";var jCe=IB&&IB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IB,"__esModule",{value:!0});var GCe=jCe(U6()),rCt=jCe(qCe()),tq=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;oo.trimRight()).join(` +`),height:e.length}}};IB.default=tq});var zCe=_(BB=>{"use strict";var rq=BB&&BB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BB,"__esModule",{value:!0});var nCt=rq(am()),WCe=rq(FCe()),KCe=rq(YCe());BB.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,nCt.default.DIRECTION_LTR);let o=new KCe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});WCe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new KCe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),WCe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var ZCe=_((tzt,XCe)=>{"use strict";var JCe=ve("stream"),VCe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],nq={},iCt=t=>{let e=new JCe.PassThrough,r=new JCe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of VCe)nq[a]=console[a],console[a]=o[a];return()=>{for(let a of VCe)console[a]=nq[a];nq={}}};XCe.exports=iCt});var sq=_(iq=>{"use strict";Object.defineProperty(iq,"__esModule",{value:!0});iq.default=new WeakMap});var aq=_(oq=>{"use strict";Object.defineProperty(oq,"__esModule",{value:!0});var sCt=an(),$Ce=sCt.createContext({exit:()=>{}});$Ce.displayName="InternalAppContext";oq.default=$Ce});var cq=_(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var oCt=an(),ewe=oCt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});ewe.displayName="InternalStdinContext";lq.default=ewe});var Aq=_(uq=>{"use strict";Object.defineProperty(uq,"__esModule",{value:!0});var aCt=an(),twe=aCt.createContext({stdout:void 0,write:()=>{}});twe.displayName="InternalStdoutContext";uq.default=twe});var pq=_(fq=>{"use strict";Object.defineProperty(fq,"__esModule",{value:!0});var lCt=an(),rwe=lCt.createContext({stderr:void 0,write:()=>{}});rwe.displayName="InternalStderrContext";fq.default=rwe});var sQ=_(hq=>{"use strict";Object.defineProperty(hq,"__esModule",{value:!0});var cCt=an(),nwe=cCt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});nwe.displayName="InternalFocusContext";hq.default=nwe});var swe=_((lzt,iwe)=>{"use strict";var uCt=/[|\\{}()[\]^$+*?.-]/g;iwe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(uCt,"\\$&")}});var cwe=_((czt,lwe)=>{"use strict";var ACt=swe(),fCt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",awe=[].concat(ve("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));awe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var vB=class{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=vB.nodeInternals()),"cwd"in e||(e.cwd=fCt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,pCt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...awe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` +`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} +`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};owe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(hCt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],I=r[9],v=r[10]==="native",x=r[11]===")",C,F={};if(E&&(F.line=Number(E)),I&&(F.column=Number(I)),x&&h){let N=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")N++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(N--,N===-1&&h.charAt(U-1)===" ")){let J=h.slice(0,U-1);h=h.slice(U+1),a+=` (${J}`;break}}if(a){let N=a.match(gCt);N&&(a=N[1],C=N[2])}return owe(F,h,this._cwd),o&&(F.constructor=!0),n&&(F.evalOrigin=n,F.evalLine=A,F.evalColumn=p,F.evalFile=u&&u.replace(/\\/g,"/")),v&&(F.native=!0),a&&(F.function=a),C&&a!==C&&(F.method=C),F}};function owe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function pCt(t){if(t.length===0)return[];let e=t.map(r=>ACt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var hCt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),gCt=/^(.*?) \[as (.*?)\]$/;lwe.exports=vB});var Awe=_((uzt,uwe)=>{"use strict";uwe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var pwe=_((Azt,fwe)=>{"use strict";var dCt=Awe(),mCt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};fwe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=dCt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},mCt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var oQ=_(nu=>{"use strict";var yCt=nu&&nu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),ECt=nu&&nu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),CCt=nu&&nu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&yCt(e,t,r);return ECt(e,t),e},wCt=nu&&nu.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a{var{children:r}=t,o=wCt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return hwe.default.createElement("ink-box",{ref:e,style:a},r)});gq.displayName="Box";gq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};nu.default=gq});var yq=_(PB=>{"use strict";var dq=PB&&PB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PB,"__esModule",{value:!0});var ICt=dq(an()),_C=dq(nQ()),gwe=dq(X6()),mq=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let E=I=>(r&&(I=_C.default.dim(I)),t&&(I=gwe.default(I,t,"foreground")),e&&(I=gwe.default(I,e,"background")),o&&(I=_C.default.bold(I)),a&&(I=_C.default.italic(I)),n&&(I=_C.default.underline(I)),u&&(I=_C.default.strikethrough(I)),A&&(I=_C.default.inverse(I)),I);return ICt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};mq.displayName="Text";mq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};PB.default=mq});var Ewe=_(iu=>{"use strict";var BCt=iu&&iu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),vCt=iu&&iu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),PCt=iu&&iu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&BCt(e,t,r);return vCt(e,t),e},DB=iu&&iu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iu,"__esModule",{value:!0});var dwe=PCt(ve("fs")),hs=DB(an()),mwe=DB(cwe()),DCt=DB(pwe()),Zf=DB(oQ()),gA=DB(yq()),ywe=new mwe.default({cwd:process.cwd(),internals:mwe.default.nodeInternals()}),SCt=({error:t})=>{let e=t.stack?t.stack.split(` +`).slice(1):void 0,r=e?ywe.parseLine(e[0]):void 0,o,a=0;if(r?.file&&r?.line&&dwe.existsSync(r.file)){let n=dwe.readFileSync(r.file,"utf8");if(o=DCt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return hs.default.createElement(Zf.default,{flexDirection:"column",padding:1},hs.default.createElement(Zf.default,null,hs.default.createElement(gA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),hs.default.createElement(gA.default,null," ",t.message)),r&&hs.default.createElement(Zf.default,{marginTop:1},hs.default.createElement(gA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&hs.default.createElement(Zf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>hs.default.createElement(Zf.default,{key:n},hs.default.createElement(Zf.default,{width:a+1},hs.default.createElement(gA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),hs.default.createElement(gA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&hs.default.createElement(Zf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` +`).slice(1).map(n=>{let u=ywe.parseLine(n);return u?hs.default.createElement(Zf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},u.function),hs.default.createElement(gA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):hs.default.createElement(Zf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},n))})))};iu.default=SCt});var wwe=_(su=>{"use strict";var bCt=su&&su.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),xCt=su&&su.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),kCt=su&&su.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&bCt(e,t,r);return xCt(e,t),e},um=su&&su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(su,"__esModule",{value:!0});var cm=kCt(an()),Cwe=um(g6()),QCt=um(aq()),RCt=um(cq()),FCt=um(Aq()),TCt=um(pq()),LCt=um(sQ()),NCt=um(Ewe()),OCt=" ",MCt="\x1B[Z",UCt="\x1B",aQ=class extends cm.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===UCt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===OCt&&this.focusNext(),e===MCt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{let r=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||r}})},this.focusPrevious=()=>{this.setState(e=>{let r=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||r}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r+1;o{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r-1;o>=0;o--)if(e.focusables[o].isActive)return e.focusables[o].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return cm.default.createElement(QCt.default.Provider,{value:{exit:this.handleExit}},cm.default.createElement(RCt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},cm.default.createElement(FCt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},cm.default.createElement(TCt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},cm.default.createElement(LCt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?cm.default.createElement(NCt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){Cwe.default.hide(this.props.stdout)}componentWillUnmount(){Cwe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};su.default=aQ;aQ.displayName="InternalApp"});var vwe=_(ou=>{"use strict";var _Ct=ou&&ou.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),HCt=ou&&ou.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qCt=ou&&ou.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&_Ct(e,t,r);return HCt(e,t),e},au=ou&&ou.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ou,"__esModule",{value:!0});var GCt=au(an()),Iwe=lM(),jCt=au(cEe()),YCt=au(u6()),WCt=au(gEe()),KCt=au(mEe()),Eq=au(uCe()),zCt=au(zCe()),JCt=au(h6()),VCt=au(ZCe()),XCt=qCt(j6()),ZCt=au(sq()),$Ct=au(wwe()),HC=process.env.CI==="false"?!1:WCt.default,Bwe=()=>{},Cq=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=zCt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` +`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(HC){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(YCt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},KCt.default(this),this.options=e,this.rootNode=XCt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:Iwe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=jCt.default.create(e.stdout),this.throttledLog=e.debug?this.log:Iwe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=Eq.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=JCt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),HC||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=GCt.default.createElement($Ct.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);Eq.default.updateContainer(r,this.container,null,Bwe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(HC){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(HC){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),HC?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,Eq.default.updateContainer(null,this.container,null,Bwe),ZCt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!HC&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=VCt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};ou.default=Cq});var Dwe=_(SB=>{"use strict";var Pwe=SB&&SB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SB,"__esModule",{value:!0});var ewt=Pwe(vwe()),lQ=Pwe(sq()),twt=ve("stream"),rwt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},nwt(e)),o=iwt(r.stdout,()=>new ewt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>lQ.default.delete(r.stdout),clear:o.clear}};SB.default=rwt;var nwt=(t={})=>t instanceof twt.Stream?{stdout:t,stdin:process.stdin}:t,iwt=(t,e)=>{let r;return lQ.default.has(t)?r=lQ.default.get(t):(r=e(),lQ.default.set(t,r)),r}});var bwe=_($f=>{"use strict";var swt=$f&&$f.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),owt=$f&&$f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),awt=$f&&$f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&swt(e,t,r);return owt(e,t),e};Object.defineProperty($f,"__esModule",{value:!0});var bB=awt(an()),Swe=t=>{let{items:e,children:r,style:o}=t,[a,n]=bB.useState(0),u=bB.useMemo(()=>e.slice(a),[e,a]);bB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,E)=>r(h,a+E)),p=bB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return bB.default.createElement("ink-box",{internal_static:!0,style:p},A)};Swe.displayName="Static";$f.default=Swe});var kwe=_(xB=>{"use strict";var lwt=xB&&xB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xB,"__esModule",{value:!0});var cwt=lwt(an()),xwe=({children:t,transform:e})=>t==null?null:cwt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);xwe.displayName="Transform";xB.default=xwe});var Rwe=_(kB=>{"use strict";var uwt=kB&&kB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kB,"__esModule",{value:!0});var Awt=uwt(an()),Qwe=({count:t=1})=>Awt.default.createElement("ink-text",null,` +`.repeat(t));Qwe.displayName="Newline";kB.default=Qwe});var Lwe=_(QB=>{"use strict";var Fwe=QB&&QB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QB,"__esModule",{value:!0});var fwt=Fwe(an()),pwt=Fwe(oQ()),Twe=()=>fwt.default.createElement(pwt.default,{flexGrow:1});Twe.displayName="Spacer";QB.default=Twe});var cQ=_(RB=>{"use strict";var hwt=RB&&RB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RB,"__esModule",{value:!0});var gwt=an(),dwt=hwt(cq()),mwt=()=>gwt.useContext(dwt.default);RB.default=mwt});var Owe=_(FB=>{"use strict";var ywt=FB&&FB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FB,"__esModule",{value:!0});var Nwe=an(),Ewt=ywt(cQ()),Cwt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=Ewt.default();Nwe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),Nwe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",E=A>="\u0410"&&A<="\u042F";A.length===1&&(h||E)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[e.isActive,r,a,t])};FB.default=Cwt});var Mwe=_(TB=>{"use strict";var wwt=TB&&TB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TB,"__esModule",{value:!0});var Iwt=an(),Bwt=wwt(aq()),vwt=()=>Iwt.useContext(Bwt.default);TB.default=vwt});var Uwe=_(LB=>{"use strict";var Pwt=LB&&LB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(LB,"__esModule",{value:!0});var Dwt=an(),Swt=Pwt(Aq()),bwt=()=>Dwt.useContext(Swt.default);LB.default=bwt});var _we=_(NB=>{"use strict";var xwt=NB&&NB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(NB,"__esModule",{value:!0});var kwt=an(),Qwt=xwt(pq()),Rwt=()=>kwt.useContext(Qwt.default);NB.default=Rwt});var qwe=_(MB=>{"use strict";var Hwe=MB&&MB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MB,"__esModule",{value:!0});var OB=an(),Fwt=Hwe(sQ()),Twt=Hwe(cQ()),Lwt=({isActive:t=!0,autoFocus:e=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=Twt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=OB.useContext(Fwt.default),h=OB.useMemo(()=>Math.random().toString().slice(2,7),[]);return OB.useEffect(()=>(n(h,{autoFocus:e}),()=>{u(h)}),[h,e]),OB.useEffect(()=>{t?A(h):p(h)},[t,h]),OB.useEffect(()=>{if(!(!r||!t))return o(!0),()=>{o(!1)}},[t]),{isFocused:Boolean(h)&&a===h}};MB.default=Lwt});var Gwe=_(UB=>{"use strict";var Nwt=UB&&UB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UB,"__esModule",{value:!0});var Owt=an(),Mwt=Nwt(sQ()),Uwt=()=>{let t=Owt.useContext(Mwt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious}};UB.default=Uwt});var jwe=_(wq=>{"use strict";Object.defineProperty(wq,"__esModule",{value:!0});wq.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var sc=_(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});var _wt=Dwe();Object.defineProperty(to,"render",{enumerable:!0,get:function(){return _wt.default}});var Hwt=oQ();Object.defineProperty(to,"Box",{enumerable:!0,get:function(){return Hwt.default}});var qwt=yq();Object.defineProperty(to,"Text",{enumerable:!0,get:function(){return qwt.default}});var Gwt=bwe();Object.defineProperty(to,"Static",{enumerable:!0,get:function(){return Gwt.default}});var jwt=kwe();Object.defineProperty(to,"Transform",{enumerable:!0,get:function(){return jwt.default}});var Ywt=Rwe();Object.defineProperty(to,"Newline",{enumerable:!0,get:function(){return Ywt.default}});var Wwt=Lwe();Object.defineProperty(to,"Spacer",{enumerable:!0,get:function(){return Wwt.default}});var Kwt=Owe();Object.defineProperty(to,"useInput",{enumerable:!0,get:function(){return Kwt.default}});var zwt=Mwe();Object.defineProperty(to,"useApp",{enumerable:!0,get:function(){return zwt.default}});var Jwt=cQ();Object.defineProperty(to,"useStdin",{enumerable:!0,get:function(){return Jwt.default}});var Vwt=Uwe();Object.defineProperty(to,"useStdout",{enumerable:!0,get:function(){return Vwt.default}});var Xwt=_we();Object.defineProperty(to,"useStderr",{enumerable:!0,get:function(){return Xwt.default}});var Zwt=qwe();Object.defineProperty(to,"useFocus",{enumerable:!0,get:function(){return Zwt.default}});var $wt=Gwe();Object.defineProperty(to,"useFocusManager",{enumerable:!0,get:function(){return $wt.default}});var eIt=jwe();Object.defineProperty(to,"measureElement",{enumerable:!0,get:function(){return eIt.default}})});var Bq={};zt(Bq,{Gem:()=>Iq});var Ywe,Am,Iq,uQ=Et(()=>{Ywe=Ze(sc()),Am=Ze(an()),Iq=(0,Am.memo)(({active:t})=>{let e=(0,Am.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,Am.useMemo)(()=>t?"green":"yellow",[t]);return Am.default.createElement(Ywe.Text,{color:r},e)})});var Kwe={};zt(Kwe,{useKeypress:()=>fm});function fm({active:t},e,r){let{stdin:o}=(0,Wwe.useStdin)(),a=(0,AQ.useCallback)((n,u)=>e(n,u),r);(0,AQ.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var Wwe,AQ,_B=Et(()=>{Wwe=Ze(sc()),AQ=Ze(an())});var Jwe={};zt(Jwe,{FocusRequest:()=>zwe,useFocusRequest:()=>vq});var zwe,vq,Pq=Et(()=>{_B();zwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(zwe||{}),vq=function({active:t},e,r){fm({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var Vwe={};zt(Vwe,{useListInput:()=>HB});var HB,fQ=Et(()=>{_B();HB=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){fm({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let E=h-1;if(u){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(u){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,u])}});var pQ={};zt(pQ,{ScrollableItems:()=>tIt});var w0,Na,tIt,hQ=Et(()=>{w0=Ze(sc()),Na=Ze(an());Pq();fQ();tIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=N=>{if(N.key===null)throw new Error("Expected all children to have a key");return N.key},p=Na.default.Children.map(e,N=>A(N)),h=p[0],[E,I]=(0,Na.useState)(h),v=p.indexOf(E);(0,Na.useEffect)(()=>{p.includes(E)||I(h)},[e]),(0,Na.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),vq({active:t&&!!n},N=>{n?.(N)},[n]),HB(E,p,{active:t,minus:"up",plus:"down",set:I,loop:a});let x=v-r,C=v+r;C>p.length&&(x-=C-p.length,C=p.length),x<0&&(C+=-x,x=0),C>=p.length&&(C=p.length-1);let F=[];for(let N=x;N<=C;++N){let U=p[N],J=t&&U===E;F.push(Na.default.createElement(w0.Box,{key:U,height:o},Na.default.createElement(w0.Box,{marginLeft:1,marginRight:1},Na.default.createElement(w0.Text,null,J?Na.default.createElement(w0.Text,{color:"cyan",bold:!0},">"):" ")),Na.default.createElement(w0.Box,null,Na.default.cloneElement(e[N],{active:J}))))}return Na.default.createElement(w0.Box,{flexDirection:"column",width:"100%"},F)}});var Xwe,ep,Zwe,Dq,$we,Sq=Et(()=>{Xwe=Ze(sc()),ep=Ze(an()),Zwe=ve("readline"),Dq=ep.default.createContext(null),$we=({children:t})=>{let{stdin:e,setRawMode:r}=(0,Xwe.useStdin)();(0,ep.useEffect)(()=>{r&&r(!0),e&&(0,Zwe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,ep.useState)(new Map),n=(0,ep.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return ep.default.createElement(Dq.Provider,{value:n,children:t})}});var bq={};zt(bq,{useMinistore:()=>rIt});function rIt(t,e){let r=(0,gQ.useContext)(Dq);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,gQ.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var gQ,xq=Et(()=>{gQ=Ze(an());Sq()});var mQ={};zt(mQ,{renderForm:()=>nIt});async function nIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,dQ.useApp)();fm({active:!0},(E,I)=>{I.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,dQ.render)(kq.default.createElement($we,null,kq.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var dQ,kq,yQ=Et(()=>{dQ=Ze(sc()),kq=Ze(an());Sq();_B()});var nIe=_(qB=>{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.UncontrolledTextInput=void 0;var tIe=an(),Qq=an(),eIe=sc(),pm=nQ(),rIe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},E]=Qq.useState({cursorOffset:(t||"").length,cursorWidth:0});Qq.useEffect(()=>{E(F=>{if(!r||!n)return F;let N=t||"";return F.cursorOffset>N.length-1?{cursorOffset:N.length,cursorWidth:0}:F})},[t,r,n]);let I=a?h:0,v=o?o.repeat(t.length):t,x=v,C=e?pm.grey(e):void 0;if(n&&r){C=e.length>0?pm.inverse(e[0])+pm.grey(e.slice(1)):pm.inverse(" "),x=v.length>0?"":pm.inverse(" ");let F=0;for(let N of v)F>=p-I&&F<=p?x+=pm.inverse(N):x+=N,F++;v.length>0&&p===v.length&&(x+=pm.inverse(" "))}return eIe.useInput((F,N)=>{if(N.upArrow||N.downArrow||N.ctrl&&F==="c"||N.tab||N.shift&&N.tab)return;if(N.return){A&&A(t);return}let U=p,J=t,te=0;N.leftArrow?n&&U--:N.rightArrow?n&&U++:N.backspace||N.delete?p>0&&(J=t.slice(0,p-1)+t.slice(p,t.length),U--):(J=t.slice(0,p)+F+t.slice(p,t.length),U+=F.length,F.length>1&&(te=F.length)),p<0&&(U=0),p>t.length&&(U=t.length),E({cursorOffset:U,cursorWidth:te}),J!==t&&u(J)},{isActive:r}),tIe.createElement(eIe.Text,null,e?v.length>0?x:C:x)};qB.default=rIe;qB.UncontrolledTextInput=t=>{let[e,r]=Qq.useState("");return tIe.createElement(rIe,Object.assign({},t,{value:e,onChange:r}))}});var oIe={};zt(oIe,{Pad:()=>Rq});var iIe,sIe,Rq,Fq=Et(()=>{iIe=Ze(sc()),sIe=Ze(an()),Rq=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return sIe.default.createElement(iIe.Text,{dimColor:!e},r)}});var aIe={};zt(aIe,{ItemOptions:()=>iIt});var jB,B0,iIt,lIe=Et(()=>{jB=Ze(sc()),B0=Ze(an());fQ();uQ();Fq();iIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return HB(o,u,{active:t,minus:"left",plus:"right",set:a}),B0.default.createElement(B0.default.Fragment,null,r.map(({label:p},h)=>{let E=h===A,I=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),x=Math.max(0,I-v.length-2);return p?B0.default.createElement(jB.Box,{key:p,width:I,marginLeft:1},B0.default.createElement(jB.Text,{wrap:"truncate"},B0.default.createElement(Iq,{active:E})," ",p),e?B0.default.createElement(Rq,{active:t,length:x}):null):B0.default.createElement(jB.Box,{key:`spacer-${h}`,width:I,marginLeft:1})}))}});var vIe=_(($Jt,BIe)=>{var qq;BIe.exports=()=>(typeof qq>"u"&&(qq=ve("zlib").brotliDecompressSync(Buffer.from("W+94VqNs2wWroLyB16aprZ1SqBPiGBuovDK7hpe9UNWCwn5B2fapBEG5q+GLtoZ2wLihqpqXVMbYBrKfIwpmlllKJHMYqhBBjRwNzis7OszQG2/Y9mGQsTByLBpWtDG6WqLPmIiZrIlGLnQaouOor5hHHLkn3kvPi+zzRUC4f+Qt/ylgxV9kSpxw68X1SjPI2J2kXLuKX0uYkEgQiYbSNz13ci61Z1j+20CEcau/CIaIWra43JP2VJ/jFZ/49f9t2ru2N6trDYklynt2Siek1xWykagmo2E4xvwmK1otFd8SJLvLL98Hv9wIj3dmM7w0mFtNzX8+rzM7TGeS8kCgG27R15ovdVB27JwyicTp0qH+t6b/qzWmMTK+smU83PdLqalX0YQ00ZQmmznrv59X9rBZwraHqi1ndXEkj+SUDnRAP6LT35v99+dr+sxYnThV9p6O1IhA2GcSGkh7twjZLDjEXYI5TPaW0+FrK31EraAdZZraz7cWJQWwZdH0ONGByv4nYpv9S7pqERSMP7aSnfnv5s60UPFhp13FRiT/E9J3wa56v2bv7fqT7pDmEXxx8Bf2CyojN5U8tjikbDHrl6+mX79wJ8cQbSedSpNbUTQ8JV19SboAT5i3eyJ4M7RULftvKr2zbDqWMbUxzB0H0CrsAEsSNg8QD//Vu7VczOfHHN3eet2dfkUCVCBK3GnQasgh+s84A9vN0RAm4Af4Wnv94xUwdMpR0uqEGemTPFnqrV+JLglTFUU/vrF1POxBKtu145vPgINCPZCKbobLh9wNE3e/BM/T77fnPz/uIysrzufaw4yAkG5p8PGXaJNCUXE6Y/lRQ60/Hnb/D7aVHfn4XnU1FALsRkGJfJPlSTVRJlhGCdL40Y/mP31+7O5eoibPfJ6qrm6KAbTAHmX+Jsy1IKjjDZOg8cNi84+HHkzR77fHN5NJNsCC2RCR3pDW2RAR1bZL9P10Oq4Jt+OVVQK7+pu+dM8OFhxfAB6xdP3x8NsAW49PspKIbrYfqbLw9sxfY3h4ynf75eL9qlatyzPJtI0Q9CJVyw6CjBi1avVdAEo3tW7h+icwbMmMmt+/b1pKnmacrMtcqCBeB3LkbBBtrpPjV9V9d9C/zbK70Rw2QHKEcWeHa8dK/lW99xvdDYACObNLs8Z5RdYEQaAsIkfGhbL65VdSGQcF6RkkeS4EtN0vO3f3ZuacoYKC4opflVUvx345j4SoAAbdszJzTPf3fWn2bs99L5FIECwWyGJLoEotUer/7aL0R/UPb50YSqqxh7F63HlebMR7z7nX9e69L1v5Xia+Ml8mLOSAEDJB+jMzAQcBkPkyASqBYslgVakNUlIHS60OU0P/oMYe5iLIihCLpQiRrPpDSfIgyaM8jCtHVP9hnFa2V2Psh2lY/b13Xuy99HrhnZfLv1p6sbT//75pvWkPZmb1//KZcZGSxNhuWR8pCohzz3l7GoUqaAhDrSaa/I7fGHv32ee+KhQKGBDkOPbYb1wm+SByNoykWGkCkjLjIimSgjQTRLVsdvtDz5KmXngK489aUkrGpGA1OO6b+7Szg335dMRKLyTHrFyzl8NWSBKmwgKhrJDVtsKYQkonf6yKF4s19mMd0kDHGHCu4ciDjDoEdqL2746+IDWu6r6T6pLFJ7ipzPfbVKMdJUF4lA53pN2qEt1lzCcdK9fheAhVW+o/Dqa1B1/1TUAhBZSAZ6ot04lYYSmtY6not+Pav3nYZvxjE7kz5o+7bU5RJA3CQgxAxZ5iYvTsVagLL34Mzzb7ezt1flH80SuDeI9UEVGxNquWbrfDmGJg5eLCvX+tgg8YtFsQPIEzvxP66xXkW6GwsBAIzHs/EAgMBAILJ1CYndY/WOa/nPcUUxhiggsTlGCCCkNUuFBhiJYViwrBqlDhhVc82BwXz9vu3iIIPgQ7HwZBvjr/n5q+Jw2e/c7ngoKCgoCCgoAAaxVgrQIMAgyslYHBWcnA4FnTvn/w75yT+vPfYIMJJphgAgUKBBZGGAXCCNyBsDtQoAcK2tBB8eigg/FnsM2s2Epl4g0eoCZ25q9PEq6FkMn8v5v9/0mF9iLl3idzKuARQowiHsSKBpUqVGxkvfdlkS0jA7jt///hJbwq+n6dkpQFsI0RGyNHjkilYkNaUvvEz/OX8CKtUP5GKAvgV408T49FcQxOfHeQ2GTmz5HH0PYWMuvMvFp58urWWHGQHWfHIpLv+4eZ8D09vGumt3B038w6M7/PdTXHI7GhKTm45W50cG7hl0GWscYBI2+Vbqu9qWzBDPnWA2vul6l7P1nrjgTNOjuShJbYc86TbWbGrWPckVmLCeBwunL8tk35lI1T+T3QOTzoFBkqQRM+1hzpDhbJEz7hPREN8JIG5xzRx7UImC1hbgpOSkqeSgbWl9F8WlcibjFc943P6qq86nRdqkHZCDxXzDmifjpgsYv9njWkQNpmpgbSukfSht6uuEz2DGP+OIhApYBkdpOPr2afp7Td0Eyiy5fif6Yldt6WCfsHUC3lf8s5PGzMkxXBPSCsIkpdGzTsbmIgmRKlRO6sYY8KqKLk8n/bX3A62ws/9+MnAwbTX3atD/6BlziR9H0y6xtdXz6l7mPyJ46Hb+OHRB4ze3P04jGLyK1YL8q/SEKCXlDgzXo4yUaZpE86JODT8SI5EvRSJl8kwQxPRW6wSNKeis8TFkvWcET5wSKp2VGWZbzVD6c01DefNcSMd5gLkVS+loSWfZ9i91qKjPq+zP17GXfg3IOE/rjZYv5cHln9UeQgUpzpZNX5Bz7OTUcZZQocyHy6vSkfHlix95CRRB58eFoMYXlkKqVKGrltyBj09Qt6pUbbTHzyDLWCMnptiag9YGRoYN/PBazEbZiNWxJmXydzo3C9sY6+RA0vIU/cMBQBJiNaLqnCUOvNh6YgJp26EMO8hnRrjGzhWGv51IwgV9BQxDie1Bminp2vOAmkHvrQ0mokBYFhxnfdgH1528l022Q6aLb4dPUL8Fbv9fwVMxQBNLLQjmQVzFroQ1NJBqgLMYkbvWmLUDxEq6g+NvTJ2LtCcCVmvuNLrVzX+nZOiv4QbSxFRzQ54k5XUk2vjrRnqUdS/y88WfvdI4mvrJ9YP+QuqJ+gVwKvqNIY79m657uFM0I2+tstCvyVqhHAq3Jo76BwwqbetiVzLaZyjd+fKjDNDVpvrFIviMB3VK3PML2y+v8LfShn9jOL1mtKcPClUelFj4/TgD17P1uB7/Xwtwu8MHY7g7WWtptVxFMO22sbcFL85bYHjF5onavvMKymNh91dWyruTIefdOMrrgQo7tLil6IsSRDNuiX5m1bm0cZnpH7UMJ3STyUBSyLc+/XKHZfklinZ22QLYs7NqeG6+K8/cHM/WBknqc9t/4WfTq6Kg4EdpB0DqdwSEE0lpWLlqKSlYGz9zNJWfmquTj75dkvH9zyjMu7Pw+IGUReUIaD3NHocob1LUiUFXZ2uJEF5hWewt2fZ4A+pDcDYYsc5Oq24L64jxzlv2EL1rOBHGbYgr5hYs0my2t8FUFlkWX3KlYtdASuYWu7rBldu8WYI0S7yYxmzo830N2gDnuEOGQIyOcw+acPalvp+iDTHGSDhrBo0PvS6besOkNyXKmIE4i3D6yj+FtYW2/QM02UKBe7BdrqrigT07QNbw/DvPIFQLmjBNFlOHwcoQ19mojZ8BiRrEE1u/A4R2XMv/zELYJRihoQ2df4qfeW0QRzOa4cEVdixTAnPoziwnPy8R3kEA52Mg/azywPWnxRWIYrk4N8AjMW0x2mtqPbFfpe3ms0p0MbMarVHDZWB7IcEshkizhoXY+HVRscm1UtMoo6GOxctWFVaDya0KcluyLKz9VIP6gmAlQDP2iwAlRPGchKauDIYMr4VBFOnIRr441lO8nRtoULpTgo4EIdHaU6ABzXAV66acb5njkW58QVHNTJrWX9ILGerqNFSVQPHpyb+mdmO1ttXhqT7VFGMM9snb6N3kn8rN7oBP6o5QDe5lQ2avAOl/muEeaFInmib+AP1jeQBykspEgCF6vJuAFTdrake9RqV8OVmpvKq57uETZDL2179jTZUKxc2JSz7dBWi9RLkQhCP3ZR1Kf/lzLTBq62NBer6e4JVIfxvOvGYLBZ7tfvGyX/EA1bw/Zeg83D5+k3jLhoxHZVnd00xumet3dF17BL/Flsz/szuCSgbOKQQBnSNSZgd3et51vpJHi7t/6BUxpfj/aEw2d0Bf9vNTjv8ALTTHJe9bc9wdEAnR8oSv1UWU/SgrCH/Fk0tvId9XHO5V/93AbI0GsttlIRW/qyT0dpeNsqSn/opeEKz01N6ZpByWQVSd9CWJ82lSTRag+snDZuMIlD6N4m2pGg1vmeVQmTgzSBYnOtR/2hRmxmul4IMWTyibmZZ4LayEsM+W+iMKzxLZqqMmr8uq64A9VOMqHp0pQMP5tQ8Gkls0dPIjkZFEC1arbo1HYlaM/c6AJQz17KTfCzQcPBiqjRtDqU6qLsydTbOZd7JZT9ks3wXyRTGWME7dS1CvDpaHLT4xOaTlwxoXhHTh3to3aR4Mqxjw7opVcbDU+KfibIIYadSlSy1yJGxlekic5ENlQkHr7GQc9fKanvXxlB+g//xbMs7ezNs9n25TJjtWXUD+qXCY7+lpo1S02DW9VdmtNzQ5W+1XpZS2BnReHtLa3sexJBDbDL9L0fyjvdFPxoRwNvV/fmonmzNoJJchCjioxiQleRZYhYb0YJych15pfQCAMHVV6BL9XenRPdTCOPN3b7dajLJ+iLY2CJCShPmDWKQSeymhLS2Wyk0lOaeUgcRP0pL2WvGDC6HbHTusc6ix9MCwt0mMYW64BYNEBSq4T2EJuEi7y4j5k4ZKLK0MVDkdZ2dgSKoUHkeDgzlzFgYEwwz4143q0kLMbQnLTvUsRC+Xzm6e4DXNeakceVgPBiQouDGZxfv+jQ0VLdRrWNolLHNriVY992F2Fo0JSDkmkFqfUtR2W7eTUU5em6pJM6G/3w+hj88fV+8A3t+c5mp1KekRqPTlbOw2E7Db+rzHw631ao8gtJGOLAHvnrOsfU3cVL6zEJ8ChHuQcH8ktxDq8ZOaRs8ywGYKOGoNnN8e360HMWehibSycyobEMzm/wdy2wgYWtoOVG3S1jTRNkSAijWtBw7W2N1Nzyo8EZhB7a5RLvfUgRCCAHkfc8X0rDlkRVxDbr0uBwTnXKSnt5Y+truFA+tJGZ15oc3nwb2xr516cww9kgifhoL0tLGMjmS6L6yU1Pdlcmd6zUJelsFJsx5tpC3dULZNHyR/MD4ZcxUAizC1UZPAPzAu5IiMhUq5muI6qTQIUspJt6nu1fWnKo0oGX5DDg3TZQiHXMeO89Um0KlmwHVURzE7TAp+pkikx1pypJzlW6fGOys1ywhUU9KSpQkWUeUkYg6Lg6vSxDswzC8LeJfBtOsl50dIZxVYrdnE3EdNBp3WIzlgMXoULX2EKCpFgvNybf2bYQvzXn0iF2l4eMU5BJP16R8/gAIwNn/+YpQJjGJgt7bpKR91LbD2+ZWM1bqJyaeiTUaR3Qdjk4otqqnqzlKc5kjU1divMRhYe7KCUX1zOE8BW0KGz6y062pV+rAeqj2sl0ZTxntBt4dirkUWdXPZimJCix+iiSSpezVSpgpACOpMa65ihU00fsqxomuZ4ELbSb+m53S5FAIauLnC0ycOdkelI2lT3q5E/f4wjHhcuRuwTIDA0Re7SM0ogV4rTUZi6CQr5VrjDfBiPgi1qFmJW7LD81Nouxf6+Q7q/lBCiUEimoTI9ytYrOtMmPETAYLAJKMoArHktgFt0h06avbUdDe7SXihMukxrar88ECFitHscQHZytrX6WdKLWyd4EhDLPBQZOymbsIIsOvTjj0teSpqMmBJcFN1ugDB7xDDwtpqtRqLrgSvlY5ZHRqQhmucYjC51kdZ5yTawoeS8VSNXVeLSajzhNiZlXo2S97NIcFF3PFYGSh+qmaANauCpf1zSTuWA+3o2bA1iGLZAwJ3RNnpLzYsL5xA3bOH2ctgcitqrsQaj2A0NPIP7GlksDL3O8Q2FghYrFd4kfss+HE1zOaWBhQtjvZ5FDdXPnTztUSu6CQr/BXDXJNZPMlSwJFWdsnc84d5d4zBTOOih3W+G5ZJnyJ89ZideetJtxezZ5OvAecOXSnVi6aqJw0i57/GRBRsb8cDw3+JADegaWyd20T47T5dDqrSvf0J1VL59OmCNOYJkADC9cocmMK0h8SHrTsB/bVOUBnWfmtBS8wFxHSv3yPLNFcGuvNj3YI0OdICY/2IWrYDLtfjhVzacZ563lHtGoNcLoot7AbER/viaLG4/RfQzdrosZBQmAS3qnRjh5fxh22bbkzfg9poHD1BA4rwU6D2BEy6BIZyNUh0WAdRHp1xosgNU5U+p+WvorR1tdjnbw7Y1ZYdUpUEERFnkszHsRljnP9mgariiJE+4UiTipCS54zCpYXOJgMG9x3JdrkHcWVA/FUBnygaZqJJsJIytZSZJXzOO1zRCbmEGdW3B8PzD2oHvBeHyh/8sbo0BbR6Jj5GyPMi3OkH0zWruc5PDcjuqkWgsgw5HZ9VYeofbbq9kiYRnEJBqFf6MYPUBVidfpFZvhNGuVtWsq1raeia6FpmUWjGWa1uRHCpGpzVdQUwt9IZBetC+SsUUJeOQPXl8POqSBrZYytGTilGpaMJdbKTn05nAX5Ja1rTrNv/MNiFzq1K5bRoQI6dxOFUVdfkZZCwiha2s9i2rh7FSq6UF7kbSwCIrnBn3wsljbail71OrklaeVWKVIYWKuDcRMRsDC9GTByI4FfbXSPjQfj0PnzOOrfamXONZssZ8lnjqMlpgsUOjUDIcRiXr39ptA7HY8arMzD0JlitUhU1xVG4uhk39nKL5U3gvGwmYKk0cqrfM7Kc8I1AB0+q9SYipzAMxVtQ24bh8YF6gKE6ZdkqQ7gGxZK9jNXxUMTIt0MxNJoVnLzuXwRljdyGFsg8oVzKpDJWZ62/2CdV0JkePgiaHGV9AHcWgJNo3LP7+wAuNbG8bftcy889VHq2ss2wD18b+boi9hmKsrd7IFXicyf1nDP9782tpQUvXqAdbO9uV/LqQwROrjddqDdoD0ka3H4t4UZPzsrWl+6EjnemKblS/rmnKLa6iBPIjBLuSQ03PpnGyCA5d0gkT1+EM5GiFZiwQGORfMfvqz3n8RJ91DBThTXVoAs18JZBBY8Y9neMrSZ88sDbHHlwLeFBLduIVpHy7DlSoco/LqgUROnz2nwL8crVqAeeUo72tA+4BxH3YpWmCSV6CjvGkOKEl3tAqdvsyYMoZud00izDWrZN9pZPXd4UM/j40Hd1fHMueryuls8hwTxdYhsj+gL55ePy3HRzUmOVLpc5byKIDBjyviiBd6fcxtzTb4kcD1BAwif/bp44GsZRfh46YdqhLe5+iOONbZtmfo7WWnHllHYzbM9UO5G8Q5gQ1D/5Mv/HXDQJ+0zS/SpaoPF6eaAfm5sTmKretnD062o+mWgprhGdicaZjd9hOSW9vsN5Rl1ZywFghK4ZEWJRQDaT/mcJcAXVxLOvKCyNY+xlwRF35OORO0tIsWjL2Mo6tIzVjLcRkvgsLSOSWjhgJuvATnsXUg6SqiFRswGmRnaS7GUb6BoyuMOiUmWvh5vNq2lGpOwBP2TRF4VozGEKRLaW5fnG7sujRuQ5uwMX6z5FH+NtrE0zKv6viKtUy/sf/5LAALizi8SpUHt7xpARkc1AsdIfe8FBNZREiY7IuVIV9kh/m22gmykxWR+ZA9Bx1oQwv5dJRunbIKfIehRe/Xh930wHEemulVUKPSlRXSh94oKPfAOTLRJ5I3wowcu5izeIy06ipBL7YuvQQLsZ1Pa4ggRv1nYYGjQmEHA73trmTVTIC3aBmniPP5mDnKlsZeogge6dMv4G90usuH0y3iVv2yZBt3P/qCGBu9zKREqQpUInQ4VlzJ1VZL5qE5LogMWZYA1Jsdu+iWWqQllspyEF5dY5WPhKpUZf+6LMlldYTZksP8Xgqf9+OF2sdxEE5YSfjEUnRXdmcZ5QL13eIgUvh3fIFyRZEtc6ELomWBZCaiB3WhIa/rAN3YWCAATAHUe46cUO8k90G+wiwqcVyt2XOrHpYAh/lQjZO72qMqR3W6dyKjbYtBzSdtJmENbKhmsErZBa3ph2RKiewmeiOpr/Jk7+GMrvVqNHGk8rJ/JGclHJpxSvhkyZz2SJ90BnQdIxxz1Zeni3Te50sQ7JbNWR+P0HhwyfXZNRhF6GWh2S5KhmY/FtNqyvQRoWL2U8Z/P5fIfpfmg4IR85FO6RZZrDXFOkSZd1xQ7bGAvKZRxVqQZ+xe+tC6Chnd6lYaLkcpSferZCyUmhCu6+ElHZBZB60e2cKdLBWsudDn/U/Qsm9Ru1E3OT0CL9c4V7WSRPBNtFqcDe6QiyVVSR7lXV8XRQxFM3l1UIj3uRfq7wMF77oo9+WZNtsdqbjorxNZhhZdIsZuqVMb2ilfGyOMm9W/ZtFR/LSBSCK/A0Q+eWJsTPk4/baq3YSROz49XykoFPRqQXYhq6N8CYaobqQLd825777z7XBOA10eqe/Ggh5imNgej5h1bnDKc2wGlAnEUS6MRz7sHLQj87sNqCgToVZxkIi6KU8Wd+UREOWOuJXfVt+1LjWSLOvRdn+wHyOFJFOcRCp+8aYJAPzA3wqepeY6ZU4AaRcOcM/kSj+b6CT0F7x4O3LvRltcJ/1H3TV8A3U6XdaK1PXZZdLznj0dcNcR+Tg5GalI4vqLabN2xwyUefJBdRhCIKNat9d7rZomLN/nh0xot2BJ/t7tM7H93oSmH9GvMqL6rtJpu4Ts3Gk28kgZkAD6+kw2epWu17GOA/PhrwrWa+1RLsyR33mQJgtNedgpmIrQ02SSXsrpkrnoml3aXY7ZnilyTZlkWNOJk4PCVOcL9ZoYjl9athCWQ/cA8vJyqmGmU4pVU14OtSyuAcTw2d9Cqssk/9II/7A16BMuzJ7QX0TLKptC50FmjTpWUTNIMzme5onehNMbSfBrJ60BOMym982Oypgvx/5JgbsKyGSkGI6bpZNgXeLH63UeH9JAO0r0pxbUKXgDjGRNpFzLjBdS6w1LF7w05iKB8VASWQqUo6ho9MqLlKudnOWTRabTPHMa9ZfZE+jL84y8Cf4lMru/GLmLSVm59DMCC4F2CQuUYkGMTRAcoOP3BrTBQRS/wzkGyWjettbO8aNHhTUUIAQmFIYonUZPb8AlNVDcni8iOiHdhpjhdlhMLINj/nLycMKcvJgPvH7bplu/atun7dhzCzQWj5vWKlwlpsKeG99nA/xXgeVkfmYgqSw8/6ofZZtugLag8bFHsdB6xMgTQEUesYF6rBKGR9I7BBOIOo+APiXNqKZtokrSVeFsKDFxdSCrt/H0jJd7J3o6jCCuU7t/UvySilFQBMQwwHGme899Bjlb+/zu2pzOvq6p0o7b97zAku9/PznpcoBAf3066VN+RMQaTigdJXjXn9qh5M2XsZM6h3dfsaN8L60/1U2MXcYNDNzP+xzjydH8yrU6sLVqKACeZxaD7Kg+iI0TmE1ng+gNFoluWIg9YitjZxU0x83bFhNriIxSF5YJxsn0aqx7wP2TnjuEiQoKHpU6XP10Ysi1JYDJjtNJPKYUuI4qqeDNoWuxOdFc8wSybv8Z7sEdXNV7bUNFFD7c/Sq7o7p00eMSmbQr37qtis4ScbGbqhV0rfS04wIHuQklsWCCLgrh1Hjd56wT6CULAjdIz6Z2ORZBtPFudsKTRLQkJqrddiqbefUJ+ZDOU7fx00nDbXyUftOwU0/xvnPlhyrWPwSlLDc92fOX2Lm8E5HedKAn+bc/r+ZG04gfUuO84XEP88T0zytMSpeznVIH5x5LDPnacoSsTUtuyMJ+HuQo9KHIRoXQuskabp+J9CA4POUNZBHco48CtwaFx2TXaP2KtOsvwCY3utRDKckDyoGXyaMe7EdxVk4PtxwWkzwWkp9oMfILIf4xymrHP57lmA83ufIzTiH8DSAvNuU9XzvDZU7uK/t3FKKTixYmOfLMYZTS01EV4RRZ+p2+bIPdGvEgWMdlEei4q0rK8ua+3uX0qcvjeqqsh6nOiKgmry9D6oh69Suijg0iM5JF0kBEWxL4IC39K8fpcrZmdTdBYnbt8xOKuNTlPnJT50SrjdzDQ8FdHqxrHzXY/m/U4urCId6Ey/Wf6GaC5kda61xrOISE0LIS0/0w+PfpYQy4XtcwzamvLUSuH469v+lHYaypLQ/9xXSPqgsbE833jR3i3re1GrDTOoaz0/lC3+LUC/0o+ZWSYTz3JkdpV9I7JXZJVmr/vrtiMYU0DAWIUmrvj5uYBe4gnUIHnJI1rEFuW+n8Y9SEEAs827LE1fjyKzxixPjLswNyBqujCIJXPpLg9OV/sM7heOcbWmPOQEQ3NdYkxyODcRyt5U4+GZzNORhCVWcjCDVxOKl4WfR191liEvXgGh15M689peqTZvI3vE9meyGMDX70nbaR8lLu+eA9mHgZTbnZxsq08Kxr5nK1kiZu2Etw+UNGfK/pBnQpxpT4MlaRuM1s2kHq0pgLkBmdfjEsb+OFhs6GkQ2hjlXc2GG8iaEF5BHbVNx9zw7qI2WXX7oxW553lF5iDxq/p+vnnfm8ivSQEn5sxZXCh6trL7+/IsJaQmXsIO0jxjIuQr7edi/mAgFvfz8CkWbazI/cYVmJm6UP56Z1qna4R+WI3pyHEB7quGO4qpTOLXAomt4qQ7s/3TvTl9HHtZPCpc/4HMfPyA9dleNi2YUlntzH2flNMAYGgv3o/IQi/rnnVYlDfhrX7TyUlOv2I0vmTEdwjEj+CKoNhkR72egsXGo9m3T93UG1i3/SnLZGuetuq3C1M8ioYvF7Q2QrGLPmjy309Ymebg/axMkVqz3+BbKnlGe77ClN6eVcfVTwbj8V0h2c1nJ5eljrLw/r65lJzSJIx1lw6gQS8lmreYPrGW99oinDaW6OfAv68i1lmqZNus6T8h3/DCdpxjkcgyiFzmoK4pC8jSxhYSy1kg+cTStqFZJYhtdb3Rh6vB8c6Do9oZG76JGpI2nDaIyI6WnbOhmgR171ooNINJKLSSKLUkQnOuNb5sKsDeZVoaYhRRpZSo6taF+mqW7iwWFVGYFAKvzNkSCRF89IlVMg4b6PR8lCE0B2gCwOq8DskEKAYC2wgFgKoTGwwnV9OAFC8HlTkJQL0JmIQxZZW2HMS+WCPi7M2EmAbapAGZdCLnOJ5/2bzBYockOafVxUduaGTCyB4HlkmqMmgGu9egh2+IiPbK2ktUJizW8FCNJd4pF7wreUYCDYDDxiQ3YHVE1wmTvVtw0p5TRwIXFoZSyt58dK4JgjVEXJPZ+MvPBbCbnCcg8W9DMO1umMzzPDuwVjHvQy5E/MgTsllcJJrYSxGCPyyG2nFYuBTBUNfhxfj9ftYBHdCYxHp80/6pTpoYqPaWh9Ne4VrHCpHbpMHa5p68PR6wxnuOVpxly6layyOMqbjQkMCgrS8f6iFIj5couR9kr6Vz0vbarKJTsjTwzVs8F8Lmc+K8ybpi+xn3QPfa64JsZ2Fm3Cym0majQ9TE00aQVnaORkCgw/l3GCH7ND8/LSGP97r608LBIg0jif8utDaPeZ6NH0cDXRpJWuUMnVNLiC8msSJc8Xf3YMZXSTe9/oCJ4VBnLPfHbGSp58nDzFmwMPr3PxqFkq9PBerDS2LqM7taUnV1Uk0NOhQOrKuTLb7gajlicb7zyCgZgRh7LCQe+XNbmqvAlCY1ip3yybBBkpUxQQgs+mCwAyfTy/+XIEftAx2AAm24BbbNlLclVYuOtVF4e9B2CrA4ib3uONkwCWmUUauTOjSUnY+DqRKQh08fhlv8WnvwKYz+/M54eZnfIm1fHosQ340skUmFlHf7xmk4Ae24C9HfswU4+mWSdZ51hnWUPess0Js1kVKGZJJNirDzAXmiUAPFtwSJ/pBh9bofK+ptbdyfOnl5uC7UOJnISJL6qmnRY4n4uNDXqqaunImZYt27BDJAh7u00b+ltrUy647lVR61rLtvMKNoFLX8LY3p+ZPpfsEDD4Mg0IBGjKLgiXKwvqD90FDh7t4OuVF0eotXGkctUUZJuzauNJQa++TJo8Cpoa02DheRY+sUCk674D9ikO2GY50J3H1rgLam0AT7MByPTB0vzwCrtlSsf6pUI1GOm6JM0gtiFuHodEbSi6reO8z0PR6GxB1jzzHk8QqEtceyW+vsWQC9VjWSU5vCD3FUrAaVf2z2/VpgRxuTz7qPDmQf7NFcf3bkH4nMOudDaEmJuoL+Du9DMFi3M8qT9Vi3yEZ2VBjz9GrrhKZskBIxWxncqlP48jKYzzk8HtcMpaqCRPDVcL6QU3d1o4yHUkGvpoTMi9vdDe+bPPEo2dtC2PPlqeCI1B8W8v8+gpDuNPEuPPCNOsKYme8ly3JUcIjuVAw3LtksSK2QfxTIeGR7Xp7ofebrFQGz0LluWt4xUWiZK21jgdHHpbB1XOcIuts7VHyB9AhUeDFolJcTFlr4RzTTa4SkMZQlWdK+VJIcwcwwI/kSkidXnFfkvajkHEDurLfIzWZXEtkCOHWazFBfoG72i2v3D/6yoN4Nqn8/LMmv+NW+OQz953PEI8uWCTJB3yLhUB9nbzH/p8qZkX48XvRK2aTswG7JktFfi2ESkuS27RFm2BpWqZ1vxpefy/tRsZ/9zajjyD/5PZMWtcBOq3WbmkVt1hiEVCIAOR+l7AzXDW+zBh+UE4OZAI81679hblcjDgz6nrzZ20xHAo3JVF92GrspmfZX+OrDEGCY0ABHcLbBnDSn7FZteBZPMzQlkAZyJ+GbL72OarUGag7ddwqmjI2W+M+lpq++cUHERsels2W8zYmJQL9T9eDIkGlayFdsDAub7BGi43Yn2tOk1R+BOk6n7tatn1g74W5IN42Q5yDI15TerAEKAquaFpnTe5DUYt8aYdtZsv5uHRkVOzKaC5ZA8kU5kt8Ae5u4q4H683dZTBoSONhDpyiaWxkfhGtaxVufvYsDInW3+0Rxa2MI6tQmc7IqV+eGoqOto+X+ur9nME81OF+VfnzE8L5vPDXG+16y/PBivCTC+4+i2BgW4Fbv8PUy1CTArptzKOPNWThqG1sV1eg12EciSRfgtm8uEHfnkMUy2SjArqt47OeSsnG0srab9joJWEhKZz5cyVr/nKbLfEJojAwLe5ZbY/6MG85IAwVWdsRT0tEsytv6M0ABaJnK3BjeGzrQ5kHP4KHqTwi+TwUK57X6VfSTvx341CAPrRU01zsPZh3Tbzu5N5btEWcKg/q9qfh+792CAxrwxJGL7bua3P2Hzf/jGJwRDPbAPVyTbdLcNf7A0Y/43ieUKXjyhGtawydP1wy2gwrIIogkFZjV4XmrtqqLl7lfjl+NRhPqMznx/mfqcVf+itjr00DJ0vdIiJPFWV1e8Ys/+GtBX9EAD4HkH/xR+KZAmvI1kPY92ndY61arX0cvJnMdUSnhzsr/Gg35MqOglMolt6VvlDHSwrTogQ5qn9aRKx/KlCwHQ8GhzPjYz+S0baGUjsx1+e7jHHvxHL2z6oO3cGYnrU1V/e2Zn/dDIIwlQCqVS5+0oApwfG0UiXCWqbc+DPaS3r0FsCu6x0L6LJ6HZUNi5xzXqrH+FvnByGh9OeCUsaShJILAIPyLFsJRO57vcx7edep6b2pO19Ify1BiC1vg51xu2+pZrSp9QidZyta+f60XXiK0e5X4zSqFtGNvpRzkJmjw4wqTqO2BIPIjoASFWBoTOkT+kbKIIVflrwT+xomfNVVZShw6VbZkQDE4Ni2p046TADkIygpGB/Z06iE9R58HfqJIigBh87d9YjMsKuL3tcUP/lorqHOXOKl0Bqd//2j6osYQ4ezVpHXz/NFR/A+tn4Pj9Lmrk2Mad7U7zA7pXZKKqaNqx35nSS7U7oAIPm62ZSH131XnMhJ3p5/zJE2UJn9jK/SRFZVt7ORfXmzPOZP4y9/n+75cfXt066EVR9oTMdxPS24yvR0mHCVSJ9Q6JYRixSLU/04ivfG2jLp91Kzm16FfyfzhedZ8rUh3pcX+G/xdD8J8XIwYkpd//5rN1qbyCsHh1vAHJHjte7rL2psDH15cdXXiUM0uEUpLElfLdVG6bgZO48gzTMJ68XGshZzk+ZmCqxhtpv8IP2dpN5TFr5C1ngmq7TlXGmbrprTBZH+zE/0jetTU+1JfAUtUMSPdeFdS+Qp4YF570rihpOYOVOUiqxH3M4J8USYm+TY5g0rSAJvvdnMAbPzGM/ejifAd2F3IVLczybsr79X0O/+zL35Q3tiRlMsjLbnQXKuQSSULiQGyHpB4WJE0gi440gD4ezVNFl4b4xLBByPg8hJXwgcD/KU6Iw4uL6+Q5WxNZoljplgzvz1nR5ui9rIUCB999Z7BlfTjC8OK90S18ik4yMe+GKdtbmjkimq0azxTyPfO/PCR4uvTC/1VkqZXRuJg5tNevSmmP712vf1xhJw8+UuKN++Vr2qG+SOH03itOjOChAGqNQ4RAC//MCgLDnpFy36QSgcuBRh4qeaKIkD6sS4CTLRuBNfRP440eBtSVuqCQgFrWRMSM1bNb2+dXOl1tM7b798r0/eeQsZicNeAmkTUHgH+8DhcEyXuL1/q3AqOSe5HVfZrsaGySfkVPIS7+sv73PIz9tnqQNdWssg3bd9OoNxfA0P16v69YRMlfaw4WMr1HCQcI97ok/appjpBw/QiDY9EiBi5PADZcH0SXQjxaDDgGboZh4vMdj1rR2HVtWbufhfYXrtE3F1LHYLNFK2j8Zz/4TqW3ynnhsOD56rASve42ZjEWEbidHA0HrgBf+GkLGZudlzwoPPKDgehJOW/WAgSNWGiHKX7aT+v5Dksg7Cs0YlCHx9ocs4fSh4iSXUybOYtXdfE1QZ5PfFGCj/qOiX7hFyJa3D0I5S323cAkaHDxRfymhdQlLPtPFvAEJ/pTDt/jDDWT9WBnKeg2n6evbuPn6ZPy37TlTfcPej6ucYcBC/9LzNJJc0mi/5j+ndME85kQ5vaLuw9xTM8Cal1sh8OvwJqGKB4yUubySMir4slYNqZ3r8oyPwFSgmC6b+nnM6SWjzmTz2MaZmoSPZ0xhAon+yXE9eNLec5oU1t8YGBFoq+se8qeEQNxUPgSKWSA8Qz751aYZ+yMPbFIAtKZOLX9EKgYWdUbC2meOvqr8KlXQfntE6dRpFnf7erQOCDtOqhqfYLDTf9um2ez87m0VwPaoNUowXPcNk/pDDzCHwq2Pp0mQmOy4dJx844nCfCaYn54zPxWYHwZzv68rP6ahdo4NEWxY9Aew/vi7fowox1KeNQ8hSWDOgcb8QCP7gZ6vJeB6g5T5P+cILkC6dX+1B0TzXxJFuJ2njCFGlir+oTeWLOv5mT+G15mTS/tDEkgHw8GFUZEhQ/EPSefPWEro/swFjHJAyP6Qdv5MRqP4MhrQrvrRNISeVjO8584+nQVVgnpMqQnP+22aOi+n2h6RvPXtVMPemh8e2cX0gIWW72cWD6/mZN9IPqx5v/F64ZClGHs9fWe+En++2IWvW3n796325Rua126R5zFU1ux2o4Rkt3dp+p0qY75x2y7hbVH4tpdYdpk0DejI3ISelFM7FvIJaBrr1ynp0FdQL/UYFHOcy+VVJJ2kl8godQy4Y5hR6GZAj7jCuuY113M5XuEKoZcLD7pbI53iDEJt0e/txV/f54tIlNEThSyMnkQDzoD9TERLX9OH0YT5aqGBpuBgR77GIOmPt7q/C2afI+MScLtLx/CLJgSqY/oW0tKbjEVM/uUJuGAHs3ai+zZZVdvOUpbuHqkZlAP2seMcyPTs9Gat4Q38lBed1g8C7KbMb52zzPY/6MYsJF9qnpzDwiCc6y48h6tu4NTgBC9zsX6KL9Y13jD4UlAVhJkFR/ZFLgEuiELKzbrcG8ZfivcZmpSG3JCHG0nRUKgzOGOB9Jr4G8FEcaXMJ1fGbo/jElkRAfFJlkDGAZ7zoufVt8xJ56L8mJc0eSED6R5RPJYt8FEfjxlaCIX+TQoR+1gzpYYMz1BW2IuJXvngDiZXSbDfQmB/uf9GNcYHR7bv15nvb9BsimG/v6lhQShnbBiu3nfPs8bO+UQ2R+lLH3t2HTCBQIg928Bytg00dmsTzPw2wBhs7cHe/UkhhfVHPBBa7SGHm70AEHcCUJTAq4/er76GAP7IJLsIJGq/T3t/RBcZ2dROiL6PqRV1xETw5GE+O8xP2ZmfHsxngdkyIoA/Dmhkv9rBpK8Vt3raFwCCH5BuH3xhmk2dGtkPwKQPVk/7AkDwgx/guB3FukvrFOverPuwFq2+iQ/6bRD6UVkVwR6uRTSQ842TkD9Z7oZ1iZUpykm9GlCzAQZ/ym2IYA//IiSAwSiD69KusrKoXyPkwGPYwR/tZcZ+PEcDlYRl36CDX+UlKBMeqbcCGlV+nOqUZr0Xde9IjxvI7wsoFs54sL+jIzzKypn6HWDRdcDLbhygbnaAqHaYhs33R2GFtV+NORQAmDX73fdHqGJhitZIuiZZf4h/f7eDEqOdY+TD1nspD8gg0F80ml+Rkc3RcG8HMBKlszzegj91xZEZbmAOVNfs3y9rk+eqy1nC0Ucuj//glwcQJstEsyFtrEsLYtNv/XElPCBH6PB+PIFXOIKEzgxVYRXDdR/Sz3JqW6zdJKvg0nOWuyCGxZPlUUDGQOD5mmQujzYSCFehM/zsaO22FZbtG1TY0+tzg6Od+zHeAiSBt+ZSoLaskr3nK1dn3/JFrON/ioSOEfVPkxX3LfydoEdUdwV3/kV0U7K745H8SlDvHYpYrdIkMltIF3AOx+HoQxAkCwHsR4vwHa/oTvh2ft7b1fsOgHXGHNrQQ1hZUKyXhXd5CNFiyrItKbcplx16fmtrb+z2zHOiTTujxdGKkSuUMYvLkNWRFzZZPWNHNSSVx5sAepim6dxNEjJhSSOe2KqC4XkrG1kOo50oT2HRG3BBu8WcMEbV4J3V2QEHRAB0rCpMjHxzOtTqFrPRhhwRoH3agSt6k4D5cgQBpVXFniPUJRe6762eTX+VeZtTrn2gCZ1MDmoArnr8XlGspB/VZByab8E9Ml4bW6PSP2KSW+4yrA7Ixp+Id0Nz4KUrc3dBGXUB5v2RHjwTwg25AI8ljgghY5nmB4lbc9RH/3hEOpGsFnzYoc5kECSCayLjzadtDKVgZalqCmF/5zePdUmkdKzkPc/7ggHMVdg7aHzlAoL8MDkcxkExSS3N9x29N9JNEjqPekg2McCKZZFmxgM7btEWXltXeRImysTC//h3LREemsRgXrGNA4Z9Z9DQMN85Dp4+Zii+Bg/WYNyQVNlTd/gRURdPVHeQXKlLtkl4rX85rf2ttFo2kp+4DZe9jVrlFYZm6Eq4jhV/J8UdU8hXCxxDvZ69LPTQW0sZvUpaZHcsrxli1o81fb4I6WC78M09f1GukLLuwUU6a8rZzEblnWq7PJq2YJWxSRjd+kwT8BUby17fkpQB13zGEfctFyxZ2aHJIIs+VFmAqrlEqcy3IQnBCJfgNF2aUl2ADyT1MWajhonEcD2YSJe8LMd9F3D1wMTFIt/VI1XR7cLLf+XXryxY8hHsshDGVSYt2gLLa8VVFbFqOH3oGN7Ob2BI+fUkHYIMp8i4eDw+dxvnsYPEgx0b6VGjgLolmUHt4aHGUR2n0TGa3bFYPk+p33NABbVe/NpElu6jMkcTo9r3qNftVN1nKQ83szXtax1+xMDu/D9LapbFJ/fMp8ldUKcieN0ftTgEwOX/dwRwrng8dfMwmZ+ZqXtpZz27vjpPrSfUpjZv5yieL5ObNz/LFP2H7WBmTxjcIzL7vzmpcXQfybW8sx1HVzVjRzjs/iOE0ogQFyP/io6PD8opDUmp66yuBNiNrt9iwboJVtsvtyVDpnpqP0b8FCITKA9SCx/pRQ/0eDlCuEaoe08RV+R+wNboFEXN1W6FI/3Mqe8a/rkMWDDnW6asG26HoOHGS41r9j1t/7P5fEORqmxHJ+0FYANGEcusTgd6Z8e6L8xYpTwtdsa1KQ5E0BrbuP+B+koJzT4jMhtx1j/AmWVeo5g/kOTKq5WA84vsg3wev1Jo2AOAOKHZJk6Nom2FoIf3DX4hkyhR45EmnOFG0NZt9hovyDxcItML5brI/jpP8yVLc1yvXI/4DuljACPcqJxgBwkmuXNdgYFysBLBC80lKp832sNH0POQ6pF6lXskJz9cY6aHi63Hou3xc4s7J2x+LmMqHqx2D7CnoGt+jd0iBDfIBLcehR8SzNR8C2KsiM3/VhgN3dJw8etMftfHJgsIMsNJdCK1D3NtuqcSgVnxgbh+Jsn7SPCjk3GsP+TGJ+RYmwIHke5ycBJMbuzlVjF+Gp1if3xdMX6Z8hUfpx7I3r7vCBLS+C8/AP6Fg4yhXGNkzYM+LYCJ/w1CbHv+lvKn68GZ1VrrfE31pl82Z6hpVhzp8KXl3U7ju8v4NL4nPA68+2k3MEy0d809Tquv3xOMfHgM+fexB5lLuXJ6V1f9xVRfxfdPKctTTo8Jg4AcpddMMD53ig28qszk+UCDHa9fbhnqNm1rBUdhtCcclES2gmTQY/H55MGOfxxqxqi7Wso78TDGdAWJMPyG14WUbWp5yvaDlB3wD0szPqRt7OcuceseU4tNtuM6fwutGn62XMRrhB/uxDMGs9PluAfWsq+Yr2+fq1m9PBlm9L4wnb3Xhucxpfg4tMt6nFVeAnQpzpKQkY8s42e/ZEp+kVGb6YMsd5rWmSwqYiN9hZ2xNBrlVQQiINVUwNzNSx7pkiH3cmD/M7eFNRFPwZs7kQeW163TfnhqfX+yPtkM2zrebPVcaey/FvdArCUs4Pia19nh8dfZ0fKL29U5BOckRO03OVUI4LgEyPoooQEOcsMt79kFSW0Ch5EuP771E7ojOW9my62yHqPQtvImbS/mb8ifkB09SX/azZb+4r97NbaaAOf8STRv30ZY2UXOAYHFa+83+1wB3I9E3S+8lQbDiGVGxmFvl5Zue5CG5mFWbnV0kq/opx1/X+FymRhksyPCOSv91xtLaqd/VhdyKVWOEEy1FQyt8rItJwZtL+emf7Vtm3N2ep2jkIHHkx2yZy8+a07o1h2VY3N/VRZA6LXmwAFblw98Pqj2Nf8w983tOGjuctBYzs55brSQkyqESjhKCbSna7FFjU6rzZlgaojeOY9FOA5PJObEWkJd6RYm6eLMP9RcK477N0XYLQF0bZS4w0AcCvb5jjvxi6O+DscgI886thyJ6yhpTSfjhp/SZxe1bR/YiM/SMFFu6uqQn9g/TdaG3bYku3taGFIrWn6aVbCPyG3IRwE/zZC3NkU37FCo+jydZ+Tk3rCNSc732yFhCzmXBBacRPhMftxs6wHdWmYDM8pfibgyOSGm/moGhQZvS4jMWlp8yu3jkxFr8WEB37CEZT05KxYhNldZGt5fdnvwJeygPLucDKF9UJpCfor9SY+cFN9d1wmq7Tt75J+1QiHU2paH2j40zpGY2k1trDUjNB5d5nK8BDRXua0hzgvyDkGWQoc5n7yOcz/huQ8MenZbLDKSdHessXSKIbnWUE8NKi+FTSo7xBmsna4rsRiztn+znyPLSkHcSNBeUw9KZPt+ehnh5CBp0UVlKCO22xKjZI48248PTbMjQm4k6+d6Fg5JCPdfV4yyih8WZ16oxAqlQLHIRTBY9CW0LCzvLN9XwS4kUK0gl/tuH2Pa4FI7u4quHmh0nCOUzwE0Xi/RKteu4jVJoUbej8Hl4MPF/LSmWcpyJiz8OqTkFCcr32TZB+YalbNZ4QGJM4cNvJ0x4wdru6MjYD/9eqQwpTrJ0YHxLeHal2pGSUr3qfix56hw2t9c09L25U1UX70jZZ6I7xYLe2ZK8EaKCvU+LjtnxOkgqKb7PcrxnT1BV5H4BzBFWoCL+VT8iA2DHlXlca8x7qicXBumKFWT6X6PayE+aBQVAPbBcxQlqQb9mczun3/LvtUjgPNqoR0pZMecP6uUlXXoEBWtr5x1SE1+XwMGBLivBestEdtm+ZGaD80MEcmhdOcjDpHpdIVqbmU7sLJ9FxzYH3oHN2d3dDTeOJE/okD8VunQh6lmNiVhw5wD3N75ilWfivDwfiUpOEjJh2bfI/dxfnzj4F/a9rB2/2NbTiyZ209PVGrDjtLMNmxc0ew7tWDkbQrtwroe1A5L79AfKY+yIy7rTDPWSICBM5JAOLjAzQKTmWvO2bE9AJMzeIdckcFbkzUC3XBwugEBkeDcgFXUeCH7FviP6/skILXS8sgoXOQKqTzhwlwYowhThzztXPllcnkRbp/fZu/Jn9AzuYRyhBY4cCLmL8Y6yJk/Khy5NOnlj3ZoCdwSS+C4YO1X5sylMR3REhs8AiSsYOvHYgTS2pWQXzPFiSkv0hIZ/Lc4AiCyBJwlEGYRBpLrT0oCDRvP5WTJPtrWS/Sk4JlWX0nmdk7KzqKcykYeuHckZTKuX7WiF7ZOOFVL97Au/9xB8RbeyTPAc0pjL8W0MsNZizGnFq4aocBNSyp7pds+Ai6abvgFPtXVi5wP9fjaWw+r9f69TA9wAuE4IfflbhtzlZroju4HCshvTdOSf40UBFs7F+SH7Pnu+1wUZ3sBFr0XJ1LzxCcE87TXQ/O5qhv8494HhMyikj8McYABUSk8fgTut9McROgjsJecwmMsmVCJqqs0OQOOo5sUlOPAMreY4m9oYR99+LxOZMxrL5A082iSKwfvz+EdO8s49FImAl0cHua5bIFNvY4e0mUt1dcw5fc1xqGSYh/QScVQn2BKQz2+TwcuvNnv6hj8VSfpXdqE27xyN6UpH6x5WKtry38UJvoqr0iGpJyyISL9tPFAmOMzj01Lm/Of9gyKyyGeVuCJJPmwvSlZDedwGATYVO6oxXmv9K8RptUqxGy83KzIlyBycq/P4Bnu91m1qzE7uUoJ3r5Zn0jPMCYraxQtuyjLXfy7SBlSW0xPrJm+4UsG3QN5nf/y4oMi1E9zFMr6R+3Evoitnm3iqx7EVBvC05WWZVZDCYmCZehkGURJvPJRFtspiMSJw+O/Av9dcIb6eq+WsVT41poG/Fq9Ki0W5xhL7tjej35pDDaNJfLEchgiTDNLwfG5E09LwFCelUsxMnWkMiuLDrgylCxBHAyPplfPp+frHt3cuJz5SXr5m5Gi+dTJDZY4qeUIcBpzBQSZJpRwN5XQZW/n+CUrXD1CiQtcg/KCPdogpskDgCAXY0z78mv/E1khaKDzMPb9ZCKtvmvchn4iVJSemz2Y23eLo+wul0NefqM/UqpC+14PHwiVy6bJSMn3i23QFc2JMW6DJQU3VOGBi/kX05FIiw+Q9gCwH3PLYlDeajJiRz2vBOj6bYTYGhkr6azHHacYHAxO7tEIjyYb0WdZt7ha0tpnGymkNQHauW12aDf4kszuXXB2nr/7x9/Jre34n0kZzP2qQPDx//Ghui6foC+/iUMEybRnIungaIDIlkqLLMP+usW+gnAFlHAxRCSIcv4VOy8wsYwzHyJUzm8w/uBphwfx/4PNXAyfkib46JX2Z2UA/AmmpJ5Rhr3RaCcM7sAqb0VYfE7b1iSsl6T9QN3tVr6Fi867sANOuTkwDvB5YZ2fVtv5eVLcD6ffeWL5Oan5ZWTy8CJNjlbuuIy3cz2CDWuT5hf6E2x7xNByPdROVzVVyUH6A8jhx8gO+2JBx+C/PdAMB4MZ2Jp73D4Qbsd9wiVacpPps6BYEpIDLtzpjOQqzq/XrPiez+wTTsBPMAIyWwB8mdXAuBZu40AkgF+tohYL6aKsDHXmHcBWK/NEP9+nadfdwjZAKRoyhBe7na2mohkLyiJmajbYC4+xXf5IAC9CfSkzn2VlyDlEfrvdICKw4YvRknkGosSn7Z/V4vXPyykAC7qNizyFj2H3AYpaOTmeO1o60bDIyGIIbNsX2+EzOP7xhQaw/I+GKESrUTWHRdUIbk2AKPf0T4V5fWSeE+mNT25jSLOWUCHPi5bDSkIMsbG+QfkTD5Cc27fUhGOWwhqqIiYFHsC/oNMyfBp2zJFHnh+2sdtcg8WI6w/dFrm0uNjLYEZzYzneLOpzDnSV0ohnEhdW9MdRh+zqyq8D+j+mUWr8lmILOxW6hFTjMJJTcUjzr4jwVVLIWb28y3dReA8bFLm43etx7Za/JHuXRosEsPEFr13O1I8Zkpt1oeTzoXksKr/l9DfUOQf+JGlZqnNpP7mnBxCubRv4QxftQn3jE+ezHBpTTjyV26zZfcfvqKsA+nw7zH6DwjGy2ykrP/0rCu/Qk6qjEIPrA4bZNA9dnFPJCggypgSHC1Vt1g/T6p2Cx4+doGcFKmBnzkgEmEiJRaSgiN+KJzd6kY3tG4Z9MdG44vXuFy3/4fErVmKtA8Vp4F3YZ+1xZxIjaPTJ4TgNdPBsRUvbPSWSfNLHKrHiF8RY1tq9xcslB12hyy8EDFWFOMtlGH+QZGXm77MqomdnuzTQ7gggrtDFcddg/BoE41uiqVhQwEeIxieHpYS4wdtXUKZXrR2YG9I5rLtxvNnrSSXAwkf071fzLBCdTmNDYp7s+zTlFTGSD1Nx5zkcTGHf6GH4u1DYGHQvEx5+1AbBO6/M0WTJvXA/Ob0spyc6kL+IQ5LSnxKpBpjUqFThjrEyLdvXI8/S95ufKdG6e54+Q6TSiZ91WA5xKtq/M8LCiQtJ2Fi1IChOAjWp8Zz/OriMQV73HfQrQp619CRxRaEUIwhmBS9GBDxLfP0GjR3mwdepIxMkLGqgfOheOawv3R8nayVKNhLcrsE3tsr5Sy/32oI2IMTdpLfdV/Ij+n9wRZD3/617PdsY0Raf5IeKxfUGoorM0rwDngkniH5jb9igPurMq+QGoHY9Ml8IInfTp/qXzQipfWf4DOfvvbL1+tWzWUNBoJ6W6I91mpJviYBbXOSSS6gWrcx7ZjMplNpWHla/FE9Pq6DAf54J1Qz1FuSnidKRmIxjIFWzGNbawoNlaPcErNxR8lGHaSY2Vn5Y+KEY8XRIZA4f6gNgtJrovNZ5V6qLxv5zRyRYDCz0sYKG6XjZujfmz1i5r6tAGL5XzbXU4xVf0SEus89plveK9Rcf/zeKcYS5Dh0/MejZD6W7lIYNO/ScWCDp7YJbDlKFe52Z5Er+eudBclceiOeNp29T9Lad3hjIEwJ25+1ypMijWm5ac/QYH2+fnQChQjYBOGFsINQODk3e4IHtZKeiYJQ+4w6AzxXppHHptNTAAtHSj581MGJHDP0t9CYuQvWKE+iZUuzXihRO1vC+tftwzBVsWaRWd5RhSlabM6s3z/B+JldlhYrL+/omV/fiB/WHzKdIfdA8Bp8QC/Va2VY0WK9g85u0+XzJ1Om9PfKqu3yaaAyOr0k0eDj0i3Yq0CSk+tHqRc1onSKckJhf7BYozXsLiTy3ba7EZEl3VX0fGmVTuikzOs4lSRwkYxcWEx7O9AtCcqcGLXM0qOL5waxe4Yu79ox86jy/5+E2kB9zbbfyyiudUB8Z10mHusWklb3lyF979Kbx5hvtWkQ5EwTr3Bsml/VyASyhy7cm8v4RPrWHrLHtWkHypV/fbxUt7MHej6HEz1Pu6NDr+4583FNtUoPHfUABiu8uSxxevyfRf4AUNvxOfQhDRw3lKeHhH06zreogG17eiCW+I4oJS1i3CGQCFPdps3UJ3E9148+Twnv9X88kfX7nwAaKarVPNMylwQNpdhwhkL4D9UH1EUq3CfmwbvxZwg8D9jYKQIQOnO+HPyv99bOl32P8YAvBh/GOFgCLkpiE6MPlHyCYUZKndMvlLItreC86U87b6FNV4YgCupJkmSErkBQj0QWffdPlfyIXbIvKsYo5HvOwctYFvRVly27BbTHbyfX9MHc3y3jFjF9C3kAL9g9hKouYylE55XW4qOIEh11Vjm3WPV2ld/r0NHpb8KTo4mAK9bWS2E5rTC0xsYgqbbmlKFZpGkDWuDPv8JjXHr4mrP6I6ZtDevilH/k0qCRcekUPzmoHeRLu5biBXSnbHVZNlK07q4HGKPkERc06kLST608XoYIvCVdG281X+3R57Yrijof4YYFlMTaZ9qsThQMLgXvaxxBczA4/pZd7o7oiztGUymCKPnw3KFNnnJwGCMTNqIPx553jl3GF7xinduL6irqQAHdA7WbsjyAwOxqXE9B73VbazfgLXNnP+c2KQzn4X+bR9//AHtbW/6eQyExI9DfoYRFnF/+MafVlLYo68hhdCc6R+FA2yaEDhjiymWGPhW6uRlRhuNvsuqFuPxARovTQDIQnvnMldiVMhbZgkkvZF1gCEL0z0iux3OEVvoCMreat2ptNjARHr0ua4n6NQ75XFFDnXR6qgRCrcSORyibdLvnK+ABsvZEYnY200Eg79UY6rjca4NH3N1aYlMtGLw7HpDa7KN2h7z/0iP1KnHLIzV7PeOxuYkSEFgambOGlfK8hqOa+7moUW4O7xBl62cLthhd+KkwMhsZMLe/J3jSgdTqEbtqSAGHyw6EgrtljBfLYCVh39LS+1wP7U7uYIGCFgrsLgPtxrDUyVNRy9MWNfDfLpuzatXjqk0PxKqz6HSn1WbR9mkX7TXsN1iSusnP9ytL3qY9R9H3JYShWFGpz/XjwARDbNXxhAoidKaiRW1wNw6OlwTwOmpNEI9ArNx2O1ifUhP3vHzA+2dD0Mxc8M0OdDv8OHwk+Au9q1SGHT87jeuIHvACz0amgsWoy3RBVbG7WEeYKfTstyv4YDxIQOb9Sfz3G5xzfem3T18KQTY5v+53NMW3r3fSquDWa7LmvreRpYZZVGAUhI5MWcxGQTv2SfF36P38TAAAWx3++/TIyfPzx3bp8hPPi4xaCG3h2/FidjqED/Cj6hZvF8waWx2/aLa4aJc9WHhh1Wi5Mf1w+smnIQY/6zw/ryy+J8gjr2ZcUVGHVyK0e/GIJqttn2JoBlAEwPR3+zKgBIAwpCWFOxHXoIGLmVXx5hCkHbEWUcD8Kk91wizl6YcmR8qkMthOollB9BoAzNtIw6YHmAYMj8OEAjo7AH0fh7/8HTwn3S/WCmAObWmzaxfDg/LETVxuXbYStgiIbNiNMrnw9KSwX4RSxtRYdWNAA7g0FBTbY1Cebhr0HBZJvN4loKeG44+sKBK8IynA8IxrDzScVoIYZKIm3Dl40uhURVjM4j2HIAJJQWVgHF+YtXK3QSpgqA+xIhYEchBxHwXYiTEm8evF7EFQIlqpRAXSABEetYKgcj4QpOz8BNE8wJWxguLHQQAEL8UsFIMCNhSrEJGCz+iRsiQHsDSz+xOclkrfXGkAIY/efxi/r1oAbcCrPmn6i7pNyFNYjUa3sMR+o+8s8COupjyiyj9yjLjKvhI1lwEobeI+6XyqEjfIdRA5q7qi7YUc5RHtC3VQVhE3HJYocgzWoE6pO8DnfWNHIDK8YdY75VvBb/kaRVTQ31OWUXvAdf7FSB/OLupIyF3xkVCtPaiLqFsyTgk/8w4rHfKNuxXxSaHK+sOIjzzSKia5hrkKzpQpugyJrzBfqdswHoRm4BJFNTB1qOyoV3twrZVJ4K14pp4W3x1fKSTGbIFgr5vf+xLGSc/BK87E/Tm77Hv2B5ngsm+tpaN2u6dctu0HedLZl10offMNOpYu+ZmflPrKBY0t3Les5qkwje+GI3LbswCHSTcv2bL3cRLbl0NJ1yxoOKpPMag5WJrIl7VR+NatoR/JDfwCa682y6OKmW5X3aZ3HkLJbaigoiQmHiB6nWQOJpNOEopDj8rgNOKY5LFBkoTYZKKLgOiYx1dFgN1Coxw/Tjq4WZQNFz4gGOLZjAyOwHQ29F8io0YHYrbljCUUzoj5SILK4Ne8J173cmcm+7/cOdTQX64xK38Pet4Kcogw5o6RuRE4PegVHj212FKjw1hvEcdyzwyY8w26gg1nj6BAMzYguI3nU6BA2UFU3xaZxsQMZ9AruLWyS6BBYll+mdkZRBAUUrWgakxICNgkUASvFkBoFHMU6gw1kycd03kChnlZgEEv5smiO5EXYJBC14USExgGrsw4rWAZF49FcOmdMZlH6/c7jcUxhL5BBzUEUcgWHIkbk+2jIaZloAr8oVo0s6VlChBHK/nI2XS/nFj47ElLhbZcqNaKsPZJWlMHbaPJmCYmjbZ8uP6UKqV18tENm+m+kWUI7SChDAXu/KXqg9QZFduT4o93tnDgEAwme7AqeFIywT9B6Qwizo8HtQgE7UDO3QMUS3taIwpnLPMUte1GSb4tiaG7hpGBR2ArHDgaO6SBoXi9C7Y842VUdinKV4SrNSmnPNbhtDHuZ2XOiaFhAKLwF8yqJVQEKNvzeyI3tOUjgWcoFfKHmELneapZwGF2MRZQON8XjqfQDnIktc4OatlJycoGusNelsztcnR8ZWhvYX8+ZvHinCQuUyQ9NI3aiWHWyM2a7TfXBLQdHP1PE/xTvfxzoDH7XX5P75HGC3Zuclqfgp+hmJjsULbtSKNiUInQiE4iv96W3EtrccrNfBlzBsTSQLEKyEoVDSKXRmrEB1YLvt8h5kjoeOfDYmiZaIjJ8tfulYCPPwA6qPCsb4Pjas3PgBtsWRwPGPNS8hNuG5SqjYOlxjQkKKReLxWo+hsMkbt2wdL0m/vF0+04p38StdUa9vcDlDl85Aq/jwpCvcQgpvH3JpSslvtt7JHA7IuM/80gWOgigiJK8nO4Tk+vxpIdDGtfghWC57ap80O6YPb5bVCYqYCH9KyIO68o9+CChbIcspqQWnIyyAoAm9DQo2iC/5CQQORgqwdPb2VDJOtq/v4mwQc4oRsQCCpmFvZDOodL5QnYv9bXpkcBkEpmZk0FkeT2kdyzlCxnoqhHdxuTFCinaR9NMgPVYDWs6UlTHbzV2kAjwA0aBNrGC4KDQxMMp7yvrf97icRqRuDDwo1MDh9+FIKG7gdlAHkIPBRwJrNCjA/duBhTVl8Xc0QGK+J1ice1jCSxQiITU/DcwG1YLqlIFa2GChog7DGyv/QLgG/DnMr5PI6gaj2NSrfy8gL9KbRYTtQs1FK10lcwiJSBLBwYbOmE6puS1A1oo1JG8DB2Yx5t0HVmgDVSHsxQ2WOM6IieQzfhIWVxwlblZLZFzsPpJb16PKX8mbrzhXjzh6eaINZ0tqqNGHKexYV8k0nOOZU8xNTCcQSROyoikKwvSMwKHKrtbssxE4WBl/h5IferkOE36UFDAf40tQY8OOiUCfk5g3rDmsRuQ+zA+OwpUs0BhZgB4kYXsaezL9N9Bgjl2wNoEoE49FOigwAUQMQfsoCIYtgaY+Lk55wvG69UPiNh+Wp8BTFTA8hC4kXc62nVfJbYFRbIY+45q9987cYjUVTmNymnLrNZXrJ9Xjos2Umq34H26JYvIPNK9mez39WUZ+7NFMB1EHObKNmPwtuh57u13b9g+pgn08dXJ6MzheqPGEiR0IsPvt2t5H3NyEfn553vRWnToQaJgqrChisxJYOB4ZI4EPlQyIwIFnY+D0H4aFCTx+k201JnXfSFLPJw0jNsARTUbxNEVGDsyPo5QQLfA5mkHAro+A5w6YX7JlE3P9PZl2hGu0wDvASQeqCWlBOxjPZFhvt2dOf4w2rvjNkSpYgLiWoAjXsMRcEEDUzMTxkNkKDBBBAn6VSWTeccb4vQjjwGfyE4ULnWzazSVIb/xSFQLYy/oQQcJtEtO9LVIiKaEDsYJNGu6E0wgMJH8Z+MRi5NBQeBOJMNgZoRcjq3jqFwSjUrwhSQSztPlmmJyNoVCpDmcNLZbqluebxP7a2nT61QsGy5pakZTc/rTNf55J956urdhEV8V2kDFXvurYfqwmHskZRRgOvAGauZ0onCUEOcMHSOh6W5IqZm2GXPm9tSI+87vGeXcO9wMmnCGUykXHXfDwSTRkEy7fQKTYBBTaFxPs1hdiBU4pIR4yrQRTaHOLP1Y1jrYRMBdnA5aiGAwkATc+FtDwNrE11UWBuz98VMVCvCpOCUSckzU3kc5/GxVyQhGuPgpY+KdXjy/GEnAcupAJ3YzgnWfrhbh0FjiKHjfMgPs9VtmAB6BSTEJLlwBnYSOxTxKljq5+ErtRFXEwTtJTLikjIfSCvF2bw8TjuVDmd6lHrEAFiiKmOGCWztD+xRTY0Bg1BMmPRFkzUwgfZCLRydZc1HWr0MFFLPApzKUGl9RXvYcxNd9Kjk78CNn3EEC/p+lw19uhperKV3M3DO1W7lQYhtYHaJJFwzRrQu0Yk4Zna2NxzhnYNB2T5ERz5jKc5Gkeixmng1yEklHE2P/CznvQEtQMC/ihjLwu0WDjYyemSAKMz8JGaC1urQcA7yF2gqys4kvKy+5ydgEY/TUphH7Q4eFiQ1AOZBoL4BPjBUUPlxpK8/oSOzxVm5LgR1qynwNYfV0gd7YyqWalJCRMhHIJdEuxnXtzLg6ZqPYDIaNqvSwi2oi1Czp/12Dh+eRRVs+mZh6hPyhhBQaFwbtK3FA6omh6CwLInC4KXNTQKGk7AxgOG/iPd2PqnzBaWu2emBxmzwXZT408z209V0MHTuZHvhcP3jH6wqjqhvDEZ/s46YCPmjTEw+Vk9vNeffuuy/osb2GQPD1yk66m2zg0oz26Y6EYzuNcq2j1jww2vD3rBi6RkhJ7m3UyC9tqzhNSULYMWoM4pS143DhnY1cEjCW1xBrJips2OgE9lANhmA1GRicW0OPXfp3Q7uNmW+/oZ083nW7ILybRuqKfSEDbPYsR1NA0+lcC4PaNLyOhuP7910L7fkoIsIaibFLS8NeFv+ZP/smv65CEuOvXaY+0OAairaId+urAulDUbkZTvk4wqAyFIzhTUB2nmbntc6Syx+LxWIh0dxRVUNG+Bj9Zeu1UIVMwCrRAfb6UMaEi8h2SNyOEeytMpyrybA4t5fzfMcvV9M4hhSGgFaJbeq4KIPd8YjhpSRATRuHC8GI+ye8lbpEngHEcGzxi3IAqa3EVnGkdY5Qo3llIS6qQl7i9AcWUL4qhgqz+8uMjFeh4Mlqm0qJxC2CYsY8+sFap0L+EY1HJqhV/blAF80xECnMYc+KWdLPZ5Uy0Ye0RhfEAgonK4eJJKqgXs+yhdDnLaMzuvicyNLnitc+GlRn6xAiK4r8AGKZugPI/Y1vzISvK+c2aOZ50dS+MmFOtTAk28aIfmRo/UI5ne2a/vkYwpAtWCvi/VSAI37tz3Kes3z11IyR7pCxK/tziodr2UyhFd8+Rg8oIo/TmMn4OxfxWtGSPZx8rrDL0l4XF+CDvNYWjGAQqZtxJJQ7RlDAUXD7xzadw55o4tJw+gATMv5cRvXYtWv7zxE/psinSlzqJFgk4pgq/GSpJ/KRCeW+6/mw2EGknNrRBhBfM5fWRtyK0oNMqb9czk8etTJ50RGKTHYlw37IwkY1VrAgOt/KEYKK2ptz7ELhcKkrA4e5oEm5odFU9MKyV0UNME1tzSJ7IYf0fXOgqS83m1ITdA//0q/kt4L3i5btIFBU4tIT6U5/HNKdwV22Y8ppzig4w8lLTDmkcdpQwBY4Kd0EKuloaUrNBp0QZSr6HsECjoTzNAUs2nG1BRJG62zINWStGFu5R9R4Os5DDYjx+I1nMji39oCFvHQXeohB5ugjAEdCwcR74njoYxVtGH6r4GDdx0WcQxA8qiCwbZHlC4cqIBuHCkNZZAWda88Wa0ehM+A0QbOn7pdai02FYUZpQqswwKQcrgTX+0WRcFDjdEk07grbBTBqROa8sN99L0LRw0AmapcQxprB4MW0uYORyIHBO5JwJ1Jzu7Cbl4ii4BWvr2Oyv7+KJPzz8XBOg9iHfGcKozekKxOvfQ6W/RskTeLDvUEc1+bosrMpCU/0KMDK56+3k1L7bS7rdGzA6iyg9XYwHBxCK8IAKZc2ooJW6+Ba0rrkv8S1IQoGNPm4HMvKOoRhoKZUoaZbPeKt6S1jpe5XqLXd3Jupq3NJoEZVj85MLCBBkXn6LEhuI4DUJIkB3E520dvsitil4Xg/5OQEOQpMXP6HK9Dr2q+U/I/bU2QmfNt9sQVLOslmCJPFI7y9XFHXfzosdhFsxenVtKb0u6fA7ATdHOcSj+FtO2u5yosqB0J7y6+Am7sTMcTFg7eVyv68U1UY2z2NRNRUO2TaMsMuQw2qzTwfgA26QvHcf/owtc1RQZBlOp+X4ERMVJdYN6EDDD26OsSAg+oEuCMwwf6oyddXjvTZIpzG0AaLgF2LnKa8hepJXh8KOdkGyRI+gVmX59QME+hrkcAQ3BGYZoe6IUoSYGJzJ4UJaJISeC0c5ZjdQM3jARLdq0fHEZjoDo5OFpKWVjoUIme9BEuHv9BW78WLhsZkuA0rwGa8kgZG95gsu2RGGJlaZylcOAAXf7P6WSffE+wwlTACkBY3F+GSoAuBo1LbvLyeEmkaGrgIXKFkBCxQ8jZPzkcwpPM9ygRDKWbCXf/F/xdn3YiSIw2WIomECMK3palBsWSNUVVKkzs/DUxtCMwHGNpk2Dar7U5P+IgqjN5va9U8mhHpQjIGZ2/7glSOmRcb+MkSYRWN4EMsP4bb/zbCfCN5TAzJkhySPAfG/f+nvjXELPS8GMC7yLMyLc4P4E8SmA7Vbu+Vx/ug3InjdG2CHQ+apswk53QDSdRRSkLTdZqSt8lHqMkoZIGQPchl0zaak6EeeIZnlALu1wt8aEhJGqVNE/cQl+Eh47YEubaX8moy6nRJtyGbIOniCvl/E+9WlQwNn9SqlM6jMnbpGeMmMpM7JcHlfc+Nl+1EpEkKqig7nxGvYU7IkAEOMtgHo4G1Xd8FBTyQbNA1WV2D1yvQSI1V+H0M09CZHRiP0JijAqKPCrRXpnXt+XIKmzSclxjn+XeqXTrQwMHyp4m6A7TBTPU14hB7cVy6comrj4yAed8EZtWzKZ4WXK0kL8SZq6/NlyvJ60rowN3TceaIQizNMlno6mQQvaqwl0DTOAkemNWExmsveKMlxSQVhYMkdgFJqgyTxzdr4lzcO1Cq0lLnYpWsbpyKejLMVYI3ZWWDoRf0W4jwJnUXUxu4zf49lZyxLi2RdPRQUkx0FYWxtrifQns1dejBmdwYgmHrbibF24rdUl8xbRY1Ue1/x2UhVw87/3ip0eFtGSlgx9weUdDNgBHfABKwHHGkNDHjEcRXClyENhoaj/3duZkADpcMrb9hsxKiggIXBMdX4mMQNubn3dfHeDXudABrm/LeUocuDSPAbdPdEMliLx4r3XUMEu4+7bIX9yT3E3rxEh4d4NUisGxhkaRpGoUJLCBX9w7hvC/fU0yufXw2FqejpAICSqYOVivi5zpciUL9DQzAMi6AqVgGQdeGGAgr11G8hvNYmtfc3ZmFl9mKpNMTB8VPLyJgRVmhnrLN6NjDfU5PXkKLY0RjwSHukucxgnodrRgy/VjSTApc8haChvWWTxnhqF48kw7vykkj2pOEyfFXd1h2hKmT/TkacOOceElzyOuKSb+t6u/3jnb3vHTf4hrDU0R1aNZ+zTPnYGRigboODlRYU1zbbz49eMV7SItPoA7VmRgFA/7g96BlXoR7KzO9Z7fFdHmAjuzhkROCd7bhTWZ6T27/exV6h+TNlnu/3LszxR0ZfuDMfKTcrRJWmKjdZp9elQ8S4j6RCbO2RtbZVzNVFc1VnVl0/Gf6g98V0WURyeutoeBJ9s29kMcMDdQxmoVz1fgyL1zkqPGuD0U0xCRm3YifHVXdPl3U2hbbhei1dHOgEs6DA7co5bg5TTX3gILkgW9f6nTmputILrBfuAR9ZSqPEv4Fg9+Zt64KSUz+Tk0ZsDe+7NMGA8kHf35ZPBCsyfBByI2aSslmlAB7t3hDUQn3Wzzx+aZzFHCyqgIuzdZ89y79HN/iCUmFWpNKu+9osVgN7TbcG77cc8OdsHgTtoYzaTKXI2/rLFSyDh961SdXDanV1SIUF8P3wMJz2K88mdXOhqB4KS316ICLCB/KN37x4ct0ryxvCBHaP86Mg65O6sQEM1Jnz/VSPNU+zKMU/DaoN3hJT5PCiIlaXxldIkqCT12wGaUxKkTGVMrgA6rPg47aGfIPaboyeJY4eWDcdSHWexYp9zab/iBiwkl/VH6tvuwBf/3l/8NkJg6Ojv6Q9cK7YR1LVdqnL/F2g1CwZ1jUjpz2W51Lw+oexKeZqgztsoRw4j5sfYU9h/e5vzS4r0KBNBBISdBrNIwujKr0BdMBKKbBJxyW3T5d2vX/a+Xj+BoG57TBYupxZXT2QM8y2VXl1Ex8FyPevAjUGtfdIB1LGPNearmANVYDyTFzg7t0yhfON5EZLg1zDgmqdmwCNg81jkQ7k4+363tJOPPPL3h9pM7AmvHTPt8QKJCOi7rJKO/em0kRiGMd4JCUJn+Ri0gI7KWww/6h4YG1Xj6/TIzucr/ZHhfdSst9l3ca8XO4it+uwAe1+Ds0sJPjTxH/XhTKFTV16Fusaq6qfQ9VCiKd9F7vh4sc7OXK3dD9fTfqWvYwdzknUWj7gqYagFvHRqpcYwE5+atVIunpOfKfuGHq0EMUp8qSW0MreD1fbDAHH8NJbnJkYIedb4oTWXyZvvE+aoD+edIlj+RJpI+hdbT9qxkaPloIpxBboPO9EIoxp0saI9oWEPnXkVw6Cl4I5vSs3lgLdN7vfAx2B8ARAXEJQZvyZYny9DJlNiS2gCKeP/aaVWcHoy/C02472MoX9x/+Okh8K7Am3oDcGhYlN74+ttKL5k/6P//tAx1xsP67LdQckyVRAiiVKUvAy/dJbgO84qtERNtVJJhRu+PV7p7+2ITUjX8/TL1ZyiQAju2/dVTp3Qwo2fUQUuvCqDcEVqd4msLbZ7i9imL+YF1eGFpGo0RpqnZL/e0mWF6Ux2U4PDg9S95DoSgv4wiM4jNDCE3Q+h2o/3S/x19nGzInlWbjeAZHoXrXdf07SmoqgCHHV/emXe4p8r/DmDMTqrNIb9jL4zJ36BHPW8mKvcjLeBqsdS3kaWTTYyLPcMQ+qH79EQ/l+53gushqLFpXimMQnjH81J37w9LoUShoZUTuLh9guo5yYpbnES3HNWn3YyAYjDx+4N81HBblGCHcrg9GVWq0Ue3ySd6Mhv8yGYte1bnc83bEtDZQsivQNbacBIMWG2XxBsmIb/EL0rgCtGOwOvGxJbBmealQ5NbyNYmeC3Q0bRT2oQpndKpPNLI+kPnCIDv9tDZPHIUw9zuGcuhFj0xIZSgAsMYXD2CcoSOO0H6HJO2GNY2uz/0H/wKUXI5WEL3wb40NiGPqNdTzC/6ERhH5+gUD8br/xNJDXDitb6iQnMtd6usqktrmNB3AwQ81+5AICD62rSY5mw5H4/dh/zzReoX7J8SOj8P2o0C9F685cLFxtDgUdDTa+0/DmzHAtorWNTAwTzKk7WEYkE5YTsbqEEHrmV0CNmpcp/klD7C5BkIyTqVEgwFp/bkQlv1QeDup9DL2HVBNYoIlbDA9N4DtL1ihB5mIdZmBpImE6Yo18SVQHFhDX2DZXqtRwAIB3ebd2yFhQ/uQqBYPLvb5+E3pv+L06PiePteOBlvT9MwzJEsWcwiGbmXeKl6mc/hCDnP9FCMzrLsbTA8NPBgB3OasoXnNvw/2g6n16/MxcOI7GEMZIaxLmzziI0QwPGDwbiwBag6HHxOKWIyi9sVV7v4w3QGkNuMnAZcBHm2Qn0BXxTtzUzwg7P91jsiXE/LGhKyq1/hI7f7UnO6n01+LcndrYaWcTdsKiQtTOlo7ogADgiKKU4y2oelxhZQyiokaco0NuFaxJ0mPNVFCVXwZ8cfqFVaHUdtnhcK2z8G482jlkr8eoqxjhmwEQ7h6fo1ssPvNwHhasrsBpAC8HXIV5tVbilbh4o+UU3mu9wPOwg5HeeJtRoE4XadpA6zYmgoEA976QmCpVPUnhOnEbsTdTJ+KxSAWF93dWUXBfEaoFZIKKnMr4rDFC7yLXlE1jATdsWlDbgpJ13VolELJRvBHo7/vENEfrPX1gcq5KdsM7nf1mPdOlEK3OUQG61zDG3+Mfg+UK7NuY5lAw2p+DbcxXwM5O2hlSJxhLz5dTeiIH+W6WEj9WbLGJyti+WThuVmniFesEJ9Gsrr2qrZiBC3oWQQBU9pPoDS4RAS0cKgtcU0uzqfzRyUIPFnTFuKZNmF/mZtE/H6hnIYMvqFOf8kuRQitcw+Z7stV4uqlQ2rKF64sZ82lkzc2ibx+lMXQxE/dFP20ad+U/Fjy4pb7lFLOkkF434Q0vdRFKdqvaehvppY+MIFux69hId7+l5GQKWBRIU4L8jU+PMlCig+KE0t6g/E9ZxyzNH1d1efttKR5WtR25jWIltygj3AIxFhXTkSzyhAx5A6/9ry7nKljKugOJhhfBePtWHqMV5UvyJJbMzg08vJDiO/D1p5A7n5NrCvcLNeef1s1+8GfjJCdtb56Li/RP/c313v0Z+kizwkpuc5nWypuGvOeu7tAVIzCsMa6BGBmhTPi5Ql4gDVSNfjDmtKKCSkMLPKdTY3FIeJAr8XhwudlbuYQXm4O/VX2YmVj0WSAUqofTcP3Tt8BlHjbn1XXs3VT6NT+ZhOroKNNeQQNUfJj3I5yf2XkAJLU1wT2I3BSXkP04xF4xucPRFb1ylsc4eFmtPfPL+I4XcCAWAsO8w3sywbXfsJFUgZp7sG1w4Jo1s/PQlcmXO0IaIXwtJKal7lDt+DrKhocyEDs9bB6S87G8R0n5VGnDL2eZqxAPKCHqQdZ97IJLxxxDziy3kD+Yo521f88Nny3Jq7XDlbK1mV+bJOUmVk3MKfVShEWA2NbzoFsCQM7Xh/+NbQMvcLlmnZO/HR1E0ILqRCMpYyxCY5j3bq8LECvIXnvSMqGxuSBXNlPzfVi5NYrh4gDI4kMtNNWECHzJVVxVgpXRpNtFS2UUcGdezKWe73XV/Ikukp3B5XhMLAFo8XmTUfKacLnqR5/QddyKoC3tXQ3MH9D7dABeTDaHY2HUVLGIrMrul540t2yL4uFgDXRod6yo1Y3eEpkhbgWJRGnHCMrrOD4lYsvaWpJ1GZ/inzMvynQrDvMuC1BbEHt4IE8dljUmtFTCyjyBagkwF3TDlSGQgxLB0bcEqGBQ2GPaSepN3RVmk7uPsCbr3aIzpUOcBmg4kl6SYTjD1HF8KC9SmOKSL7urfm2QhvYhYvxKPOepdPRyY2vgh74td/10A4Ky+atn3LUdcbk3FkUu6H7AbtgQkLk68MmMDml2fbLQHLHu4CS4L+9jz0KtCXqKCdIEkHl2PJ09XFl1uwM62YfU5okzDuv1TzcNWpsof2ivMuBWFPpRBSvJNZtsgyKaH/Q6PLUtSBZvh33hJ11UFEfCBunZ17RbqU07GU6tD08b62J4WXQ6wQB5u3DTPJk450gV8ncJ2vBgjinoR2T1AC/qFlrCZHl1fBOhcvS2/e6lRykb8M+kaGubWpkMPHa/FxtP82fVsCVHUPLIBFi61AXK9PyVErE0j6vVq/Jk7L0hOPfAaGqvJwtcmuwrWIZxQwtekRSnVmous5ZqkLtWcCaUMCZUO7TLN7WTgSd1OoKtlBXrfJ5DvOS7Tpyg6ZY9Wo13lPFSgwRvN2uiStmgRERKPWKV4cUrsO/Bf92lc8XerqL4uFmHT11L7iaToPVbqfpDe8V3Wakrn0a77tCcPXLZtQkgXMs28GIgcp332X0bixS5IxXlWl1NZPjezjL8x2tGyUuk+gUbcTXz8bLVmDlgqVNjFmsAH2FXlAoVGhRt6LoNJDMrnVKOjbicZwIRlKixCPhYj8kOqTLJmqmNS25RZYnTNFUML8SmDVirwujeff8Bxlx5ezQy29iElhoH+cUh4pVQxe1kKO4hjrMwstVhiiLkFwyUpgbtQRmOtdyVRmlV/zc+ijQuedFj2DbMp+Mpwckx9rbeZEP/l3JCXidOvBbYEoWAJJm+6InPgjJcQ+a+38VWHVjMJF4frEx4EfoFjmymAdXWLZyB4h3KCibi6mfy/JP+yVSyVwFLWqK6PIacwblmc0loE7yOeDu4BsjvD2yN6GptErEafse747bwEdgAzWbE0LTaVewUqIzlaKhSKREo9KWlxJXDZtKkWXr1GCvq6YIUEi10BGUKMcFHheJG5uybvHTlWH1gE93iH7DbpwcQiXg91fk7UXVgFBFJmgmBLjMU7QUwzLlgaZO9ulm2KVF81E4dLdp35T/q/0Yie0SBQ8jNEBKPmceGUx3pWt4s83HN73HUhhpzwI417v+kb9eiTguXT6KYcbc4aOTKvXv/XE3btZ2bxXvd2vzpPie/P2GAqa0PEprox0EuqaaXKfTF1fC296yyoN9WUhcWbwKLP19tQSac0DiVFUnZqNixFxYq10k4QdbiQ8QiDoHECMma8ydJtZynRgCT17S6KHaXrvhWy3o0S0MO8dJE7DdjwqqIBx+30D1VeTM2yo5dIIkbscLUA85YREgbvuqBNpSNnYotdbR2TfIOeJkQNhfeSo67Ew5LVdEvL7EgaWlsxRAhdc+yb3fO8oy1i4y5LTiWUOw+1gZ7RSeLvHfTxuOBVoDzwWkSHR5ZUankyhhUVdHkg5YQ6fktNHGeXXjqb6xY6ddRAGG9IyktObHBiDKtCI5jj3F2FpnXtcF42FwxTkgoORq2hn+dERNESdsSzrqvf7YEbjnncr8iQV5pZaqxpX9+2EqGyT50tx2UQLTOoBH5RxCzKlbCSaKyzHdaZw7rT8pRXa0yxM+HdzHi0tNdYZXf9qm7u8itPoo/9XNc4XfCO8DyH/BtJ9RDNisDB4vQC1zUJsstgpAzZJsV6FOI3AsS2djx+GmkWpc4fZpziAVbx+ndcdmdM71eY/CXpwK7cdKYGA3Q2wP7RNnEIuarw7AoUPcTKTVNkMm2sORoosCqVAa5JhbNmJE29ViEc36mN/yZZwcr71lhehmcOJcu8MCrMtvRhJ4bwJTOIMvbqeMiLHztSefxmf8RAi4CM13WQAGbwmqXXPpAVzhJfUw6VH2Cfs7IB0cIW11p/UAK6LWU/PhbNq7mORoqzM18pTXo/ITPkQRrJ3M1mquwqB5xZnWkpc+9RR0IOVDBRB0q4q0aMFxqYf77REDLl8isCeDhKe22p+EFUuHlKzUxtT0yUAg8l7n1E1TdOiXw4thisTisZoRARKX1xJ5t1U6Qrxe2Md8jwVLd18IzForaOEjBzVE6O/nnKNyZf3CBB/g/60z8YhJHSeW8o2toFBDV73lXHB1eRbtURBO8zkNhQhGALqcKqzjXVsGTwnONj25RtrnWZBkiZv3VFSvMK5bq1OC+WwovUvqkucjJyhEnt7Wu0u3dSk5JUbeXWtAW4doLXrb223RnJha7yB2KBdeBRszL1LLDa5chz82SpFHvoiYWZouZlbgRO/vDfMkEO7s83EXE5Y46N9B8mTXcfwPD7RykvvDNqc+j1ZznP+eXWy7Pp/qK6nK5OA27lxv2ygOIqXipnH3k8Mun3IoCd9tdaKrcY4Tk+ACca/PV2AJR5Z637O81UReaj+rN8TRNMqWmCqHd+hXZ5QpY4714Co7TWoJkkNS+eKEomP++WgEVbnDdPAL0zJPQkrM7EVNsBeo08HEyaVkMdWZ+tcmV8NhTjFLS7y8zWFis+gJ42DLU6wLtVAaLurY3o4D1CEP5mQgQdqJRzG7WJEOpPak3AhRH1wOQaoUHJO/TTi7GAhHeFucDpHtO4jmw0Cw0SGLdYzfhUdpqNyqdR9+IZ508bUmvJ3l7U9IIJuqrM24VkGIPB/35fwWgdS49ACB7S82RcEnlG5JJmCVXOa+tM4R0aJi79IR3nSFHuHUKtV9cSq801PvBgYxjO3K5PV4ovBqYYTJajC3TSdM4G3kA9c7aU13OROU7jiqkii3qA+vDhYCuHs03FB9Oq8aFXY4RaNsAtpiQM63J1+BqBkLPZwxJJKjzvTORoZeXEMvbmFBVEpmOMaMuGWCl3MmS/wujKiarymZyumtHDN2ZZxBZMk1npqmfEHglRrypDC47q4vaszgdAQmF7FywEdOpqieRNgOeLOeZgI2sPz9Db16OlIsMP3d2VklEP4nkdcwqw1am9sZgj7z0Rt0fXjHWyuQuDo98cXvZI25N1c2MOUIjkl0obrOqmoitjkt1z+TEq5NNprcQqArAA8MxaMotO5Gk2MseO6jqelaIbld5pWwF9iUWTUr7t8kyWLOWObltdFmSAdNtmRMFII2BilG2TNBe+VuGxoPHVo7NxPJIUXf12blQqQeOzAkfPDpB0mDhUMRQum3e5YMv9XdDOFfA8GyxUFslSNQykJhnXhjwdYpWz6qXNifNTwGEfcMTnJQxOsrwbiprKjVRKTfx7lY9+nl7I2SeJgbELOHIKidHq6ar+qDPoyO85iF1nuYcBFrogH6GV7S0j0sLfynM/7J/oBEHNP9YS6eFd+ABMJP0x1heSFhab1JhNkn+bk0PXgJkIsXiTF7Rstx9N3QceV27Tq0DdqzgbU/ZlqGQR4r3UT36R+u9X+wK8EaDe1iqg9/Q4D0PsZC45spIjDhLthc5BpOIADBA+xbvPDHcd+W7kHnGsYGjExNcy6xCXAjf31qcaQV63O5QNZDYvQoY9Qm72hZDszMg3NuSccQpD5O8+MArNRAzq9PoA0Ls2pjsbp5xsRLHRvl/ZKABEWWwjyxhZKgfUUtwZ+RvFXXGnZWq0pLx7b26Kx2UGoXTGa5TzLm3u0ywyqFljh15NdqwsWjijeVwVw5+Yg7cz/jCxSr1BhOqk/vtOGoLgRDsYQxbB35ocGILLmgrsOj61UkWlefK+kObgyJLATrdSFnDdIOUWzJF9ND+OJz5bZAGNw8R3cnGwbr1zGpCUjy1M7lEoPROZwim/oCdqQ6OQLQ/TDshAscPZanOTsxsJzVtdh4VC+cANFZ7JmWZraAHQcnVzwGUEh1P9/vxmalnDzeHCasboX+Wt/hU5sfr+aJ03XEikpoP/gLQF13JHGBoMBr2KQzqnbDhqwfzuMi9DoqGyc6nb8PH+O4EfgaU35oLc/mJHZvt6FMIxXh4GzdJRgWfS70wiXnAiMvKoql31BiuWAVRYP8QRxP86KmxRXC04Z756rPRfUBYxQJLrlPS4/WMLw4Dv1kCK55kKd0rMcks4qfqP9hsCxJewbfFCkJ9W+K8U/BreJEE0kJb9NgN6tUm9qTvB5RtbJKfSjPd8BqOvwzNUlQX4JlEIitb+e0L0CIL2R9i/nQwW6M13j/Y0tRktVV69hnp43HyfPuirTegOEfDRLmQLmz/gf3Du5FYZFYQBLz/UJxoZJJtyyBvbtuv/Z+vP1pmZPMy9+x8tBq38vWbkJYxIL/uP8RmZCYVL7akmLkp8e6dMf38g2DOVGOg+duzNOe/vhSBxWqBfSI8tEycHffF3HkBpUKGfFkXSMOX5HcfIaYwpruBeDx05fgAkCeR+yGOaVW8BVPFulxQVB00rk+Q9bZtuahs2FTx8VuZ8gwropskDRd6saYQQhtkaAFZwKXxyDO/OBUiPH0HuarKsSaWvDgC9G/r5StceHzTRduhmdN5xpw0UsHyxaGXABM0FDLIERFT5hbx4eWwnaGZnIV9RYsiHozwAXZvVzpnSS3r7Xx54i4d7lxd7HI5Cpg7OcLoFiOMoBiVXvkX949dEaAJ1E57hThbGr6MYqsLN9jRaqSgrH3h4RHSOzm7txTEmmbSVo11Lz3Vh6zg7OxVIEpa/vXJ/nhliUD0H0i/4mpj2ICmQ7bj9dotfP9VULx5LSWUfWAnpNpF4tj0NQ4l93gRmrukJ8Aqcub9awzS+gJ9C3iOIso0yoafJfn46ike2h/XdwomxZ+p/YAoXdTYKRZ7xYG74q1+UB0eFqxI10s84erUSBgSPYzIZwLqMyvMlSZz1Z8CbTXrWD++tYEnHHDPZpNsvGSN3ZTlh74nmTIjnngQ/XLHdjIIM4HvpvqNT68CbATJnc8NGpoobARhWJ/FztQeN6elToJ9JXLw0l4XNWSJIMUyzj4YEHqlYCOKf3Kj7vc6uCu0BssG9NR0eUi4/58GM/FgI0KN1gR7BNVaoTqd0yJAzEam7iqQaHNOVmEaNE9zWAr+nneWcUyBmYSiJ6b9PsYvAN4NoS4kAnF/5vCdIil0YIwgwa7LLRYU6UJGrVdNDBr9ByiYqCyG2oD6mEspCze0ruEGeaN58ZQK9/R3g5EB8W6VBmlFB+O99PwJmEa+zB3UzIWRS7gSQy4/hds28Dvqtl3CgxQtxwwfcVCAkmKh7ixULahT8LBgfQowNykJ5XFBQxunHGbNh9+I42H9TMW7Xcx9C1Cq0IjqwCLVyx/MgQDWx/QNRQ+/juESThiAlieS6ThtrQBBNGREVVHRNEKiWqMTUqYBXh93oh/E9NQvmsOH43SPLQlLKyhIIOSYUHjAKRWiZ/1cx7t4QKrkh/0oOzRN6klySePAUF2UcSLlEMOIwX3GryCyjVFj0DUMoYYFIUhyBw3LfBypLu83jxUh9f+BiGmCpSsSsC1D0IxQPim9PTC9THdeHZDDQDYl5Cw8VChwxyCl1wemmHIqQKDsamNUT1g9m0fhfM9j2QW4rnnBCGoWoaKAkBixCzfuADzoNICf/uqpAH8GgL3o/PpZmQgkXUm3iA9I6RjvDLEUU3Hk8OrNCPZS7UQ7iYqc6fA7fxcDFI6NgGoGdTmk53KD3Gh4CRGESbaq3470lT/uAt9A+NRDufwjzPNAxiQuDnhv/gUDb9XQqnzHWpG2YdSpn5tywIvksdTVjq6reVqF86gq2B+phL8nk/K4fkPr4L92TS6mGZmRUprj2M5gTYAUKstek2iz2ZC0pz7ceNxgyxyHKsIKMPVkDeGEWCpQEDi5tOkVtvmmko+E6RUeGYbBs8GQR0xc3GIYo1TFrwRdThK3G9lZ8w9YANgTmmy+J+1DXaKBeleDO8LZLlUkQOITFV0EaErgV0ICsDLvHKQgKEiJDnVEKftICtQRg7dyJU+tM5zuj+4+5Imz9yZU1y4HgpInA1J/vv4zqUkgIILNiAPYOuhSULO0xfrkbjHuJ9KVBTp5sdwUES8r0miuQv1CGej9VK6r+KwJ7TZl1D6MOrXoJSWFf3PO5Du8BkLrheo9O4V6jzzlCCMVZH4I64xInt+lf/Qer1NWTV3Bb9rtub7YixrxuQX+FpFOhWBdP0HCqVsOXzygRaTrlZQBcAEZbf2jSBktfzEaHp0W7HcNGUr0LPg8ahR/KdWHICSt1fg4GcXufSopFTe5mi1BgSr3N8pMOKPo7dWZD0YjIp+VI2xy1LPKva2i+CMYgPjGSrDAzcIbXPTK871d0Za3xejwVcoZkO+fDWYUwvu1qM08OW7BPKVMhqq7k0+DpJciAxq7UWpG36SW6dYf7w/q1tlEpSJzD2OpvUcBFx1kyQdQtEVMcafupV4gNVGgielKPLHHP3eBGt0M5ybDQqcKVe8RalWXhPb+YcdftkMa/Pk3Ow0Zs8oMCPDZKqUYUWDb//rSPEsGFYCrRLfa94xQfEY8gpjPWDJiDHkaYTfJ9XKzfA+dCCu8cNHHGWh2Xq3zXUkNGKWtTT0SIKRq84fxowDqadHUuTuIsd7sVgWi1QasVETfZ4a5bIcI1t80mF+E2/NkSG3weC/BcNa7saDznQz6yb9IArd8/O2gyyZWmvADbtEPv0B4FxiWF+GI0wj1J/GCt8A1EFmqYAQkA/S96ZpFgcJV5BtqO1u0CC1W4kkJkwdi8ZWdJbhOXQd7Zp52ihxG6LDcsPEIJXNw26UUXtaJ27nUPiSDiv+QUTnTP17fZLLcmAEEK7QuJsj8fRAjT+Gu6KhcScMI6e7/A/mHaYEzYhUpCDYJ/xW6Hx/DhI1/CrlbKBLgV7h809/fks0eV523yySlgh8SAZy2qk2avQmCDIi/ChWnHA4J9QX/RBpa/4yvnX7xIfLChOaTNImTbIdDhNMokXblbMcdpcU4i+vxBuMZ07zvEjZRqWZsFnCkll5N2klDuKDk2TTslTcJYGPzcHPNrdnPwy3ogF/mWXuVKKegtbaO0uyXuGBxwR7gXVsHBYX1n+7+O/VRbrPZVS/rODiLnO03E8eG8bP6N+oPxPCYdIRQOrB5lVMNhAmPUy0yaZakITbQSsQIYPa3uaLWkskeNfW1bG+itFs+anSV5T94eS3BnlFXSSQdxtLRwqIU7Qbp7LNOEPduCE/AdnLmmTID0DgBlPckVocFgltb05oKLqUu4+ueWsJl6bhTPtXqU804CtHiH4P+Uha/jdYUGBloy9GQ6/1UKr/QNUH2VNJ7Vtv8R74PFCAZY/Lf9NvZYcKi8RRIDprFr9g5Z6fy3PpsWFmeBc8hVEL7eEeZgzYnHfbUDoQ9Fs1QDlPOhore5ngtial9Fj9RulWe1EBxYNjm6HLtR7nQLGszF1hLjZ0GbMBPlAZP8yGQTs+ba+jY3w8kbgP2YY3FjEbY93ZHVPaV+dkN8Iqmu105MI6wd7VIBl0+1J79i6+W0s3nsEOwHGaywA9ma17KTuiuJ2attSuN0PqilLHq++MYoEiQ5zcejjNjuyGztHq065xQJK/dKOad8e0dZLrp6HKzY8ZMWeeYzTzuu3e40kU4SxVq+pGZxmlRmaN2SzqS+9qyaj6+nIBomT12KFHNERjllLr77DcMDbb+kaz9QbPSGhYPacLp30mZ1tUqbh6AykvG4O0cfVSxdQJsj9HALJsh0V3u1CER6Bi+hI+QVuAuJOzxQei184QBVeTNPgJceCbYJbn7uo1fT4xgAOWhpscEhDoXXNusShBMCCZiLmTf6LDJ1w/uwGOkTeJOoVGE6OxqoUNQ8iF1vCaX3cOQb/lXXKhlXM3qlhbNuP2Xkfc+mlwnWG5EqyKBYoUALZdxNF8oXU0IxAFHKJHNNypO2YgI336YEHe+qWRTG5ZTItZRrs3z+pLqFOcEQbKFdt1lXcujstiI5CghulM8fRsiTFXGW0JZoWgchjRSVEgAe7c44W8enmryCIKcqIdgu+K4LHWtyjkeSbS1qlAu0SKJGTk7RogRXQfNZmQOX3uVXVcW1wMovOiCJfZnKUhWBMDpU2CUq5asG+8NncdZmigFTPcuZhNZJxkexQvMS6pTiUpOpoOTwzTW6biemXISIRgTTGG9lSRGQjnSgUG5ask6ShM1eQF/udiloTYkZj0CBvqgGjkyIQpWYU01l83nV9esmTECzpQKJawBCE9fXVYqzgu+nUbiupZRs5iV4OsACYWFmQ9B4m703zo5fNfoC89F7xQF9z0oIkym0xp6yGJ2fgg0uTpaTMvTCyiI8efLHC1OvIaBRqBj3BeRw5jgzniyKaa2m8dlxBUEwgx4VLrHuVtnnx649S7b1fTxYWp+SNUf1h8E7C23NegtnJlVf+TPvo7xVpUo5j5lYnPD1eDOLLcWzDdM/9W+nQ24sGxH6tMsl6nf0C88l786in05j9v5ObwYcmVRjqZ2P85YqstJ1Rxb0utkuJfGS30MY+tGJ2xY4heHkQYS/9lKSplQMCNgjpgFkTaSP1xbiF0xXPb14UqQrEPgz5p0371ftxf4RCAbTgf+wt2H90EdPiEYg1pffBt1o2hII8lIqBi33hiuQco2MSjmS+QldyMaNY6svhxK40hv8Ng3jiBDEypAZ/r6HFxoL2LMj0DRzVrG7zilrL5x69mY0RRmVWy4qzNxO01ZMzcswph8ROkJXfd13BMuydtCngeRKvdB5bxyG1oMbBqQn7P5A1sD7A3p02EodETy8o8N+AgY4trtdxPW4FWiEv2180CLtslaHk9ZoVS+WBTukbBBUMStOidJZ50pZy4HyrcfwnUG5Qd1MowNRNgtE2jg7tGzSFrVwcoSrUGGt97WWeEacfu8/Pje/E2CunCjw4PzciOB+voiUm8jLi/HWXqgSIRI9TxNY3u3kfvydN8uCvGfXl/mmBjBNbScO5PFPbQtFMY+AGS6fW8okSJvF1CGo6Zn2Ozc3Px6NC7PgxTF8jwYhSWYyz0/mYWctroDKWzdSRcBvlprsqG+f7kChoUW2aBJCmF5VrDlCUG4xlzm3pRxCZsisQtZ11Nyu3AKLrQmzx2FC/FGTZ7VDdYCOzTR9tpsJ4YTqh5XAz9pq9QG0K5gDH9fjfgNsTUlw6M0rA4tpcm1w0SWPgU8EzJqXKThc/5+WjkAUV0M2AVXBrIMDCbQaFebUIMjLaeAe26QwGXDb1QlowID7IieOF/5kfI6srKoMoXNMC5hivolJcu9TlY1MVFlHaNxDhxfJVaYgN9K7ePLRMX46+5b74LfypCB8XqkpAMUUB6AivFsG3XLQGrSIkOaGLMki7SgTD+YYQ8SjnE1TPQgv8rZTaPhVEZFg/ir6bvZ1N3aQiKy8bPRgZ3jng1wEPDSnnpENkM4sJIbBxonTObAdvBpdCTsGwGFKMHwu9voAmOGOgJ96sA73MPKeUoUag/8paigzVC7fJSEg5NhLYzpUYN8+s0b8ucmMnfAxoqz0v36wxFhEsFnfMRJcQ7tYr1MUP1QQyvkqGzXTOytlFZDJUttcEZtMYtoCHI3I+JJbHZfRQqtJGGe4GXhGcdqvyMAk+T2EIcV3Xd6BcTTLj0+jIV+AoftaOmfyOwMj2doDFWveCOh7OJcW0peVGUvQHGlItpeVY4bM1lMu6yq59uyoa9w1PI3DrUGiUaYiAaiDFT+fuWxiAdLo32iOrAvwB/47fecn6p+jN8Hqe8Tm8xVS9EJJKyNiYG6hJim8iTyvdYlEuUbnuZbYds7GQgW6o/raLj+oiGsYfTxWy2hk5pHBIGnNAZoDWwfqMrUdKY+8rCUhWdsuYVuzYywgUJutGY4kLxnNa41LOogdUFKQiCI7YN7w9NVeNa9Q7LtvEYRxcj7au2LGipvaDI/sJSD++4C74Df8kVkbb6K1LK+kFOf+83weiRFCjgZJTnYbnAtliZ0YuWyCPQokHR+edrf6QcNt9MOaVV/SdzSjZewHaglA0sXo6XA9Tjo+Rg0b/OLGAHZFf6mLl08+ewDJhfp1R3Tz/zYOOZk+dMxnKqq4ULa9CLPE+BoV32DubkzvoNSJc5RabrLM2YUGSu+CfikBtoAmbr2IA1hEIWwUDXeJHDymRmfoKuZLDmrnPyfrwFv759SLFeodze5twfyCKkthNpDMMFEErNgc6ZQoC0xhc2fR+t3+Cr+tOyo357TsfkrpmmYy6aa0ABx02krGlbio95SPDJMs+t0jjK2u3zcRtTBfandiF3d9oK+ruTo0q/Bz4sbBQrGCUK1Mlbg8ghUfEbAYsArXvX/XsMfGoGb4Zga8HUwBfgaHlYjsH/8/+t1vwWfgwYWggJplSEtEMU5PJrCeHW/F1iTm3oobxckrs5L6xV0iQ3Ah70SDhUgx350ovVQ4kIAJI+O13QhTou2WJqc4GLTZ3lZPBNd9XEmFQNSFnXC4/LCocdxnaFpwoPihMFBO4F3IjIFkkQiHWbur7DJZen1HdpxeRuHXOazoDIBHSqvfFPRgbPnuDTN5/S1jwnZF6AjxDQWuS7ivTKiSG576YaSF9BQ37nBuAChnMiyTMHyoxfPx/EW331DUXrjTQYKVGCOTuUplEikUAwLXUXI/FN5QF+0iFBetpyoeIIycrmhuQqS0O3DfrNXnUFtCak5dhELrMMpzq9RlvzCQWM0fVN3waKxE5rw/gHG99BpDabroIUhdcRTddVaKpFDm3xb0eGIgWNxcYr8dzFJzbKRKkMeEIQmirMG6CCykrJUiBZcwfIiLK7JqwFF15h1L3cOidlbZ1WFTrQiEModticJNQHmLqUce++PFANiERSBorPKUSS1zEZIuJXqugRr44X18f2Ze6QRd5q4WCM+5v6mww00aPg/jXsoDB4Co+QUaDCtcPuCj52YiGdCC81YoO+Pxhz428fZ+tsD39LvFzboMTsOPngP8GUuR6jGcr2OI9sw7ZuzY8Io55eqm3/CANdhbsxzx16VEaXJnQnglUVJyJMxExnuP0LRs+GeyP5Mt3/D2s8G7xR9iFeChmllCDPsuS3Tgc5iMkfoVy56eDLySPcS3cDlxJkivf+Tt/g7zSAZZybPChUrfNIULIbbDvRRwcXnCPQVqUCK9HwzrCSwV2BVnERoVaXvEvuDm2FichMhf1ZzM6m+8VTXlfP5wnkMKOPiuVfPqO3iuVvzQm+TcLdpuAZc6PJy3HOIUs2Z78Lj4Y8a7EdiUldm04Ebwxw4zeD0ZKnxrIQn8KkUob7hKmU9Ds+tGSd+VWrhcvBtiQuhpz5rgUYs7UoGkTbq1Txha5ewaDWHu1BwsOWyA9hw3q5tRoTWk3MLSCAx6x1tUB7k+vGqpJVi4fZnOPkpQcx94WDRAxbXp74HoLtl0gCOm7VzgAv0cI8puRv1X6DVVo7hsoyyjjXMmXh99vWOHko3B9G6/m68nidehb2nibLUreEzX6zfllym9A9bspGR49fE+hxMOAbABcU4EiZu3ApzJpGk6oPvKbnVCi+XkNELQ1G3lXJSo4SZ0n7pTixLiuEjtBrtPS4uAMPScUwi8w1L6WlbcZz6Xm5qTNdURXgCyxXC4VDVZOQt89MqkvCvaHwcJnHwtbGaxpRWoSOu5E03O+n9oYlCyqNcTodK/kyTO2EMAlWusgJyz7Lhft9emjHXqItkyZIoXA2EnyxwBy79bGjC96aQzLBqPFqKoperiGWRjLMGLZB0cNmINDEwGcN6XR68pgUpwvxhnuT1XAJAE5HEx1mEYJrcR7iCRatkwS4UvKJAA+XEhIoMVrAK5hkQ9d/7xFDWxOzhsNRZp4UmDeOqynL8s+uYoi/2wZQBXlnlSPbs2myalPnsZb1HEDuzSiqS9byiplj8Gokcr3u78/YjDvvrtjEGcJ3hvOF94t5q2OzzcB8FGiWjIpfhYL7FOAm9dAk3rTw3opJujHWsp4j6oT4k+HD3SeQxkMm9c7ZdMHxu1uTaI9fjwfnmJSHQHmYOD4Ayh2EuoHaDomJlTu9Tm8BzJIg9RgoOryGn5u7nEjf1iUHmr8DqzUoWL+sSMxIeHojy+uCa3zDe4qYoDxW0Ch638O6ku2vCYMn7FkWzZKiJ7MxsJ692jcJULT5vx378a2iaFc4Tu98l5dzimy30BDSuTNIPTMynCqlMskj3M3Z4mpNuWxexqbpAZ0QoHATz5gXnZXIyI51fglteIfUHaneLEeMUOV7q3v5GWdTBHmpQOK+hitnKZ3tFXBh0Fn4iEqPm75H/Ryol415zrmiioluPbCtKIr8q8dFKvrQvf7LxYABQOUgUvmVEhpXExcvluXuLN/4wV/nvWdkGVmtGaQiAun5JjJONbkVKF7OaR/vh7SVYegZx+ZVNN9+w4lKUFAT1hAKwQNh2UiIqX8vmKPv+tpZsKfpZlg0IvXgjOvAX+YYSYhOW0xblZlwNB0NMS1gVuWG4KtZiF2UVEIVRR21p4d8XWGMOV1g4Ip5MS4Fa3HMxAyai9CH4hIz5zGqEzavk0xy8K7xBrY0cvdIgUHRiuHyO6/l2CSJDlXWUn3osDdLTX0ho0M4NXHeCLHp4mwnI9Bc+YGiWGTNxF9Er1wRcoFQgYj7h9S2JG1CTlqlXHZQbgYDqwoDneSci0JmZzGmQdArxTIqheLJ7tNhi9U52a/VC3llaKiKAh5suDV0A3Ewo2g2AUR6XJAgpME/YGnwaVOU0dV+QGSxkcCyRJdErsOlMdy2/dC3ukR719Wkai5qbFbLWC4E6YC3ub6PGc2PKBc95Lqc0ph6DvPiqOKbvOgdfvxVPEn9DD5pgvyOxtCgO4jB7nH/NAc1duEqiE389lcsE1Is+ktBSd5aNP1DlJR71yT1CRxE1x1nskLdVBJ2PX3hbDuDutT5NcXk60kBRXYeZ2JGFCLYilT4zRQp85/p7M28MgqMynYEHduGT5hKLytGHqXzpPLQ2BI9NM1CKgNAKPhgtvy5r6RcN+KJ6+fN1OLW/1TWvyi1L25NqFyviFzoCPlc70lQgtW8fXtT3Cl84PFCeYAkCz0CN82dYzF9gY2iAQTmqglXc1BrFwDH23kXhJZgwN7Ct303tNRV/vDXWQ9nDS/Iwym9V6oKEIT7zVyUTsdJCr9ekcXellLL/6ln3WG/KkK3LPmsSl2rb6kY8dBV1z+IffCtxnQiN/QarHYunW3dLThZr+uso+v8xTVUbLV82nU70KhcCsuREsFYbb/Pny7vYehUJXXFAPx68TrRsD5+u2Lv+osCmQsN93VBNSRBJT/oN/6CC77YeTOxlqsa3wtVlNyrSJlwiB3JWtjUHyCn8wqhOjF9qLC0yQYl7+p7poSP077eyQhXSsWUjBlrtDn2AaTBsy+MyF41NZSR7Fx0aIvn+/gAes4GYEuaKeuDP+Z5rjXDy8boDFqJ9dhjHRaFK3RUZsPHecmgVdIMfmZkSIOj/Hr9qEIOeZRWSxajmVGWV0aNg6kT3liaMJnzcGPSEbOBnBYUN73hKPDLalP7934S5FJSh7+UdbJOa6w1VlRF1ZnoTPSmelPuud3Xwx8MwbE9/Re6e4IVVRAhWqEn0yYGlvnJUoE0JTg33ykZwj9uj5d0Lt8w7ZyzSfRd4Gn8j54CDycLw1A4v1/oLPSDg4b3olpgo858++qkl3Q+id5En0+bGKbMxMcct9ybpueT7YaTX9Tnm9B+m4syaH+016EfBh5kDMYpHHuig6eNqLYzhBS4UGVWBpnE4IW/Wx+qHhDVXiGE+BoI30JMoSYGuZK5TlE6f7rMiozRubMhUk/LBkeeGXb+lkK4HeW6xgZyK4+wcmFQIQWWoZyiZdNThEJ5U24VdBbemU68+74WJEDxkQ+ovNv6Ij06s/ACprWMqV+D6cDcv/nYen63WMtpM5szavmdlUaDTEDbxlgQww/LGUVcUP8z072fslcuhQjpCsCt62pid396mSQlThdFeuJ8YUNYm3a23fspEb/9vYgHxib5k406rvpvY+b1X1s19IzowjGUXAYMCSNgKDH/NQwawNXE7v70kp7iRx1ZNGebcEOdGIf8CtpIZIV9DUbKCGR+PlqXDiJD14Q7ntf6MdovInuKPLjbwVcYAklvMDb+lLVRq3Sz1jj96Xz4NlUBsFKmT3PGbcZS+ELhlPL6KRZTGiQ6+o5g0zPDEAp7CNS/TYtG9KkuMqDD0EOoz5AF21S/t+kghR+2OHXA2OJFRgnHKrM/2FWpwUe0zyfHb+/nQ5oookhaQTxSnrFNUbcNMrlV5SyXNRSzLrOVhI0Bg7WcEFJXr21D4odScDNVnfA5Dlxh4YfAANZ+bc/q16uqi9bByLngCwosvs3R6XQKcAd+aSCfBpkeaCvf4CKzUjpUvmPn8cgeyYebNwryXCigiFjHp+RL+FHXtBQq6VHeJDbX7anjWbdGIn6pP2zIXzgKeLxCK/HfOUeGZFuDwYcglXbW1HTi28LQ1Q4XnBD4cDBj5ued4x3OtbpRZeX07rr9iLFMsCVYuQp0UNv1AY1hgaJ3e0aRO8wymGJh5d5UAJfKBrg9cbr/ZZRdhahgHglDp6iMAuvqhVXLouaDjJSXeZ7ikZtA4VUCnfc67va3rq9RplNsDfGXke6EMdGtfLUT/Ogg4UJIU8wB704S/P5Jlbs8WZqS4UJ6A9MkhFQ8CKdrCuNk2F1GlZNbQiV0PFjvVxYZdaKu0q3tjSLn4kbi5ZPqdP5l1F+FMWuMFIuHKg9X00RRldJoTis2zTujZ4GDMP+bdgQY8mu/8+W5jmXBGTrB9cs5xcMYWO7efCPaVDYEhf7izuDo3JnjidAqN7A2GUEBp5RA4ZEnA2agm+UHjHDP1smulO6he8V4nqng3QdkUJa+ORwvADgOgckHjcz8+Inm+yqOPOEXbu4xNQT2C22mbkPThCv6mQ33kCDW2F7k1/v8slW0gPA4yBYNz3gsKM3h/d5Il9TUOkaVBquKVeIrdZhysfCozfzwyjH82UREpzBm6WblL8of1C3an/fB6LK26fd3i/Wg3d1cX34N4d6vPFcJZHT4YOSJx5Yws0e7B9fXfrr4w+2XaX8f0/In3NVXOkuda+Wov+LvZ01VPl+VdB9SEeLRVYY1M4a4CPrroBCgqx/Oh8TiXz/4UIu1jeHGebqcYXpxJU5Lp3k8KXqmZItFEasC0kU5LB/3+eLWsf23t3EKvhfjtmHvdBn8bPufN/M6L9i291jTnAJ5vdV6py0YdILFXnU20yjUBgazsUEsH+7YshLx29SizEx8XjIaA+/FuHstxp0DrIvb/DOgglLwqnAwuoe78lMqkknhZdN9N18UTeO2mn7fBk/6NZiPd8k/WZseU5nSjqFDL1ocpcPHLbwDGfQdhGvQBdMVQekkoYxmkWMFHkZZ/PlDD4KnmjFkZ6vdpPZwXFlqGwEI4PXYUryAZWwENicWLipjiFGlSe7I5iqe4kCwc4ePRHDi99Jv2Gc/jdNlFa7Es7JugGVkW+15N+oLEa1/rhPACMDLxW4ry0l10VTPyeddfhJORovXDA6SIenuZJ9G7Dx0lZRhGS7vxAv7M/S/JO/D61B2z+DldZGr+vGD5DvsImsZVF+I0l00eSXErA7FvGHLgO902hqEDPxmG9rCIB4aaP9qGbcFf96GH0ZjlN/T+wrl9Kdt4Q4eQAFPUM23zNNktZxEinEu+BFZQ/R0ErI8v20DNZTam2VNxMs33DvSxcbPjzZdkyXSjSoOf4bRaOkV49+PCwSzZocOSlNOtRafbJzQ9UcXjYMF6jQEf7Pn3lQFPdJBh5wJHuoAHU4/qWMt8sO6sXZBPH/4OWn8UXsURBltZ3FLUC311Ea7AgkwuEOW5QLXufGG3h4OxlW2bqvDUEQVSwaiER+J0TMHDxudx78WM7j1MU20RycZwzL8Lt3Nfuy5IBN5tpNp7ilRtuwPN2NfNR9ErkELcrJvaKMHHR9k2ZCo6zYM3m2JN7Mu/3IwujxaF7zUF+TxUntWySkPJZkrMXIdDeo/uUYb9pyx4hgIwRGZNLWyuphXbZ/qUIB7Hs6GtYVOKNJPYwWG1zF5giBI2HP+wlhhGZ3XwmCNIdWeFhSZDUM8Bb1pDIq9dMU7ptiLDtQcodp+CTnpmnykSzA32hjRY6UdZeRy+t7OdTT+WxJVFNYVCNQSsEoOD8cESrU8P5svypUry0AtAavUGqCWgFVOOCgyYJVaA9SSEJBUpe2RQ54q4FkV4FkV4DkRYPx7IWUniSvBJtcnyJPvJ5fpeMyYO0LGkmLhhSjru0GNrxJ4zAcGlDYgTX71vw/bMA4omID1p4p4scRiht4LD6KLhMAZfjij57BiOa8/C0vTC56ugpt22H3n5btkHfkMCTVxhQeSJF+1MkbdNjwnZdJeP4c0/QV7FJOni9Fi7RobgbNnwnJYYLweGkkmJASvso89mD5YfroR4ivUEjK1V89gGTnW8fHrqH/NNX1adtrjGLHGAU3jU3t6wmP11GxouIbgu4290pAGs+pO1vIgXv+pGD++b2U0OqWBd4gYKPBOLniS6oPktjQRV8U2Pt/rzTMvUFZ2TTlXnjMaWmvIrS63pxu4aRLnXiv5dFPmhQRmrRNVpl0c7gkiTfiHhCEHLfp/FOkYt62RCMr8XMJh8o6tXeeMidLUw7JNLRkbY4KcVWFC6L7wWTlsL8yloaBh6JEQzXIvSdNCHyMjVlncjrdcBXSul5EfCtk5zeseMX1R9oytxr7azI7ZnKrRn94GzrfHMsZtFI3HhHtU5Bd6lx2iyPbkpsXepgDRnktkPFYGtUvCuaU1wLKr2l0/I4Y4n9s0S4cqV/ipRVJWIGlBTst0rPKClT6nU5W/OOhbuqxyi7Me8Jhm7HJmEqmiJFMLCZU8YVqH2sJMk53M/DOt5+fYriaRCZLZVlyG5cG3x4IWE6hx6p982W6DkCIoJjDy8fvjUdaoWJEO48qrttZ7vN71UzQgQ0cppE5dIEqlXVLF4ED5RdcpidNT3wj6E2ZJedUZ5Y39u8IIGlYZOrs0deqKngSml8V2j6Lc6uIsFWMzdfYAHCMxPVmVsqn6kKc/GKpz2uWuPiAgltqX7d+pltsL15fDFDOcgwGjV7laGHzJp/qqb/ofGCq5H62HEDUeRW785AlEsJKIBDJ38VlAOR4Lgw56TeEir2/l+FbsLZWlBWN+cd7oaQM2gTsQ3Cy9S1KIFhUTAOyN4l46VLnCTy2TsgJJC3L6nI5VXrDSt3Sq8hcHPaTLKrc4ux5zpyCXdER4gk1xl4zEl08JPxNYClvK4waR1diJJ9NZKi2UAgWd/ITGwOTRdek11uGPluAREwn6+QtZWvPxZikrRrynOsNQjKYyNLqkFwRtpTjJkc2k8PPfAwCBkg8mwngnLt0jQDOrhismCIsAh4E/Nyk/dbeqEQwuFnpNKfxabnsJUds+aj/rqmrDT8FOg+j1/nO8+lga/T59fsAryCo25B+mO5fbP9nPqvYGo63VuWj9erb4JuD+aTjzlsi6AhObMZ0DWXmp3linzB/4yRana1lr5j0UnQFdiFFVeDRdUoQX1lYrNUBt9Drt2S4crRNZPHNxZuyCWqsQlKXC1WJmjliRAKXQ8QdrUcjkz0GVDbFw1ZTBsskf0WA68MKcDuUDeDcSV2uC5Ra/ujly+hRNp1GHV5h17/tUsPC/+GKw1y/bNRea2GwbWnjWL6/kdY5LjEYg1WS4REF2e+JWFriTyfzpVcsXkG2DhLblAsRUVvX7+EZzYxCPr66PSazZpq4q8paEy5TqQiRk0YemjKQZbmKSojUtOnpKTSpDjxAITBQNiMsEi4BYLEa1HU0ay3qBF+QXZVCNYrZIrvCeUXJJub+sEzG5nyS6wz46TvLmzsNl8k6pxPik23/AZdZ5vrI8mXwHXKhokGlKLxeBQ+f90AGXho5WOB/ez/C6zBVyD4BQfcRGZRUnQteNYWljVHH79J5z1imOMusDzFXvGeHnFkyQFJuoyk+y6oiU6uCsd0wdlFDpvpOhjaz5AuSkCLBY+bBPaBcKMwes7bRmWwc2stzh5GVJX1E9QoDxKRM5Wubc8kwB+BhkPtipQAXYg9K9rBhHDJ4czNzQ1xcaCfC75itQgzbEp5jN6JjVAb+oE+OEjQpPvBiMhurZy5DOFPGa8WAoZ4ELW473BwKT/K0UCwDMlKQG1bvAeANAsd+m4feWqA/sh8i0QRIyUhTwdGLGprNxeTmoKqfMpZh0Ip5poXFW6ina04mb+j2ckd48p0wQ9mqLnP4dszTtEUyUgzn2Apm0hiaw1Wd149Te8z16XGvIEiunD4YKdgORsTm01jnG4iAk7lNVcUpBxVuWTtyWYnzNp1gWg29HupgY5iHGw3dNpwRe5ubKSEbJdUVKVBFp9GfLZ8touZonxLidiLbS7POokiP84AeWkVGEhZfuDGz7+MVaTIPOKmZnbAtcVNW2457HFtf2kU4sR6lKxvvLayIlD5P4xJiMkgfFtvimunznTJVmJSHSpx1swGbmQvZolB8YVLXXnwbx4KSF97G6oLjJE+75ITHCHQOWE9oXty6Qyd0S6w9LuWmfkHJfSTKeNgIXFByHG5gy5epyGrl4ACQRXHOmkxEfoZHnA0BEe2tkeX8kui1ynITU4aZYhupIjMkocVC8KEEZzi49TLALBq3v36Jld1pWnyJQlERrDq6sOKkCZNIStt9gI8WI/RZIPN+5fvvWwtXFCMamLcaDcGe4iEZ5uuoDLQhA/a2ZjA7YbWIEQZv7cMT5o6kGkRA/A5ZqO7z7ZtD0q2ld3esmvj5WNVIwKaR8GV80zC5l+c+1o/dykqTjWFHwAQUtrhrNPyyVSvk4extApgAvRHndDmL08XCq7ngXJQq53OBE+/lCCxyu6Rem8LpEya3qluowdNxsXItKExVzHRVpHx+6b4ut8d+P55Dam3mWd5KPO6quQwzJNzmIDJ11Kg8aiwW0n1P4dXxoexY8/+X236Y7Su4M3cxH8v4nmb8yS7pDer1ffVJurraWxffxpi69lCbWTSlTdlPLtMQlgGFKPChkSpoWWtsgn7bq/zERoVNBi2eLkOW5lRcytcSRiAuspb7FQCnes/tT5AMiehpD3ZtOTO3XUl1cM9iD+Po5UHbFd2tU39rfgPHvMxmxfWj9jcP/+t2/3+LvI4rDt07j7kr+Z+l6/3/RloNk1rUdTYbJHBGtnJR+/j7t7gmn9TvQDxH02mMRmRl3aO4jWI/9r6RPrqfg2l5HGUnSPkxXdqve9jaZ7SSLTkrcaekXE/udRdzp5MXeg76CPj36QMLybXAjXMMvLw0VwEo5LXwwfAABkpiCdoETE5inv9lU6M/TFIOaQ5KFplWySJQAX79UGM3R6NmcrVIegw0ODahHdS8olJXmJ9KFBumiNDSUn/JW0zR1GBf6xbWTHCeFPwNS8Jt/ojBUmB65Xnj6uJdARegmw+jY3/XD5fGk31D6zVnH4hipmM2i8xIPR2lp5LPI+gNAAQ3kwUJ3dyV4AE7Aqa+A8+BR6bWqyKYpyU646E3nG6+ESti44sqPKAWX8htUUkwJPtPENeYBKCw7ztfJxPrZ2KbmNqX+N5TwtHSkYwAb02/svMzAPwwzdo2PTkPlxNpliMbl7j5ug8fqqBZ8leQ7zIbDCXLb3sttZSoqjjQTB1vq7XF+A5y98Yp5PLGHzWQD+xjyW5zvs5VTYMEWoNgpTS/TiDolHBnLjJ3PsPovIpmG+QENcgoJGJRGkYKYXiKMleAu+TLF5HXd3L3hE58Fdok8G2JWPlYYp/TaV5TSTLNA0YH+xA0ikmck9FWZhJPwxUxBTmNSt/zAGq4I3PuYQageN7PAeVWoM5O9Ex6BBkDz2AzqdV/7PHM7wvRmVtFWVgLCqykTGOxk3DjUji//AyAoJrydkg8HC+y1drIbUdcSr3FDo3fHhNggkbByi4woQz5abJiaa/VI6ySycuzCMxF7VZcLUKTLgXYB0/Z/UGxFt6ukZQQgbA7YG9BTuNnKsWd5JMtRO0OQKsmNleUIMYBDiMto9Uu7gvgJ7gMSTF6/opQR4GfOfMfmZ42/YmN4/GRmc+JJqN0v8dsVNUX5PEWizDruiT//hMnCYK3VhONJIv/WtHR8AlXiJ7Wm8FfsWZKlLQFaL52lB3ZIG+bs0oMDVpfbu0OJKpHu1k/O5KBtDX6vHVEkXDaubVItTKN2/vNEVhHKR0AyPtX0xeC4zBOgtSgeFRM4jBm0wjF8h9KDTpRhpEtSkjSMpExCSUnSMCZIkkRd/5Q+FwqqEBVbs940KOAc0DxuuvhM9iiy68gWO00ffgVR8F962fkiA58wumR5/uAEPEF5+CDubm9+imWFjWl29/BxAzBmlIUUVP5P1c3hJXh9U5BUO63ltrDIzN23AjRsylNO7NOx0s7g5u3ZEk+m4X4BhbQyotLLJTWMMqDRrgTuRqwoCSK65JeZZXJnFu+Sr7NIJzI7PgiwaSrpU1ziY13n9TwcsD+nzwcU7kzK3j6K3JkkVgi0rAzaIqsuiIdXT/NC/J14UjGHHVtgTAPEBqXHLZoztJPgYWKe9DBOeW91xMxjWQxgtThIBxYV9DPAhzlrgv3fWz9YK3jG4rw7n6OPkrbDQL91sjkHMvx3SREVxIi+TqtAtBta2UMkcVBbCqON2G4jSlKI8XpCDK7VTJiyGmRfkJXtEBFYWf+768tkziGS8ZqgncQpH7U8Rv+/NBYqa8DXEchumD9d/quJe93I+L7x+igTDfg7uo1BbTEvHGo4rgyzV3L1zRmhygTQoSvS0GzdbnCo9vjVZmaFRkbfW9if2IsMGw4tmDN2FNGs7fFiDorx7TvHrrM7jnvXM48AtRikCfQ8BrBde2oDgCG0lrPt2mRbZ2WrdDt0JTboMAHJzcI2mpHUmROX/62OMg86KbUjuZYKlUVI+KpwqAMNN7+n0awSb6goZTO0FiSGpFqh+Wfg+ykl4W6PAn1rAjwfyBS6hFKvSTElCAUfT4cGw3JgSqr/RVR4k4G+tgVmjTTB2ca7sWvNqv+lPvqtZPK+dJirQl0vDmxGq0WBVlGA53rWo2k/21wuzdfiCytJcYkeVbjk44AACOQ4BSvS9Uni1SlSfkDGrBwlLbFuBUQX66sx2UUsKmhqjwd35Nt6tH9NFOkCb3qkubPnFJRdy4Dq9wsjegf8JkGNYaj7tm4ujfOAEQ8saUm+7FnOlY2V8v8ASdifqXPjd4nkbCc6Iab0gxV2t1BuFdxzAsHU+5GUW+80aKMYWQnmGAE8byP4jvGn5s7VU1oQjEZWhgPU8qSCiyRFosIVheX+V5HDFKW0z4dbt1R+jNLQ6TYTxHg9pwNghGWVpZJRF+nrmuynAVPCMTxpz10js985x21BhGv7qLPdtTLXjtRakQxRvit7mF25kww01V7iwRQUMFhh+KAIpC+KIY5J6g/w8n9O9YifLIqMwOmn4YJgz9TG+N8RLQGWcAdzVR0cSdK5yBqY/lrsgJ4NyDO2I8KmI8V14BBPIkepQw7Y+2X8mWIZmR8oBA1qq4XSDCAtFPOnUhDoG9b41kAVoOgqUTgXbUaCaNOkfqquDmuEQMHFFLjO6IFQmcH/BKh/uTKux+ZQ8rqztGNCgif0gO6W40Y6wMQCznv8vIpVBaNVSAOEN40zN3OzMeBsPFKtk1CBARWjL08rOkH76fZnAklnL2G1qUnOQyGS+aHd4J82YHnoXg+WwZSVUwKYwSZt8Eh0CjCGRYujPXZo/QTnFxvnMn2qASGBFUQmlnEJ9rwjztS6QClCpsXKy5X/FsKKhUHchFAMpMLFu6f5kVxGK6ByAir7TEfq4XdsaB075mhonKX+JhMQjK+Bmm4FkxASYgBKZv8uYc+wdtLX7lHGq0giJOeu82xAtDcnTyxgGVpzIHcQJIQ1XXoB0CLbDa5fy2Tus8HFuRzpo0hptPtFKGGBHqTYlkjPA7HYWTr3eDDPFtRnx/2q53/GKJ3bvnXQWORGZcXApSjTcAkswRILYQccJylUooRy9PoZ2GHic6J6pwdfHHk0NQnUqgb7oEz8JfSkdw9fUFaeg5il3laCEzOal4Qo3MzZkdcosdkGCE5z8rLRDQ26dMnbgrYF40Ek68vdnW7myGIbc7Yotpq3K2RCe2byu/eW4TUJdAlCH1KsobfsCWLjZgycD+a/jZ114DUpMTcpLhWbGud6IWvUjglkmtAKc+8WjDNBTfdomfsHd5wv4ttwx+TxWLx5lcU54HvPSGwVtwREVWKkGNSqAO8lRPdNv8URtIFOImJgMRvbrIDs+/T4HsxDjjDqJARdR3sXHdK2Zf4RVlBViqL8LAjswaYcL9xtyOD2I+S3RKnQMwGY4F6M9qQfWNvHf7LTTa2bwSyyNP15Mwz0SYcq+y1m9jAcJz2DjcpPA0dIKtySnfMTgcOiF40dIYQWLY/cxKdltBbqRsQVLKyoXjMjFrK7c/3eaMJzF1YIcTiRBObYYrEQifAjiGLRqoIGI2cJiHvhcrJvnLRuVYBvgdMcyevDmDSnha1jqdAK733Fm8ImY8kcpXNjVXtS7G9H0dPGjPY+a2DjcGVfVv2sHZnjvOYGh/BETvWhSxPMQ/NzavC6klMRgJ4SuoEujYadMK2zi9k2wvvQ5Ht9MYbvFMQsrEVYOj7BleJTAj6F1EBiaSvjQYTrhMT/x22oP6FjxgieOFxQBc9GxGY5ifXhHwKN2/tv6a+vKCPpjow3sOx5jMaRx30LjNOVaJZO2zmr+MlXRt9WdCMsCqczzRd4/iXBzNUK6makGvWjzzkSFC+iGGEot8EeKlntuZ9dXpdR96iU7CKqN2Q6NRP/WbLs6kAtZlUkcMoQBK4Xpo2qmp4BQ2maCTb3b1SdCprfJ5LsUJ8ZMzHZR7A7wTE8N2C558+Y4tDTJteUT8z7zlSDiKR6NEf/IM5BFG4b5HmZQQ0upHHLEkg5G2N0t72uKpOOsvkqG2w79dWdgPAzxaKndoowYEnMs1SCwo6eT0VdIWbw3l++LwQLPcUuENIZFl706SLLL6mgbhQSKrrAyhrfAUq1ffpmMDa+IMgq1KQ0DgpXNeFptDUE0c1Z/wxGuYws1CrPtFu8LxATXY6YRatczzbNcvzLoMxZSYZC+8qOlMEo9DH9u8KNFcF4MgiKN8hcETwzIlj3Af4zL7nMS7k8mFEHloNDkf1aG/Ch8E4a06spwdHYeTLAW/mbzFRBwztllowdJBgJiRhIKYWd5oFQc9bYhjnI8voNBJhSQloiABwTOw1pNNcVN0HFfSyMfGR4jNu6TjBg5ag0ORW44ZzapVf4p1UQ4S3K5PiceWt8SDrWCChVxUQhH6VuwawxGiSRrtJ2akoWJ8LLOuUpo6eoo2wUkLbplADDfhN/uPEuEcKErWiJIHjLgP5tvS/++JDL38SEoJRdiJlPxRtEilPjENvxg6ESAPAclVORRvFVnpZ/f5dpp1XLHqYCewuSkiRHUmvsctiepXBUAWvzF9or3ILkCDG5TkEGWm/GghXWWsB9fFRgqv80Hcgs1kej+EY5jXKcoqQZuJOZzJJV7XQ8wEUR4vwu0XgvZF0Y0MqI+0pRZCM46Nyu9wW5wurEQgLjgs38NhaB6Eak8s4bsNNOyUl5VGtBQMBFrDjfv2kELcvr3dheXomVOgnm3uLnZHGYyvA43g4Q6W2lj3xNc1x0AGrj43z2EBP6yj3Al0lIGFbfzjKf3X1i69wntpXfRFalxoUA2h79bgAyMEeQ5WH5iCI/j1L6hzOjz8s5DdP18Z6AFf0J8NXlA6oZRBggvy63jCC6Iyg+a0P592IjUVmdkgqf1EYqP17Xm9rOuILiEyDJ0ws2xoFCVC4ZAGswtGb7JOzGH8bmgqwBHo/i/i5IGlwh5Qzd9SPIfSh8WXwBWar9WG0AYWzJiT8aczwNUFseIZ2KjRLCMa7zfGTDh9GGKeqKSLk/eC3Zi/G/wdvvodH5vc0fJgB6ZmKwyT1Sxk2ItTC48GEJ5ECBDfTN2wtAR3WvPZhSn9HUdKMovvpxTTu3wGRfYCh1GcAAJsvfnEFGOKa429Yg7CJ9MKKUivHej6/94WovOxjA5NEnMEDnOcE7cxLtD/Gy+8rah7+kP5yqaQDhvd1oepqYHzBeO5RGJkOHSiR1qlBGXS0i5MKff+ObDnlq17vZmAeRXIuVo7Jq2RaJEFyCLo1p+xJ5T8rzB4AjVdJ3m0y6aueD8w/BsTVNxXvafA1mJphVJBZiF/MMEGtS12P8mIfXSv/uxGzAL7fdRgLaYuvXK5aSXwCk8YKFNVTmcYOvpPXPHon6dxXqMIeaV7HpVwd2oVVTmzH8za/EoBK46CDTePrIEJ5byz3+aa7zbVgc4vH6ROtX1W+SjwiUBjE2ZX9rfFme9dHyxoWLwZIVMAFDXika8AsNhfQF55bUTxroZPEytr25moEy9Yy1sbXL6q85Bo+12XrudLbvJlpnwrROzWfKRksI5Hv+7roCqN3SBP6C/xgReSryY27rjc+lIJAUatcSpPGG8lxs/vxvmZokkFkOLDi5v6R/a/qHpWCCAN2mNaJOpNk1yfVi2LY7e1pmicZ8u8r+Nsam/k+aSV6XckoxG0Wm45ySWufHxbkNNw1YIodCoxidAmPD6Mq6TQcyZLKvRn4yWyDo+DkYoArwwz1tkyd74+f9Z8OvuLmvlt++9P5n/YFQbvdpnsVUjUHe8kuTNr+lZhBXAgIcsQ50X/fCuHtRAVMnGCm9AV/Yp4b5oMEyMKZc80l0g+YBrzJHMpKg/6gSjuMdEjSjMzNVYoHcYd0KVtLaFOGansJnbVIGFiuWn+ul8hyp94+l5sOZ0eUVfWbhUR45hRfxzyGB5KMygLy7LfUobxxx3HjUFS979n42YZi7vR8S9lt3C4ZUGNt3nwPc6tK+cgE+WlgM2XWNFefbX5czhp9cyZxZbg5NFoBWP+UO9+6bxJHR4HojhSBGXeVqsYXI6LxjPp7/YOs3d1Urk+R77kTI0Y65cONZFNBvPHUUQe5MP8TD87YJEITLINEmpPiCTjH44pIF3Z3OJQu1p81flHsu2mGqZA/HOXo8Gm5yHw6G3bXyndrZsXd3WM7Tjqt2p9iPE19B9vDb7O0DsWKUtj/wCvBesyzpdARBP+F3z0InWMD0TjygQB1K1Wtcoj+0c1c0Kd8+D0NskxEJunyB1d9qUmNsacoKEtQFIwR7CMeySANrnqHEk9mPwxYoF7d2xHq1QVtfh/tRKgo5MYtzdpYipXwW6QWf14iarw+tKJwjlszJSBCTmMyyC+dHRVHG8vD+FKPjc65H1qGh3zm2DfE9zRAt1kBNH+OiRNvz0ZAzJHCOGHTs6pMmmdBAivUXrRo7qrJC0wKmFT/Cub1iHrKtEdduVnvpiITgvZTLsFaBkBoIkqdOnOHjNgt6Z2t01gFfHp91/RkwKAGCYLQSYAvVqQcaWJ4lvf1Jp8+ymxwXsgtrRRdOByucg/3bQynz7Clgb9xKs5Ju+CRDWp+/z04Hfr/Zen9cU1g4GkISS17i7ccYwaF/9kGQ0xhJHJf5Hv9lHlJJHOKOiBHuXeCe7aOJ9uymPGr8sZ3Nt1/O2AFH+lpmUvT+CzDPnMyTky8TMjTvy53T1G2G/65Ym+qwJn/fkpujpt9RBuNjcAjMx5JBK1V2U+IPGH8cLyQawI/42kruJ0qWUfISnzvM6XWnZBoT9nM9ma3h6OciIsROpzzBFfCZf0g6FVlm7pZK1jNCac1zDGSAvVBSAkG5sELypoKbKjaxl/cG96xbvje84V/HhVeZr0vxlpreZoIQ7qZlkqt1zmhXjsG2y8iJ/xB6CWyBuz8f4Xgi3Pjv8cu1PsdZ22GUqURv42YlErWyMYgQlrwWunVGBMtk6Dw71NZDHjY295oXFHTWGFOkw0ppxO/e9DPHhs0Yu4Dnptpzdjiw0jKVupKbu2LUlsBnNw8Sv8lIsaax9Hgj1JpNRdfPOv7L6Z8PiaqmUEiX2srbQuMywnxO9BblWpYQnVmkG6yTGlmxwVdGPXpjsnxsmKknmz+0+0dTN/98ZfcGUPhYYIOVGXdo+BDcskvPGtkqGAnypxi5EU43Rmwjs/cQURupcSSCDeKzeebD1XSIj726H7EumyzMnXV9Ue5uwqoKziwsDbd4Qh8Aq7sVCM5jXmbYNeLCyuaHJ8hnGaFvwHdk6GSkRuZPfj9nWjGUyilPoMGY6ic+KFm85l+iQQgXrArqw4TmFOsQVBt53rWgsO2BF0zoAE6oO7PLO7mRIj0kKtNQg05xcnJc4pJ9FJc+h8rOf7GBd+wj+Bl6qYNJaQBy7VkZNxvg4h6b4Vz/slu7Xy7TjoyK1ghxv6wTUALZvG0KWDP1QW40g+QQnJFOENSVjux4WChrQ5zyKMlUKnRbtLn1tdMHpW0tpZbqzu2Yo4MtJuSe7RFWsL0+tzM9ESkal8lJuOo6Oz3UUG02t3jxZlYTim9eBgTUDJDhvYQqgkCRKwxCHTn+YkylmLL6wbrWtjoUsjmtmZDoh5bK4twbSKlPkwc2Mv/iozSMeTH+VeY/fmv/5ZUPLCyK9wDNYl+Vu+epEIpiLApJOLEsA02aYQg5QpVJwFV8YdlIsdjzF9WUhLyy4rJgr5jdlJzbnVZXSw1qftHaOaOKp0qaGey7RNsEhWZNsfJLWY1FjJDCEKI2S7dVmZCoOcmyaJ3Yq231buOOzZlWFRkiydJREwOMtTe1p22dXXUj6XH6RWMLfztOSV69KW2ziDQr24uvOv1SrTDDqnm0ewhPG9DmLb64V8q+dMsVCTsyEzA4nSGvpfUijMqf69DZYpUHW8E+ENGBWMOasRRLCsPSwuv8IUXlBj00zeowPh3aQeHLx3Ad4Q/dmIULzBaM7Pma7Q1MTgJQZ9RP7c2GeYUyAlGz36jVOr7wKpPM3QkchxbU7n3EqGRs+qXniDfbe1vpwqqXsY8j23Y/FBRiq/SYCerxqtAgDynsrvSdAXD6f+sYprgXYu4M6xaX/9pxxbM4utS9qJKPDDTK7ZSw0p4YkO4M6KvtpLioIbA1dhdqz5w7rEgscLEP0zEteQhh8/cDmro0zP44mHDvdiNhWmVz+eCuD4g/9CZQyPtyhAsQLuWuGyf7P+5yepz69u+gwXpM6sm6jkpgTfzThCMR2TI47i3Dxy1y+N8dWxgobudawx2Fzpr2beuySzubtd26y5O7erK+4y6j/2cvvrgzv0Uihq6eftc0oYzJYGuBfBvqUKZE6JixJUovbwH9npk03Kvitt8VDWvQe/L9KngrliUE7q7ONVASN1c4biee+aZ7rXXZnQdZDm4wj8oDTx7ngEA3rZAxXA90aeW3P2T4J7bFBV09gwaz+tnlg56ckSNdYE2+J28eVG7f7OKWb36b8uuMizwNuCFsRkCF3g5I0LqNWXBQHHAIIFCyETQhcSv8iNGiYap/PpO7f7nWWX4nN1EUgJ68NFROlw1BUZIZ04rhJ07L9dQogHfM5lA6kk7sjfaMZ28ZMEsF1jhB2y9E9BK6YCsr2NDKPmGatk97m0LUk40d9xNjp3avJ/xdQKmQ295SkYKwL2po1vNYrmLvWb4q7vKuaNGHqJCbtUSRZGZvpaxt6bcF45ewWM5QSZPLt0NRYUJbaLQ8nGxH/4oTNCWwnF7TLt4ijSuAWbLwQYIe0xfboLxP84bzMyKeIspSZwDoqg5KrGxYQVQVfXxsbWQiuUmQ2agN+Uyshvghheh7opqhmvVEDmfV1WzqfowRp8zVk3Ue94g4ptnBC9lIvcDAai9oviqSk+SLIpeX+ixG8RipZX+QKL7BkeBYnYzQOHds+XiaRpl6OcbgKVU9Wd+hc2ygTR+HaY60zd20NiuY4BrVkzpCbjFCR2FswHXgd4tRGf9556uAiMgEZj+9RvociTDxi5k31KqdfrqTUDfbSI78+SXXeKTCJ0/u/2GNvzI9Ud2y2z/k+VFG8YUwvzjm72qWbPPg5oasdhlq5lAaU4L/My3zPZmJU+7DnOjzLZi/pibMBy0b0t/lSq+q8y/1wIIhfw/z0xwJ71xhhaINzV1TlYLNkxQgYI6IoT5DMzXx3wk28/H/PFuHjZzcDCjLG7fz+01Wfo6zpDJPm1p5JAOsS1QDLj4vqEwzLg3mHmuAYMZnpAxkbGhhixsPliOiAovEXPJU94JrJDmhGwHMpBmsl0FIK9D4/GWal8EF0+NxAoy0ozAN1rp+wGdhhh+S52BKRymWC4vNQFUT2mT0Mv136WC8fsdFxDXSsOpEanj40iw6e5CNRD5WvnqsIDaM7c8tG/Gsjob/fqVYRA0dtLiCL9ZzsHUlvcQwUAaLvBP+/ES0kFdz27CN0aBI7NX3Dy7qu6a6MgeCvvvVQiCBoYSYK7wDuvSCMUV5tPT5YIFNZqnB+60MfwnGHJK9ssEWQsNOaD6XvwkaZAfNeFE6hgCoR7bcwP94wM9LqUNMj5u29G9hvCwMsAswvEtTvh5zIYALoXpH/yRdQ/OyKE7vUxemo+bHCxFeEfko4sOF0mrL+A9s6ueY23hk7kBsZFGFgqmvrxaHwkjiZfQWhTtcwR2lrMP20hrCOoW5iatdtMoXXJQWgFKmlaAwCs/D0vO/HKG4aNy+M67vlEaSQzeGyulCa6HB73rGHwD90iRTAnpSKGWDeXayzN8HoVeyZHo4eDWZBGLdI5OS0dZL+7D86X+zTzwCioIFmWDiJKdBiklTV5fUeVUlv3cy0xbDyHiNoPp6B2N7Y0ydo1bGiofEMfsWGuy4OgepidAiWlsyaVTZZlW5RLgZFyYCSAaPorDtT+i2FLcdRq0FrrnBRBFRqwO3fohMAt7enT3FYBegzEEMEVRBd02vCP+pRAFzRpCLTemtXS/+nknPHlSGqPFcl5o0eyUkhZgprSlmsGimjKA4/VoNAES2EDhjgPC3lf5zAVHjAnVxSyI1CYze/QyQwFgBbgWQ6t845IT/Q+HdDVMJmTShX1gzRE/rNi+CWqi9NN4AsPfq6+F7/O9V5f5wqr4twuF6SHdhMnvlTKY3vfWXiTt3czwjMKLjEaH6ESYCq0O8csEaPYQZywq1KcIJ6+i82QAkXdePD9e/P11o715k8X9VtWMas+wKhT+1NYNUGjMBlI4VJM5pWv8LJTxJXxmHDnvx1cEaJ8jCfsJGbjDh85vLmLAtIqb5e1aSKe+qUHfzcKtmrGFbi3g321v3jBnbOmT0lyDpJc1e5mH2ffJ26NMI+2eimhC5Az0WBt35pz+kD9aubPxl60+99x5dOnrn5K3BGyMjl367Yt5LeFUNw65l0eqllcJ/EfCvglulLS3Z6/cIa4InN6EuS+aPE/z9ZLlLbOTOsC6ZEsYcxxw+R5ujKaYuhsXkxViKpmCoMqUICRtNyXM3/a+A2kT9B5GDcDQDz1Kf4/XsihI47b9wtH+oFYmsMwdDagd1OoRkzg0ohmP/BwrMn0s0RhlJfBgHfv/VjI79Fw/+82sZBCek8ySHDv6LB/6QbOn/aBl9MzXiE71U8KxzV9aLe4T/i0f3R+GasrFZQppEawUhbXWSOyTzH2y6go7Ljnwwg3iwhlrCDv39w3rolBLWpjVwKUWptu2gLlPl2r98YFyvmqbQCEL8jfpd/KowHST0ytiWCIgwlpp5rJltTf7UBLTOJaM9j7BBzpzSWBeLT/Tstqv3GD/XjVmTO3G8SZYAg2L3ZlTKf4ID8XcF3YVVZOY7Wnf8NmHqO+5Wg+N7kg6anbATuNtoRcugz3XBT8ddkPfq9fKALW/bBZ3X+MyD1hpnJmXDVaXIA07JILHcOw/zFFuNXUO3DZFjARgfp0a+K+ksRmB/WpR70JepmVCXvfgrE/D2sNSY72rJwWjZt7rrJIQXFBt0EqVl4onBEhBb92O9pmWMsZGuzwW2+BeYIfBFtXvu54QjVEgi00t/20hYovblZyoCq4j58SP+5MuGA1PYLNJYZM1w2D1a61Sh1ni0ItQefWHhujcjpfrsNWt/w9qSn2+rJPO7H6kU+Ri1kLxXVjGDKD8GAniBmiAgHvBLjrJJx7pTeX47jExdSp5BOchbbHLh4/aDSIphGYw2FFBG1bMM2bmBH8XwVhc5RP2EDpUVLZgZmgEAz701H4VlCimA6oDH9X5vkQFPyi4cxQ/q7sCyMcz59E1wZvTG8dZB5y34PATPU1U0iOhZ+NoqN/7wE/6aRjadvyvg2N82T4tSN97YOTIN3RlUdutPgQ+GVOtC3SUZd02icexFHmZavPOa6uctQrTdSFK5h0nhtfORzbcIpSINrW+kt/n7mWfZC3cm9GdIqqSkW9pK95St8u97fRnQSjf8uTELuWi4eV8NajlbVeXtbNJtlGCuFs+Aotknj7LFns8xWU2JzISfZKtRovYiXKvqlZEYfbcU75JQGYgZM7yL2SbmsyxHMWBayHfYhr7XKd4h4RHz2QQJgOttJamZwVNxqrW7LiXtsY2DfqArLNy6HfXwS3ovHLd3Yno0IZ1F1MeTQwJD3mUqcz/w/pkUMvHDgpCz1FBHeS6TEtc4LaMC/k5uJucM9LWI6gYK5YiuYDh3UHUkUNSMMCxcgYZILm2Jm/vF8R5WWK3+4ocuPxclvK2kGws+PzJXbmi6dt1SSkboH5M7ap3b5qBeSI9SHrjHFz9lPmB5rXMl/UG7MjCczBq82w37AnWRQOBJqI+Y/q3W5NnvUElU3LeNyLRipluZWIT5cTeqKhr3AzDBTS+FpN0wGTaNiqxXqiPIxdalloIa1V4sxvb1UolRIkcjErfefKZgdaiv5jZAz4wRh14VCE+cZ1DytV1rORZLQ8wEVOklBbkoMeLZ9VtdahcFQ1U2BWRcyXkiN4o1MlSzqlE3FCUUKAr8wmkIv/tHSrtjjW/SGiXDSxhliL8AGZcRyHY6Dz8apjhWh6egmlmYyZPRF4jqiXjVfurmOci3XKyG1QQXtoNdTRSPVzsiWasxuPWhBvf4U2IzJ55IqcC5sxQi2SUlSZKTnGV5MaFvUbZZmmIUqLMARP70Su0Ar3P62eLu0J0veh3c8LfLLI+FABxko+NRxJmiAqRt5msCAqzBYPdgnUMsvIMYKoLwChnH1BZtFEh42i07Q0gOeHe/jemW6MAnfOgctHhNI3lfqYVHhywtFiMhA73JleGcAs4296LRsUaCfxbWYmobrox7cwqDLJxFIsdFNtrUkr2clr1IWy+BuRmhJkUREVou/ccSlbKo9ApReDrkqWWZMElT0NKcIGmuGHYXlzKfIGmWy77wX7wnI2pqtnfjmY3v1vbs8c420gp0Nj2dHOX+tMhXgoEkanBUCVW56q22Hm+fOVlP6tmp+8tV8JbVFccLuFEwCtvxIqM2zzs/RnTviY5p3jK0S3inHxpqdzByXLHK+yhdcZd5Y5yRa2xfTu4Wxcy/98Cb4VbV3sWOgd/6+uBmbNyy9frdIt5nHSMob1Hm9DT+/jHCHow2sVFRprMtWPbXNPSl3H/4eB3DC9dprAtfQxGT3cyPFLhimSWfF3oNEVl70eFG7RjBA6mSuv7R7nA7tgUj/QqQvwWzO/ezQx7YGbEpIjNYz7GK9s3YFSbP9rnJA6xPbusuaOn6QyYhs33kcmYXhhhjTHeRyjK6SjHnZ8rLr33HIyr3bjb7KfAz2VofqZRitXANWqxpT9TVCYy73ZQeboqKr6sjE6QVKmZ8LE8sjI11TaivgFgy5WaUTAalYM8bSg+B9cGgVlUWBZEJ+i7uRM6q2O9Q7yfzXDvEH9yZ49ceanSSQGU8xFd6mYajQlxOZEheuRMXSiqf10GkV3z7JVOhin13DMcdWR56SNm/AWGQKvvdbk8vR0Fyf3dkmeN+SZmcXBXmoWo2X474ce2hTrOlbhBWKsXPbgy9VW3gApuFqrF8w1B0By8ZmhyR8dCR6KUxSikf7If6qjmiwS2aHB/Qm6+FCk+QJUqZgG+U1mkrXW01ytzXBJQKNyPLj4FV834w10aAjUjYpxUeKpxQGOPEZDSUpIGNTYnwsAzOiALP5TS55d/fTd8orxeimDVqtbBVG6LTyIiu1c18YPFhP9UXx4Quf46OIsBZsPsn3oqIfJXj7N7zbbUlcz4xAmHiuitL6cfGjIXSSV5WhOGyM03veIV8njw5Vh8A7491FvMjX8Q9e3OgUf2LjwdE3fepiur9x17HayU2y2qdTepdbjOpvr+d01CeNwDsINu/X8ZKWF7s2ZtlNZRswTjQ98s9lfdBa7QXhopUydqhhc8Dq9X8sBRm3c7PZJd0QARblvYxElKNonFDG0otsq9sBsUY84/mbB95bdOg2rDtJDw+e/1KZn9tQyqpBuY13eGQVXuOO4nqb4tEr9fFuEmQFCbWOAL8VkZlM7ekJiZeeT8M6clENVJH66x2w4sagQGXwqJXMpFcV26oauxTr6G6dIrWHB85YEvDdaX7FOoiMqp+fq8QfXy8il0Hjy+6QqmUAosf9LSLQ1C41E+bUur9COmszAyrm/Uv+nTW5Ql0ry085MHVVjpqjdwlffpJQyz7OchHIQ2rNnuX9CzwNKpSQcNQTpm3bXvvdLNN8qFT6SPzqInpn8d0GI0af8UyrTVWwyPLMq6Or8u4TXh8oSeZRvJR9nCKwCkef5aQn/KfoQy8vzt1Xv129Ja/F428x6y/I2qHPhdFZaIxyD7WfNVkxZQ7rzKvx30Q0U8jY3oXNGJXiHW1bZ2eUk6ws2VJSmEJ7fPT4iQ05i/VcnMaOw0mlZYfN71fxk2hO2/DvpMwGOU+dmHc9MWGEkS3UbKKP6rSaYvo3ApmB9k0KeAw22mi2vi4ERSJjhrlACXaqhOcqmzUGMabB72UbrsLlrL52d26O2/yXCI06j8WTGPXeRXeGZnr9fVrr9BCsz1fgE4ESWvrbuL8PpNl2mTd8jRTmOZldVYcVxvrPBQKEYh7hUEANx6d/fC1Gjo8Ko3YWMxUSEMtbLYbC9A6LtiiygJtcdu9jfVOtC/HjIozSgmUWkUpHwIVZ3yCbRdPbjakTu92cpbYrDv9EoiNzE4H2+71T4dL3yQhvUacxa5RyTVaW4PXkFvnUzH704W6AQreRMoQx7x39ogXDYjfNU5sngteUNgSa4i5j9X+fkQR8LYu0UratGNvkGIs0PO+RlLQRq+IPWX70nR/j77XyML1mbLQylWw4+c7HvUvHuNio2i9bPoiwtKJkVaRPWofju2NshI0jSn7LzJBvMo5fEUKUxVwOjzL1G4SRO4QTFNeI8v2davRPN62Ki6cSbuE5hyfndOqG0ipLjpaEvHARPuO9//MNt1xhjpBw02OL7dUbFOYxL3Tu3L+uyRL55NMSffh4Cbc89BpqouNISEx0ZBJis37ku4scoMyKqkqXQuF2F5Db5K8WBvWbnn/MwIri3VM9pOwNUvleNqjUfZg0wtMtLtwSHHxxpEeI/zRmDnRTRiPoteYmqT+oLDUajHXRlYLsrq1URkKF25orQzbWjSGZ7u4MEjFc4TOegEdqxpGhx2fn+rJDaQY2gYfMHJksb1j6yjaqiZ0raMpp1sXGXfM6BQeg57o4Vs02XryoTCiQ2yzefhvzcdHo3NX2DDa7xcAqubqvY2gSodphwQWSwXeBNzqDmKuqNODXiaJSrOm8gwSyjcqFJ6TnIdSTMMMeVQX5brF8CMgRM+ZgzqWQoIShmZeeMEWYBUVDA9qmVWHfTOFlYBLZKwIX5/RvqOFJLgx/lVJtJyn/7/blJ34UQK4ef5/bLzMQzlJOAqUP6ZIM2MvXMapd/H4a1nozklw2pIb7fYJINYwSodRUgr2M2e3hnY27UjWjce1FYd1tBTizYJRHxL2Ypr9StC/PvDJWa3AbKRUN1yKKw0rrVjw/pihocPcan21ohuSNUzo9APvQTgNuIv3n3RPEDEP/tYsLBX0ewUxFFltztDj1gyxS6FAhZXCC4uWpTgMMiqaDiIiCUB10ldGdmUogpuxoY93NrXKdAx9wgLYAgcsUcCyc+DBkByXF4Qi4O+4MoJg8l5it4QH0jtJCqajiy67yBqc/d6mhdsySYIxSWDE7gayn9MQHh2lUS25Q1SpHov+2hHGccZpFMc5+el0vzYgEtDbie4K6AaFv/BQyQyvzxy/QHBIxROXSxmLPHkAtwtCy/CgQ3WokoCjvqJ8ASsY68AOvhN0721xjRolNyvxPJzTZ8c+ytRyFaIje6YQCSof2AAHJzYXRoGdA7BghTeJMxEKLaQ48tMeDRfi6VG0XY0NKf/INPac6Ivt2T1JO8zGeU7OipgDtGWmkVC4dS84u/fMarBKCpBgmgKZuTZPXBRUmqChy67cvzqVa+jR0a4YvQw4h8usIwIh97+zfOtm/yC93KENBBiDWd/N4WZUQWIHYW9/0iLj6RnTpZuRzTcfT4WG3S27tCSuu+m2plbtemYLSZFlSmLKINovuXnDnHy6RErEZKpNHotRfDC1vGn3537OUWdnWRDms99+noz+7EnhcoGPwbS+NPq7k3VTQH9Ip1DGSY9cCqnc2zao9fKBrj6YWjEIf4foK5N2IJk5cJkxDWB5CDdrLQrPS9cwV2Pkb/pQ/AqmGo2R2ytzbSkdWHv6R3I6acPP/wXr/szg5rZq0K6xAvBJxq3am2OdSBVnlKLvF+i1cDeZs/04mcPAYbtwWkGLP3j8TZJ3GB+tYWP0Vqvrkw2Nj4zB8OLiOJ45vL2BFn7Sz/9MA1Widu9rA2tNj7AEZyasyYaMH0McWB8s8Ukf6OcN7golEZt28UmUgM5Ir0LbDUydh3hL6U4EP7K7CdPRjOjfJ0yzLsXXMBm7OjlVlJgk7jjlNOCTcFpL7ebd0VYxoMlGOdj73WXVft9NhBInifmBU/cmpElkjkonplFULovGZH62zyPQ9Rdxqg3eHtX1H0ZKDwufMmYHJHD/Cp+9BB1JtTy9fjeiVdH8yVA/qRimxF6d3AsKbFI+bGrTNg1rItBsdVujcLqiPEeRnsrxTuwinD0TWG/7pR02K+RfQelNtGOAyB7KKrBXDlxUHelfgAHN9XN5eLbpKh93ItNE7LGxZES/b+D5MHRfiUxz23zV4u9GbmhKByRuIEqacuvKm7jyg6Smvqo5/CX4C9h4+pd2aJGYOcBf8tR6ZHuovYfS4zej+YcNk6sx6iTk38lhmrqnQsFeHvb7xfJ40oX8YTGaPuMTirIPwjg6/WtE/Is5J0+ThqNDdR8up2h0S5LxiThiaj9P2TdwslMuF7slgkxh30otVfH4knrEhNUii3SX13yXX6JnrhyV42jbfddDtKPPNf72DSn+TnTGiKlvz4KCRVfwHq/WIGNjLOdXzbS3sNXl6Hv4VdeiZEUvNXPeTm5Lpl1sdy1VybUtIbzPY34usf59bRNaIb7kSj6OSIzIGbLa9fB1XEsRODVQpZ3EJpRhVWuzE5UsDs2CZBOPlxF/NDv+uBIa+wCPPPlVCxMEqkzPKu/wrOKrGzAdwvhfRzHcuZSs8BwRjczxdElRpyChJEJWByxMdeAOBQH5UKct0iNQMkyaiptUUj3QiOvxwkyPmJfMO6araTLA5/5WtNQKbY1B7d3DAgSRo/QmU/9n0ey5eDFvxH4n8JpbWrImrkvB9haQDNV6AaxAXyFdZKYs5tHlEiuoWPUm4GP9bCotvl/LSb1ncnZDzAupEI08szK6KqgGRrsWXFJkJLQ6KjSYO7knSBYWlhI0M1FF5VFCuYwwSbE26qlgBMaN0ipnPSfAx6kp3Us1vLPhpDhJYH70VNTYkSWv98+isG00ITGT18ExMy8xPyL4SBqREuro1zk7RlfKZ93qe6+r2wcL2Fab7BqbE88pHj6u0cG0ka3pxNcLwRUK1WQcUt3is3icRx0GeWMbh2t8urjo3t2Q5P8Y8/WmEf2vCloIttb+PdNUi9ddqHj7pyl4zLt6+/3+K3zfvwfYlg12bMBGz86vnrZP8eFrGpbAUQk+lsDMg98fr4+DYnc/RJGnObg32lLeXHOz3tfnWFzPtqECpThU2KGMzrCPIINF0mSoU7jyx5uzaO+DoPjFC67NxxQaU8LNskx2iEL2JSY+bK8XJOJH5nJWr9qrF0InwDkmY8Zk0MzyVREgCXiaSkSwxQebJFlahmZJoKciMze0rIxJXb0q72HkUwYm0udidQle2NO/AwJwRN941Y7gU+H/aJ2YD3dAHYj0rW4omH8a2jCWtBMBi6+wlNBn5YydjUs/rIzOVxEMv2PiFVUhclGqEl9b9+ghUb8yKS9mgahXHG+oD1fSIUW33oQxGuXpXpGyJqoqmeWP09rNWXEi6m8ftLjdyoGiPN9ufvJTelRyIUXXum5C7mOZoEokEuypTlHNqbpW9WVAPFVdCUgTliiN0oBP4dF27lpTcP9/es4FIHQ21Yx9XkAU2h09ZsWeJZRe7q0bS3SA4sSYTq4jckJMY+JePpp4abB2QXjdnxwFz9tw+PcOxx9PFNPgzWe8iLaAkM5We4lL5UIngV4WcZxIWIqznm8cuxCMyWHg2AITJEkEqMKyBjRC/Dd0jf3GzIjz73LDOKxUJhPSsPDQXuiK8oWa5fmkRKOpTB+hbFcTkkXQURLCmg0suBkbMdiKNi1KciynGgtJc6iVJKaa1uL+NnsVZXYAsLWVL/TrUtJ1vWh+v3dYO1NUjCauprkZXIQBFHXbULfwE9KzJ4qJnFZSMEB1o+Vzf5/JoocGadpvE2aaI0Lr7kHVnssl1YMaOBBXic9T4RRHhkY5jT5uXLL+Qcctcwo53snoluTGwnrHFs6ehU8jT8tfn2ovu+gBn/YB4yTavBprea/MsS1sL0gi71DCXHbp6d6skCc+uRWoYxdeP4K2gFlAr/oL2OuxPyvLSmn9jfx6cBzQODtsb/RzFIpwAluphrDJ+BZI3wHQo8O3nu4i8tvAjZkb2zaIL/e1WvvDLq+15Mdw80G85DYVs5XoR1NYlAGOY+efMtXmOlHxjcdXinZyE1B0MqNncIqCCdhSk9hifxJQXvyCIrKdhbgSrg0iItNNXqpwupjkqRHOGIU4pSCxFYP9hCSY4Q0NuE0vCJUWY6PNzzYWyAirD5Gd8T8Z8oP/hUOWWgNrem5PZF/+pbm13YEHOGpbve1uH+ds9PVDu8mVkVCzGsXaqO0nbXWulIWsU0eW0XF+dRDtaGNduKSwJa5sI0Z7dojJ7VWTSDekXrSLQFcyrUYwYd3dGO0Yrdht46/AD7Xa6Dd3rYZA2HCKBqSp4IVY+4NfBUUk1CGCRPmPitxdIaPLq41SeGT2yaPYONhY1EWh1bhdMaojtmvqalkIw7AxGTQ01wMIGvbyuKD/x+XWpY9R1kbSZjDxX4Xrl9nwfusX4VSt9FMXn1K/G9U+lbyz6h9F8fEICNlYIU/wQxv2wNuTufva3Y1VJW3C+ZM+c00iWO83AqE3DD5KvViE/GO2yAndEwQKFRZ+ijVeMYkZKlpsLr0itTa6Gx5OKST+avZzkpnJ1zIV9+DmvxrMifz91mpx51Nq2bdu3r4YMNCJIglwUFaWVdrwUFCaCFiaFO7ItsRe86UWLWP4ajNSz7baKO9j650xbodFvGiaXSc1+1QpVRkCggDTpGBquO5JaTO5xYQc24e7qrxfKhwChI+SyezpekJUluh8SgoydY7jgSLx9T5UA183+wGNa3ada3xhq7xbbfSRbf4anHlJsZMK56TF/AzoWTs+HSTbQY5eaPMbfCkHlyjyMItfjKMYHD/TfXqTznSbBK26HGsv7t0R9eSxRabUYDndNFAEMQHukZsF4js2Tz6xwvKEE4xPmr2aaS/3Eb50yr0mM5yQbKdxXNkmwCPJQquWU1CvuUBnIZ5Ci+1Kjv5KECkwSKZQlpPbY003FD6pWnKVRO8CalU6HGG0BpR1eswMATx8VTJPK0gKa8d4ps9yLOCbqsvLhdcuEAnDb5JHCRonv2yzMsYID4AlC8Iwcz8gYC8tzaHnRcI81AmXSMaVXbjJ8oDZqItc4/OvUuUKTVH4HdsvElJKF05OuNqZczn2wTnO+6NS+am2+tKP6djXMpVHzoTjfDCaz+gKeEATe/lfRDuzZanQQPsk1EZhSF2FqTHFVzEr2AHkl6a1eNJkSg572H4abCoh6TgigoZfIiLHQKloaU8QhW5yLqxVIYxeSycBLQPkfp7ASUqFTny/C7AcmpB4TFdbUKeoYmH1HPNqtSKkC/3x9FqGm52pqscRNlQSEp3TcKp9dKOJmgD6PSaaPAIXQKYuoLtc9qFtYHFG7gPSiBBpRrfAsw52Z7H2+G64fMjdXDri5ALj+JS0jUltru3XgI2KLXkJ//XEi7PyLHpRHKOjofYW2RfJQn1frE3AnWC/damUqzFdlJqPMpOUH7AwKHOmVfxAmsZNzwEyi52ZEq/KKSS2sZ9ArTHOp1jAW2HRDBzUTrLVceLlmenz7q/dtaJodlgbrhm04IKmiFS65F4IsUn7yI1tTU6w4EKs2z+a3wppTNrJePkq+m4rtzFgZwo4LHjPckP7YP7iAuw+rDXTw3fHlYadQ+Y8SBqMmDLGDe2qtXnSytoULMJhNRgpEIg00qFz8M6+qgEeTbRWpXWU02pj3s51YshldN9p8gLhIny2gBeGXLf0AKkn7HiHDb1UQVi0uN/iC7khOaFnh70zKSGjgKZFMeRCwJzrqhcf2aadqcIEuV4z639XsFcoOf5FMAaWhPzB5rglHlxm3/awBzx3IL3zgppe/+P8TR3Jf3Sti29c6ewqcc0uF1OYEJJEXYXKzhVr0QxutvH+RoVELFjKQjzFAnJYUEyqez3nLGyEgOkKmLv/e8XYkusPHES4oQR9cFyvPOt3UWGPYiB468T/l13HgitnpPCV6av0dN7OILiln1FqbXLm/YoPnRvnudQUv4ZA3VZiDJdp0D6zFngQ13OaZe1MEQKjSmKUb0RHSYVo8zF6wFZi+8EaotP9xN3KCWl+oQMsqprHhBNAHdVdbobrRGJ8M2l7GxssLHHEH8lahdoRZ98tRiJOEUUEc9wiNQ37l1j4YEI6dF+aQgW3x77lU7uebUZWR2JAZDqOmZHV8caKxNT4BqfHJQfSHyfJ9RiTmKjM0Sr/wgIa2SGp3Mkb5wHDMLDMfKd5ZgCueg8aFyL5h+ZtCNgXT4piAZrI/ixYkoBaWFtJC2VoRY9NTBHR47amloGqT2SQ0wi7G8FT1ETtW8JEkVu3XU9HCP0VqavWiVqeHQqSbvh8la+ZpmLssucTwPjvbt4o50q81anvmMiXSQ49KYXDtmnxJjlNUmHoASHl21p3BasYQKs0KvRKiaPia5bnPy4Zqg2gzayK+N5CoVV01Ujr9Zbf3VfxACoH6gaI7emdtqVSlTSoIC+jLX1liJhhTHPVf/oQfXcPMfQiNrwvi8/ybQvdh8tMUj/vmbRIVTv0UTxIpAaWV8lIfXP9+phAf2qEM0cCLC5aaVufy92B30ffEf59WF6+5RxhNAmT9Nzgz3xl1jjzh7cmfa/EGDC9suzesy6k+PQatRBOvHeMJq3kizMKE308kicKU/Tco0yJ4Db3ZXbbfxrTnzSfPBx3qeoAMRhhuAk0dTt+ajI+3vKGf33XxVQrMogOx98FWNJXU40/SiumOLWWffa5U1E0Xo57zoAYBqvVTAhSMfP95biwKQyBLCACmaZv30sk4T4mRaDR4/eIniI7LJeZUxKhc7ajnKBkBgsGO/lRUN+u1wUFbouVixiLghmpVS6puXE/W4oRvAxU5FDo5xdKur4eEjEmUXo9EAwxlpv09n1jiUQ3we+U0qqWqlPF+fS+NBjBkxAcZYZCXY8NfLqprrCNM0xDK4vEa5GaOJiKYPrkvHskexQRiwX5D4HhDgJGI/rIDrEWGM3lAzZ8QNPpLsf9k6GbLTLIKk0qfgyOKi3f2ZPP94XT+g6Ox0zWd524NT1ywj++uKTY3x9/zPDOoNy+uRsI1WoUCbpIDrSfJHi7Tm/uLnpSD3+eqsO38GVOT7KG8oe+zccf+0dGFGBCwMA7WR6wIwPQajY3/JRitrV8miYXSGvNQR7zoM83rNBsryr1R4ZjYfo51HTasRO77ylYP2N5tymm3bQ939DdEY5VnYQ/e1lMK9HH31PEIAp+kUcSP9RuQPXBajHaREYwK+X99o/3XQ/UaGs+VaIo2aQ+ONYf6wMa7GeQKSDlR1lZgcNc44BdHIFc3RNTNInchEi76pxZ/48vnbZWtl19ApJutStAW7IixVdGOw4COd3WC0K/e9QTL861e0nRmnJCzanbxIfp9hTxrE1xgAM+tJjiLQeDR3L1qFFFFFGwZOLtrnd8lPL5pmINH7LEGCpj/5Cuev4jsE6lNAfGIN6zoydWUebYLyZ8Tvo/u7fKzfB8ZInt9Qa6UrwFRUYe0VQh1JrTA6UGErLHzSIQDrAKRPn87pWmbuWZDRpkZn9UbdkOOI7VD8CUIEKwv2eabk9vlOfotSLaZ1hfRuViojNDk3zBkL37+EtF4ot7VAuBkEOIAK5hOUUJZTpgb3uFX121rE+UJ1WYbV/sVOLu1mTb4ltaF0L3ldhHbg3dOTXKe847KB2QmhjV7t8J4OZXCyOBvi5B+qubEzExuAO4RE5sX82Cd6MSLj3CgfZ4uFu8Vh3q6h7E+cGz/GBZyyha7E0YUl7iDq5cjxDF4mL0rN6YZ+CQSo93NMJ2DImjqideBPLvgVzKrcBWtWCq7A6m6nmoQwfKJqfVEDZSHHuVsagU/FUd15RcdPA2RDO9YNKykFDlnLgT+ED8e4uFPf2f1MLbJK0k+lKCmhFTAcS2Yz5gbTLdPi4NP+wmdWKEWllBnHlIG8rG5tcoNj7RRShMOE/sQmno9CdlyfDSWbZeSQQPRPEQMLt/DPLX+bK9IGZ5bgi5ajrEhumZPnqEmHDVFLVjOLAnUE/cv+Df5mrHSV9ApvNiMkRn54hpmWLEu8kIik8oATkWsCBI3XXFeCjHkIXYpoJRoTK+NaQjmR2BZ6vXdEg6nKWYxTKybM8pIA0DFTlchMb5Wl40d5paVHWlswt58nNBYAOilHgHGDoGxW+Ny393lwdbZugz3hyyzNutI6zw9V1FrCgqwgoOeX1qUUnTCO6AZmLrT7dPqI2WVVWBwdiwEhyNsMIMgnuMITUAs0E0BgZcUyraJOXlx/IyioM5xRTnizmy8AwZsvMWqUyVuh5GDbdR9e2oKmlBGKD4sWlUoMFNFzWV7yRqE34nQpytp8ZlKLVO+R/+EKz4NIhX+F9uRDvtW70OTSoafxERL/07LodE6N7SpB39dIZVDXNs5n8QAoPbkeTs34Wu7U3IJZN/DocfzfSnn4rdOQZH7AQCH/TVV7Y68WL/gOVfdiEI908QvE7eCNmZtp8ZTLU1SwKB4b8L7dTTByDvxVZ8OacP6kJ0j6XXfdPsGAojnvpl3KdRSPLT2yobcemOOa+ifewIWJ/wx8KiEBSxAALGgY9kiX0UGeVcKOYlF8Fizu4xxjGfNeZ39F4vBTKZf2XscNayMY+65uytOYI33gGAQZYzSgb9RVFIhcZVbrswTTGpoNIvJTWq95RZlTTr8SsMZSnss0fJFOgcFksg18g6CiqWuMcUuYoZv9LTL3ZAoxITgvKkQLIZUGKeMHV7Ynkfqu5Pr+lpkpQ+Jg5xEyDzYjv1daYu+bVzg7xNooHXyGitkai33C8BmzyAVZlFPumomWKiiMfJSh/sin+XtMkrDGYFUraCDPIHv2uYw09TVeGG4vFKwpr5uRSdl8XcaF7lHhuN858y+nNpJ7iaW/HoyxyBKe1OKR/+9WUIMoWO9iv9jjp23NnM5WBKfC7woP/ef/mXC2rNb8HQ7VeIIxlNRXzUoqYeUci+T9JvljaZ52Isxi9m8Zt3lXhOERbPsFVGeEmi3S9sMJhMWqMAzCwW6JMzn8Zcw2Oe/pKFoM02aVgkbhS1vlJa+vxeAMmB1GA6E9gtOpx3y9K8q1/eg75IBiyY7XVmUYpZEoum3MtmLH1Ijg/HQQ4veicji0zFxtHaCvHoqQEVJXhbIpihmIzNG86lcVWyV/Md5i/MG305gduGQqJAM6GtUrY+E+fTjnGT2JP+d5Srkvv9kQrPWhpy1e0UkuXrdtTFn3wAY7vmMW4f0M8Y3twT4Cqp3HhzLlJqII+adasBFkcWwN3qV8O7B3GkIo+F5d6gQkeikuO21MtNmfP17ru055MwE9kH9MyQY/sByqooLeZ2mYWMg25mfhvvA9HrQHqytS03DDfGiAlGSiWibo2lqc5W9c6IZV84SNylFG92xbs4f5k3fwjZLcpr7o+/bGmmSoV4vq6oNFhjEjuXAlEaMKUE67XNuolwk5lkwjP8YqLbyQ0yWsLT3J8aU4fEH7ZqtyTOdZsH8JXTkHUWDjdtTlhpIb4JnWvoa6q9f/mG2YVdNN+Zb2zi/Qw2T5mN5rMif5l4rE2VpoKl+2JP4flmBimc+DZHalh9LqZc8e/UyoSS7wv3aYeie3ai/Us8srK/WzZ2tzWazVUx+bcxSFB8uK0cJ86VzMawIPV765qiEa3NkbqtADGVJ/8++/FPmGLin+cbHMfqO6d9YI5f63I7SQqXJk4v3qceP+0LmxptKJ7w96elemvSgjecpRdUFINkwp1Il9UQrFguVn3b+5Vk4Q+kkvid1aY0Etma5e4hFO8ux6q1OIkLguh/cZNzWcG9T2DEg2BaWNxoL3I8ddZB1NTF5xrQvG9ZGvIUV7WgEadkqjK6PbBh6Xfzzkd6OU1NCo5lX1tGTla6e5cuP1mZKP0nCXY++vWfL65IMmIOFOwj27ggjvHGe0Zdh/VIqDyqHYux1LXnYSHvkw/3VgbD3/gjzvS+lhXHMEQb40Mz3+QJ3QjXxRqIP7w4lXFmpV5oYfEhj+0bZhDdxdvnAia6IrJ8aGKGCG/mRzZMXloUj30E7oH/nu+QWc26M7Fx1X3J6GwEw/83gHwDkDQTbD/vvjcSo83lyVC7TmHAvqKA08pqiua23/DFPAXZqE/NJlwnj7hRv8ypSuJ2o0JQqz0klRD7xnemeFgmsyIzTixfIy4dZixvHzCs/nwRkhEjNZu83uPKS2ZCa8b8EWsEVcPkFSsS0zefmb8mmjUON1YKaZtI4hVZsMZQZGJb1fTAl0VhKmp8rPRGmWibRurVM8awjxaBmecmSuF1lAUoOSlr9fcnlpDBfzaaP9+ghX+35/Tf7PcZjt8tp9TS5qzmRlBGYFnCb9EXZ0IMfG4sRd9aowwndneIyMIhs4kAGmtyZQ6vjsRe9yk8oUgu6pH19qwY45WfcMrOWjThBzOP2RTo8eQFG86BlFqyGVZK1qC1W3ujxofZTMUam+cPKGGEMibb8QlmRNAhFvRVioC2qKaZaYRT3qaYg6InTjUvWWCHkZTLCjilMS5BvACjckYRmsCH929OnU8nbKTl0XkNv8m736VYaNLk1iVXFRz9UuwM7wQtlj9zu0MVbt2ri8S7Hm/avMxfLHmovu1zmw33tefvF93mWDrA9BhQu0Omc9kTDb3v6xOL/Pf9mCf3tueHTrRkSjGHDBD2P/JHd8cUlmEuJx2+Zy7c9AX3TyLDasf2OXQea5dFs8BBTjsLojB0GirXvHuHllK54nogGsSFUFYDKQzyBejxed9I76nLWmw9Jn7K4bVxfnzdGZFvq6ZRsF2C7X3/FIv1bkTL8sbQsHoKpaJzpcPqeE4HG7tXYdjHT2nBJgau9fLBotp0skLcamGBhEWYfHvYJSq1RNGE3IzJnharcH4NbE4X+zj78bkCKrHYVvyMkEfj3rMJW9doytvBIjIWNGHUJeq7aUOfWz23l0uHyWP/LkltAuXgS1b7hIdfgIv3VehBJ0zDHG1/7yzlpt49lfTxY1IZhbB0CqpH6F1LlQzChH1SYtmTFoi2IB0FYi2csylXk0qKzyPABoJDOXdDg86JJtoReFKRLjCeWHTmNoeqJL5n1K2/3blveYx/hsvU/r07vU1q+g6OvWs4xb5/NcjAosjYwZDtF++xmBbs3Qyl1pmPVt49MnaPG3rDKM8PzBg/RPZSnukl0R+YIjzxBtPSrnv/XoqKdCeI1WtJRSQBVUNUDvPY5lvHTqpa3aBes2JKOUM7+EdWLnmcuBzyCe6RNNkKtWuGK/Wod29PGjHKDBYWu8Y2MsVzY5r9CXovc6RwnfCbDaS80TmlGJbAItHxoRkzSTxQWSDXflLhmswvXRJbwOoVSSBt0IuI1ATctR4Ab+rDpCWNllWJlt4B7JGWwvoG7uE0hZj5VTEeipAbBfy6vkTiRXTKAdpAfRDiodYWuQ6MAF/XtfhZGnyoE1oec2KK3kl331n+vMsoNlll8v11PhPcAtHWAzTp+Dnd+AuyV0t+mJkKFvjppBjkNja5CKOg1l7OlJ8w3BDZ4CT7KQ39de5Q43i3MfGxyHDsLLS2WiqD5sd6Kr3Iv2zhS8NgAVRNqR0zf+gBp1sxrWO4DnoWLbW+2vfjedg6Y9kdE6ayJXSwfqoIKdB0Ys6rqtLoMiMR9UClWXbShCxoB+eqj5EbHwqEe1K8kUG8co70WE489kQCARJxiZKNiheytnosVkccFSFclK7VfMB/z+ziDCWmYzXkpO7dvWZP3/1D6PEeQIbKN6QzKmW8uvosrXuytZL5yOEYp7nzXQwdx7usaNQ9YysZNfnHsW2tU/vMNV5+KtGy0uie95mFCvxpdfHAlgXrIl7TCf1rKcYNlFhRxSk7vv14wXLk3ubc1/qkD4YNdhtZvMFa50tqcUWVGruhfr2Z20sd+WvCTXdiW7+ltOd1JUPji/doQNHUMLYjFw9dn4/y6R4D5rspb+U71dGIGRyJ5WIuT17/QfU18f6qapDB9OvQuhlEDsVtqArLG8ezlDuqOYSwiAk81pgj1G5lWVvurhdUMBmr93p+8JsPIu0eyYii2Mn5OGUBiXB2VzK8CJTsx/qeEwAPYm7AgbBkA13LL7IbHCNC4MADdfUvkm2WfXEcE+b/oLw+RuoFf9WtcKLug38oyKm2Hsw+3aJwHYIYba774mpjGLJS4G49uiUvDghpcN+7C7KwdW0boB7gXI5FVkVX0lkY85oTN4FTEl2VTfVYDmIpuesbtRZ+74QJqiihDwMnn1a0O1Wj7PhN3PXnVFIlCu3jOlIfvB6LCQ9CxQIQcEjCHl29P9wvN/XuDDhJ+cLwDmjDk2IOyoaP8YVPSEtyTXF9/epXifxr/N4xZV4vXji0s5eSgiQ9r3xvu5ipa/Xs5hNC1GH165us73QW6SiY8LLA0/0/aAu+0Il/jDnlDPZCJKKu+p6pV0XkVJ2okzXAoHcVv6VbP8HxKNlFFU52cvQrEUWHjLulmRWiyHLaTo0S5eyDf1nSSLX1GxNfd7ujaHqa3KMZgS8J/wONL5/8h1mnZ7LLlgYfxcPiLhNlKdRUevoo3BDiuHPR4GEAyseanlbfiPCQQNxbBjmHDcZlRRSYDj0E2+Sh7SmY354Do218itPvs7O93JjGxWgRZjPFAZ8+KbCKF8gnIzOWp7Er/GaX9nLy9/jlHFF/FNCV8om9U+TlII/qBTP5lroUzDfulHjtKop4YMMAa35A5o3jHC8gYxb0wS2Y+KmecZEnnYw50dEl1dkBeY8iiOcwb7VsWBhlVxv9giH0noS2s0kFKXks5zau3EutaCOzpYvJFZb+C+mYsIlH1d9vTaXJpbA+pj8jj2r+SkCiK+fLhg0cln9eNUEg0aI+JSMaiwrts8wHGXd3nyO8Hpub+RYYLVsNCYp/4noPqBqqss+fsNsWWjAD/5Xg9rEku26RiO3UPjlEqFbvQD8sGdoWo//QtzuVs6cqRbjtq53gmvH4UhEP/+lfufLWKh3WqeKL1+0qQzt2SOJyHNzDPj4nOAkt6pjrfUa4cmJfdRGIT0rvjxVtCEyVrXgrEYaY6vCWPE52cA5ouQyZdq8GucIfAmtGQ1i0r6RkG5e5lxyAX5pjX7ZMqSHgw8DWyjv0BctHfw1zfWmpvTrto8RuBS6A6ejHijgEWUbeMVIBT0dG09M84YsfiBk9qfnzYhtm3l3zyUf8g6clludCJk0d4zZPmT/a6R7qFWP/W2uMKuGgcjOWJ9+GGRx27km0z9uWiI5POME84uFdpKN7g4tbv9c+IV4Wno2OaTP4ist/C39lM+r84JqwTduMiR84rG+YyIc6JjyYUrGchOdcfAWxMXP6FI+uMBE58n/Ur9EArvSsLts81uqMMQ8CokAhsurYKXrdrVCE60UpaLNBVYVnmWW6FnRXsGOHToyAne/sqs4G6CxOdEYNI48Um3HZ3h9+tsKi3S8z7i6mnxtVzJODhQf93BQMM+FZW/2MeDnyhXXvEzEvYhZR/mzju9HVQPsU8VHn4jYsWDHpU0lrZB6chzmUZtsYyGBbhpPK6PxHOwnF8XJBZzk+9m+AZs6w+p8CaRj233vqHtph86gu13uvsykthymW03tHcXB5jLAenEHuvqulVZMb9yO4vIjT9QPPES73zu42xa6qnA0vG7PutYy4Q+HIG0BOOwReOKnvLsrYW20acvoAF0V5VQrLVg9vspBMeBzLxrIhpGLOMl+YSR0Nyz4xQmb+cAx9ZYOMihIxvX5sNKsCynOuUn3qeKhk/BFhS5VL/BKjGBJzZ1h07h+ItIlFPrHWU4WXiBrzTCu0IRwmSJ4Rz697oIxKS6uci8lnWNYZTRA8aiSRoGdF/ryjHia2gZ1rIq/7mF5xWfiT2crQa2BDW8RPflCO+b6zj9MkViv7ePLM1D6ZSo1XDVhMdLAxWbSHdhsc7KGLJZXAK5LWKZGqG5DSspe7c08BcadXC6M66nS8Fg2LeAv4XXeyRPo7KmV5qiFHo2qWxVyCYvv0XnqJFXVluJkMU2GvbkEmrO/nhukenZUbvknCbqqW/Xxzf907TsIrItYV3RiYvJgShINDqlyYFwwkM69k4lHID/p0qXK8pGbC7nFqpOcGt5OzGfwpVdsZ3snWqmKB88GiSlj/d1Hl/tvn3J9JKU4LEG+SyY3gGhMYyqtLw3ekp7qZN11PIEVCJffU2K0z2xc+7z296947gwv9rRPByM0OcfbCMRUZZz1+4VV16aDoxjB/EC25q/pLAebFX87SbGkEDw1xn8T9orT/tYyecD8XQMI5ZXXtZxOFeZTmzYyrFVdLmD/SNPr7cVQPph2LS0P0XvNctZEUhsVlNoWKpyJPCyEWgYlGQFTscyDxTHc+bFLiU+xcZS9j9MbmbJn9OYhjw8x5N7qSc18zfhrDJPzi2+VuKzZ+HdvseeKrAb354z4yqnXmBUSXfJHfsBYnU5ZQTR6dMinKz/OOc6+uTc/B4Dz5Rl6OlWtZlmUgumRZloHocsKB0KhlWZZlUsFcuil6y/M8tyw/ckijZRkmepmSBAF2OckZUACqyj32ntRqKkZW9vBSqyl38SrZ7dzbq2lrGEFs8d4pS5ZZQorYZibQKYxUCGit9cDtSkf8et8zr2VB8Z3z5FAheBZYySsxi1qZgyuhIaxRj8MKzCMkPkV41lzZ5KXxMsY89nMLGUx1ozzhIsdcY0RFK/o8R0HWohXjcSDUNMkmIorLUaq3rtsPTcKEciKmmQG9xtqkqxShb9eVsF0m+YwtXwDEXpBth1IInpZo8W8xgEx+wRTOt5l83dhnuTH1lEzV8tJZpuZwckun7LPUeXhoLHT7WNmyne+Gl6MYWArScy05bKd1nWlWqynYdJEQ5o/hljtTvNhI+zUuIiPNhIddgozb/LKIyx/CwgZonF4SqsZ79POkx0sgtYsWM38f8Tze5VieW6LA+o/Ful+hlLfikaLnJfpQiCHK958VyCZXXxGHnA3EJDpr8Th1hIElbIIGQr/b4EKPmx8lSrduWi++ayf9RXGQPvPklg5n18L62w8KH0EdxjAMMZfZtIOfW6w5IAi3wBrb3et2jHzgtw3TLc4Sh83w/uFreJZEp2u+k3kEpEVAHnuNDRhJEszo/SZf4lT6YIc1a6RYRrg7c4p4Dl9ImzC/ZqWdUbOEODgPqDKdvGEe64sJiz/4WBXNtT1kC5beQTC4DgHgkMUgRkqwwv9IKSjqrCJsSvR6+KmvnEX5tSPYF3rHJTkEZ8u2mK1whVBelcGnZEeRwf3tHLyYqn01Egjy+YXlm3HKbLSqHcUG7YzDafrGKsE5iLB8Xdkm270hc5AHYGYCIdE6Mn2HaWGs6gVdyn7gwx/qXldFKwiBgl38AZ3TtppGn/rJtmRJGBbENDoknptNBUJgERaGf8E+h5zl99h4bnBm7sHXojTGwdA0WAhNlGg6ceGzyFPBeCVwboC0bG6MpxKIe2In6YXCoVi4d/2esfczEcwFRtKZmjGaORbFXrXPpOSbVXIWOV/bQeSu/5qxP8e9hD8rdEcNJ0Fk+/0/2OG9FbYgqzr5PSFp9jJ9Stn00c3IwMgwTs6rlEP0rK2F+fwHbKKBNUQ+fwU9ih+DFtnlbfWSgcuuIBJiF+VSOaJcFwztcIW4ilw4IYBkshVcFHVQokt/r7OxbplAD9ZvYiRF9UY1nfB/2nqC/XsJDe4rzRT/UhcVpoy0PxZaXWY6fnlbG64O1cnMuKhIcdvoxhGUdk3RJy8f+yD85u8ySr0VGt04DSNYLF+pKd3YZ8Qkh0yrgCwWWJc2W3O1e1E2hBKI7bYoVi3Vkb9PISMv7iRH3TKViUZvs/1DQPy9b5cEbJeksl5JlxJjJfVmqeimndo7OJVzNtkrysybxGJez5Rzdi5WMfMMvsW32s+jqEoAwV7cGy6RuDLLNRrPcq4xkUiWaWMOlFNvbp/cOBI8NGN8KXzsDWIR7OBJgf/JEVAA9I/C29gjhsXsFhaa4GNLE842VeLEhlCkMhSnkWtrXjVrFCfNJzKtUsIH/KOqI5Ccbbzu7eINXPjmfJqylj6rPmDh6/hYhBeqG9+beWp6WvobF9+JPODteq3KTM0FLm8024lZyl2xWjZv3y/DYP5+3AE/hwOrmqTHeBegB42UGSQq8gnwQYIifuaQ+LxOJ7i6ElfzPf6kP1ZIzpSohovDlCvWy80JcqqueL8tFIqIfD2M1WehrKt9/v6s9UsIWnxKgAoMOTVFmWxUCdqUYF7MRaU2Zc1MF/ZCCZ4zQcdlsyewnLYGPc0oj1kcputFteGrT0tdyhBs3KIPv6PXyKCoX2cLTqgD0RXoUPYGyk/13/a91GKBxFuTrQo/u7gRD45cruLfdx67HooG/pxr9Gqazdt2rF3x7Ss9/9hCkI8oTCHrGDtvSl3Vac61HVOOpQJrQCHK1dJiW/KuHy84TbubGK+zaaRLp4sIHbg/L7cR38MOfmFKV3jXirTkNN+DbA2gtTff6bclk7qd0hLWyN/z85cmNk4sWY3vk6f8a2oxdqdkA5g9q0uVbEp+hKuHgSH7ttSF8E98Fc/QhSAdLYZAonJt0xzj68jjX+jbI3/36iNwBIh89FOBdIzfbDL7NOx0u+nkqbiyTaP9KkLclw7UtcYHxRUiOV4HVwLrUieXX37PfJN09gi/u3XZCQPal24521htPCZNsZfQWJdhamnP0EYiaGr4zFmtoTyDa+1NRnnmP6b4JLG+4bu32FALndnQ5HuSbkOxg+idXGC1e72Uw05aTlr4G6D+7HVpeoh4/gKtvFs+V3rkZPyzd/snot11nILcARxpHcNBjnqoPooMPGe2c1Mx5KsJKYAQsP1rfEhvHMUMVcd1GNcDTB6HHNM8lU2hUOsbKpGFcsNYjpSVge3sDMZCkvX/hoiUld8RfG7IQ0FIYva3mB7uohbC+A1OXC0jR5TKL/WyfRiLjduiNe9dPF45JgnXELkMPFQnROo+ROpB+VSwndhoHRV7q1R9aZbbF50yPU1RU7TXpugvV223d4/m7/rciLELBuz0+uNjl9s7OpwUX/NzWGMOhcnPkUIAzHPhx2bYh1SZper1ViO8zhsN1cvHnBlgIWMartVbrgzfJukcOdlhx8KKjc/8eG6n5DhxM31Xzw6WOtnq7acOLKRS6RFiAuTLSblMWsZeVP4zvRIa1FK7xIvTduGDAMdendXZj7GeM4eSrnc+cJhWuXsRj3mwhsc8SwVRXTKp4NB7VvRk75sN9nKQ8EgK/lssvke6FUdhIpBy0du86Ihj8wCLj5sxtd8yzAYp6P5EzNmpWCg83xTUSbHI9xJIrbb0yuuMUfdrbaCV7x6QJl3XVsVLZZkJWDkObDNBfOdyMsyTEaR334SBJJKIuZ4+/ye6SgQpdXKEe5BNrSjp/bBdMEWUJF2GRUnTAAm+j8jdZEBubsgSjCxnhM4xukcUf5X/rRRQZvgj7bVHYpTnRlKTPm21rzReU2i7r09cwpZhWeKvKiTupQJAf9Be001uVN5jcEYTSno37SY9TDvcB3NftORxqAK7N2VmnIrf3b68zzClm5PhWdyK64kAUdqk6JakAdIwkdNALEUJJeMVm0jx4z0HHXGZJLNftNa3BGu5Yjc6KGJ3ccfwNGXHeu5gIarcHHWYMsEyv0/SJjzGu3kYhQUIb+rbWnClhE4oYBNdhB71qiK6eFlVxcx1S+ZIXSi0kXNMopV65Fae/hiO6/dt6OnjJqa5JnDylnaN27+62z0JOgaYPciKbI15ohcB2b8l/ZFoBZ5MGzqj8OBwO/DSi83apuMz4pKYXvqHiwH65mE5MDLqGpXuvlzTn9GSe0crDzh2Ih5PhwlCSDQREw2nZ4sJ6Y/Qkw8fZP6PdbxGgARc9dtETgLuadOlTBOWem0q+or3v77kpNodTixPu4cUt1B3e8kL/6oGRh2CDC81MwHv3NFpWHsieOz5mO+izbTnnxJpJCDwmVOwLkrhTNl54bcMf4LkZ6cuUuE9kiffU73udRhlmh5d5qiWtIbFl11uguAwRAU1bLQ1Em56oAAkjp7PtySkwdhXLe2YMr1nlO4CC1rStF6nAiutcc326QZyuidEnHbIqI/2TTUwwpAmMvTVzz/Vj43pj1MBwLLDk+wDa8hv6buEnWEKaWIoVSs/mAjXhCENUhQsbcGfhh1dhacGWuD7uAq/tu5n/WCZl9Jk9tgqXheERr4G0ccV3qIFNp4fM10ueLV4Kf1eVksPLsouHJ3XZcXDFA/+l7KLLBeh6S1cFFD7FSDqgmk5LqSQfLUhUzxStzs0d899P8nNiEKZiq7WI1OIGPc0adfxfDQY7cQz6toBE0/sq0P3A6afug7YZcaBjgv3zwh0tU0oZf/yfZBLL5fsF6GpiI3qY0B9axQaL4XVCVDCFV5hIHlKO5Y6wvuo421AFVKFFhm+b5g4Os5aqSOdp8/pNa3sox3qdM/JygaT4sZJP7xXbyqDT2EUjQTFm7eIPJQGmynW0DoWVxRgOyMGBfshSuCDhLkbTfAVhsWvvHPi+0vPgaXgjwX6fExGLp2mNAoW4C2q6bjTKBWUBOhQArqiYDj+ZU8//64pwCuSTln+jZvqiHOChG/tblx+DgYsw1Z/yE255Nto0qqdt6F13PXuOYbnaemZKC7uFQeeE+S/JT44+n25Acvu4emdq61J4U+81TJIn7ex3M1pOxcwNjF/KFID3idiDbgqL9T2c0x/guUbZyxuUnnuXhyz3oniHlQZU7KQ6KIuiRcnlqXyd0OBfRgX+zB7zeiYAYZ5GGmMRskn/F4YTExQt9R/XVS8ceYzKg6ys1HaxSGVbTnY221tMk3FfaiTVDmvyW+Doyw26EpP5SdAeoMjm952fQaG9vuRMIeZXvXdC0NcAza9nW7bn+dQdh62fAvHXIZzQ/rpXBqqJ3IXra+jR41hIXNXA3rrilrpJYDb17FBoZuU9uHx8dhVx79bhvYrE7b1MLUFHwZKX35AIvNhbNq4Jhow52WTWCbztPgg2MwJ68MPerkRLri2LIbyZJIUapF3k3Ao0G0+11Q8wZcD5KvSLvRYFNHBsnPDtP/3trCB2UByll7i9MnwqPmGWy8uTWehYd2qqE258+8r41vtf+fLyHAY0s1FdKXAeTHoiy/9GnUF80b5hFXERIG7ucExXDaVtGDjKufCgcp0oEns0SPVchOJ1/FKW71jgQKF3WVVx7VhS4wsfKV3l9E2vViYXkZXRiFGouIbeNVS94InPulg1PCCpFio/YXCMcDtQDcN6PjM3r+XxUrKQra/TapE3gfFOcn367g0XZLhWGMbp0/WDyJN2TaNeB22/8bPCHIXb4M0ySwGKrUNxMekxDTGqZtiQ9sLRsumfqNgsg68tT7CLcTGvta3FVaF0ECXn09+0snNWPVCKXbsfFd4eb/vpCME6d9q0pfr+1vR1O3OBEVsN2u8KDZGodwSDWi6Th5U2OZP6jyFQ7CErl5NvCnZFjqfyrKxHFA1XkF6rja0ZHBelFC4FeKdXPDSTLg7vC4D2cQGnHdLg4MwKtP03DTsg6PEnmzoSCzdPTLiJ0H9Qi7Vt7YcQqrlRzlbRzeC6ANR5WJJenaSZgi7uX+lrwCCl7cCB3FnezKMfLOboy7f8hA1HpC3ApugRoh1pkipd//y+eLM2qnplXLYgE2+0/dwnwV492lT/y7FFIGvGzJ/cjOYqS0hAQnnIthulGO5isuRT+LvW0SN1l/57l2kPAJTSmMQifRFYWh/pjwd8kojHrTz7rX0za4YMmTfOIInl9zKrZwETOWrHIOQX5dnJHZAczE/GXn1/T9H4i7KUuKbGbLSFanURES4ck/yWsryecX2W0+N8GzozMJn/bvIEszoa1pUEpwOkcjzLHMJBimG7TbAIoiBHJ88C2SoJg0b3a5k3CuL/O4m7yoYpuaIs+IJeqA76Cb4dSIPUiHsIsGE2KTi/z7CtocZ5GLmp3qsqrhUrKBDEGwMkDEK+ygC/XULZh5SqeO1iZeekjn0GlGEMCPFS3e+gPyiY/phNns8znWTvzCiZj3MTrDwyRTcWC9wBSY7tutZuOjyJFls6c9Re4m6b/ntduilG06WQLruI9Vb3wuVpOqVYh/FbBFRbGOrPaoq07tFtHtQJkm8CDg0WR5HexdDGnu+fQJoL2AGijbbMPr61wUSuzWcszBbdEjpvHVDPysrWDK8jIPYw8S5Ct7aTSqBxQPw4E0a8q90ve6x+VqJJmwItRmHsGnGaO8XxEWv0Z84hA0KGl2Kww18v/zbYh7QIMAR8Z0H/GpcsaW8lr7g9yfMrUMGfPZo+o2FRotTBUe1MZJCOlP+tFHSGYNrgFIiKlwgWMJiWRiqQAAzVGbi/FudS5yQtM78C6noVVxHDkHkfqgDmc5psjR1NyoWkOgeGLd7KIdI4tuE+V6TUSL2AVTPR3oHyGP5Gg3KQXdEIZiy+4D+DDsRY/H96uIsLxZMkTlpzlTobxS9YrdA0hLkd33N9usbx33JAZpSTOzSKxArmZ65h52I2zonjwLT02B8OJu+STm/Gxol7wIsMjDJFtsv38vxIGzKKMq0PZ6CQ2SGHcCbFMwGGFhUGIxfqRV3Wm3kGBRGbx3LbdwKrRmEkSwl3m6BcJltc3BDyIZzRA3WD3gyEZOmpKwDhuxa34qe6H4WAV4rLvVhvMeeQPn6iwsJsv+Fjb2G+VgreFJnCevzRZBJ0aTzF3p5zeIGHt6XS3+/LnTj1RzKnLh6+2e0Qjk58v+4L17S8ln1r6OMkbrRZrhmY3ex2D9fw6b78vH75X860i1nCl7esaCV7KxtgXCpCxZsDcpUSxUSrHS5Z8GHa49ggZ2c5pwskYa6b4M6EMxQbQhZWKiqXETBR05kODWHO0ms3zVfDNk4uI0JRwPnTECaXgnN9rM/K32uIgW5h7Tlmf74MjuEuE9O+mGJLc1jD3aCXRyKSk27WLTGQpoBc5X1kTRPnaZRSmSjlMgRnR+SrhKwoLZxRfSUBl/Co0qgkvoEFcZQtLl57OSdQR3tTRBuo9e5RrfuFPMe/52pS9f4077O35wNf2Z23pTUjaSzG7JoTagow0fVUAZeVYiRSgXoxj/qN3xx60+cj6J9Tn+HbzPr3QNpiMQC+TkKLfm/2PaWnGPcnjoaOkP3kHwZFN3K/CsUrdEDIilN3JBWB9WEVLuk4GxkwdpOrIyyOGyp0X9bW/US0+o9tOh3M9hWygB8T2ds8fSSMhrF/R+mATBB1ipu+xaEzug5RLBX56/zYyZMiYeI4t7mqu54fliGGKuzQAEb6vRrVJfnoqk+anXlU+R0eqFslzrcvhvDugowXCgEFTEvMe7vEFGCV15Vfk/v5UJjJtiwgLU6mCDjjedme8ALa7FBxLWbzNsdigBzN8kj6YYvqmAZWbdDwc00AYlmzDSI/IXnfvMsZQntYkdQEXg9LAyEnZg5OpnDkp0CfvY9UOS4HYyyXowywB5A8DKf8H018tTSK2cFsIViDGY/Tn6u/PMpti3PYPp8kG5Jspsw1hwqqurrTY7PKkFeJjJfiKXbBbYYLHEyhAy1tt3w3NeG8yVbYJBUg5hGT9i/pLPxrNZZkPEVdOO8u11syFeB66p8W/G+phDpFBNyU0kxxPjP5fTnEhO/pGL67INBNLcQSpBHur71HerZk8+58g/GJ/rjS/OXH0UFWSEPaOMBqmHBYP7Ldo0gkQSqd4Xvpr+gstYZarLK8zYwuKiUsEuo8mC+b0LxqLFoE83SypKTWwNfXYdWbzd4vevP36aMgjMc0hX/z6P65yFJmFyJGwQqJIh7jQxoDlyl8ZOa0J/2yj7vuwFzUEToN7F8PFib2amiOKzM+y0GAoyaghIrolt1ZIgbYm2X0kCoSMePui3CB3b6TbnymarzTd+r0VYCUwaO/uoCn7Xe3d94zXtdT96PVL8PkN8pseh7SEMJBEYJolPXSCLp0pEswkWLAhKIkSaS7O/mKjazdP/j/KehMIhtLDOiYpnGVwmuRJpWOivRfXqkDE4dyg5jNAK1AltkFD5FA/oIeR4CDRc9S4jYZJQ0GQKrfMboR3xR0wI57CwPz22+JZoqo3xGmfvy1t6BvbECuFyHzNIaPhAc2wb3fy0kqv4G9QU3HgzjzF937VVUf6GTHbwAv66oC8bvAAZPy6aBCSfgWBOwXKRDbdj5g6hccUOSe/XnCPO8Af8BxexmnhBY8nw0NqWnc3RicjcZtIJctxCxNtEbM94uMaizTS/0aV4Y0wui6cqMmuP/qHHAsUU21cAx3X9l/jq8xfWGpxJuTCfsGe8duJ59yllP7lvVfGDSeo9cxpgLFT06hvXrb2DXNVDueNolynKM3NWcnOIoAiLLxLbbt4uG/jUKgXrc7L606CZYe7wQAZss3i5jg603VxLG+tGFUV5LaQcPValb+YJ3grWj7IZgg+2hUSuP20DRB99B1AyLywN+zCBronnPGBradya04ELfM0TTx/pP03dbDdY4gRPWi6i5ieDl5M5yeJE+ixol1LTYzk+HA8CalAc/gedPLDnBEfeI3QHcr+tkHWyofBFvJO4GhMib+AXn3P6O/P2TqQfnXQa0ny/QkQgN0cS2tG66EFRkqarHFh4/TYkpN5TkgmPKT1Adc34BYyl8f6toVFgRCjvo4/hRB2KfMuI8qcZo9v4E27udv3wX6UT/e/9pROyRAnNMT//nPBi1WHuJBOFFPhwyQhMxI0uFhr5dTm0moYxOHk+Kl85hMlkTa+rfxyhP8ombvrbwGxPfkSOa/l/2V/V/yILJAqreKlo5yC/DpsGBmgqr+Pakx4iLwRKVYvOXzBmhpHeHbU8EbT6atw4n12QREFKCBofghpGlge+kYamaO3+MlM32v4HvKf6/Bv0hG46TuPZfNY89Rf//QP7zpH242iffhn+t7VpPlf+TVH/k/+ZP095/g5kG/19uTGLDaYO3p9r/k4Q/LzSofSxqlyv/8Dd4aZVrQVp5iNE2wbF9J8c84iwAaHxD/Tm4/J95AghgP/q/n4eQSVi2PPb8EEXo0L69WFF8ikm5p3ExSz+hE9q4GgyO0lKn0+LUhn9tFVz4ffZrm2ENlH9pfYj3UfNT+D6Y1xHAB4J0TS+OuZUrwE4SE7V4jwTeej7Jc52bZpVb/SJPqY6/SyW9s3kY9SjBfmTnvQOeIto1ZKvPbfBEXDWpMopqAfBBQuwj17P5diDioHfKsxIdgG8D/alRY8iOt9zyr02dUHeJaFcU7w+/qwOuLWPN/8llwYV6AKoJ7pIQDvtQPA0O1plFjftI1aqsci2qGJWEfI5Ds/CwASqSfoZI7JLCfrwWspOYjZ9FN2W8FUVCW+YTcE4ijunA/5LyZIOi5qxVom7KqeYjhf03nOURKI6AdtBwuI2sC/xiN/n7fTjuXVOO9yogVFlis3OZE1/L8w+Vmvhm8HQSPT8mT6oLsHe7/Wsfd5Dr94scjYC5CU5lioscivsY2L0uCWF9DmbvGt5luSR2k7/sHlFXROsv3elpxYP/0C8JdK/ORA2HtbFHzyYSTinH0f4LGpRFdhL666KO85LCr7p6BLF5BDVH+i/RutzReRijqt2urF2PrPP+qkJlgCaCn9fM8fPHpRwN7WibimSTPD+iFm8DXq0Ug3i5E03iXQX1ZcPNpstfLO5H9J8OoG2gfqT9en26TfanPH3iLS6egW/p/dMSgH2oxVi0jpn76rnyONNC/v/1glVW1v5G7qsL50TwNWVetwVu33FQ2Ch8JW/xc8KtmfypCdKYKFriXkb05QG7SAoRitiaqHEfWlmvRWhBolmnCE4iALqnUI17icLRBS/PeNpGJZOjXSUtcOxfGc8GF3a0Sgbz+1qOzADahrYZV4nkdiC82/i6VoL7RSx/dv+lWlfYSgfUe4zL320y0kQRLXGlc1NJuxrwEnBqlJ3vXCtkdDROo7fEbsWqEwRuK9uNh/ZL1Bkv2U4uO2fnwGk3in+op7t6su8yqVOjIY561wzkkojW1O9k8mwRpfr3dWuzOgPou3zm6nNjciZJrBb9WO8R6Es4FyjapH983BzFMdBOCZNIMsPpY3eUz6wVF/Ttclc3QKmUwYolgODfgn1gFcnrNQRd+SoLdc2g7FAWAORm9hcjiNUKN5HuWx+F5Hoxz7eiQZJMznXOjsNck94/RHh2axf64VsIFfLQXLFa4b3Zr0WU3oUuOFaTKDNFH/E7932cwbWupSovR5NN99FX7nr5VPMhb7ffJRjSdVdT/sylhBbejjMJonX0s5MHiPp/K4QAwFUJiLRQVDnItAP2MUNhHch9URhDBrfNgb1EuG4KjBmknxLgHQ9VmIH5MUAWAjAhA8kEGNjCDAd8C7AMLUiTAdL/lIRz2EHV5ZAeDXDXWlDmM5BGFD5pwYC2YWMuVgBQAAtw4scVeShVaRRAeN2baMn/38HQfcgmWsFmteO7W6bD2/pn1xdv27ftzy4UpzzcmE1ZHLqXeNpRvA1hn3fJ668BL7xu8qcY/ii/M4/9O89W+a567Uqt+Sq563n2U+zjS4BXTE4e6TCeIvCOCcyVT8xICX8xU2UkklqqwC+p8qjcSFsWcCcdWEQS6cQycAVQFYOtWCEOu2UVJcd21EFKbORJZYFNeGSFy/FRPM7TBNngAmuVZ9zIBjngpjZRAjPLNsiZmbJTeWPW8ox8MBt4jjQym9gH+kcGrcoPWcUBuZZtOUSayjqOgR5kkReV/6j8fJlsYtExbWnHAu4ifWcxcJ/pwCLx0NKRSrloWrDYcgl2YrklaemDZcdV7jWPkSHwmbnn44drjpaHSH9ZDiSRrpgPfAe+0py/YP4oI4OaL8qRrl7Xxa7qOfmuWNt+e2rWReP77U+zKpq2f6ybtmjGXoz3xZP2pfFtofRL0xyLJvm6PjW+WHf9z1MTioZ+z817sQ79T9P0RdP1W9PURVP1z/nhs1iF3pp1Xmy1P/Naiy39GJcvFFUaWZxJxvSvppb7ffrG4oOHSLNTOeNhl87r4jX/suzqostPnPN6ecuG0wx2+VeL2am4Gk7OYNYBAMy64j7ZLFFdEixyX10uHdJXguQedLeCj8YEmPox8ipj6XN+8zBUHiqijJvOnL3xO42zmehaFwH2QzAcF8obZwdBL0qq455saN+rtisnJ4S69DPpugc0gt2z9KEXi/0GzpKctZlNOofqHjuw+tU0We2YEQIkeqQEMWge3GHe6cyPYy8Lxpws+Acn4sNiFufllAfmf2WYcXUwCUxoumBui4lND+Bc7T7nzNWLPhkg/w4M+RNjDgsUim2+zIvIR92NeB7ESwjGxN1GlOOPTVtIB2Bad1qF8v5wncLroOw1R7B5bziN6RQ2BD7E+SXVGvQjKan8o1xfapPthdvHh850zxynfBF2lnMmfxpobTbBjO8uid7CBeCzyUZcB2qD9jBC01UWbSDAYex+a9Sx7RL+kkg+WkHdh09OLY9UFdhYsidaFPcMUduc/RNDikS/YTvqQkJ2esnVEfKndpRmrAUejCUkZ8fAmlDh2rB7OalOnyn0RctkGE6kjf/atIw0+AMAbttjQK0gD4iS4agFUJ6Ldtm1pDUYjxM7QgUo80nazP3sGlcH/NO8d6VOqk5IbxtkNk5W8EfZMf4YerTtGCm+hKjCCZ1tEDj1ZRyOJCSF+VU1D5eQtMT8Y1RYyvAZcNu/IXF0JJKvHFZl7Z1D9xaYKmI7N9PGQSC9P4s7r85c3xlFsTAyz/4bXwxsT/jp1N6SH2W42u6S1krRy3NWMSJUNjwOsfuWP4eRx7fcQZZoWgmOoixcRUEuNea9YbQjxeQ68Hwe5L3l6eTMVlj5Jjl2GssQ0dEPKcdGFpCcnWd2Oq+yvQPwYnYIG7PqXJxf2MsUAeurnnGSJCyHJFCRjqxD4peFzqN6td2l8DmEbz3qpG0qqkgoKuNby0t2D0Dvzz7PXHa+bA3p2W56WHhzYglWkHkS4euwpOfNAqy8F/F7GqVeN9vv3fh0/xpookbzUpdgDVHeeHj3ucjLTTiloyY2jACL3EWNuehjVbOTO4RsN4sVBN3TyzakR/p8DoeckVVE8lyqHhM12cesmVvpbH7uaCvbTIX9JxaBhTOLKn74MGIzbODousRlaZdGiqTFXgivXha0KuZ9xuMJgF81J9fIcwfQaUnOpQdU3f1o1F4NvdS/mwFNeExXnbclyd4lVKGSlWac0j5ZA4K5P6R0fHTGlcF5iuwswzvAtMEMEcUfeaLKUrTFIj2+LIPmca1nN3grEqaUqFFx4h0/KFevPNG8x7XslC5U3CMkSnQU4h+LbtCAIKitiKqLxsGfVGWiBmCD/b87R7Rn3zVDtf6AyPqTc0Tz5IjhyePfG2N09MCUHnp9XqeDbLWkcDgJacuRO2+trwCO9Nq++XmJpsRoQW+mgxiGYRi3P+c0eZH/2DU/m+6ouk+/BZ2uu8PZs4SBSAUs1yMERyEy/zF7Y8IQ7fKi13fbz/3dSd1zKnWAHdpCpSk1uyVMspwliVbUaTYSSG8ffRmNwIgK+nWKz8dUT8ymkeLahWkoSAmJPXSILEtD971/zR8D684RTjmMJ3HWPNOZOR2QXc0MP8H2Sz7IEMowD73rFQNRYRGjJE0UJxJ678krSeYWBIRjKTBljWZBXZZmsed3TFO4IUfOHgLzLU2CJBfw70RmsOVMaCbN88O5mmH58vHJC/thymTajsAdwoCEPycW1Zm4JJwgHvcepo1n9OLbPGsDwrsvTM9zGXZHRJK48ZgZcvkMcxnc5yBqwe400LoYH2ohK9Xzo/mRBNJtekPZWQs2wMLvNQwZqZeFLTKYoha+X9OWmC/xMIdJs7PnG7p9hrAhTs+Noo8MjtKIrhtmWrluXhB4ZZEcSs0eL1BToqNn1FPTQeb2XZyHswZONwjHZBUf0X0o8NLPquSSDSXFOHdEnb23StJ3xfGdIYzL3mviKE3f+EruVXs/psy/URNK6quc97ECM24lhXvZosjv69Rhp+EUbyTIJ1Sjnr4l3tyP4s2abZDuPCLVpnsiSY+OCXMH9QNZ5K1H3HTbEVrvjt6vp4D55CSMt8yj8zSE5JCshuWAjrXA75HkneXxvQwVnVuFJ9bCJ+BSJWZkuPD2PqOBs6RjzyV0ASDfI21ek40+u9NPDQ+zHCo0Lz4qSvolO9bd+NJ7DrVooCdvC5X4K92nWYdcohIIZH5dsSFg+Ox1E/LO+KJsHXsa4D/bD5pkc5pdzt+Ejg6VxcfN5w5uxGS14MmOiObHlWUielR9GbOIhD1rvT09LJIMkQGdSRLjKexRyoxaoIvOPcRLufA98wMCkbdzp0fi0rpDaf7nIHJZlig2SiYCw4WdOI93NPLDRaHRfqg/IDGieiTp8Tzg8lqOTvY6i4lgI1dO6OeQIIe306hEBkqiSanqOHwBJgkMtPtOlzmtmb/jbD20IAJjxqo2z8sis+jF/WfP+Dd57kHggqdB47v29mwLUvPGGgQ6bIvPo4kVmIILVLJCfhf1AXME0oQQkZ0KinxQk06Gbvsex2czL992RAh20kkIska5GWaCovA788Na/rODgXN2nZ4g0t/t5B25xhnSEYOWczzPVXNuWozhq9nuT+fppYcOXLTDlfYuErK/bzq2ziV6G02fWDAHnBM+uE7cpbFBkgspwtLLH1uwGN/zLrk8N/PBq+Lc/C+8DzN2eSbrm0D6rSHo2OBJ2xOMyCpcF92v+Ypobv1KQLZtmaYlYdTNcpPg54Ze6ELbj4lCPsZJc1BtQvRy4U6YTecjITgj/oRhGIYROwY765fdXWhL0mgBFDOzJqJPFkB47mIOLt0eNlHOBBVNYR6dnVyMoWMCqy19eRXjAUf7q0ickeBfs9p5FtJpTe8ieAH4USQlLFrU+cXsduLQc0V3h2decPaQ37T/8l46q4kpYEARy0vdOPiKoL0DDXhDhmHmILClvBMNmaBcnMm304mqwscQNZoyNZGe7+MnSJJvG7kOOzIGESJXxV31QJWgaiyREDf6+7PA3j8dUEkDsltI1AbI9Qxjz1EeUMkMclO19NtDVfakLme8X2Y/v+ERHp0PkmwTYwmQgTyQCuqhOZFA1giCmg/upboKIRv25JJ0NCUirxYyz7Ts+oMT4Ce3tgypNspKxC2+SA2LuGGYJK747xk22T79E3mvpdW1w9fDzYJ+oYeVaxCHQOrJoLjmTOK+VxipUmJ8sA6G1qoaq6UrbRfsNj1wf/oxl+7E2+yRmBdVcz4LX0jUao2Aa9BrJiY83lp5cOOuXfHFLEAOyjbLfdak9sMpg9JWNyNDnCzff3Pmm3p0/+wziRhXNEl80lDHRYeeC/foJLz94A5zavsMOnZyE4eJbzbCVrF7DG2Fv623ZZBqHl/js/af20vxvvslSoJXqXky72DXMrfnXsHtok24Qlq7me8g37uoDqrPUu46D1HqFxwapZfFG9WoQnvRq5+0GzTwTwdhpYwT+9/P5GqtSDweCvw4Q7wA1nAiXB6iIFmCjRsyY/FQLdMNVUE1DAFHXx7vGfQzWyKHGmIvcitniMpfyDS6TL9z1P4IiR2vappCAlHb+8tC+CY/J9SrOltkxSUv7Bq8NaZFMSf8SMy9XaTSnN6urSyLwr/SSYP2sHKUY+MbvGvMn0Kfy/3MmvazoOV5gWkB4RDsjLoZq9HzBFvNbuTJDehMhx+elOdMeDbjw07sLCAWX9LeCR3a+0VTFoy7aWssq1tsA7jSAT+h71nABGNXO9C9nSROxXJujo91yRUvLqXcMp9T3ddaSA6aFEthgrV1cbtwYmoyO37rL4aB+qPinRT+OAh4ONXYkB7KVbtUF7zwSe5K7TX7QdHrLVDFUVrL+2rNxoxznpvX1mAHcFr+fMeEqsG4+EuZXP7cNGmUFTuinK0nB7955vswL5WPKofpjfNTdBeYBKGFB7yVIot+deLPAE9iF0kUCDxevSNvg3roXHNG+R9nhynQv/RVysNZ0dc0VFBdYUFLYvE1Tq8fQFgyc1ukaNALxEOlpv4Cxtq2uxelsVsSJ6UX+DQbDz0YHTegNeS91wCTog5mtC+d5xrrSdz2o7hGrugHAeUkLnQ+d0GLcVHGCl9/6IdlfZ/K5H4BXmGzavettIZ1rcJEQ8SM80qb8ZMTKrJZNLM4DMMwfHuO+t0gd8BGetleiwQTjY4jMoErEVUz+MB1ZMtruCsCUMKAnf0mgZfPdgw6Kw64//4T99+5yilF3VCDSRJrxgVU+/ukB1p+J9F4sSAvh67WFB0VW4mZVFOLmfm//kf1M+xqfDTiw2TLyV2ahqeGy0fhhoKmotX35QOYf2LorRSXgiXq2g/hahJMMXP+6U2OeYzkH346DhHA3pfpDyW2pYZmrLjmNP1AdPXhUmMdEuiUJ0pmBL5NpxCxD759/YDHthrsVbFh1FsOC57gw2VAMPZjQT0ScDLFsEEel6cKG5QaMYUv16xEbOuuxdd3WilLIK9BBLPUuZINLDMtYVMoCNEUeR1WRh7lFLc7p5NuxXgkhVvC5PjbEsTKWx8hf4VqiJkpOEeSgbIxGB8N5cbF3tSR1ORVY7dohgLbqlFxzzWqU1bLN+mCmyvd0lLPJNmuQO2X7gOmrDe1z8TIIdTMAD/6zpnb9bphSRSD41qMcdypdt9G9Ws3likorZuMvPIB1VuvgwIRRo31Sug7cCQj9nESw8vQIXQCA/RcgRRLWUbpqPOxYM0HJGzvRyGN22vcF8kiTICU+wT27XGyojJKvbp5CqEeN3gbz+ZVWO8PNvNsIDx0qKmxvqyruKQJDmGVxNhLx/vC8ol8+Xz/LkemcrjAN28dkuSWTGOwBdhU6b5PrGMFAtfnwI799+kqxfsQ4dTiosaKS7xY8eEGgOnxG57b+BI2WE/u/z3mr9/hgHdMy/qIkEILGUoEShCpE/EpLMar6y2dQtHW5+xPW51HnF6fx5eyj3QqJH1YaTu6XjqiXvehTVRDiEdTQ12nNm+k71dG5i9o/TjVQnWi2Rt36B9YLSjzCgzUud8QR3pikwiICQi/BYSNMg2HDi/s6FNbbuF2mG6v14KV1Ak0BKnS/h2tksTwrcFYewqMirg5moUGHYTyypaFe/LRlGISYKieqZWgDq7r5AdRkLLw37iboOaym6l6ucxRoFyEQ7OgJ/oEuql6WCNotvBk+asBUoS3DqPoPpnc0Cckpp7Y5OwEWM3eRUFJzja1mzgbPUz6Hco8n4VX7xUghtQDwUtU9y0/jRYF6Jwpvs4nwzdVOv4NASHJTwzHWzv4QC5StgO+6Gm4xH7TOFX2AzQX7I6A4SByUAANOVc2IKOpFT4c9X+QzyQ08fXFfJJxlpv3uwF5ROP5XEJtqefGrnGAxrTQNc4JCuLD2xmqeuGSwdBvfdnYYmXzWX+E5K6GFxjHFYTAZRr6e8uRa2IrsHMle31T48cgxfKKkuK1c5xs190mqL1m56G3Nt5Av1Uj01lxiPSWr1dw7saotHRiKbw+cjAdhg7MR3dnXeBIzFVvclSrAsMwDONQ19RSlWObnhDhq/9/hVJg/7HfjnL+3uyhn6eouC1YednqaRuV1GG0S9DtoZuxXShsFiCsOaYKcmhgulSnoyv+uEfjHMFFKA8Uuu7qGhBF/lvWYF96+Hjw+fj8dQ8P8ruw6Fx2rlR74dyXV6fbotpMFEE+8Z7EYbRpuw/Vy7d8BA440WpnWg3M+GrFECxmZ1memIncmjhi0+v3gpXKyP9xFSIGQE8mVIFxyToRZ3aR9zK4EJUbm5x/FKtUnbyBCv5KbHAPDPlfEE9J7eYpP+E1pxwbiC0bWfWbZSO584CddKZDboLOfsXhCFgpf/QA2zE6raG9og/PrTfJPEhLoRTn1YWZy0/Hm1rwZMH3J+d3ONZV3Qqa6gfsVArL8KaNGalV8mNrCJFN4FUU/7I6cPVZuQQIdDdHSqGEuTBhMyVCu2aSsulPzz43yNy7o4S8FM66HH4voq4AKNco4SaShryLLrZ4t6P8JzYAXQnSXcDTQB4TYyI/zs/Bvz0mjxUC4e+nL08bs4xklcbLVPPE/MkoGulhhYSZcuB6JxrgTEKnsQ/Bhhdiveq4Lp9TaW2D6CTbbp6k3f34ep5KFVxQBJTyjChcFhQv3UPjwWWS/3qzNai0m1OhE/P83acO/tlkHrcPC8d6izuJ6Yr0pKts2UFF4snN+WiuzLjeELJcvd7r285wC63D15NPnyNew0wqvppyRedfLHWxSH++RFYuXhHzoW2d1ytqnEKdlMSTUz9yIJHx2lL31gL8KMbPXxicyAmvI6mNOofFg8sFNRDNcYi2E1DAU4lXg4Z2uN07R/kHpwJPt/Er6DtjtBS+vWAdAdaCYn8/1gZUL5OE9C7cwz2Kwte5dpi5JjNuGvzSaKUCVSUmYiMNWG7Ak3jnnnH29PejSEoHx8QQiUJmQevgAso4bDYkmcA4d/hS2xlMdFMvxrHRjbDZLBcCB4mbXOOi+YNhv1Midex1ziBbX0959JXm+vBZCnLD2lvGPmT2mJK2Kf1QnAukbfbsqw8KQbEf+xwj4ZGYB0D3VkKHHARhMzeqLJeyRiDVOBPSavJieos0MqvNn+TG8gQ7GeGIqvme6sc3MEQna0RuuToHTZv4VU5xOmXH1bQSxYBHD7sQmDNg9on8gZAl3B1+q86VPFgpR3Trxjn4/XJSKqm8omiIAJ/GVqBWOvqTwHsyTmpeWZEV0xhStKU4byhHukzhy3ohEpHNvGxX2B5HxInZ91qZJq7/R4ISHehAMQkqfV/rNVSEP2TTdV5Irtnx1k08QM76fYUYRBWFX8gySx1vmhlyyrO79Tp2m380Lw7J0wY2oabxrdQkBPicS0AqgntMt5Z7rN5lmfQzKC2rtGXuSyJ2oa9RF1t87RpL2zH2NfG9NGgMw0SsSrB21PZ94ceziBRipLsjbVLwle4LaZXCcKSbSTWFMtH9QxpSiBXdB9JNCoKuN2lMYejoskuXg1Du6C6aVAYh3tHtunQ1CH7SfW3SPAjDA100KT8K5YTuZ5PiIMRPurdNuv4oeEv33KTpIAxXdNddWh+E8oLul0ayF2JDt23SZi94pvvUpNVeGL7RTU2qe6F8oPurScNeiKd0D0262Quu6Z6aNF4Iwxu6dZMul0L5Q/eiSWUpxCe6+yZdLQW/0P1o0rwUhr/oNClHoRS6c0hRhfhMtw/pehRs6Y4hTVUYzuk2Ia2rUO7pXobkKMRrutuQNrPgE93nkFazMPygW4VUZ6Fc0v0d0jAL8ZzufUg3s2CiW0Iad8KwpqshXe6E8pXu35DKToj3dK9CutoJ/qL7FtK8E4YndENI+adQzuj+DykWQvymexfS9Z+CB7pTSNNCGG7obkJaL4Tyiu6PkMoowp02O6aqjqWLcsHR7lyrq1FEf6HNNqkaxtJF98jR16zVPIooj9rsZapuxtKFNUeRtcqvIrpTbXabqvFriehPOfqZtYqjCF+02edUXR5LRPnF0dus1fVXEf0vbbZKVTmWiO6ao+es1XQUUa612d+pujqWCC84uj7Xan0U0b3UZu9TNR9LRP+So1/SKgcRZm22pCoPJaJsOdpmrTaTiH6rzWqqYioR3XeOPmWtVpOI8l2b/Zuq60OJcM/RlLWqk4juozZ7lappKhH9R47+yloNkwj/aLNvqVpPJaI84+gha3UzieifabMhVV6WLrq3HD1lrcaXIspbbfZ/qjar0oUfHK2zVpcrEd3/2uxdqlar0kX/P0cvslZlJcIHbXZKVV2VLsotR/dZq6uViP5Wm92kaliVLrr/OPqRtZpXIsp/YvZHUt2sShdw0JgFJUvnYGQ2UdKZgwMzXcmSHFwyWzUl7Tl4zWxoSpYLDgqzsSnpyMEbZiWULDsOrpjNoaSBrqc0boShp8uzdDkK5QvdRUooobETTEpTwsjOxMRZCQd2dJMyKOGSnVUzsVfCa3aGZlKWSijsjM3EUQlv2ClhUnZKuGJnDhMbJdyxE2lSjkqY2ZnSZFyVh7R+aV/0cSx2U2n7VWnTtuQ0SiYeYA3+8a20w8l3fzyN/P4YB+fvjz/P+vhfWVtef/qra3XT56fbp9jWZbir/8VuKvF+fb57tf68f/3pa+/X9xMPg97ge7hcnc/fEZ8PV98f15v/jjrD/99N4K+um+128Sl+CLBa0iycRiYn99yt2u7lVczU7W/0cYNRRXr8g1QVA0p1MaBU2RtIlcYBgQ0DpeoY+PdGUti5pa3hJbDRSnSisQcPOizDH2eGRub7YMfqXZIslwzTBe2ejmgcyBmNs5HXuabtL97x/bdWTx3mN4Zn/hTk3cZnJ+1w9P2H/UjvDmx8EoWT18Te89Ib1qB1B6blPQwmJFq6bHgzo5JXjXNbnK0vJO/ZNtSNgR50wzBKesmgJ8GBSa1md2LNOMcT1pes46z6047T2moVmVvNHLvViczHBLEncquvPmB/4ibzL/NXsx7OorgFfXTTdTsIh9elHdaRsXFeRN/qzS//2WkK/N8Pf+WnseVTz+E2teliz7fPp+2zLhzWmnU7cY+msXcTKzW50sCBbrxveESQTmL8pRvScaHJowN6hfYv31KOZ0fxYnfnbGSnNDNdhEu+GsKNUo1n98rRnJ7E0Sa9MG7szuXJPOrZPdmMLlJoLmdn7PEPvaXtNYD97QgwdnbnjFRhArxVMQQ/6hyVM5sDwkwSXdSNvT9p/+v5G1FtohSrqsdQGEuLseh10KKUVlPLMhr3bpXRxGsQlURUopFIX/a9qblXJiv2ymwV3ioHq/ROSTMPykJTWCWhf2rr34cSwyHdlvsVlkRuEBOjwwlyj+jguaUMg+W/trqkldxj2SNXiEvG8/QS+R7RN5xCqXNtxKahH1CPCB2PA/IWccvoUJGvECVM8eWLMm5PktgG+gL1gW3JBZYZWRFXDb0iF0RtOB0Uc4dYJ/qE+o1deTJiWSFvEDfN2KePyHeILvG8RA6I4YxlRP2LVnLE8g45dq+6k9F4nr4gD43oB5yqUucuic2Afof6AyHx2CFbIz6F0WGLfN2IcsDzToltJLE9oL9AfcJtuR+x/EReNuI60E+Qj42oH3FaKOYSxHqP/sEocVceRyxPkVeNmNLYprfIN43o9ng+Iksjhj2WDepLWskZyyfk3IjLNHn4gvzQiH6J06QM8yaJzRL9D+r/CBd4fIO8a8Rt2jtA7hpRqinuemWYt0lsK/o9ajat5AHLZ2Q24mpAL8geRB1xulPMpRHrGf0SdW7uyuMRy3PkdSNuBmObzpFvg+hmPD8gI4jhiOU16qppJQPLe+QUWidLPU+/kA9B9DucTpQ690FsduhfUX82wg6Pa+Q2iE8Ho8OAvA+iLPB8pcR2dya2C/RXqE+b23I/YfmNXAdxfUA/Qz4FUf/E6YVidibWI/qFsstzuisPI5ZH5CaJaW9s0ylyn0Q34vkb0pkYNlh61OdNKzlhuUaukrjcmzz0yPdJ9EecPijDXM/E5oj+C/V3I3zF4ynyNonbvdFhjXyVRJk0nTJuxyS2E/oz1MdmW3KF5TuyJnG1RN8ilyTqAac/irkLYr1Cv0X93uzK0xHLf8ibJG6Wxj5dI98l0a3w/BdySGJ4ieUt6n9NejnDEsiRXWxHY59ukQdED6eimLtGbKA31EMQ4BGyIT5Vo8MG+RpRGp7PlXH75kxsG/oSdRG25b5iOSAvEdcVfUA+ImrH6V4xF8Q60HfKLi/SXXk4YlkgrxDTbGzTGfINogs8/0AWxNCwVNQXoZVsWCbkjLicTR4ukB8QfeJ0qQzzOolNoh9R/wThjMcReYe4nY0OPXLXiTKY4u6LMm6HM7Ed0B9Q78O25BHLHTI7cbVD75C9ETVx+qqYSxLrA/oV6tewK4sRywvkdSdudsY+XSDfNqI74PkJMhoxfMRygvoqtJI7LB+QUysC43l6RD40ot/jdKbUuU9is0f/hvorCHs8bpDbRnxaGB1eI+8bUZZ4vlFiu09iu0T/C/VZuC33Ryx/kOtGXC/Q3yCfGlEvcNoU/9QF2MfqzeehC52Ksp0pm1y2o1NR3Tzp+hB1FXQq+vXsicAH8F1frKfGHOXny6TDxf7QGalJD9Skx8uennErUTWZqrOoKhWnFY2zMfZw2ZeorRSNc6t9telWnETU9k/Ull32Ik4iSuZF0j9R0lLkz//FJli8IK1D7ZOsLLPoxYp1ouxErXXaCDJZ41HRihleeFWXK62oDTb4AhkcGtaytSgeBEdgI1srNvodMjpWYSXaMlMv8urdVjmIumDxFgkOrbw8WTK8VJK7VHkWtZULG8HiTEarq9fQ7wT+adiLZuKrwoaNIQQXNDfGub1kHedVNNu6re78hG3b0Z2c4181xuam+1y3tY0nJRWOp5FE7E+xZn8O47ZujStpXR6UMteRmCdsnQEfnjQDhYlgj4mfQeT+rwUTbYXNbmnd5TSa9NgW/3A4MUXk43jyqhesvQCcydfYVIcCCxBGb/8C3ZN9RVlILjQR+FZq+QeX3PQOyWt72T98PwfTell+zev/eKJRkclfKwcrCy8PEeQMGJxkmK85v2B8tks85CL+ZkGV2p/qV6/Pzu3Nwjujk3O3CiJ3b43sP2NlEkV5ufp3VJ6+/hq5uXRplY5m+XPpXDp5rBj21O3K1VO7rPX+jYuPZE+Xj8Xv9qU+TVpq+nlt81T8Oj9NdZFOTx9Tu91lq+ubkxCzSZ7X+jGtunlxGmYnZjsUcfKZndeVXD5Cd1n7XkXGZY6ZHhZ1+IC9C/DdzpW8ZTIoanSySDaYsIm+ijzoDh1OU9613+uBwg/5LNgP8h03okpwzdCGp1qicxE/7W8TtV3N2ylR7uGUD8QyHz7W74k20+NAfn53aKqsaXSJQvLDVz8XGT7kPXk+yQILm3M5fsJLdaMA52WGU440vae2OgPMp6o7rjJQXFSHRZK/JboXNgWNGkQt3N8GODCe5J7lMC5lwtwCoJC4snCC3qsjt2KJZ5MtUL8zqHWMZ9IESIPdzJQZPzQFqVFQ+Bx4Pf9yknJTMwXsRlDiwbDS6hsr0y3uk4tmwSH4A/3OfNYhMEXgQlFpLAkbBYwmimN2yTmgGHr6+ve4whpcEshicPj4nNwANteaI1bTuB8mBbWWCHqqA/zDvS+LaAejZkAtxmzUZR5rIoinRrs6D15Z247hsErqCbrCYKNTLDxmwqIABJsVmj+VLjO88dt8VEd4/ZAYDF6PRJoetckUUP/oXh4t2YoSejKUpkIr3/I8gV6ZXfh1zXvJV9tTXAoGz6ioj6f0OL8eM63jalHXSiYDTqJo9c6x+KxFm4x8Fio5CxWSKJcMcmnElxLisvLJaUZRXHbt56ICJ1Tg6HnR6LFddM8P8dWanbrxa+0hYv2J3McG2SbAAH79Kg46G0nyqBpxfvXzO7TtXWuC06PzukUUZJr6YX5XFrKgCxbKNkgvqmi2tBaF/dhVBvuSg3bzduynEXQh5tGlFwd1GgTy8GYqDTH0jUFHCqbsnN8lIo7ughaVSJMlOq0ovGghTOeGHFRovza9PIMY+lGlAL6eSL8B6VEIQYnibfW3x8bkWasG1aEI0OJP9PZwqO43gOfirX1Ok2i433bSgUFmGxHWflJMOEDRtCu9/UfoAIiDphT4EDRwqL5tPqUJvG3w1K6oiKDYiFQyT83gQ6pWR4LQ9SesDolCwKlxsAwt8ESnlIQjnVj1hfVV4HtpZU1GX1r1tLqxwGhizIvPp2y3jrJfg9PEap5Z9SnOIiCbrJAoNJWmB/tKCpK3tyJUmF0oTFJ23omyB+U9nhDOszMeg1ljlGJGYjJ3BMnhipprejhfGlji6SuwbP2mp8Ttld7Tj3vLdRMbm4Z+8mT7FPO5DXpfpUWrFCiWhC1dMFPNJ/N72C+Cr+vQ32Xh81zn3oIz4slj/F0LJpG/zkscL3eEcP7bmXkgMRJH29TL54j3AK3MhNUNidyVHqWOMT4L73+b3M5hVg8Bk1EtKhRfNTGenKUA4PN4NBRVmF8105aExpScmKDF/0j46et7us3bhnMViUMUU/J6mSmP3dgWHgp81dg9e64WCtPjZCrmuxYyVTbj8frmOB5dfC6GJyTnKDetfjWXyEs/i5ORXViJjHQEqWR4DohECXJZu96Uthmj52ZP3TrvA9ST40x6snE2Z3PiHv3c2sCqfyjTNO7OU0uv2zAYv6ifsEkMAX/BVcMwDZt61+CeYdD/O3U4O+fvPVf5R2vTbt+Fduzua9Ouu0E7xh+/fH58Wk4zPYLA1n1dEqY2mSBksiM9bY6dScKZbiJWQ+OsCzcyT2pruY6cLfqMtjb1m/23f5Voyk0J2NnJ5kiyBD4+m2ANybluANncsc6HC2VpAgY4xS1AdYLIwZBVWB9G1mXxI2nFyaCiAiQrPQgaGwweE8S3/FHgDPYiq+VGWlUnk6Q8o39NPZAjoYhFwftOHTLvWjlnBGbwZoNgJtsNaU4JZinZT+YL339o10VRZpm8fY4vWecp4yszGO1oZU46hVXZwmPb0jWHG2gJdmjCde/mV7+j09RARPdI+y5KOMErFF16PU89BvLIo+JgVsGRQpRwu2vRQ6hMEH9+axcCsjCPgPZiesfVGl2lZeikozVjubXwrzr6qD2EP8QB/3e6aeZlnwi77ZpxueW7mYMK5L9F8FDAukmQPu1Any9uV246tvAK1gKbnOxMgjrQH9mwQdPgLGwSejc61tlmXT78eta2OjvUD51Jv0212fCYU0auokhLaYvFbjqLF1rr4pbcJ4KWG3IaNJ1DIDS1qUlM+lPLLupILFIY8iWUj66GtMUUA+jyNf8Gqrd/PugZh41bwcR3RPgaGlQG8z4eK4LLBsMhodfmhUj7aZjd8KMrgn31jcSu3EC77rGeTXFzggB/j3Lb/ZoV700+UilIlXFK2hkTROwFQkVFWn/8jx5bn5nMG6dOt8aAJ89wYTTjl2bg2c99i78ylRYcr2r/A/OasYMjTSSnLatMnxaaIaTnJEw7nvq2ytchw9Ptc28g/96mIpmPzNkPSDzMwmKv0yUiO4wk02repV3jWUqtidxwZ+shlmNL10iD7AxalZonZ4Z1U0PcvxOylCCAReCxTP9yXxk887n/NlIRjVyn80f+sgrM3JDNKSpmnFPhWaSeuj9IqVz2aBSQrtpvp6RBTFLw5Y5GQBMsFIqgHQFFqFLIZFgq1ei2jikIsPpMViBABMGFvgOeILPlUoTFWhQGcoB8WLLiAsHriGRTd7NEBssAJ6+Bts2DGjj5mc7NoXGlQnfEJRaZcEAfcnvifDpsXefi7nrN8iavu0UEapW1zlEDSDyRVE+Obl9SBogZK4yIFlPM5NsZkRq7eFiHP1+2I2Zw74xCAYm/E7ZX/GyWyk7Q3QMvheGX2luE52xCqRW6u+eXYlgo1EgoE1rONbmcfsDumg9nRbwKo+8186OT8plBTNryvXX4wLcuTEqrRNlu+RuEPOT8kvP9HYyAajp42sufYlgAzzf6yTh99aU2NvAAqj8/qCTd4J0I4Nh77NZhqJdRIxYoAa8DMG/YLaiPfmuYuF5RTCXchSjMwYv5YqkKft7+8eSfrJkxuAJ21GH2+F+BfGIs2kHW1uOK2pNzFOTQ4vI4GafWF2T/H2+U068moFTL6ea+yZW12Ze7cTPr2OKNIH/4F8rmxQnSiBGNPQVFbtkxGfOrvZExjgas04Mfj+H1c7kvthQcDmpyO6GztLmkJS47J8KkCgCaDqw/xz5gyge0hAQntOJvI1TtPrnhIUn+VxixtNKwGgGZPlIfxsk2Y672h+bNAg3NeQfATx9J5R9XvBHnR8R/VnXRvA47NFlHtfxzY+CRFOi0o3vIvpNyPUEjUU/cgG6tsvLAtIZt6v85zBGKDvFIPbJvK281U9Qmpwi8z7ryLcitcInP73Gpbv08MfLU0+3Orhhhkfdse9hr0tch7UArDyxqYOih8G9baAlju6d92X4hZCYUDm6z/ZHucVDOzPopDhY7mFjwUR7WoWffLfOuBogHzktl3xUiH72dWIZgWAc4Q+OWmLuBJJghMKKyYZXytkHuo9JWGnXLJ8m7s0Zjyd6Yr7Ks+ne6a/G8V4mMnPGRlvhtWpPNpuS40CWYJCDitzH3WS0FoQXDhPJ0kTIqL7U/sqoGmryl8FSRDYA87baVqGpG+0YaD1uMdiznD4REnIYFqsALQOTB8CFzdLdgWZ2DxyLYRpXOlHFSHHy/d/+lCk23eHEuz//bSFl++WH7ZvZmGE/qqba8lrnOM8IJbHgI6+CCsZEPiMBGNxXUQXlf0GrugTvJwA5E2U6qA+qMtHrn4V0d98+LaR9HTde71M93avIY4Eog5VHI7FjExUstqHHurML4mt0oce6uzeIv6M94RMXCSZ1pcnSRgILmF6766GQ5tkukq04DfzbHuPSfTlzn0venrdBq2w6LiL4OYI29/ivIV//FHeZAzgPvKfRTxUX/oHg6GxCf+p1tt+h4jgaZeeV1eAPCxNjNTgob+0wsav2XHhiU4NZKGfJODmMlXVeIe96J9pMUDoYvfpcC4ZamBOIy6x6Fr75IVImPjQrjLYMULC5A9O5Nthwgp3c2g8g+i9OVkpF+NrvntVkZ5OWcrr7QlnX0VJr7l80S7LT9j4GSAxvbKUsBVvNMZQB6Wmwx+5vsPxfwMK8Hom0LsqqOt1eQDUItm2oZ5zrEQ6peku1vLMku9zbZx0pUz9+FUJ42Uu/1utIwfM+NtIFkaoT8GU7Mw0xi3h6UyjxPZYOCYqlaOhC5UudeE0WA29T3rbAYSVZtLxuJBoB6UpszeTpslT79H2+gbkUNkt1M0jKZStAuOKFF9TP6X6O0kjp9ie8zDETJl1h9+xHG5APCuh5Bnf53PbDaQcr9OnhtWe+Qr6Gldm7Hf5lY9ev0ctOtueJVvw9tMPN1GojmT4xPdeOvoPo8KECwViuzAdxrNXHcZupzhmVLWqYE97URe9g6bmQPShrSIZlpiHErr0+BhO9u8HxNKIDzXqVtUTraRvW4HxrRyA29kZzMd1c1oERv60aQPUXMCFTJndRwqGu0Z2cadEeliPsFjSZ+k5zLZQnU2XtrzHhjNWtUuJNw5ZFtYh+kZsHN/l65MdTkX8cDn4ezbnrh7yFMF1/9KCaBTstbP+IuRBoFqIu+tcT1kdQNb+f+4z8A7dQEg8RO/bb84IepUHMcAn38bZ62eTNdADh+awF/MzPqBm7fJsAJT9stPv3U5cFv1J3u25azQkLg/uWndxt85duIu1rA4tagqeGKWEuUU0eyhJB1LhBj6FqjNxgvD5T31sDJ8cfUsMjqsRW8R+DhqhBaPQgJvn5KzQv+xiGKNBtWgsvpMbmNEZOoQafnISTmg0NjxyJWnybvMhcDchSHmRxT46bJnzqymkbyApgSPD2Kv+C/p1Z0fNQsVAS9Y/z15JGmlwW3mf1D9A/8Dv70RphW1NgeXna9YXWaxBm6k63RwckAZGqcisMLALwI5GD1PI9OyfGGr+sAUwu6d0K29aDNjoMh7m9hTm9YZjhfN2+Hl/Yjxs5BKZrZO+8ECzl/fuf+b1Y1+zBZBPdm+uPJNjHS7nSepqyB4ASlUHf+ySJhdf3hvwAe24mKo7r0zgKlT9zVyo2tO88jmZY9yYXqcD9EkWHA0JuASDXmtAXi4T1lgXr43BALvmfEM5LvY4iBPSdPPfJ7Vkp1L4gbqeixhsBeEqAc2Z+06vBc71UuVIdrDjSiQe01C9RhnCLtfUBEfyJQ3Yixl6cH4IVA2cCn1KF82EPKV2+080wLz56SQDkWb6F79E0DqB4Ndrh3/56nfHXuTAaaDHJteyF56612Iim0l8RTjrV32My5vWKRkf61P3Qte83euntyxJ++UKCHkdCIoW8JwhZ4UwCqR5xS793Im4Cn7nangn8Y/Xua8tU76tM4aIv/BpjkrVfk90fhvHnTARppve8pYLYqzl6kQnWuOXBQ0reXindkhuAa2atUbGggnY7WnnvNIvXwG9V74JsKgZHRGuy1355pdn17UuLvMUUf0GEfbf1HRwo9LIAB9NrRU/tHh0bwjE1/P3ZxmR9sjCaAV5vCE0iiUkNudtYw8XL7C7BAAeRXWRJf6IZ1jmPfG0a9X74XOZ6CxJTWQmVSbeb3mp42tkwYA++JOYnIPGW3XaG6Hn6WuZIGX95Quf7fL8U25lEsmy7xCgzUQUFdVDaBc8thdwMI24tuig10bzl48EUpPw0qKPn7zrbOk3rY/MxsEL9zgEBcxW5gg5xunZrzN/UGdS6U/DWbzHTzp+KabE44yd4SEFX6wtKQRrE/B4Iou5KFtbDiFxJUJAqTxUSRYlQF8wWKN+L2KnAs5fUl6+vCxQuvbFxba8UquBgGp+ugTfZzrDI72uPI1PSUEgYXRZ3+ofUT+i91P+/lyVy1ZzyAv/AVThf2UxSWkFwTY0R+kgiuaxCEBI2LMj3VJctjBrw1ybn9z1h+oEwsHtun3flj3JfexuJgcRLbJvMkB3MjSYNMLAcoWzhbKRgzIDIe9lY1KCqY2Cc+FCO7vkHsYUp434Wqd4wlBqiftgjAcJoDTyHnvOoAfPZFUXZHM5C0qcmD24OUIU9blpg+mhMN9IpR0UbmS9yaw3ktCMYmZCQLczMUHVXhS/n3qv3himhQc7sVMTEbVrIhh52dWN/ZJP0AfXM+aqmGnsqPDmq0EIFmzPQceQeCeX1pePaspyN3bQtvX+LLXy/eVFPFiGWu+dkzxx6UwARrvfCzFu7Iso+63B+0VQLL+CCVRK8kKOUuVvY8KJ+atfsJ3s+XJKqeH05bDB2HMYtbox+OqWxp3q2pmMy+dJfT57m90QKcc2v1MmzWSt92ADyb+WagnLuek1tXvoMQM3AuBartknhO3QZnTvPMBhNb9isS5rREeFupSNh+vWbU3aB0rnOAmi2xF83mNDWPR68tWhYJczogIlpgTczXEOOEyqKywFquNXy1y2Rp1w/l1Hl9UWJ2sYLM7XaTjvlmo6IdDK1qHmRq5rnIuz6KSJte7TNm062U2iw1LOrHE4WEzxkFRWSLWgY6oSygY83EvhV2veGqnLsMjf1Yfw2gOp0r4roIwECqgzqS95y8akJAh4Bp8AI4XDBzM6onhaU4MKio7/SnnLeUjbk5ihkkI7VnQu5zfzdA8Yk7xMjQFjZT3za/FboZ1JCAQ2AaCShYMNCTCfauLml3xMoFuoRJOxXAFnNi5MW2cRIheask5yvOuRlYyMGCwCDrH/63pKlJsMOgeI9uKjWk9J/2mb0bMPXhlTTUiAMBLSb+RmDz4XHpSK5mh3PoSZLCjxbWPByCdIoMRFhWLzIJaIaTOMl0AOhAAJssige8Z27YlhqHbsy3pmLkKiYPlRUulMb7QmX6UxSsJ2kYuJDDrcAdaSggvWGkAsjm/p2Cvl3OXZFt6H/TforFxCh3Ccx1EGmchNz96vDDRJNQ4X+6gOTcKtK1d98QXHc7nehcjSHZkVJHKYHuNcgQcLGBllKsX3rGsx0+QEiyWwGOpITFuIXE4v+Qe9Jp3yAJlM/xc5SiOM9RN9m50LDxPuRI7tQjUOvCoZT7IQiMVD2lPoVGIUMJNMBvvLXquQY2mAPWYhi78sadZIuJd3PafHCN29ztMGeKutYIh6hS6E1Vs7pIceQQLYEWDsGlN3rWdcY8BENNmECMEqGKUojDl8a41YOgqxjfYpYAoiHGEKlHse1zKsP2Et/1sXBiLD+6xv/kQ/9bHHzogy/Hw1/7YvPUTC4+rvhoUYG60s+k6u0DLJKyNhcZ3BBckS02PR4KJ6e/odyG3qc0plN5QKs9o6EPE5YCDeCdSyCh9SyaHhzjuON73sD66Ps83j+h2WnF8B9PbeMaDHoAblB3k53U6wtX5wzCYxpiW6IxJ3/hKtcSfeV+R12hebCecU3NdPLilRvNWXiV+i2LyFWNBYok9WDK2jnMAPQSQqirE/tAK58HkxpmAWM+T6a63n7RSHSOcyHmiiXujCqW2iBKnfza8P2jrcyxOoLziE9QgZaSTAGi09rBAERTGheCN+GhpHittgUaT9EXNRPM71bu/a74cp/qJ7zhoEGMvMMBt8EpFt3rlpZdN7PtlrxayOG2ZzxrTSY4VCn8DEcFGjrgPwQ4HkjAk/WpEp1suN0b46Hulijl+d1NnloUU8nM6KrgCr0H9iQMCxj24sWXg9CAwSK42IaB33GCUOiczGmESOUaXQK522oPvHE85JMqVJzIg5dfGn0PFSZhL9CNBo8qQ6Iq02zpPCJQK7VeoYg4GtQ0HATtUcYZckmow233PWVEY0UDTxa62hYaKsZS8IIuMgD3M0v8N+lJ2/9M/Hs3HnDehiHAmIvug1oO/0Dq55it9Es6YWBG42H5npFXQEaXkaXGCrDE4qALY7zRsfEBXFNqWliFiKbk4o9lcketQGNpSKbCF8fc81kmxBUpBClJqN7NWJ7MksMdILg4pE4VI0iQlvFkrAWjlLVCiSlMFBDWzyYU6bywTg4Vg401j9H5IZEnMpdQAA9cKhwZTRUcWCwrClv4NaEz6RZWh+B6Tv2DYHrW1IfoiEMqVrLSvXc9qgVVbAAi71nQR9yuz3EIBpNJQnPT9gvtURkTUyouzscEwZzd+FNTybT9O+p2dol2QWVoJoDBLGdEu/fd+5wqnDUDr8K9SAhzLUO9N3bfCsY03l3gAnCB5tvQZc2xLX7JW7FlmQiWYQ3QrospTeYPhZEtAaNZS1G7NAe9cGhab9W4mBEf2O2NJQhBWTiUjCSGbSaHmmNQyjWeOZmAqvVztoTuoO4+GKCPc4eEZZG8t7jpKjiqKNd+BPa5tNbBSoh18ALqfuVjy5hAtmyaENNuJORx2ih6R4XFVcWzj0xiW4qtEk7mlRSdsRb3jhNRs2S2ksEPHO68QrQyHnPE4MJh8y62+L9cDSrQpbv8mK6t6kqITn9ISNo4MpqIw7t1BN0uiGAXqTggZBR1AIzW5vgrVP8UjemrRkrvhuOsC42RcgRTDWuIuJxywqESo2dByAn1nxXxwr+ioOxkXtGqIy9HIHK3p1vavfufiYWydCOGLJeWsQ70W1SQGzo3Fykco2wm5UrPFanBkD6KBJmrJ4XcgkaBK5v6EFV71SONWtunx5vYVJQgxUq/5q6NqVorNa69YP34w4CSA9gsa2BkN+m8WIj6/FqUHkjDYy4zKgs5UJcY34cbOyJVQlUcu/xuQuuMe0eekYBr0nekW0n7cymK+lWJQKNJUEoVMAAJYbhaSNdx8FDQujK3LpDYINWanh8JNmJ4kWtidTKq78hHc5DjKIP6v2YsSJMZCv8qH+c6J5cr/adiF5B3SWdWyWnEhTYgaW200npNQaRSbkB5E6ZRnRbC0LTM81vn/aBSD4UWyrUPlkB+NRoTHiZ8UsdJufbx5pxzHNfQJYUDM9nuCJI4pcJSABq+6pZu8ejndURE/tmZ5QvZEQICMGTgNQCph3WFBXmRtDVZ6+RniB862dcHGZJbDg52dwrDNxjHfNaM2RszGzQN6aeR1tvALy2n99PAjwNIA9FCKbTKnM6Hutw5+0NenTwA7ZoC8fpcQzuIU4pyGJ4MTdazxGdBkzOnoOI4KAqDrMKWvTdoboUdAcP4RTiwiXof28MJM8U6R9ENlfPG+R1OXjbQ5WCoBslzL9joxT3N6I6jKsfLUjq08YX1GteEg5lQkkPDTgI5eHnCiiD8lq0hKExgXfNC06u1mHk4KkfqmEu0blnsxLr9w1HdYXzfuIb7j/IjFn/WTd0Q5pu6aKzhyAGswXD7JHCNMXW1al3E7BNejcMtG6BsB7/jA6vwn8NWrwe12vNoDa8JISEE6fsTGCLe4ueajpgipF1FxHpIF6j40Z92kD2DXjb24nFyIfwBWj3TuSEgbwI5ewTqCJ6RaDWiQtip8jfSUc0rb98UUaLzUVXryaNWLxpy5xn+tSF+jRcv7rGx3YFszDt3dLzeUgnUtoEmjAwV1y+dl3/VCyUK8ux7MvdpmHCol8v6dR41AE7Jxm08ulOso6ipTlDKB85oQEjSlwKTHqMZr6S+1EO1BD3FWasdwX9TB5Tyfr5PpQHkI8v7nlrJKKB7d/p0lOmWFZHLqh5PdUeXnN5L0K9UHvNCAog0Ori62sOND5NdXZxeDiuzTqIJdOaFFRB3ncUQOVjX/F7PEGEY2giAubk8Ra56b3UEThDiYpqs7k26lYhEtTduOkqVX/s1mnWyA2ielpfXOgif6OfzIFohBr1QUTMYT6ChgzXAN4jWsWdQzV2l6vb+y7p3eSqqzuLlsHDQtXFlC0iqWOLqEVqhzOhArhR0CPoBAOl8AFNSU2A4cbdCXbVYn57BkLD8quYz1/LnIn8rjyBIx1tduwROlOxrK2Ytsgk3ZNBwGQoHdyIH8aZfJaVJ5LEU5vxIZ0NuItKK4n3mH6ovSx8fG971aGnKVecI08uhNHPAYW1AJ1JHJRHhau4Jg/Xr/fPBbZEA2ls5d7a++4SsKw3VlzvyXFuv+RJbp3/XCc1l0HyZOM1WpwmnXodOvmzcyfU4zTU4DSy75EfNOut0FoYA8WxsJ1W/hZD83KgwwNWMYaB5bdAMZqPqhj87GtNQIzOcDED+kjpysaFzC+rQnNYvhu+HifO3nH9Q9TVeOnr20UURvngeKzPpkDztBaXAVcBcWSyvfJfwU0Bfq3sSWbg6aE+7DMXC4x/IEi/+Thi+yUE9cQmYHCu6vkK+lwN1WrDfgQXKvuAg97k137u89fGWm7fdw7B78nL/8+iIuh0esJUW6ypSdLtpcq79/7bMvdYIfoilQMgKOkqjpfmRhKKVNFJZURz0lI7aVRx2t7BxcIEvULCrEgluOLFRsJWsnftRmHYz9iPl45cZwiNZCwqQeGgQ/xhZf+nLBtQ7FnLx6V6LQAkhW3Dup1btf/zgHnCvYeHLQTSjb/Qt0b2x3Y2gHA0RtVud6ELaxMichZr2blVPs191dqCrAgc9UEOMe72e3Nvbbl7FNQxKpC7He60se191UuHSSy8NVOtsdK+bQ6YqL5DcLsP+qarSYkjaqXc77LsxwUKsk46tXxMHseVrRFfW0Vm/CQaAdd8NJn0Xnxb5W2X84bnNAkGdpimHZEseVJwMBSihWenVQqlEmm4vjJf1T6kqbjLjpJw0Gra6zouV38xvFpnMqdMghO3Jgsx5Zb1XRDoxE9MxzlSPHOENG0DDPgpYARz2PW4mcjwA6d2kce3VyJTHkdgvSzxwv2WPwRuB0JLMGnmMsMpO6kvSeWb8ZLUMSIcJInMUs1WECPvjvTh2BN5mm5pCztDbVoB5I0ccagpvRFTe63nLNJuAdi5p1tNxFR5g1bW2M05raFnjBss12xCpbJqFeujhylBUEfgO6C1hOqoTLta2cMZAM5cvP40vhOlJH62CpBoIQnirsdbnV/Ks19vKWLOpl47sNvG5L8UlwT1hpGSuBXnkXKG3kOgvHYUlo2cgP6KK67xa9uC04CqnT5wOR3x0nhlTcXxQza6jqatXKa6QlmNGQ5SHoSo4Ug3s8klEHIVrVn4dW+L0wDx8pjACdK5W0fiLs6LwjULn7GyiD0zSp9WNTUDqo/woErRL0VwkkE8mFDMy1TIel+vphmaKLElUyFKI5Vw12y4NPpRxyCu7SrfXb/vddn1lDcFiu8ZbeeyA4EyjChc8lFum6w6FfedQ0JHosxZoXXQRoay0ljdn4I7FBIN7uOWo4XRPmOJCdj1OOAnb4H2X4bffXB90+B7MdZkgkL0iPVeRHXnjIO4XDHNNXKNubcwsCqDJXSALMpcJ0tP+cwE701BazbpLC3yyaBBjYlTJG+reAH3bqtxR/BLkHG9z4EJ6ow9zBxnMoT6LCyCMzxKTpwi3N73MSf7S+GFA6bK10sm8lMOIz/VXVutkvbikhe+viR5ZQimTeYCawbytHvx/gbNeLq3PCJXThGCxQp0aJdO0rcdqpQjWkGK4uJebLafLQnHBBTvv6LQLWHQP83+Kws5nA3dVWPYoeCuRr7CE0TMabQpLGQVKIy1myZoUHXkRDpY4AtVNUsO3usa2bv/U0/Hquq8VEB3mnCiRmiazxaF341N/jYm9HVm1CXV9IKRm4aMG8//r+s41eQYarwlXmtQgI3Cbu+WTZivuwJf+l4p941b3M04ZvqrudlwDPjTmLOAqMcwBAx/G76qsgxge5bj0hrpDeXOUgFSX4Fr5jQ57noEIM2oRyaG646309cEDWEsCHavQ9sv5+NoQAwDdPPTzzami81QL+QwC1v3S/ss35asmcl7nSJCZrZX09Vlcts7dhN/tWLJoS9RN+er65xrOct2YfVVZsOVLZK657rmGqxWxpcqZF2qBmu9B4/KiO5T5t4jwXHmuFuJBg2av3C6kmcl3yooBZlm6KIPO7f1n0zRDszJ0BK7434Bask90g8FAHb0bkQPsw/jNVBpsUaq24diEUGSrQ/dD0t7CGbgFIXnk/IKMONcS5J2hKG0rJ5H+o5eaBajzTe6+j8Qs2/f4HVsmTXFvvEf4sQgwhCONKjM0BtRoQOPy14BKOPBSDMbXOa8Pq3DAEB4mInc24y2ejVZmMYrn0M83ZMy0qRakU2KGuT0ENd883vjjNs+/TJqZ44pjB5WevR69GTi5QZrbdm4z8l4oNwqHXj+mN7LZ2zSlc9pOMWj/lD7+vy9CbezDU7WfqQcpeiVptS2/OpDIVG7qSz/mCeeHuBzyqAoaVB1/jYiXA2/F4KIsrxcHc5j1tSrc5YzvFDE/qOVo3ZUHY+10DTyOayx7NpnpbeqYjvJTdvd2t4ByEDDBGCcesxbBFrjJEU88FEDPjkAcOWzEXQ7FUbdkxBGRcOmwfTuNp2HRF5GHXW1XndKfqKFMzmak6y9neowkxSsvtmVUaPuMLbZSW/ULuwkN+foMox2mQNbCG7LqAGqoQDsAgO79VUrAg8MhEUqZ8CSrtSs0h+QAhqVOnCjblpUNdy7aHcyorngEOBgWo2PH9BBZqmYdTuDIXhwQ8rSMChZC5ptdUf/cr97KVRx2UJbYC7e7iNv2wSEzEbnGXFIqTjYO/eQA/HkBnlWr1de9ewrDi0xJ5jBFaUn1XYLYvdSY3sgp4gFc1ZPugSAL4bRM/4BTmEdQfwYvmMuHd3EMzw2CPLjF6zU+PZDA+oQ7wgB9w+wlWeo+4Bfeaf5H+Bo0R5AsvRHzqxY7ui9I8NiY75VAp7wIxWX1Fzt6GCitxskMwy3PCq56c+0+SaQln+reAP4zE7vflILHLQ8opuV26eVaiuZXW0RMwfjdhGDxn7EhCP7n7pAdRUlXP7kia4txOwx0Lb0ZWsjqgHRFpEm/VqWqtr/u5LmSvL0W5qhsPG5ElkopPoQVOAyLSTwpYdSwreJaGsF5ty0uHM9z/3fguCIzpZXZkCM3ebzGqWKTnT9kFAzx1MZseaNSlHpqtH1jwiMI4hUT4B64whKqq7u137kyC0H8xHlIu7VJl9bFWIGeC29Aw3W2/UJwMFHZGlTm5zra/bayWP0U0gPDfq9QCzG4hps9SKDFcMI+UFQl+LnYDjQxxQdDC0FSkQghwpYOoLoL6Ah6KGLrSbjDJ+MOOZcyNd6kexW25mNH2juYDDMl/azpJXxj0XgI84L2KwnzQvAY751o3gjbXl7B1hBqQSV/jfiI0mdLe55BmY8mQqsf/TSD6AxgPLXO9d2YuO+lQdhJYqRXFECjDtfbAvCnZhWllep8K5nIOsW1U5+erlIS9wtCv0uZ30YzH6CFVj9aLoYzEj1Z6Cfjd7xuEuzCNGJQ3Vtf/dLPBxSFxGFeeVGMipQW9ak6Y0gcf6TtSEoM+aib87uQmTv7x5XjnR0f9viox3s4PuDx3ONipYu96t14fyUYb3ro3o5xElQ6abOnNbJ6RwEKIj0UBxjM2uO8C4WKiio439cAekZTABTJK+k70TOXfBYGMHf1b16KrvVHnifa6cQrDugtgg8zQzK3G1Mj7e8ft1j1u0y6SzQvSh7uJvkGxVkyb10/BYZt4m7cwuytFrAAq9dU7cAUZTzogfY0Q6WPlTVdJdNjYnqN1rfpy7f5xbd1h7X9eo1NC5M762lYroMUCws1nvw+rDNpqPRHTggdC+awRtrdW1ncI9Dzp5EP87K7fW/DG1naKmYm7KGmQ5gF1dziYFGDE6MJ/U940zblbu4O5V+YY/4cRXI+HqF54b0av31JQ5vgUCPoinoOY3hZfirhZwTTIL8ZQwMhldzB91K1sYlqayvtDeTqaAkAVxeexZLqX3TPEE/raCCoYF1LYgVbVaXSNb6chcsdjMdLYcff19BrSmUZOqXP7JSDQEce+hXvWk9YJfZLxAteEzM3IynOBXHNUpVHF7XLmL48Ar3sJpnksPj1DRAavZvIvFeM5jEJCZPss89kjI1yCCDtN2vZ9OeFwHuawY6Uicuv9VqJzOZeifwmbZIAe5dr+2r5GZVF2eujZYtuG3DtyGXjO+tIBuMqly17uc0dtvmR6r/vErEmmeSe052qIGwhEMtn+1UUKMGj1gnlmFsu/hHbpMwYvYXirHAw+w1LWwP8ufneOqzZ/wRpFGP6rSsz7llh1N0q6l674pvLXfTMZHo/GwONLlLQ+ur/KpJZtZTaVXqU1/3SowuWmGgt3ppH2ot9PlQxBT91drg3r6Wl/RJt62qAWqeP6IKr0BIrswvtV6Dcwtq6e4Sd8HCPd04b69aEnfhXVw4kgJ3gCbVsYX950n2uFbz4rJjczXa9eR8+8kD1N4x9lx1+174qP9pUhvE7SllUX3+GYf7DYWsa50+mCLS+5xeHwUjbEig/oO9UfVmZoEOS8daY2UfwR1VijW+wPY6BeP54i32+65G2D3O04/wvXMEghRwR+de37n5bzv221w88rUDL/xmxo2D/NYdR/gv/2aoalBruc/r486sqUdYuNVn8NFb9K49YkCNy2FATbmp0/mlBVEZ0WCb5yzpCpkQYIVFSR6zlJQ8ivsn7lZzJfXzo+Rfh6vYYGu1KkSN09280eDrAsCT9823Lx7nMPv5Yq37uLNURun9kr5amFbey20KqYV7wTO8ZKNlYSQkzPcs0JwXpjnTKmcswKA/alqcc7Zkz2hONIiZKg3agPwZbUb31wWPUHkqjazvyDySU/2yfuleTfjrAAVN5zOJa8SOoBQa3VEnihLuy+BkY4KdVFoGMyZt40QNFqQ0qA5T9K4Mrk3weWdYLQhxw9MEwZCL/REon7SphL5P6szrNHCGiC6EFn84umbCQffHncLUwVGFZ+abBA7YWtsty/h6w6lDs6ih/f1ezSH8YX+5yk652r4RGbIXvx8jZT/vsylR/HSSH2degUhM5wyVF4L4SQs3uLggipSptvC1CNWqahPAGKE/DbK3HRBu+o2Y7xCliBXhsiZZatT9/TMgonKbTdBCC8EOLr8t6iXnUcPrTIqVvLzPw3wqsv8hHh+ZgFTZVnfIias7a68vXMxKrDUgyqHQPgFlnnL5mrTIclMoQHHDNrH+8RBfbSaNLWd6ekE7KozFTDiyD6W4eeuNn0I4O7yxLINPzJMTJrNXnSdYxzjFOPWK+BC/07t6BNmKR9wLpL3+7t/ORZ7U6Yo3mkdQuiD0PDKwriMuM3WVQ4JALo/7DyVKcY4E2NuFL62kpgSFAKo5Rwh5kkrAIooflXJG+m2N4IlIiE5YPXVrvdx1hs2YGEnolw7F1r1ZPAR2Wfe6uQ+OyEm3OzHsbQb6sgEek+CnRem9HN2g8LLaXz95x0iWGmO3jPp0fvPVjQbjkk0HZ4yy7eMzYSAOZ6Lx9nA4wqzvnm1J1vhJgpfayGYXZK6eKsLOu9/3QNM0EkGbZPvvIORmMkHoZqLv6Nk9AihXwu4afZ9FZ14v6fiYEkDdYrQFWutpPy2ObgbSrw4TlXQ71z6fIxbsPTak1A5Ov0LTpnX2pEsQZ1nSUBVxb9EQRlQ0RLAE5r4EUQCts19vdSOK9VSJ+Pyur1O1PZCtTrG4htI+0ukxiCyBlOgX8zZoPpJHZa1qpOl15LxtXftbKuvWOHeog1lw+DI9iBPwORgCI7/tLOIqLKaX307sXeXx2D5Ck3AxODXxSqQag9qOpo4/yNk9mhYLZDetXDS56Pvq1zl/cWE7cwI97H0rbMgcYD6s/VrubWMuyh2w6fPHDcwqQmOqNxtb7NKwt+Ccjb71kHKDT+cslTS7GKvZsDlFhOW+RSr2/SENq9B6xWbWM/G6/28mwk6jErx6LitwYdLWWUKw8m5FOGXcH9HzEVlcDhpbHlea5SvTdd4wGbdIa8qhQadG0JRjZpsSoYgu+CSw3qG+dUokaoXf1Y6y8gkxlKXeM9x7xn0+Jz/ehEo3To4UjEOjuIuZ8EDbPCx8sFbP2TmWNjRt7m0eDyYS9uVYnCHR5+mzbP7m5UOVOC5Uai1N9W6BeuYFu+ccG3eDTxwTBtfUErEAdYv+MHuSzYr6ADEqtqL6QNKWn8GCv8DaKddmNZFyOY06pfJJJKWFN1YZDe+OqEowyWOiZSY+u7y7/KTs51P9UMtB51CP8WOwhHqIEHVqUZ6PhoOgQf+fX4ucd0sQMqHqp0Z80Sk4m7Kw0ivafZWD46qLkLKG962D2X2vA5l3hwRLUnWUpyahaQpW+hRTn+nFhIXHnOMg3ZQ8775FbHsBRylUH5A0pHP4ycX285tUtvBV2NfBbuqweXt4TDrmjJ8wuqAyCKgkmaCIJCAZE6BludhIKYnsIAu0sZJxCFukcsBHHUh7tbErppHnHEEqCLtiKouEnzORjnRGAkIg+po0O0X6NK41RoWrJ9G4zr0zicqhBIg/McmNFTZ/BbahVMy5A36zkjGllMm4SAbMacS9gptgBzucJV2s+/WOn51sHLeQPc/9Hz4DwHoFugP/ic4C+/8e/U8lGLCm+A2tAFetCk7WlmSEuhC+bRzamg15GWzRSr3QUxp7NsSlODB8ZculkQrjoN0vk7dHMez0mxlsaHZFOmDhrNWZ8aSgt/0VNW+dPf8s/Nxoe2oOpAgBjz7XsmJHmPOuH1OtOOMZb7mx8ZGLX0XmgOlRgIo3ZNO7cRQML3SMsTcRos320KshAsM43nlC6kCK9u3KNNIKPkBC+cKtgDrEe/Tg/HPWLOZuViVbXXTRIMR7ZwJHUvht5sNR4avIHnrY/+KtHw4W2K3O3WpAkDhjneygpKLer/+BWNKDoiCAnkpxHjbgbdbDYjw2OSsoN2p9pFze+jnJXOx6xYZDu8JIKFsfZ1bKeDvzf30b1uXvqCPRgiNMEiLOrpvMdJOnzit2V9Yriy1tBS5iDfRWm/jJPKH8sWsRVZk27LrrORxsvF28PHDvghMubqQ+xOzp8eTBTGLm/q0N3AfIJdTCFW2p3yrXyaUKDUJ1zvYE+LTTAn4YTujvRcn2RrnV4Pg3HLmQMiwcd2AGzPIZnn9IIDiRbcwz280F67b+LBzgXUqaX+AaA18jbU0b3bQGS3EG/0s6/N85GqOKrHtAjlSMhszzYfsLHePv9ObAa1qEICDV9Hso1tpxI/We3987s1KJSPAx98lqf/W4CThm35q+K3At9bdKFWKY1lC14US2GnrApjfOUEXYLIbLPAifaANmt2rK0PtJH2fItBenhS5oiEDTYDRMkT0BJbrlNAP/Roe+KnF+sTVS9Ob63YpattZqSWMTStH5MqjsPhDZ3Dg0Onzd1lNIHEmY11SWhX2DgihzNhVLwl71TY1C1aMW/dQFmGcOSC4Uzd/JxaYPFlAXlXmLXvJcb/I7XzuHE49Rb/PmcMadH1i527qzg8mhK/TV8EhUPndZII6JfZPVL9t56kwB9BLlzY3xkTTjoSzu3TcrT0qCYt1q1qnpXX//gs2aRoLKuyZnPnasO3OG1ZRX7nLX1jNV0Lk/6CoC3DD+7+wDIwLo26MAq97tSof+KfI/7oQpiuU88/sHeYZou9hsKjFH+liu/zS+V2GgB+jx1fbDs8mq+G7SoEmJYulj9hDnPfBaXszEaiSEGSVC+SlsOkO/qr1KxnFaeLX39ap6wlRQ/DtaV992o4CKcNktioaTL1Ds/rtlJg2+TFgYd6tAx8LRyBj9u7bcUSibF48zdmqENDhPfbb8UawaDkr31nZiEFRayemz409go4SIvdpA5Gciqu6l2JzYKKeGPNehoECQyb/6gt0A/oYD0Dy/+1CzrvB9OwXJ1oa6ElT1H1t/veuWG5qPXpx1g3DqRDXyXvievxLe741gNfTH2mCQjIUZawJDa1QqU9kCcCZgZ/EV7MAZwXpyO7Y3iu/C2X4crzxz/AR+B9RYK38eiJdTyNFExqbOJAPKTb0IHl4RJgBR74OdyvP8mO3gnMDRMspjwn036gkeBu6UX/RLtI7fqOL879o1QmNEEF+q+fBweXJjMpdl8mWxZOnPV/Y5TDQmczf0lGyA0Zc8IkMnkAQGnsuNsj1S8zBH1QW/F4NGxeTRlDpeQ93lek2aYBb1qSAOpkmOn5tMjQaU6XG1TCzLxXtc2qrJ4mFl/HkCIL6l8PUVFmSzkC9vYG/ecUzpA+nDD8XN5QBTGYpaLO7sLYSAKeMtcfrwAtcpVbn96aFeCwx21bYL6ZRT7u4U3bohHFKgkKzmzCjt3kBn6de42ooO5R0TyNChMTuVvbpJED28XjnKpylqeLPSDrY9E2a2nCftHnQzqT1ZsSXf3H6kLj2Dm26fZLxJJqcBMjuFbpEzn6umBRSf9btKItVocGwyEltzxYy9kffKJIMVHDS4wb/qYTEBJTSGC5TvXuagvbUq70T6t3bWHqg1Z5spqQTozlarUBvTRSly4633jx43/c4YkdNvobK6JVa7AIJaiHq6V8CN6GQY00Sk4NTtdYwwFY59Supo7yaefFLj4vs4QmJEQfpY7BW4pVp7kFs34BICvcdgWjo5v9QvsdHNoF2JNfVsvvDQ42DMPjA57sPg038VrMPKNGTsBVb5wmFAC/kdfeK0F28b9u/D5+JPuWGlZMcgDL9AvNp596NHZgmW0sUDgT94HXDx0ZgsfPfFOBDCHrWLz2/UDmcwRVAxHtGWCm834PRPxjrQzsOMMv3u7iETvOfSpmgMMfxSisLlUDvlVWTXxc+k/ctxmzKLqxS71+J80nmGWq/kQXaMhQVgPqyKQZ1F9Tq5Wo/1ccTVa/FZ557ALNouOnaPTPJhpf0TpRxPKypsYa0AjZnwCbStpW86diE3fUFSrq84sjzlqz/WFR/qC+abmJ/nKGjXwBF/sJKwgz9UvEwYzR60ILgUW7fp7Exwv9312lqSRtUamUOJyh37cy7XJeXFQS28HdfYfXcEAaC/HfiRFz/aKhbbnTy3fEvn2b5r94SJnGaC+DaLIf/Fd4xqCjlCI+/bvrQUSTGo4C3D6ojN4YZy0EmMdwu548oWYyPBgqpdzNp83Ihy9iWR2fkJG8kzEeMZvsoJhcuYuSrjyzX6B1ltfSs2phd9OuiAcnt7N26zMvwLa/gcbp3KvOYGkj4Mgs3gdge+H3Vz5Qlv2i/N5qWjiU7Yct6jyMOgtthOnkCYHd/QtggvwGGcBNn8EvFXiiH3h5qOfoxmtpUuYV/jThHjum/NHjsg2qNk25RXBcew/Aw+wWwVYEajLSIZDmNiBDqz3gas7geIZGwlh/+eHDEaLrsn9B0Fyjv1z0IbRkhPablp+6qrgkRTtqFN4EhGLm5HOKE9aLJ0oYsDdFQsHJnz/GamwPnXShdH2RU+I41IzLP69R476pScLp6rRFOXHYd0fMVsOFbJVFFXFLEP5kZ12FIlxhiEzGlN9OGdnm8QThIf9IDzio9ctz/CpGUrFzO7C9oVbaQokBoXOOJB6w0JLkD8fkGCnt/32JSFSQltTZDoB4UcivwvcLBbHpxaT+wLOB9IBxXU3V6I8raD8BPZBRY8lboX3BxW1qzUDrqX/umnm07gVcCnGLTKkl9TGQum3d3Br1W1z7zrhHUla75UR/91SHayTXqK7l3ZGQsMq/PZD0oh5q6IcraJ8UsAUzRi35jvS3asD3XqUVnRjoujyDtdPhR7XQA7k7ZBAwAgmPKYfEpd/9iFWdfODrTKJkoAmD7mVYigivDn/2pur+bbci+I2E78POFv/YqVuelxjXIypYSYCpiQOAJHcJyJKSerr6TG6oK8IknvhJu6HuY08xqzxmble0mgScDMB9gbSP2hQ/6AXulOd8NzUX807LptM4FnJNCEpNztT8Mzg/RgmkwQNhrUa4vKZTKKN0ItgosLqRvYFBWkICQILNp/OSmYvvR89POBOlgJkhPCBgDt9buAnlSFY3n6ZS6QajMEcYBLsAmSuxkbaG1sdgd5B/99KHzjz/5LrRsQwkw8FhorXgGLo5mv+Xys84Lih6qURSar8j4oqrPtBVdGqxTDgYir5wU8H1LkTIvHFiUwHoJZaaDEUzukGrj7ySCebHr2ImH7XOlNcNrXWioVDMGwjjKPlXKbXeeI/G783EJuiwnuKcx698W4WL0NP7lIwz2mMlJauJsgat7oRrisSK61uWxHup00w7UWCLorLZIa5MrPP87qAJRhM4h1cgtJxjZl4Rv1gPiBAglnMKwHfVLLt3Hfna+gJUM2J7wCqgZ5qMluEvw5WL16BlTBbCSb/N01D+2IsQK7NiZkd4riN3DzXam2u1dpcW2cA5NI50wNoPN/1+ul7W5lQgs8br+CXcZX+Vvnr7WGeUjqVimSWIYtg7GKdiGoRtwr5utVxeAEUxztqg8GLS6ZbI+HdGIfLbscT/vhiOEtReIjOA5CbM7i9IWUWYrX/AL1PkefvU+TG+7QTn9z3jscitNdpEBj1Vrm4cDT9ItrZ0HWGkJiTrB6PQwLjgbJo1RqmMAp2bsNCOQOtVikLK6xeqo0ongTeKn65RE8FkJWs9BR3iIK8uiHPL+aPuhwgjoerQKbZQie4mDxUQoJ0tD4sq58Wb0+e7yNSf2N1lJrub+Gj/OzkfpeTXImPftYKs89TPssnLVaMDi9eqlkv8sT7j95vLiuJzzqEt89vQGeXMrqiQ7qzudLukb05j5KA2fwDPvlCHfNwdxmFJ0c+jwA4BS228WmFdGzlEVLE7KSTc0efAdgriI0mlwmYjj4P009ohnS3ueRGlmKyCdfOcIFa6Wh77RsQlZvQT1DNC+OwTDOLxR7ptGieTcUSzb2a3R2liWwfnSvAkUK4EVe8rdJmucMlqRlB6OxNIbg7dQhfKGIiAsmn6vVoFhJ7151YqevpvbyMSTaU+E7FDtzhqP5zT7NUNuHMRnZtIoQX5qRLf++SD9LpgvsSZgGesu0lP3yDymNe0gtL5WwagEaTHOHC/XpfYoxkedttqDPOp10XEULGBETtLH+Ff0cphxJRoZM9fGf/m+urRNMMZme6Qhb2zxf9w5VJkx+CPJLgXCkfkcokh3TqNmoAypGGhQ5aUnYKjh3fSZ+1zjY1WnoXWx4H8s5kHCFqCzW6mftjBZZZqAuq4QC4NBvViW82UjEse8Fx00VqVtLsImxaWo7gGy9Uq2U9brmBN+vFvd3Alae8bHUElJUR+DJU7h4YB9sWVcqoFGleIpasSLc41+WSATa3N/B73T9xrJVDypL7lew2gFOZHrowblJje4kv0INAw1BDfE/ovDox/RyAmAOrwq9hqHcZLtPwK4ZhGmQy2Djo6HoXIXE+8vEkOTxC8kXTHv26R97eEeoIoO1sAtn463wEUg6MvAuCnRmGxZm9djsiaBkJojNfpQ9jyByBL6ytODWnF8pjC33+kRlCPF3TnSSYMVrQJYcklVhn68wr60KX5xIAM2dPyHgzZDmBHe2bJeI5OUP4esfvGB/zkLvHd0vnKbljJDNDLXido8R7HZDSfbkoJiSgw8JJHhgY0kh0gNKNdyQLzNF4JWSEo9lNOSPTzKB4n2tAT1Mt4iwSphY6veVy9S4jEqKsoMNKN7jkDV3h3+/dcxQW+5CYyhhzFsO8YzrvtJI8nS98Bbm/i7nYCzIYhY24+M97wnNwha7VL/N7NnKzxzI+rMAwsxWjyTVEE6KRYrYywLtl1YeJtdxq1OMT1NKDhZO3rzUmE3VMFZ+WcO6svYWHCp9ve6jkb/jJPha1/boNfkTc+pyYvVbb0iknC6tcVrZMj0ugYYHnDUfTCQPWvbUwA5WqY8yTTwZgTIHPpGn+QS1CKBp4UMyHlm+5+ZPd7G1IYLdeeosGihAjgn11mlI73U0Sc0Tc+jAptWsvaQfzvRkpKOa41uNsxkJ/XKu1uxnt1+3kIc8CQ/sjA74JMghif/uAT6xEbHIac07AGEn5OKOTLupbPLeXI3uqogXnAoiRjCjC3oMtXGfy48wXRYM2G7YkQkD0XERCfbiVKbe6cN3MHV35gLw1dwzM3fp/WEhooyggYxL67u5ZMkCcBqiJmvb98++N11xPI5ifMHV6tJ038nivKFOIV4Uodr8GDLRoafS9LNeB/SkKcBcwASqc5hnECrS/uVLKdKqAAOChtzQHFsDS+oHNQBUkug87zVQtCGk6b716DcHZuB5ui9TVBJ13sKNz1x6z5R4wiy9cXh6iXokRE0vjsiv5C/SwuvS2v+/QSP8AgmRI79YwWBaDivqQDwqt3hn7B8dyIu6HklJ4KOLW9La8LIKkZS9ZVcMAF2RSVG7dGIXjuorYiELd4KiDmP6vxJferz7GTglkmYd0D8l0nN4ltrxCB8uaZYVV6FqRu2oP9LakauSLc97OpP6oG9qeX4g2NoRnjIjUX3Bwg5nL+kjeYqEzcGBVZuRqMD4jpYF8JgK5QxAnx29vno2EvfOXkdbP+YuMd7wesX8F+iA5nyxE+dliZ7Gzoxz+ugvJMXiaJr6eJLONV82XIlCKGS64xu+sdRwAXYtaMwdDw8amK69SY5vWn5KZjxhH1D9a0Pf35MxBrcyFluWoWixitA8M9zWy4KCe8InY5FbJe9TaQiko+jEyQ4F1hXjjwceYsBlN1W0JgeKk2nCFriV4YCQjho07y4RzaqZmdGb8/9JbXNTrckxXUP48b6IPs3WC9SRJuVs3oRxi1r0GuXjQFDPMhmT/wLgmoOckjD9kLg+Wsi3ASobWKrBQd5NAweuEZ+EAc0wwobJSvqSB7Rnha8MmKyzEcnIHagMMjVhY5YDT5WVI6Hmil9hnkFCZTmaIBNt5YjXMdInAv4RLllm7coibB6t/o1SICPDVeJ8tzkBviBQOGoqluITVPL/Isw2mK7am5VvFWZkh1N/aiK6sSXNkmtTPqLgxUhDIvBJcrzvDV5pbdL4KnY4Ns/WkgYQC/vJSgM3MeG5ZaQFw7OpRvZxkqirp8NR6bbtfVqKq/LLMedLV1ajKc/n87hDLU/Ozya4ur141ylmqqiWZp84s9ZXWUdfXtXV5MOnyrh7uz9QjylpRuId3bu+uec9BlQnElkfTnJWhrQlA8048+1d9TJzVpj5WqjWzx20z7weWr2wiN4/HMIU9mhjzU380BYy4PUYW3tu/d/OwJlDZginiWLRq4htY4ai91p9ew6wJl19mGpULCkGJLa1mByCO29SdGBFpTjvz7Kn3Z3kwtylsy3dteFsuEh9gkBNW5dLl9+KoDffzcXqec46m81yGtrSyefFL23UX7DhLKXDr/or5GsGQvfOIp0f8/IQ7tYclc2/mYA4qySpgAKKz3DRiKxBH2tK66Zd1EQ+aRj3cFOys6oQag2xdE+hIUCl4bn1h5luv0a3d7XmPG71qRGNo5P0970qa7V3zGiac0kBgXYGmGSjCJS6wcIBC7xEWFl2pdkPDrh7reRR5KJfq73c2VJeQ06USChTAMDgsZfvQrlD/5jCg31Ms7hUXaiJA4AZEG5jNbPV8mdgG6IBUpUQVWrM+QxFY7uwnBEoC089ypi6UHF2MyeeeqjADb+h0XQO6SIldPA2PYK7kce8XYlG9AGzTEuVIH8ehGcLQTacnZJXrtiLli/RutU1N5pMBpHYlEJCFi0n9sg3/IaOEDYmCFH7QGdGPeZr1mse2h/Bjx/pE30endkrHaNrp5XoXfReaFXAQme/bFWuyCSX5GkJpSoL0FNRG0r0lRFdePzXx+34Gl2vWcX8kk7RUOKW7OHbRgZTQ6hAm6p990duTBot7EJLpI82/5mvP9fj7kaxA5P7P7YQ7NyFdZRxq3WhfxIdBlmYHdQ/sGkY8kOhLayNigrUQxGwVFvQXF6xsah0EVAzzKNGbQr5Zyv3zXkrGzuPWQtpOc54nDkIMt0mZLtgytFS/KReIQO4KuiGhB6zsnkyQARCFv4FjdFob9FPZBJAkRv3WFGm1Y7LbB2YQThZdUIjBtwh1IrufJTGF2MlZayw/sSngjPazr0ef3CgXcsKnYuMZ+CXNaPKHzfbZWmZ0RbLI25f+8758qR3UoipyW8SeDodfCJBUSZCQLVg3TozshuFwdvGpR97QIUDGcd0ygnlsjaVkrzYLz48XuYS9Hs9pshbBRH2ZFUnDeovVVnj0GUnjIocNK0wuT1ZmDlWc5LmlDbBUpOFr85VFPVRlHEwkZlR1kumsVEgTpHstMASaBV6UU67ZZLa1f8qfSWhRHKvID+2xypswqIgwYFb8E7I4s+//ZIiBuaHCiURguAZZ1Qy3fuFIl1HMbpBU2dvE52pao58VPQ61eTEJLHtm4fYm4SO+pg4hJx9k94djJKI67UEkKSohy84bDJRaryKH+di8w0AneZDnyvQGlgosTkRWzAGXo1uC0SRC+vcRDm7Ic4XGSKYpe56Awb4sACQk1qysMkWK3HDONHPVcGevt5XeMPE/eM4K3V6XmmSR63bkV9sRl9CAD0scJqjeialkXes4W74ym5j7y0y2cCkZMqso54BXBFspgITS0gCRmukRY57pP8I/Sd9JILYPYS2gFQOdEv8eId1P6TUBZhjaLrjd9UZVip3Wx+H6GF2k08044cooW6WRigZPXIKujqIupnSLqO+7SZKRZusjPyJzR/0g/h3tCNNO5vcoRemf0et0aVIpQPp1BfcS9l5Sj8rP0BLWpHRR53ExmI+QFHFLq6BVBhM1MjlyEfFFBZ8zR+nmNG2Fcfet8X2ZdlRhzCHp0Gr1AISQ5hFzLtFK49OnttEgQWEqj6gIuOfE8Rb44lAnajHs7uKnd1Va2m/J4L3aCByjnuNm5Dfyvee86P0fesVPnR5BXhhq+1t9vW3VwjtvFEomwunHTnk5/vZxOOrihF/z24FUkh0GbP1B3NOb+G2X0v+Y3fGUMcRHFhrCYQ+Q8fx2zzvmsWmGVg6gSrJqoqWTcmhnDMFelQwmKZgfySqBUMzzU5crtwJTXJEm5Ln3Dqq9PH1JB9iGfNbSrTguTnI5V6Aj3ywwjId+PH32TNgxuJISCR/YmhVBaBJTawCKXEbEEz491nP48agQ2tGTBvFRVm6nI/0gEJA4mdycGiR6qIRup7CNt+O6QkNl5IMbppS3y98uo1PsAva4hXTjMoXsfiT64emetsJn9hbl+2V+KFdeiL502eyW5Bdmg/+FfBS4bhpJDfDmQGSG/PE/J8rwD0osKptKHJOemVKmFOcBeE5ounTgGuFvdlfNB0oBVGXZkTse7SBP/f8R4NiwMHFS4u5omj73knOVX5gqAzPF7t0dlJqnYEzZRtneHMZGf5U1C2wywSKjasIbmdBsStZTQKgyxRzvsAR88Q+9EEE+Bf4bUcdMkqJnfp8volXWNuMADZUDFlO8DOX42QrE7JC1kwDw4SSm5drl0RC6yMfMHyfuDBuaKFTf9yg58exQtmy0Pdrc8MgzhHShaDO26nZU1a+ub6WzXpZp56IhJR+C6iEZeDSQ+uWk1z9/OLabRJYdHxXSnJmvHqUO/E0LVi+4pm0lju2s8WLkxTNa5ADRedanL9cwwR1CN9C65qtutmtLz61rog5rk49QI5nd+hoJrGBvQx6mIE22We/wPKkyHqZZJoX5uXtCzfRmOmjALDVO5+gLoN36HdzriW4VCvL+f9ze+5zhAPv77RtUSpNw0cjpBoidN6qw0Om7EDWIED6DN3qSaPSctTM+JkfIZszwXoQrJwu1bPDdkxMHOKw4uC5gdNZu0/7pNSmwciKEQkx6kRnbMGerTY3nc3ji1ddPtJ6g6PCOJKN06ikVm2dD6ZLubAkyebkKvISjHb0iHIAradYFSfzPXz6nC4+6CyLXVt7JfRxUCX2+gUoQ4RBzqmhVOaTSiWnaocepmABOYwQ7X4GNIBNoAQGoFPsTASFz2xQVgXkOcZX+e2pKbm/FQ7z1uJSE88aCsxWyUcFKag7TI0PYmV9sG+LT/VctkilOD3RTwovbJZu8DS1/sMMqLtNtImcr33Lk4opQ9If4CpR9/14/NOcFhL7l18WA38TOfFudpQi2HUxL/r7ZzGvr3bKDRfXPRT3ue3d46DQurRLSeydmz97RtWzzUwLj6T2VAJ4OioJ9/WEd+N4zvaXlftma/GFirTeZVhELcZcrVvYJKEkOgZEm4/eYREQlGqks2YM+By92GR9E6MyNQGSRjuXpRPD5aE9wUmDHT1vvORuaozxkORWJ9LbVgp8xwNzToE4n0NJyd5/mwI3pUnttPuL84aYErMKfaqCwB8hm+pG6YAes5yNo53so3i1GH4YXj+sbV1dUH95NBx+GXHZIPmGBXArxQP6BZZQQAkMPVrKTLBgNNc7Qzt+rX9fY3YGlSMRGtT69d8GCYzfxFMGR6uJbb7ig3cPk2kf7yLeQypyhLjD7u6EIpH8pa6nZLekC9c3NlyS3duIMC++C/ljT5ONmdKQ0lrTTWkjWl/Dn6ld3L88f+2l/v+QL7XjtZvpWAMxjXDuPq9W7R1SEFgJUxMz/Hmyvybuyrzj21fX6VUpQ18MbLmdQznnQyJXp1owXgZoyHB+WTaNeHaL79SbWu0MmBqCciCSWwHJdXWX4BSGv0jyQywxeBZCnBFeRx+6evPBjhmoszXtzy7wDSDs3BjGchyTmYb3Xp12LGiVS99BbR5SeGMfx/Peraf5kwHaPY3tJEIrFfdZznPXrUwPyf1gWn+VnTNSb8RkPG7sPqbGYfORKx0qIFteJwAEYEuu/wQOQ4slPrf3s2+z54BzepPRJ4uCGMtHbfao+Lbm994/I0bgymqT8z58kvGuihO30VRp2FZ9kJE1vqG18Tqw8XpGULtAt11ng8wEyxB39tm/gZMBETGqDGuAKgBMPV9c5GACDGdlno2/cJjLVCVap+EluaRRR/9R4mDrzk2P+ENoR/jdOqPHX6CcTCTwtt8S0PVov0xQhZZJrq4W/+eZ90FAziLT3XnERdurtvuTaaReY3SWeYjyU4ETL3s4NqrwiGqz7JSU/CntpWRTky9K0q5PGmdgL0f4bjMkeTiPqXndoc/fmIWE1i3x1SxEMoF5iLDgv9dRMuBPnLHi7tdsYMlebhWnPXwMbYbLDSGFq7QfqZpQ+JQwYDBxS3+m9GKQCoTtGKXXya2Fk252HEN3qPtEaG+awb7wlMmtkvSBtgg+UWt0h2debNZIFWt0BW3l6wZG0cmSkRy6hXPLJknaDksTLbj1jtY80PChXIcdmtdq2EPZEs8nFse/Bu/+YeiS2Pl/5163kG/4IPBFZ15rQrUMl4PsvGPOt1dC4Obsz956M6z1dnOSoM/nQUD9oJSRDWEvcxy0RRWkIY5giow130f1QEBXsYlPv+YO4sVmWybYDRRO9lOrR5FRR5E9hVxCLu8lutJVFQkATxqDPtrEI7AI0lioZ2mndU448OimRZuqCKhkd9BeAdxeiY+ZoyHuCkHkRmUvXFMN4QWtftq+dpw1OLlKVwhrCeAJj2g1eqUuKg16ep9ezoH2ozR2h7+W4RIwALG1VlGkyX8ockm9LTL2Ghy9ktJVMobOqt6Z2TeS6YLJnRPuAnhCCrG5MOiuKkZuJX+/O3gvReFSt7QkYbklWQepMbPXx5zKxB9U0da3EhFcUFFhoVkFC1ORibmtwpd0boqYK0gUqdu5R1XfHB9BGPAIERqVFMuBEO5lgMBHPINjPc348LWyPi5pfg9QSueLRwxzxgALzxCWNRm6XUvM88BHEeo7ZGfOGagVEFmEoOsYlwy4Jt6otB7sCEuU+RoT41OSgD0qXKSy99YzcLQyVnFZX5orcRDD1zB494Rg7p6knB8JiOEnAAyP7VarroCtPJcpve63Hhznkq4uLwjfx/SRdIpW9ezGcsDG8UcypZM1wORAL5abMsmpwYMPq9ns8Ga6ffDUdaNtl/vhhfC3OaQSPHqilfPhnf4fITGGKQqNX8+tGdZr+8mqk3t8gNsSWq2CwpmqVEdpJV9jmDTz6PmlTs7PtaPBS3clgGJ9U/Ivk+LadwBSwRSiuMfKmw7I3hBkqN8d3HmEzqy8ypqObFSxVuwLn25hCaqiahjdh1G/sr3u2HNXIYqCiRpsLfibuuFLNKdzQwC9bomsn3JhiJdIoOpJCGZDqTmvXenU/gJE0oAw1khS3mswoPb/DzdNuYVv/9LvnWn7g8ExcRdkHEo83Xjn16O2nz6DQ130roNf7aouGSNlFOXQ+dQHXO311CyRAyVvToebPCtTmAnhkAA95MmN7IjUD4eituKIj6ZG1le4DNkaXwLCzi1fcbmI8Kw2DpCOEYXJCUFw9JXzq29WBSuEKvDIdwOeu0zqxS5IelvpDbtslo02cSPhWNUMoltAsUxtNscrnMyEBqGn4QGc1yhFJlOlMEjeLwCd9rhWdx/eY6Djghy+KbWaGSN777ZIUJUcklew1ajgkNzW2paPQTcIpLg5PihFOG6SPzs+o38kdeFpxYKFezVouPye2c2MoGaDtFUtLgmubsrWDXJNS2hmIv6aUMs5lOqLTotSzKpFDSVh04CO4pMN9XKs3s8JyluAkUN4Qj1Gtj0hZJRXBqezTA3DOHOltEU+pQrQX2QLAIkTls/kAYP0sRfTW3PBgyzTMLoJ1o48edpbXyYq6G+r8MEuW262O/fSgUBKsYfZiO4mXYxDWKnlbdWg195YGhuw5v9qEC+usU4hbveU869K7fMa+mrIeGMxXUut9qT6ZIpeDYadPgZbo623x8QKCYutFk6FSGRiO91WgFHAMPUkGYiIYcldEg3Zq5nnHck7XfLQzSrucNdgG/pybtgJwosrwR0QwNv3qHqh2SmJGRIaSb9PTnn993U7TKG0Lx0ipjIP9eWVG1c3xMCLehZWrsDP81EHvAcFdaPWu/8k+hn1rJITxV1WQetdaMXXTPoBXJWNyLsSQlfSgHn4VYvt3Ks3ikYxvrtXylzYAmGpS1Amxz98dnVQWiyvfkE4km72HyiBVic1DyDF2Le49D1kTErOHTVOxoylhjo1K6hBpAeg2uxaQHkFKBEs59a0Pj9z9xQ1dF8czAN0eAExgPGD4DC8doaC5ud5TnUXO1idLqWSGKW2m0rIVUQDBpB6enMxANd7spD+8dr4v47Ft/LJOvdyI7u0Ch8BhFs5tnAu1pHd8IPvBCbIUIw7Wj/DZkX4YwEJKYLI2qOjmXAfIwyPvLZQLVAwX7i/Nzk5GAz3RYYDDc9Qdtc7bUxabGoUrDsRwhjzm3QO34cBsPHoayV4wRlFlw4PPT6ewu0TE1B3Dz9c2mEILfOISVYqthy4bWa+2euS0AGNpl8JUtVBgkgRSU7Mwg1edQfy4HQChx1YBM6fs/JEez5kjYrdm/iga8PFTXdZgTgsSO3o44i9cYl01toVNTjZH3ILhXacpse3jxRtYeQ+cZDBhIGJHPxmHwnZYRx2VCU7d3pDzGt6anOOPUJTZf5FpxoUoto56WlvXvtza9WuhhTa0tw1TJoOn37PFJlQmIneEvPPDIDvQaxZCgPDfCwrX4LYKWZnxVMbjTON7/oHNVEFFpNx9Z2XPd51OXycu89g7S3NZQre02rBu6oZDg2dJXCNncD8aXaQ78NYuwZXKHYjtuL5N3lWxD8CJdZ8bMvR2Ac19ykm4kfvgnxxUvwR44CYvJ4itXJ5964207FDevga3Z/aRe3lAwYf2L/4yYPQfzj8wbPvyGqz5HFBmoa3U2VUq9JxyR+DZHt310Fht1GWooZXNFCkkORI6v9KxGWikTlg+noPrPDWuj9kVSzN8zzORl0J9POnZrajyuE5sOrjVObbdOBy+qY5n2l5XGOFKX4MW2uquQDEKczxDq2jkaJAsvWbfA4WxWkblkb2y2452uKn0B3xFU5o08XEq74kk2P7ZE9A6z5ax+oR5PiOvBMbxr9zLe4omSMkaF/9SB0BLf0ST+fe8+KvYWV5IZH7mR6wYCnbsCe2SGlf+MooIUWDbCn4uwp8L1YMl2xzay1BNSCuvHCXrtyfcm7L0qG3F0WB3KSrKunQAes2cCUGts8KwbX2ZmqZhHPRc183/B3QRSlxsfwymqA3lBWKaXg5YbLsknEgBOACWELH9zun/rwPHJ9NfztcKjBIOcPYaEVqTbevDCLLSxeSYTAZ/l1FII8pjR9IG3BjXPpmfjiWQdpybGX6wzXqYUfqzqEdw2FdIkuvVsZ9sF9LEKE044tYz03Oyhi7RvfrjymNnLs3/qs5dvuZrSstN6fKW3u0d2mnm7SUCuJmrbPOn6PS5BnGxzmrbpMhfPFVGV0cnZzOSY3Tm8WdJv8oh5X1op1k6uTDjB9bhr7MVpr/1voS8eWlH1ogrcIkA7+tfRP9IHCWaOf7BZKDUMnLFYXLfwXWJtLH5ik1ZTl6hvMs6nRfd6SisL1636FhT5P9UDy5qr7vwGc9vEC9e/dn/FpXX6oz0a5KLv1QjhFXY6ex17upVmmmhZLyGHpRi+y6edUaOjaA5iMzSDC+Ec8Kwbiq85iw8G069eTzFOZ+QEWPcp9mUKovWfXCAKmwBzgQy20p+spimc4iHNWOppRlOlQQ2SkH99lLKzl69z4nih68ObcpBE7Eq3WO6jB6PS9RTjiqTjZeRI+UUTB/z4q9lAMm0PATKB4dLN805yB9+kHXGa+Dptu/nZaEQj8vLnBSbX/qoyUaVYJO4kbXO78c0UERQbYMm/reCknaIgBxlMldoyYcXSgDqFMLHd1le4Di7yGCmnDBLNpYzTA3j1cfE115zqqoEHQ6ypLDtKaqPR9iATSNIR1nYvPFHYIChMOmQtjJ4AbE4ZisdDKVnppBczdBOC6R0bKZrXiwriMmTDWLqnMpw4DLb4taDq4Nia5jzCzgfWa3tCx+Nkp1ByAnAdd9eMQSW8BrPMnERD5itP8oOiYI4tYiB+PjeWSy9G4vD9EEB7XgQQFsmff2xXIFiNBHjWvU5WnsL6cfyzQgwwr6eWc3gdrIzJApkzQ6nAU6kzS9A3rXMnaag074CSBSe7xpSMw+jQDJp0JnhNZu8Cdi6HPWRnwPP7IWZtI5/1R2LBvEwqkCKjYwfFJVa+2QhSzBD0bd4GedTGqXKxffP5Rz63z2nMNpc+L0JH/0hiFqVKlJXMhp6ee8XHpCSSZDCqkZ0aJ14SMSbjiO3H4wsfKHUjahyk9MDVLkx6hbBnUlAxUQ1g5/HlZwurFVLzZ9VTH7bKLsZXZJ/625HwNki30ebukuGaf/oQe/yijkyvrPSMjOV/i5QYAjkiAPz1g4I3fMNxmOCx9l7/e0EmLX+yIrCMl5oWfVK6osdSCchiOaaIj7B0RTVmOk3C1RAI2SPzzHr1UacVrE+fCl03L5lxTa1bcHpaOWNVuD21uyPLblNLHebDtYWy0vidgw/ULQr5Dko09I4nKzM7Y+AoW4HYewnsPh06P94StqWZnSiha8kUwIhvNeVWHqtvg0eIPb8hD4zf6Lpw9ejO4DaM85/08mwRF7nbXrMNf+FtE+hMzhkbo1jKZ5x2G4y8tao8ksYY+tLBu/Jb1/Wtdeh1FtNuoChXndAXUFVGOMQNsHjoqUjFC0PjsXPeeD8XK/N7/R5Bk17KqBRXfVRiGL/qqUdyPBW3sNdcR4zTc47xaTY1c2hIM/G6Q/L12u3OHqT2RfE5Nd8Hl64O3nB5qycq6v8c05v+TRjBRu+pCilK8uMs5yMWtH5NrqicLi1QjToZOEKsyZGtMipgCgcrkrP68lgJPajzkPV0vGxuMB5zjjH1Xp1bzAl9WSqzhPcQmO1aiZYw4Rk0MToPcH1W1dVd9ZTbPEY33S0z+JWh6kXfPOw4Qt6ZjA9FvcW2FI9S/zXQE1xn7TJAAPnMdcvY2pryKyx7eQBcYcmbp0xkBfTunR5rlMt6zqW3dNIxpM4UqxPWt+8xT5eOA1tfNV7sdHYNzzqGp7gHo5yiscsaJMqPJxLKcH6eFJdJBWfww52FD4IvsfYDosjMkYvB549ahNmevMcZlqkDT8aHFpDt+CsJy82enoctKT7gaxJPvOGwhU3cPdDZsq6HfKmSw29BC1fEwO+Ff37K/dOL9S7VBlaJ8GbreAUT5G3Fac4vbBev03OfdY854tl6AXWhpYocyjTg8kyLY+YssRC91qEhrVXdEuHMfFgmamjG3iOxEoBci6s/ZNS0xAgUM7glufJD9IadY0XqjZ78t4khhui62rxBhvnD3IG4BLf1pVRrYNBetXqlv+cXoCnLOqKnMO6SISyQN8QD0vSU398ZipV0geq2QsB4p5vVdBqvJFziTCk27ZKqURDR55BKHIJSs+PPB656uKlrwc9BcVFaga0mTYv7lk1jtl42T+1d8U00jeoDOc+gbFXDQ0Bz1do5EFZISc8jJmKMg45w0tifTDzoGle9D23dd85kDGh/yqPegcj6iVhXdv4u6yM1yDERcw6h0dy1dEnQF1eZSjT3UnMAm2aHMmk0AX0QwG04wmO5MAP5mQ+0PLyb3VByoVTbykhYhUf1PtPa0QKVfwQZ5kn3KjvLfp4z2PNpR2BlP33POZBckk+6MiehPOJl8wbx/unjM3KySRCfwu0QnB4aZyBBbrhCM/UHSAOKlx700l5OvmpTUVHtRNGP0Ht0htIPNwUEojgxYWRgiajRwmorZz6LgLbtSCJr928ggt4tupq7GSiA9P+3a3fcMbp3kT4ujJ86VTK/7jINrwQFWfw760WlL0CeVrwk5Vby9KTuRPl1NDjZ68Upa2PaDD6kNBlT9wyHZkkuVHYtzNoulIzLD1bb0SgqcOvW3mE3hgDJXk7SxHzXIGAoF/9/mQxcKC0eTgm1wWxL7t4jwoc9nvATKhM3vSngdMRVluuZ1dVPvsG1JOHxfVPZBxPxVSfBZj519Nxopu/eYFy79wCm/KaeLmaNmGfbzFeFp9hqNgWgH2MZ5aL68Gw6mKQBPIsFBANYPNAOt9luymUBkO4IKdaixlmAx4P/eQIz37UTrawGR/bdSOPUY/T6QCfp8/6nSag2Ok3FogDNMf9XsxvftHSdNxxU8yv3L3vi9E3N8F4MpdiQBzg82W9i7qfMWo7lyzDN3FVnKteun6wdj06b/145w1W5eyfBpRzhXj5tY58+GhB0xWHLlDJgz1nK5FPMSpeZDX89NBtsY3QGATVgolxqnKcZpYCh2hgia+ykvIcLsJSzAN40R4k7iY141P4q1gZh5EneVqBXOGDSpIQtuMDRgjWprPOSmjB/VrDiG7Y+Movng9XpZGVP0Xna4hrdx1XIMN34t16R0XdD9vrNFFYl2eusHwgGqwCEArfd5UnXBw0Tg7sxFDgQCGt/5pswjmWHXaLV9dbBr+sN3rwVHyNwoHoqGZKPs8YS4zfyn5BP10bovQyNGsuruhtOD8DUHh9WJnRxI07iQ+eXs/7PTd0aCkr3YPZRbVkmK4DwHJoLrdLhh9MRdBbf5EuRbEVSCv9mT3IMNmXLrOarsv37NXv1EAw6mXYWr/bBeh1VW3y12SE02HUUKOlSqsnnafWitlDSiCBK6/114qAKmt8XVijNWtZQYrt3oNC6mIkwUCQ3+oASnoWWlXu6R3O3i3DrY7Ki/UPz6DxfpPI4TggJwOyf01T2y8SHP16fzeJpq6u2vkohKVHQT3Dt13g6KTJfz2/gJXKkxG8xLen3OPH0SH/uPC/6zGoF/1OYW2L5t9+GsC70NjWcVgOraTAEfUc47CJX+3vgvgBJsMYdOFFJxrx6MSV+GkO8++c0fMxI+sbhJAHDEW2NS6GBmcRSYiJd4uSjhBDyOcTzoPhp+EDVsFtlsotHsZL/mfhsG/z755h2gaMootNz1Pntgk0zN/TWdd3EjHj/M0g3LD7Zi2AI/nSy5JBgs8J5EKHMMjP3SYeQ555DiUaWLNUEIwIaOY/juFgQjnyoCyDURTmDGQKi8xVaL+NE+wdSfqWdabDy1C24/qz3UZ2hOjfKI0ZMhaULrKkaMAzHCArRDfiMMtCDimEmJHKvCJ3M4Bhx9OABn1CtRg9GzDLTfK3qcJf2rtYeXt4CuzsbkcdcHNpjyB9lwL+2jrKr8fmmOdVwm3/AVtuKMBKQ8WWkfW27Iax30zdGD6GBNz/lzTvrqkL9GxjKcEH9gR/qX8/5wHzxIXSx0Ymauq32UUh/5MuoMNrblxidzuApp0PwMQE8i5E4JEMrGPMNzG0B7j1RpbkpnCJwUl+5Z+DsB3X0gRbuzNQsksKUb0u+7Yh1luyZZh7pJeAgunpXB5eyb60ze7reu1piu3YHhP2/NlsadORGR8VLsu2UzPFrtN/z0PfCdzPm9Ia336AlzfEOP+KG83ya9Tj3ow3crwprmdVxqoqicyOfrFZ8uXFXNTnAS6LScFehFJGIU5iW0zJjxxOd9ikMzEm3sdj8KMfBUqnKschKO3WAjbdeqfvLi2ATY91jSaQoV+GADo4gA3B4AzvxsntBgJ4ILN0SdiSdJbsFrhrGJzyo0xu9ff5mf/83l2Gcn8e","base64")).toString()),qq)});var YIe=_((vVt,jIe)=>{var Xq=Symbol("arg flag"),Oa=class extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,Oa.prototype)}};function ov(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new Oa("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(t)){if(!A)throw new Oa("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new Oa(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new Oa(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[A]=="string"){n[A]=t[A];continue}let p=t[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(I,v,x=[])=>(x.push(E(I,v,x[x.length-1])),x),h=E===Boolean||E[Xq]===!0}else if(typeof p=="function")h=p===Boolean||p[Xq]===!0;else throw new Oa(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new Oa(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=e.length;A0){a._=a._.concat(e.slice(A));break}if(h==="--"){a._=a._.concat(e.slice(A+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(I=>`-${I}`);for(let I=0;I1&&e[A+1][0]==="-"&&!(e[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(N===Number||typeof BigInt<"u"&&N===BigInt))){let J=x===F?"":` (alias for ${F})`;throw new Oa(`option requires argument: ${x}${J}`,"ARG_MISSING_REQUIRED_LONGARG")}a[F]=N(e[A+1],F,a[F]),++A}else a[F]=N(C,F,a[F])}}else a._.push(h)}return a}ov.flag=t=>(t[Xq]=!0,t);ov.COUNT=ov.flag((t,e,r)=>(r||0)+1);ov.ArgError=Oa;jIe.exports=ov});var $Ie=_((eXt,ZIe)=>{var tG;ZIe.exports=()=>(typeof tG>"u"&&(tG=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),tG)});var i1e=_((aG,lG)=>{(function(t){aG&&typeof aG=="object"&&typeof lG<"u"?lG.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var l1e=_((ZXt,a1e)=>{"use strict";cG.ifExists=t1t;var GC=ve("util"),oc=ve("path"),s1e=i1e(),ZIt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,$It={createPwshFile:!0,createCmdFile:s1e(),fs:ve("fs")},e1t=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function o1e(t){let e={...$It,...t},r=e.fs;return e.fs_={chmod:r.chmod?GC.promisify(r.chmod):async()=>{},mkdir:GC.promisify(r.mkdir),readFile:GC.promisify(r.readFile),stat:GC.promisify(r.stat),unlink:GC.promisify(r.unlink),writeFile:GC.promisify(r.writeFile)},e}async function cG(t,e,r){let o=o1e(r);await o.fs_.stat(t),await n1t(t,e,o)}function t1t(t,e,r){return cG(t,e,r).catch(()=>{})}function r1t(t,e){return e.fs_.unlink(t).catch(()=>{})}async function n1t(t,e,r){let o=await l1t(t,r);return await i1t(e,r),s1t(t,e,o,r)}function i1t(t,e){return e.fs_.mkdir(oc.dirname(t),{recursive:!0})}function s1t(t,e,r,o){let a=o1e(o),n=[{generator:A1t,extension:""}];return a.createCmdFile&&n.push({generator:u1t,extension:".cmd"}),a.createPwshFile&&n.push({generator:f1t,extension:".ps1"}),Promise.all(n.map(u=>c1t(t,e+u.extension,r,u.generator,a)))}function o1t(t,e){return r1t(t,e)}function a1t(t,e){return p1t(t,e)}async function l1t(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(ZIt);if(!a){let n=oc.extname(t).toLowerCase();return{program:e1t.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function c1t(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await o1t(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),a1t(e,a)}function u1t(t,e,r){let a=oc.relative(oc.dirname(e),t).split("/").join("\\"),n=oc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=uG(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",I=h?`@SET NODE_PATH=${h}\r +`:"";return u?I+=`@IF EXIST ${u} (\r + ${u} ${p} ${a} ${E}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${A} ${p} ${a} ${E}%*\r +)\r +`:I+=`@${A} ${p} ${a} ${E}%*\r +`,I}function A1t(t,e,r){let o=oc.relative(oc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=oc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=uG(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,I=r.nodePath?`export NODE_PATH="${p}" +`:"";return n?E+=`${I}if [ -x ${n} ]; then + exec ${n} ${A} ${o} ${h}"$@" +else + exec ${a} ${A} ${o} ${h}"$@" +fi +`:E+=`${I}${a} ${A} ${o} ${h}"$@" +exit $? +`,E}function f1t(t,e,r){let o=oc.relative(oc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=oc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=uG(r.nodePath),E=h.win32,I=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",x=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${E}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(x+=` else { + $env:NODE_PATH="${I}" +}`),u?x+=` +$ret=0 +if (Test-Path ${u}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${u} ${p} ${o} ${v}$args + } else { + & ${u} ${p} ${o} ${v}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${v}$args + } else { + & ${n} ${p} ${o} ${v}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:x+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${v}$args +} else { + & ${n} ${p} ${o} ${v}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,x}function p1t(t,e){return e.fs_.chmod(t,493)}function uG(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(oc.delimiter):Array.from(t),r={};for(let o=0;o`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}a1e.exports=cG});var vG=_((E$t,x1e)=>{x1e.exports=ve("stream")});var F1e=_((C$t,R1e)=>{"use strict";function k1e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function _1t(t){for(var e=1;e0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return kQ.alloc(0);for(var o=kQ.allocUnsafe(r>>>0),a=this.head,n=0;a;)K1t(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return ru.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=kQ.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:W1t,value:function(r,o){return PG(this,_1t({},o,{depth:0,customInspect:!1}))}}]),t}()});var SG=_((w$t,L1e)=>{"use strict";function z1t(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(DG,this,t)):process.nextTick(DG,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(QQ,r):(r._writableState.errorEmitted=!0,process.nextTick(T1e,r,n)):process.nextTick(T1e,r,n):e?(process.nextTick(QQ,r),e(n)):process.nextTick(QQ,r)}),this)}function T1e(t,e){DG(t,e),QQ(t)}function QQ(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function J1t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function DG(t,e){t.emit("error",e)}function V1t(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}L1e.exports={destroy:z1t,undestroy:J1t,errorOrDestroy:V1t}});var R0=_((I$t,M1e)=>{"use strict";var O1e={};function lc(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,O1e[t]=a}function N1e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function X1t(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function Z1t(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function $1t(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}lc("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);lc("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&X1t(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(Z1t(t," argument"))a=`The ${t} ${o} ${N1e(e,"type")}`;else{let n=$1t(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${N1e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);lc("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");lc("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});lc("ERR_STREAM_PREMATURE_CLOSE","Premature close");lc("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});lc("ERR_MULTIPLE_CALLBACK","Callback called multiple times");lc("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");lc("ERR_STREAM_WRITE_AFTER_END","write after end");lc("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);lc("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);lc("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");M1e.exports.codes=O1e});var bG=_((B$t,U1e)=>{"use strict";var e2t=R0().codes.ERR_INVALID_OPT_VALUE;function t2t(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function r2t(t,e,r,o){var a=t2t(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new e2t(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}U1e.exports={getHighWaterMark:r2t}});var _1e=_((v$t,xG)=>{typeof Object.create=="function"?xG.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:xG.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var F0=_((P$t,QG)=>{try{if(kG=ve("util"),typeof kG.inherits!="function")throw"";QG.exports=kG.inherits}catch{QG.exports=_1e()}var kG});var q1e=_((D$t,H1e)=>{H1e.exports=ve("util").deprecate});var TG=_((S$t,z1e)=>{"use strict";z1e.exports=Fi;function j1e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){x2t(e,t)}}var zC;Fi.WritableState=yv;var n2t={deprecate:q1e()},Y1e=vG(),FQ=ve("buffer").Buffer,i2t=global.Uint8Array||function(){};function s2t(t){return FQ.from(t)}function o2t(t){return FQ.isBuffer(t)||t instanceof i2t}var FG=SG(),a2t=bG(),l2t=a2t.getHighWaterMark,T0=R0().codes,c2t=T0.ERR_INVALID_ARG_TYPE,u2t=T0.ERR_METHOD_NOT_IMPLEMENTED,A2t=T0.ERR_MULTIPLE_CALLBACK,f2t=T0.ERR_STREAM_CANNOT_PIPE,p2t=T0.ERR_STREAM_DESTROYED,h2t=T0.ERR_STREAM_NULL_VALUES,g2t=T0.ERR_STREAM_WRITE_AFTER_END,d2t=T0.ERR_UNKNOWN_ENCODING,JC=FG.errorOrDestroy;F0()(Fi,Y1e);function m2t(){}function yv(t,e,r){zC=zC||Em(),t=t||{},typeof r!="boolean"&&(r=e instanceof zC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=l2t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){v2t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j1e(this)}yv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(yv.prototype,"buffer",{get:n2t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var RQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(RQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Fi,Symbol.hasInstance,{value:function(e){return RQ.call(this,e)?!0:this!==Fi?!1:e&&e._writableState instanceof yv}})):RQ=function(e){return e instanceof this};function Fi(t){zC=zC||Em();var e=this instanceof zC;if(!e&&!RQ.call(Fi,this))return new Fi(t);this._writableState=new yv(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Y1e.call(this)}Fi.prototype.pipe=function(){JC(this,new f2t)};function y2t(t,e){var r=new g2t;JC(t,r),process.nextTick(e,r)}function E2t(t,e,r,o){var a;return r===null?a=new h2t:typeof r!="string"&&!e.objectMode&&(a=new c2t("chunk",["string","Buffer"],r)),a?(JC(t,a),process.nextTick(o,a),!1):!0}Fi.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&o2t(t);return n&&!FQ.isBuffer(t)&&(t=s2t(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=m2t),o.ending?y2t(this,r):(n||E2t(this,o,t,r))&&(o.pendingcb++,a=w2t(this,o,n,t,e,r)),a};Fi.prototype.cork=function(){this._writableState.corked++};Fi.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&W1e(this,t))};Fi.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new d2t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Fi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C2t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=FQ.from(e,r)),e}Object.defineProperty(Fi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function w2t(t,e,r,o,a,n){if(!r){var u=C2t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length{"use strict";var k2t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};V1e.exports=EA;var J1e=OG(),NG=TG();F0()(EA,J1e);for(LG=k2t(NG.prototype),TQ=0;TQ{var NQ=ve("buffer"),sp=NQ.Buffer;function X1e(t,e){for(var r in t)e[r]=t[r]}sp.from&&sp.alloc&&sp.allocUnsafe&&sp.allocUnsafeSlow?Z1e.exports=NQ:(X1e(NQ,MG),MG.Buffer=VC);function VC(t,e,r){return sp(t,e,r)}X1e(sp,VC);VC.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return sp(t,e,r)};VC.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=sp(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};VC.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return sp(t)};VC.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return NQ.SlowBuffer(t)}});var HG=_(t2e=>{"use strict";var _G=$1e().Buffer,e2e=_G.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function F2t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function T2t(t){var e=F2t(t);if(typeof e!="string"&&(_G.isEncoding===e2e||!e2e(t)))throw new Error("Unknown encoding: "+t);return e||t}t2e.StringDecoder=Ev;function Ev(t){this.encoding=T2t(t);var e;switch(this.encoding){case"utf16le":this.text=_2t,this.end=H2t,e=4;break;case"utf8":this.fillLast=O2t,e=4;break;case"base64":this.text=q2t,this.end=G2t,e=3;break;default:this.write=j2t,this.end=Y2t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=_G.allocUnsafe(e)}Ev.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function L2t(t,e,r){var o=e.length-1;if(o=0?(a>0&&(t.lastNeed=a-1),a):--o=0?(a>0&&(t.lastNeed=a-2),a):--o=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function N2t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function O2t(t){var e=this.lastTotal-this.lastNeed,r=N2t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function M2t(t,e){var r=L2t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function U2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function _2t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function H2t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function q2t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function G2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function j2t(t){return t.toString(this.encoding)}function Y2t(t){return t&&t.length?this.write(t):""}});var OQ=_((k$t,i2e)=>{"use strict";var r2e=R0().codes.ERR_STREAM_PREMATURE_CLOSE;function W2t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a{"use strict";var MQ;function L0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var J2t=OQ(),N0=Symbol("lastResolve"),Cm=Symbol("lastReject"),Cv=Symbol("error"),UQ=Symbol("ended"),wm=Symbol("lastPromise"),qG=Symbol("handlePromise"),Im=Symbol("stream");function O0(t,e){return{value:t,done:e}}function V2t(t){var e=t[N0];if(e!==null){var r=t[Im].read();r!==null&&(t[wm]=null,t[N0]=null,t[Cm]=null,e(O0(r,!1)))}}function X2t(t){process.nextTick(V2t,t)}function Z2t(t,e){return function(r,o){t.then(function(){if(e[UQ]){r(O0(void 0,!0));return}e[qG](r,o)},o)}}var $2t=Object.getPrototypeOf(function(){}),eBt=Object.setPrototypeOf((MQ={get stream(){return this[Im]},next:function(){var e=this,r=this[Cv];if(r!==null)return Promise.reject(r);if(this[UQ])return Promise.resolve(O0(void 0,!0));if(this[Im].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[Cv]?A(e[Cv]):u(O0(void 0,!0))})});var o=this[wm],a;if(o)a=new Promise(Z2t(o,this));else{var n=this[Im].read();if(n!==null)return Promise.resolve(O0(n,!1));a=new Promise(this[qG])}return this[wm]=a,a}},L0(MQ,Symbol.asyncIterator,function(){return this}),L0(MQ,"return",function(){var e=this;return new Promise(function(r,o){e[Im].destroy(null,function(a){if(a){o(a);return}r(O0(void 0,!0))})})}),MQ),$2t),tBt=function(e){var r,o=Object.create(eBt,(r={},L0(r,Im,{value:e,writable:!0}),L0(r,N0,{value:null,writable:!0}),L0(r,Cm,{value:null,writable:!0}),L0(r,Cv,{value:null,writable:!0}),L0(r,UQ,{value:e._readableState.endEmitted,writable:!0}),L0(r,qG,{value:function(n,u){var A=o[Im].read();A?(o[wm]=null,o[N0]=null,o[Cm]=null,n(O0(A,!1))):(o[N0]=n,o[Cm]=u)},writable:!0}),r));return o[wm]=null,J2t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[Cm];n!==null&&(o[wm]=null,o[N0]=null,o[Cm]=null,n(a)),o[Cv]=a;return}var u=o[N0];u!==null&&(o[wm]=null,o[N0]=null,o[Cm]=null,u(O0(void 0,!0))),o[UQ]=!0}),e.on("readable",X2t.bind(null,o)),o};s2e.exports=tBt});var u2e=_((R$t,c2e)=>{"use strict";function a2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function rBt(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){a2e(n,o,a,u,A,"next",p)}function A(p){a2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function l2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function nBt(t){for(var e=1;e{"use strict";C2e.exports=mn;var XC;mn.ReadableState=h2e;var F$t=ve("events").EventEmitter,p2e=function(e,r){return e.listeners(r).length},Iv=vG(),_Q=ve("buffer").Buffer,aBt=global.Uint8Array||function(){};function lBt(t){return _Q.from(t)}function cBt(t){return _Q.isBuffer(t)||t instanceof aBt}var GG=ve("util"),en;GG&&GG.debuglog?en=GG.debuglog("stream"):en=function(){};var uBt=F1e(),VG=SG(),ABt=bG(),fBt=ABt.getHighWaterMark,HQ=R0().codes,pBt=HQ.ERR_INVALID_ARG_TYPE,hBt=HQ.ERR_STREAM_PUSH_AFTER_EOF,gBt=HQ.ERR_METHOD_NOT_IMPLEMENTED,dBt=HQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ZC,jG,YG;F0()(mn,Iv);var wv=VG.errorOrDestroy,WG=["error","close","destroy","pause","resume"];function mBt(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function h2e(t,e,r){XC=XC||Em(),t=t||{},typeof r!="boolean"&&(r=e instanceof XC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=fBt(this,t,"readableHighWaterMark",r),this.buffer=new uBt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ZC||(ZC=HG().StringDecoder),this.decoder=new ZC(t.encoding),this.encoding=t.encoding)}function mn(t){if(XC=XC||Em(),!(this instanceof mn))return new mn(t);var e=this instanceof XC;this._readableState=new h2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),Iv.call(this)}Object.defineProperty(mn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});mn.prototype.destroy=VG.destroy;mn.prototype._undestroy=VG.undestroy;mn.prototype._destroy=function(t,e){e(t)};mn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=_Q.from(t,e),e=""),o=!0),g2e(this,t,e,!1,o)};mn.prototype.unshift=function(t){return g2e(this,t,null,!0,!1)};function g2e(t,e,r,o,a){en("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,CBt(t,n);else{var u;if(a||(u=yBt(n,e)),u)wv(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==_Q.prototype&&(e=lBt(e)),o)n.endEmitted?wv(t,new dBt):KG(t,n,e,!0);else if(n.ended)wv(t,new hBt);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?KG(t,n,e,!1):JG(t,n)):KG(t,n,e,!1)}else o||(n.reading=!1,JG(t,n))}return!n.ended&&(n.length=A2e?t=A2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function f2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=EBt(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}mn.prototype.read=function(t){en("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return en("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?zG(this):qQ(this),null;if(t=f2e(t,e),t===0&&e.ended)return e.length===0&&zG(this),null;var o=e.needReadable;en("need readable",o),(e.length===0||e.length-t0?a=y2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&zG(this)),a!==null&&this.emit("data",a),a};function CBt(t,e){if(en("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?qQ(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,d2e(t)))}}function qQ(t){var e=t._readableState;en("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(en("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(d2e,t))}function d2e(t){var e=t._readableState;en("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,XG(t)}function JG(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(wBt,t,e))}function wBt(t,e){for(;!e.reading&&!e.ended&&(e.length1&&E2e(o.pipes,t)!==-1)&&!h&&(en("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(N){en("onerror",N),F(),t.removeListener("error",v),p2e(t,"error")===0&&wv(t,N)}mBt(t,"error",v);function x(){t.removeListener("finish",C),F()}t.once("close",x);function C(){en("onfinish"),t.removeListener("close",x),F()}t.once("finish",C);function F(){en("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(en("pipe resume"),r.resume()),t};function IBt(t){return function(){var r=t._readableState;en("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&p2e(t,"data")&&(r.flowing=!0,XG(t))}}mn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,en("on readable",o.length,o.reading),o.length?qQ(this):o.reading||process.nextTick(BBt,this)),r};mn.prototype.addListener=mn.prototype.on;mn.prototype.removeListener=function(t,e){var r=Iv.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(m2e,this),r};mn.prototype.removeAllListeners=function(t){var e=Iv.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(m2e,this),e};function m2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function BBt(t){en("readable nexttick read 0"),t.read(0)}mn.prototype.resume=function(){var t=this._readableState;return t.flowing||(en("resume"),t.flowing=!t.readableListening,vBt(this,t)),t.paused=!1,this};function vBt(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(PBt,t,e))}function PBt(t,e){en("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),XG(t),e.flowing&&!e.reading&&t.read(0)}mn.prototype.pause=function(){return en("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(en("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function XG(t){var e=t._readableState;for(en("flow",e.flowing);e.flowing&&t.read()!==null;);}mn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(en("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(en("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function zG(t){var e=t._readableState;en("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(DBt,e,t))}function DBt(t,e){if(en("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(mn.from=function(t,e){return YG===void 0&&(YG=u2e()),YG(mn,t,e)});function E2e(t,e){for(var r=0,o=t.length;r{"use strict";I2e.exports=op;var GQ=R0().codes,SBt=GQ.ERR_METHOD_NOT_IMPLEMENTED,bBt=GQ.ERR_MULTIPLE_CALLBACK,xBt=GQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,kBt=GQ.ERR_TRANSFORM_WITH_LENGTH_0,jQ=Em();F0()(op,jQ);function QBt(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new bBt);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{"use strict";v2e.exports=Bv;var B2e=ZG();F0()(Bv,B2e);function Bv(t){if(!(this instanceof Bv))return new Bv(t);B2e.call(this,t)}Bv.prototype._transform=function(t,e,r){r(null,t)}});var k2e=_((O$t,x2e)=>{"use strict";var $G;function FBt(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var b2e=R0().codes,TBt=b2e.ERR_MISSING_ARGS,LBt=b2e.ERR_STREAM_DESTROYED;function D2e(t){if(t)throw t}function NBt(t){return t.setHeader&&typeof t.abort=="function"}function OBt(t,e,r,o){o=FBt(o);var a=!1;t.on("close",function(){a=!0}),$G===void 0&&($G=OQ()),$G(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,NBt(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new LBt("pipe"))}}}function S2e(t){t()}function MBt(t,e){return t.pipe(e)}function UBt(t){return!t.length||typeof t[t.length-1]!="function"?D2e:t.pop()}function _Bt(){for(var t=arguments.length,e=new Array(t),r=0;r0;return OBt(u,p,h,function(E){a||(a=E),E&&n.forEach(S2e),!p&&(n.forEach(S2e),o(a))})});return e.reduce(MBt)}x2e.exports=_Bt});var $C=_((cc,Pv)=>{var vv=ve("stream");process.env.READABLE_STREAM==="disable"&&vv?(Pv.exports=vv.Readable,Object.assign(Pv.exports,vv),Pv.exports.Stream=vv):(cc=Pv.exports=OG(),cc.Stream=vv||cc,cc.Readable=cc,cc.Writable=TG(),cc.Duplex=Em(),cc.Transform=ZG(),cc.PassThrough=P2e(),cc.finished=OQ(),cc.pipeline=k2e())});var F2e=_((M$t,R2e)=>{"use strict";var{Buffer:cu}=ve("buffer"),Q2e=Symbol.for("BufferList");function ni(t){if(!(this instanceof ni))return new ni(t);ni._init.call(this,t)}ni._init=function(e){Object.defineProperty(this,Q2e,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};ni.prototype._new=function(e){return new ni(e)};ni.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;othis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};ni.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};ni.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||cu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,E=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:cu.concat(this._bufs,this.length);for(let I=0;Iv)this._bufs[I].copy(e,h,E),h+=v;else{this._bufs[I].copy(e,h,E,E+p),h+=v;break}p-=v,E&&(E=0)}return e.length>h?e.slice(0,h):e};ni.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};ni.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};ni.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};ni.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};ni.prototype._match=function(t,e){if(this.length-t{"use strict";var ej=$C().Duplex,HBt=F0(),Dv=F2e();function Mo(t){if(!(this instanceof Mo))return new Mo(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}Dv._init.call(this,t),ej.call(this)}HBt(Mo,ej);Object.assign(Mo.prototype,Dv.prototype);Mo.prototype._new=function(e){return new Mo(e)};Mo.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};Mo.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Mo.prototype.end=function(e){ej.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Mo.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Mo.prototype._isBufferList=function(e){return e instanceof Mo||e instanceof Dv||Mo.isBufferList(e)};Mo.isBufferList=Dv.isBufferList;YQ.exports=Mo;YQ.exports.BufferListStream=Mo;YQ.exports.BufferList=Dv});var nj=_(tw=>{var qBt=Buffer.alloc,GBt="0000000000000000000",jBt="7777777777777777777",L2e="0".charCodeAt(0),N2e=Buffer.from("ustar\0","binary"),YBt=Buffer.from("00","binary"),WBt=Buffer.from("ustar ","binary"),KBt=Buffer.from(" \0","binary"),zBt=parseInt("7777",8),Sv=257,rj=263,JBt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},VBt=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},XBt=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},O2e=function(t,e,r,o){for(;re?jBt.slice(0,e)+" ":GBt.slice(0,e-t.length)+t+" "};function ZBt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o=Math.pow(10,r)&&r++,e+r+t};tw.decodeLongPath=function(t,e){return ew(t,0,t.length,e)};tw.encodePax=function(t){var e="";t.name&&(e+=tj(" path="+t.name+` +`)),t.linkname&&(e+=tj(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var o in r)e+=tj(" "+o+"="+r[o]+` +`);return Buffer.from(e)};tw.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(M0(t.mode&zBt,6),100),e.write(M0(t.uid,6),108),e.write(M0(t.gid,6),116),e.write(M0(t.size,11),124),e.write(M0(t.mtime.getTime()/1e3|0,11),136),e[156]=L2e+XBt(t.type),t.linkname&&e.write(t.linkname,157),N2e.copy(e,Sv),YBt.copy(e,rj),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(M0(t.devmajor||0,6),329),e.write(M0(t.devminor||0,6),337),o&&e.write(o,345),e.write(M0(M2e(e),6),148),e)};tw.decode=function(t,e,r){var o=t[156]===0?0:t[156]-L2e,a=ew(t,0,100,e),n=U0(t,100,8),u=U0(t,108,8),A=U0(t,116,8),p=U0(t,124,12),h=U0(t,136,12),E=VBt(o),I=t[157]===0?null:ew(t,157,100,e),v=ew(t,265,32),x=ew(t,297,32),C=U0(t,329,8),F=U0(t,337,8),N=M2e(t);if(N===8*32)return null;if(N!==U0(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(N2e.compare(t,Sv,Sv+6)===0)t[345]&&(a=ew(t,345,155,e)+"/"+a);else if(!(WBt.compare(t,Sv,Sv+6)===0&&KBt.compare(t,rj,rj+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:E,linkname:I,uname:v,gname:x,devmajor:C,devminor:F}}});var Y2e=_((H$t,j2e)=>{var _2e=ve("util"),$Bt=T2e(),bv=nj(),H2e=$C().Writable,q2e=$C().PassThrough,G2e=function(){},U2e=function(t){return t&=511,t&&512-t},evt=function(t,e){var r=new WQ(t,e);return r.end(),r},tvt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},WQ=function(t,e){this._parent=t,this.offset=e,q2e.call(this,{autoDestroy:!1})};_2e.inherits(WQ,q2e);WQ.prototype.destroy=function(t){this._parent.destroy(t)};var ap=function(t){if(!(this instanceof ap))return new ap(t);H2e.call(this,t),t=t||{},this._offset=0,this._buffer=$Bt(),this._missing=0,this._partial=!1,this._onparse=G2e,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||o()},n=function(){e._stream=null;var v=U2e(e._header.size);v?e._parse(v,u):e._parse(512,I),e._locked||o()},u=function(){e._buffer.consume(U2e(e._header.size)),e._parse(512,I),o()},A=function(){var v=e._header.size;e._paxGlobal=bv.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=e._header.size;e._pax=bv.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},h=function(){var v=e._header.size;this._gnuLongPath=bv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},E=function(){var v=e._header.size;this._gnuLongLinkPath=bv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},I=function(){var v=e._offset,x;try{x=e._header=bv.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(C){e.emit("error",C)}if(r.consume(512),!x){e._parse(512,I),o();return}if(x.type==="gnu-long-path"){e._parse(x.size,h),o();return}if(x.type==="gnu-long-link-path"){e._parse(x.size,E),o();return}if(x.type==="pax-global-header"){e._parse(x.size,A),o();return}if(x.type==="pax-header"){e._parse(x.size,p),o();return}if(e._gnuLongPath&&(x.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(x.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=x=tvt(x,e._pax),e._pax=null),e._locked=!0,!x.size||x.type==="directory"){e._parse(512,I),e.emit("entry",x,evt(e,v),a);return}e._stream=new WQ(e,v),e.emit("entry",x,e._stream,a),e._parse(x.size,n),o()};this._onheader=I,this._parse(512,I)};_2e.inherits(ap,H2e);ap.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};ap.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};ap.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=G2e,this._overflow?this._write(this._overflow,void 0,t):t()}};ap.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.lengthn&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};ap.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};j2e.exports=ap});var K2e=_((q$t,W2e)=>{W2e.exports=ve("fs").constants||ve("constants")});var Z2e=_((G$t,X2e)=>{var rw=K2e(),z2e=NM(),zQ=F0(),rvt=Buffer.alloc,J2e=$C().Readable,nw=$C().Writable,nvt=ve("string_decoder").StringDecoder,KQ=nj(),ivt=parseInt("755",8),svt=parseInt("644",8),V2e=rvt(1024),sj=function(){},ij=function(t,e){e&=511,e&&t.push(V2e.slice(0,512-e))};function ovt(t){switch(t&rw.S_IFMT){case rw.S_IFBLK:return"block-device";case rw.S_IFCHR:return"character-device";case rw.S_IFDIR:return"directory";case rw.S_IFIFO:return"fifo";case rw.S_IFLNK:return"symlink"}return"file"}var JQ=function(t){nw.call(this),this.written=0,this._to=t,this._destroyed=!1};zQ(JQ,nw);JQ.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};JQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var VQ=function(){nw.call(this),this.linkname="",this._decoder=new nvt("utf-8"),this._destroyed=!1};zQ(VQ,nw);VQ.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};VQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var xv=function(){nw.call(this),this._destroyed=!1};zQ(xv,nw);xv.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};xv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var CA=function(t){if(!(this instanceof CA))return new CA(t);J2e.call(this,t),this._drain=sj,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};zQ(CA,J2e);CA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=sj);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=ovt(t.mode)),t.mode||(t.mode=t.type==="directory"?ivt:svt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return ij(o,t.size),a?process.nextTick(r):this._drain=r,new xv}if(t.type==="symlink"&&!t.linkname){var n=new VQ;return z2e(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new xv;var u=new JQ(this);return this._stream=u,z2e(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));ij(o,t.size),o._finalizing&&o.finalize(),r()}),u}};CA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(V2e),this.push(null))};CA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};CA.prototype._encode=function(t){if(!t.pax){var e=KQ.encode(t);if(e){this.push(e);return}}this._encodePax(t)};CA.prototype._encodePax=function(t){var e=KQ.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(KQ.encode(r)),this.push(e),ij(this,e.length),r.size=t.size,r.type=t.type,this.push(KQ.encode(r))};CA.prototype._read=function(t){var e=this._drain;this._drain=sj,e()};X2e.exports=CA});var $2e=_(oj=>{oj.extract=Y2e();oj.pack=Z2e()});var ABe=_((cer,uBe)=>{"use strict";var Bm=class{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=lBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return fj(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):wvt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Bm(this.__specs,this.__opts,lBe(this.__providers).concat(e)),cBe)}};try{let t=ve("util");Bm.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function Evt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function fj(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))Evt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=aBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=aBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function aBe(t,e){let r;return e.__isFiggyPudding?r=fj(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var cBe={has(t,e){return e in t.__specs&&fj(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Bm.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};uBe.exports=Cvt;function Cvt(t,e){function r(...o){return new Proxy(new Bm(t,e,o),cBe)}return r}function lBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function wvt(t){return Object.keys(t).map(e=>[e,t[e]])}});var hBe=_((uer,BA)=>{"use strict";var Qv=ve("crypto"),Ivt=ABe(),Bvt=ve("stream").Transform,fBe=["sha256","sha384","sha512"],vvt=/^[a-z0-9+/]+(?:=?=?)$/i,Pvt=/^([^-]+)-([^?]+)([?\S*]*)$/,Dvt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,Svt=/^[\x21-\x7E]+$/,ia=Ivt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>Lvt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),H0=class{get isHash(){return!0}constructor(e,r){r=ia(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?Dvt:Pvt);if(!a||o&&!fBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=ia(e),e.strict&&!(fBe.some(o=>o===this.algorithm)&&this.digest.match(vvt)&&(this.options||[]).every(o=>o.match(Svt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},vm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=ia(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>H0.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=ia(r);let o=typeof e=="string"?e:kv(e,r);return IA(`${this.toString(r)} ${o}`,r)}hexDigest(){return IA(this,{single:!0}).hexDigest()}match(e,r){r=ia(r);let o=IA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=ia(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};BA.exports.parse=IA;function IA(t,e){if(e=ia(e),typeof t=="string")return pj(t,e);if(t.algorithm&&t.digest){let r=new vm;return r[t.algorithm]=[t],pj(kv(r,e),e)}else return pj(kv(t,e),e)}function pj(t,e){return e.single?new H0(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new H0(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new vm)}BA.exports.stringify=kv;function kv(t,e){return e=ia(e),t.algorithm&&t.digest?H0.prototype.toString.call(t,e):typeof t=="string"?kv(IA(t,e),e):vm.prototype.toString.call(t,e)}BA.exports.fromHex=bvt;function bvt(t,e,r){r=ia(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return IA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}BA.exports.fromData=xvt;function xvt(t,e){e=ia(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=Qv.createHash(n).update(t).digest("base64"),A=new H0(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new vm)}BA.exports.fromStream=kvt;function kvt(t,e){e=ia(e);let r=e.Promise||Promise,o=hj(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}BA.exports.checkData=Qvt;function Qvt(t,e,r){if(r=ia(r),e=IA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=Qv.createHash(o).update(t).digest("base64"),n=IA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}BA.exports.checkStream=Rvt;function Rvt(t,e,r){r=ia(r);let o=r.Promise||Promise,a=hj(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}BA.exports.integrityStream=hj;function hj(t){t=ia(t);let e=t.integrity&&IA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(Qv.createHash),A=0,p=new Bvt({transform(h,E,I){A+=h.length,u.forEach(v=>v.update(h,E)),I(null,h,E)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",E=IA(u.map((v,x)=>`${n[x]}-${v.digest("base64")}${h}`).join(" "),t),I=r&&E.match(e,t);if(typeof t.size=="number"&&A!==t.size){let v=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=t.size,v.sri=e,p.emit("error",v)}else if(t.integrity&&!I){let v=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${E}. (${A} bytes)`);v.code="EINTEGRITY",v.found=E,v.expected=a,v.algorithm=o,v.sri=e,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",E),I&&p.emit("verified",I)});return p}BA.exports.create=Fvt;function Fvt(t){t=ia(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(Qv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new H0(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let E=h.algorithm;u[E]||(u[E]=[]),u[E].push(h)}return u},new vm)}}}var Tvt=new Set(Qv.getHashes()),pBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>Tvt.has(t));function Lvt(t,e){return pBe.indexOf(t.toLowerCase())>=pBe.indexOf(e.toLowerCase())?t:e}});var GBe=_((pir,qBe)=>{var LPt=uN();function NPt(t){return LPt(t)?void 0:t}qBe.exports=NPt});var YBe=_((hir,jBe)=>{var OPt=qb(),MPt=x8(),UPt=F8(),_Pt=Gd(),HPt=md(),qPt=GBe(),GPt=v_(),jPt=b8(),YPt=1,WPt=2,KPt=4,zPt=GPt(function(t,e){var r={};if(t==null)return r;var o=!1;e=OPt(e,function(n){return n=_Pt(n,t),o||(o=n.length>1),n}),HPt(t,jPt(t),r),o&&(r=MPt(r,YPt|WPt|KPt,qPt));for(var a=e.length;a--;)UPt(r,e[a]);return r});jBe.exports=zPt});Dt();je();Dt();var VBe=ve("child_process"),XBe=Ze(rd());qt();var cC=new Map([]);var l2={};zt(l2,{BaseCommand:()=>ut,WorkspaceRequiredError:()=>sr,getCli:()=>ehe,getDynamicLibs:()=>$pe,getPluginConfiguration:()=>AC,openWorkspace:()=>uC,pluginCommands:()=>cC,runExit:()=>ik});qt();var ut=class extends it{constructor(){super(...arguments);this.cwd=ge.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new st("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};je();Dt();qt();var sr=class extends st{constructor(e,r){let o=z.relative(e,r),a=z.join(e,Ot.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};je();Dt();iA();Nl();Q1();qt();var LAt=Ze(Vn());$a();var $pe=()=>new Map([["@yarnpkg/cli",l2],["@yarnpkg/core",a2],["@yarnpkg/fslib",Ww],["@yarnpkg/libzip",k1],["@yarnpkg/parsers",eI],["@yarnpkg/shell",L1],["clipanion",fI],["semver",LAt],["typanion",Ko]]);je();async function uC(t,e){let{project:r,workspace:o}=await St.find(t,e);if(!o)throw new sr(r.cwd,e);return o}je();Dt();iA();Nl();Q1();qt();var nDt=Ze(Vn());$a();var $8={};zt($8,{AddCommand:()=>Qh,BinCommand:()=>Rh,CacheCleanCommand:()=>Fh,ClipanionCommand:()=>Kd,ConfigCommand:()=>Oh,ConfigGetCommand:()=>Th,ConfigSetCommand:()=>Lh,ConfigUnsetCommand:()=>Nh,DedupeCommand:()=>Mh,EntryCommand:()=>gC,ExecCommand:()=>Uh,ExplainCommand:()=>qh,ExplainPeerRequirementsCommand:()=>_h,HelpCommand:()=>zd,InfoCommand:()=>Gh,LinkCommand:()=>Yh,NodeCommand:()=>Wh,PluginCheckCommand:()=>Kh,PluginImportCommand:()=>Vh,PluginImportSourcesCommand:()=>Xh,PluginListCommand:()=>zh,PluginRemoveCommand:()=>Zh,PluginRuntimeCommand:()=>$h,RebuildCommand:()=>e0,RemoveCommand:()=>t0,RunCommand:()=>r0,RunIndexCommand:()=>Xd,SetResolutionCommand:()=>n0,SetVersionCommand:()=>Hh,SetVersionSourcesCommand:()=>Jh,UnlinkCommand:()=>i0,UpCommand:()=>Jf,VersionCommand:()=>Jd,WhyCommand:()=>s0,WorkspaceCommand:()=>l0,WorkspacesListCommand:()=>a0,YarnCommand:()=>jh,dedupeUtils:()=>hk,default:()=>xgt,suggestUtils:()=>Xc});var Qde=Ze(rd());je();je();je();qt();var H0e=Ze(p2());$a();var Xc={};zt(Xc,{Modifier:()=>B8,Strategy:()=>Ak,Target:()=>h2,WorkspaceModifier:()=>N0e,applyModifier:()=>tpt,extractDescriptorFromPath:()=>v8,extractRangeModifier:()=>O0e,fetchDescriptorFrom:()=>P8,findProjectDescriptors:()=>_0e,getModifier:()=>g2,getSuggestedDescriptors:()=>d2,makeWorkspaceDescriptor:()=>U0e,toWorkspaceModifier:()=>M0e});je();je();Dt();var I8=Ze(Vn()),$ft="workspace:",h2=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(h2||{}),B8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(B8||{}),N0e=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(N0e||{}),Ak=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(Ak||{});function g2(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var ept=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function O0e(t,{project:e}){let r=t.match(ept);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function tpt(t,e){let{protocol:r,source:o,params:a,selector:n}=j.parseRange(t.range);return I8.default.valid(n)&&(n=`${e}${t.range}`),j.makeDescriptor(t,j.makeRange({protocol:r,source:o,params:a,selector:n}))}function M0e(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function U0e(t,e){return j.makeDescriptor(t.anchoredDescriptor,`${$ft}${M0e(e)}`)}async function _0e(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function v8(t,{cwd:e,workspace:r}){return await rpt(async o=>{z.isAbsolute(t)||(t=z.relative(r.cwd,z.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await P8(j.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new Qi,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},E=A.bindDescriptor(n,r.anchoredLocator,h),I=j.convertDescriptorToLocator(E),v=await p.fetch(I,h),x=await Ot.find(v.prefixPath,{baseFs:v.packageFs});if(!x.name)throw new Error("Target path doesn't have a name");return j.makeDescriptor(x.name,t)})}async function d2(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,E]=t.range!=="unknown"?n||Lr.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${j.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let I=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,v=[],x=[],C=async F=>{try{await F()}catch(N){x.push(N)}};for(let F of A){if(v.length>=p)break;switch(F){case"keep":await C(async()=>{I&&v.push({descriptor:I,name:`Keep ${j.prettyDescriptor(e.configuration,I)}`,reason:"(no changes)"})});break;case"reuse":await C(async()=>{for(let{descriptor:N,locators:U}of(await _0e(t,{project:e,target:a})).values()){if(U.length===1&&U[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let J=`(originally used by ${j.prettyLocator(e.configuration,U[0])}`;J+=U.length>1?` and ${U.length-1} other${U.length>2?"s":""})`:")",v.push({descriptor:N,name:`Reuse ${j.prettyDescriptor(e.configuration,N)}`,reason:J})}});break;case"cache":await C(async()=>{for(let N of e.storedDescriptors.values())N.identHash===t.identHash&&v.push({descriptor:N,name:`Reuse ${j.prettyDescriptor(e.configuration,N)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await C(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let N=e.tryWorkspaceByIdent(t);if(N===null)return;let U=U0e(N,u);v.push({descriptor:U,name:`Attach ${j.prettyDescriptor(e.configuration,U)}`,reason:`(local workspace at ${pe.pretty(e.configuration,N.relativeCwd,pe.Type.PATH)})`})});break;case"latest":{let N=e.configuration.get("enableNetwork"),U=e.configuration.get("enableOfflineMode");await C(async()=>{if(a==="peerDependencies")v.push({descriptor:j.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!N&&!U)v.push({descriptor:null,name:"Resolve from latest",reason:pe.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let J=await P8(t,E,{project:e,cache:o,workspace:r,modifier:u});J&&v.push({descriptor:J,name:`Use ${j.prettyDescriptor(e.configuration,J)}`,reason:`(resolved from ${U?"the cache":"latest"})`})}})}break}}return{suggestions:v.slice(0,p),rejections:x.slice(0,p)}}async function P8(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(j.makeDescriptor(t,e)),p=new Qi,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),I={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...I,resolver:E,fetchOptions:I},x=E.bindDescriptor(A,a.anchoredLocator,v),C=await E.getCandidates(x,{},v);if(C.length===0)return null;let F=C[0],{protocol:N,source:U,params:J,selector:te}=j.parseRange(j.convertToManifestRange(F.reference));if(N===r.configuration.get("defaultProtocol")&&(N=null),I8.default.valid(te)){let ae=te;if(typeof u<"u")te=u+te;else if(n!==!1){let we=typeof n=="string"?n:A.range;te=O0e(we,{project:r})+te}let le=j.makeDescriptor(F,j.makeRange({protocol:N,source:U,params:J,selector:te}));(await E.getCandidates(r.configuration.normalizeDependency(le),{},v)).length!==1&&(te=ae)}return j.makeDescriptor(F,j.makeRange({protocol:N,source:U,params:J,selector:te}))}async function rpt(t){return await oe.mktempPromise(async e=>{let r=Ke.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Nr(e,{configuration:r,check:!1,immutable:!1}))})}var Qh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=ge.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=ge.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=ge.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=ge.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=ge.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=ge.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.silent=ge.Boolean("--silent",{hidden:!0});this.packages=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=g2(this,o),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(U=>typeof U<"u"),I=A?1/0:1,v=await Promise.all(this.packages.map(async U=>{let J=U.match(/^\.{0,2}\//)?await v8(U,{cwd:this.context.cwd,workspace:a}):j.tryParseDescriptor(U),te=U.match(/^(https?:|git@github)/);if(te)throw new st(`It seems you are trying to add a package using a ${pe.pretty(r,`${te[0]}...`,pe.Type.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${pe.pretty(r,"yarn add",pe.Type.CODE)} ${pe.pretty(r,j.makeDescriptor(j.makeIdent(null,"my-package"),`${te[0]}...`),pe.Type.DESCRIPTOR)}`);if(!J)throw new st(`The ${pe.pretty(r,U,pe.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let ae=npt(a,J,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(ae.map(async ce=>{let we=await d2(J,{project:o,workspace:a,cache:n,fixed:u,target:ce,modifier:h,strategies:E,maxResults:I});return{request:J,suggestedDescriptors:we,target:ce}}))})).then(U=>U.flat()),x=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async U=>{for(let{request:J,suggestedDescriptors:{suggestions:te,rejections:ae}}of v)if(te.filter(ce=>ce.descriptor!==null).length===0){let[ce]=ae;if(typeof ce>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?U.reportError(27,`${j.prettyDescriptor(r,J)} can't be resolved to a satisfying range`):U.reportError(27,`${j.prettyDescriptor(r,J)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),U.reportSeparator(),U.reportExceptionOnce(ce)}});if(x.hasErrors())return x.exitCode();let C=!1,F=[],N=[];for(let{suggestedDescriptors:{suggestions:U},target:J}of v){let te,ae=U.filter(de=>de.descriptor!==null),le=ae[0].descriptor,ce=ae.every(de=>j.areDescriptorsEqual(de.descriptor,le));ae.length===1||ce?te=le:(C=!0,{answer:te}=await(0,H0e.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:U.map(({descriptor:de,name:Be,reason:Ee})=>de?{name:Be,hint:Ee,descriptor:de}:{name:Be,hint:Ee,disabled:!0}),onCancel:()=>process.exit(130),result(de){return this.find(de,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let we=a.manifest[J].get(te.identHash);(typeof we>"u"||we.descriptorHash!==te.descriptorHash)&&(a.manifest[J].set(te.identHash,te),this.optional&&(J==="dependencies"?a.manifest.ensureDependencyMeta({...te,range:"unknown"}).optional=!0:J==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...te,range:"unknown"}).optional=!0)),typeof we>"u"?F.push([a,J,te,E]):N.push([a,J,we,te]))}return await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyAddition,F),await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyReplacement,N),C&&this.context.stdout.write(` +`),await o.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};Qh.paths=[["add"]],Qh.usage=it.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function npt(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest["dependencies"].has(e.identHash),A=t.manifest["devDependencies"].has(e.identHash),p=t.manifest["peerDependencies"].has(e.identHash);if((r||o)&&u)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}je();je();qt();var Rh=class extends ut{constructor(){super(...arguments);this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=ge.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await An.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new st(`Couldn't find a binary named "${this.name}" for package "${j.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} +`),0}return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await An.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((E,I)=>Math.max(E,I.length),0);for(let[E,[I,v]]of A)u.reportJson({name:E,source:j.stringifyIdent(I),path:v});if(this.verbose)for(let[E,[I]]of A)u.reportInfo(null,`${E.padEnd(h," ")} ${j.prettyLocator(r,I)}`);else for(let E of A.keys())u.reportInfo(null,E)})).exitCode()}};Rh.paths=[["bin"]],Rh.usage=it.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});je();Dt();qt();var Fh=class extends ut{constructor(){super(...arguments);this.mirror=ge.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=ge.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Nr.find(r);return(await Ft.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await oe.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await oe.removePromise(o.cwd)})).exitCode()}};Fh.paths=[["cache","clean"],["cache","clear"]],Fh.usage=it.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});je();qt();var G0e=Ze(m2()),D8=ve("util"),Th=class extends ut{constructor(){super(...arguments);this.why=ge.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=ge.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new st(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=He.convertMapsToIndexableObjects(u),p=a?(0,G0e.default)(A,a):A,h=await Ft.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} +`),h.exitCode();D8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,D8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} +`)}return h.exitCode()}};Th.paths=[["config","get"]],Th.usage=it.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});je();qt();var Fge=Ze(k8()),Tge=Ze(m2()),Lge=Ze(Q8()),R8=ve("util"),Lh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String();this.value=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new st("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new st(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new st("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?C=>Ke.updateHomeConfiguration(C):C=>Ke.updateConfiguration(o(),C))(C=>{if(n){let F=(0,Fge.default)(C);return(0,Lge.default)(F,this.name,A),F}else return{...C,[a]:A}});let E=(await Ke.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),I=He.convertMapsToIndexableObjects(E),v=n?(0,Tge.default)(I,n):I;return(await Ft.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async C=>{R8.inspect.styles.name="cyan",C.reportInfo(0,`Successfully set ${this.name} to ${(0,R8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Lh.paths=[["config","set"]],Lh.usage=it.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});je();qt();var Wge=Ze(k8()),Kge=Ze(Uge()),zge=Ze(T8()),Nh=class extends ut{constructor(){super(...arguments);this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new st("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new st(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Ke.updateHomeConfiguration(h):h=>Ke.updateConfiguration(o(),h);return(await Ft.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await A(I=>{if(!(0,Kge.default)(I,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,I;let v=n?(0,Wge.default)(I):{...I};return(0,zge.default)(v,this.name),v}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};Nh.paths=[["config","unset"]],Nh.usage=it.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});je();Dt();qt();var pk=ve("util"),Oh=class extends ut{constructor(){super(...arguments);this.noDefaults=ge.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=ge.Boolean("-v,--verbose",{hidden:!0});this.why=ge.Boolean("--why",{hidden:!0});this.names=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins,{strict:!1}),o=await TE({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(o!==null)return o;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,u=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async A=>{if(r.invalid.size>0&&!this.json){for(let[p,h]of r.invalid)A.reportError(34,`Invalid configuration key "${p}" in ${h}`);A.reportSeparator()}if(this.json)for(let p of a){let h=r.settings.get(p);typeof h>"u"&&A.reportError(34,`No configuration key named "${p}"`);let E=r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),I=r.sources.get(p)??"",v=I&&I[0]!=="<"?ue.fromPortablePath(I):I;A.reportJson({key:p,effective:E,source:v,...h})}else{let p={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},h={},E={children:h};for(let I of a){if(this.noDefaults&&!r.sources.has(I))continue;let v=r.settings.get(I),x=r.sources.get(I)??"",C=r.getSpecial(I,{hideSecrets:!0,getNativePaths:!0}),F={Description:{label:"Description",value:pe.tuple(pe.Type.MARKDOWN,{text:v.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:pe.tuple(x[0]==="<"?pe.Type.CODE:pe.Type.PATH,x)}};h[I]={value:pe.tuple(pe.Type.CODE,I),children:F};let N=(U,J)=>{for(let[te,ae]of J)if(ae instanceof Map){let le={};U[te]={children:le},N(le,ae)}else U[te]={label:te,value:pe.tuple(pe.Type.NO_HINT,(0,pk.inspect)(ae,p))}};C instanceof Map?N(F,C):F.Value={label:"Value",value:pe.tuple(pe.Type.NO_HINT,(0,pk.inspect)(C,p))}}a.length!==1&&(n=void 0),fs.emitTree(E,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let A=a[0],p=(0,pk.inspect)(r.getSpecial(A,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(` +`),this.context.stdout.write(`${p} +`)}return u.exitCode()}};Oh.paths=[["config"]],Oh.usage=it.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});je();qt();$a();var hk={};zt(hk,{Strategy:()=>y2,acceptedStrategies:()=>U0t,dedupe:()=>L8});je();je();var Jge=Ze(Xo()),y2=(e=>(e.HIGHEST="highest",e))(y2||{}),U0t=new Set(Object.values(y2)),_0t={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);He.getSetWithDefault(u,E.identHash).add(h)}let A=new Map(He.mapAndFilter(t.storedDescriptors.values(),p=>j.isVirtualDescriptor(p)?He.mapAndFilter.skip:[p.descriptorHash,He.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let I=t.originalPackages.get(E);if(typeof I>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{let v=r.getResolutionDependencies(p,a),x=Object.fromEntries(await He.allSettledSafe(Object.entries(v).map(async([te,ae])=>{let le=A.get(ae.descriptorHash);if(typeof le>"u")throw new Error(`Assertion failed: The descriptor (${ae.descriptorHash}) should have been registered`);let ce=await le.promise;if(!ce)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[te,ce.updatedPackage]})));if(e.length&&!Jge.default.isMatch(j.stringifyIdent(p),e)||!r.shouldPersistResolution(I,a))return I;let C=u.get(p.identHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(C.size===1)return I;let F=[...C].map(te=>{let ae=t.originalPackages.get(te);if(typeof ae>"u")throw new Error(`Assertion failed: The package (${te}) should have been registered`);return ae}),N=await r.getSatisfying(p,x,F,a),U=N.locators?.[0];if(typeof U>"u"||!N.sorted)return I;let J=t.originalPackages.get(U.locatorHash);if(typeof J>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return J}).then(async v=>{let x=await t.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:I,updatedPackage:v,resolvedPackage:x})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function L8(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new Qi,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let I=_0t[e],v=await I(t,r,{resolver:A,resolveOptions:E,fetcher:p,fetchOptions:h}),x=Xs.progressViaCounter(v.length);await a.reportProgress(x);let C=0;await Promise.all(v.map(U=>U.then(J=>{if(J===null||J.currentPackage.locatorHash===J.updatedPackage.locatorHash)return;C++;let{descriptor:te,currentPackage:ae,updatedPackage:le}=J;a.reportInfo(0,`${j.prettyDescriptor(n,te)} can be deduped from ${j.prettyLocator(n,ae)} to ${j.prettyLocator(n,le)}`),a.reportJson({descriptor:j.stringifyDescriptor(te),currentResolution:j.stringifyLocator(ae),updatedResolution:j.stringifyLocator(le)}),t.storedResolutions.set(te.descriptorHash,le.locatorHash)}).finally(()=>x.tick())));let F;switch(C){case 0:F="No packages";break;case 1:F="One package";break;default:F=`${C} packages`}let N=pe.pretty(n,e,pe.Type.CODE);return a.reportInfo(0,`${F} can be deduped using the ${N} strategy`),C})}var Mh=class extends ut{constructor(){super(...arguments);this.strategy=ge.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Js(y2)});this.check=ge.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await Nr.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Ft.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await L8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};Mh.paths=[["dedupe"]],Mh.usage=it.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});je();qt();var Kd=class extends ut{async execute(){let{plugins:e}=await Ke.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=ls.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Vge()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} +`)}};Kd.paths=[["--clipanion=definitions"]];var zd=class extends ut{async execute(){this.context.stdout.write(this.cli.usage(null))}};zd.paths=[["help"],["--help"],["-h"]];je();Dt();qt();var gC=class extends ut{constructor(){super(...arguments);this.leadingArgument=ge.String();this.args=ge.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!j.tryParseIdent(this.leadingArgument)){let r=z.resolve(this.context.cwd,ue.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};je();var Jd=class extends ut{async execute(){this.context.stdout.write(`${nn||""} +`)}};Jd.paths=[["-v"],["--version"]];je();je();qt();var Uh=class extends ut{constructor(){super(...arguments);this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);return await o.restoreInstallState(),await An.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};Uh.paths=[["exec"]],Uh.usage=it.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});je();qt();$a();var _h=class extends ut{constructor(){super(...arguments);this.hash=ge.String({required:!1,validator:aD(Ey(),[iI(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await q0t(this.hash,o,{stdout:this.context.stdout}):await G0t(o,{stdout:this.context.stdout})}};_h.paths=[["explain","peer-requirements"]],_h.usage=it.Usage({description:"explain a set of peer requirements",details:` + A peer requirement represents all peer requests that a subject must satisfy when providing a requested package to requesters. + + When the hash argument is specified, this command prints a detailed explanation of the peer requirement corresponding to the hash and whether it is satisfied or not. + + When used without arguments, this command lists all peer requirements and the corresponding hash that can be used to get detailed information about a given requirement. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding peer requirement for a hash","$0 explain peer-requirements p1a4ed"],["List all peer requirements","$0 explain peer-requirements"]]});async function q0t(t,e,r){let o=e.peerRequirementNodes.get(t);if(typeof o>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);let a=new Set,n=p=>a.has(p.requester.locatorHash)?{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:p.children.size>0?[{value:pe.tuple(pe.Type.NO_HINT,"...")}]:[]}:(a.add(p.requester.locatorHash),{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:Object.fromEntries(Array.from(p.children.values(),h=>[j.stringifyLocator(h.requester),n(h)]))}),u=e.peerWarnings.find(p=>p.hash===t);return(await Ft.start({configuration:e.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async p=>{let h=pe.mark(e.configuration),E=u?h.Cross:h.Check;if(p.reportInfo(0,`Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} is requested to provide ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)} by its descendants`),p.reportSeparator(),p.reportInfo(0,pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)),fs.emitTree({children:Object.fromEntries(Array.from(o.requests.values(),I=>[j.stringifyLocator(I.requester),n(I)]))},{configuration:e.configuration,stdout:r.stdout,json:!1}),p.reportSeparator(),o.provided.range==="missing:"){let I=u?"":" , but all peer requests are optional";p.reportInfo(0,`${E} Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} does not provide ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)}${I}.`)}else{let I=e.storedResolutions.get(o.provided.descriptorHash);if(!I)throw new Error("Assertion failed: Expected the descriptor to be registered");let v=e.storedPackages.get(I);if(!v)throw new Error("Assertion failed: Expected the package to be registered");p.reportInfo(0,`${E} Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} provides ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)} with version ${j.prettyReference(e.configuration,v.version??"0.0.0")}, ${u?"which does not satisfy all requests.":"which satisfies all requests"}`),u?.type===3&&(u.range?p.reportInfo(0,` The combined requested range is ${pe.pretty(e.configuration,u.range,pe.Type.RANGE)}`):p.reportInfo(0," Unfortunately, the requested ranges have no overlap"))}})).exitCode()}async function G0t(t,e){return(await Ft.start({configuration:t.configuration,stdout:e.stdout,includeFooter:!1,includePrefix:!1},async o=>{let a=pe.mark(t.configuration),n=He.sortMap(t.peerRequirementNodes,[([,u])=>j.stringifyLocator(u.subject),([,u])=>j.stringifyIdent(u.ident)]);for(let[,u]of n.values()){if(!u.root)continue;let A=t.peerWarnings.find(E=>E.hash===u.hash),p=[...j.allPeerRequests(u)],h;if(p.length>2?h=` and ${p.length-1} other dependencies`:p.length===2?h=" and 1 other dependency":h="",u.provided.range!=="missing:"){let E=t.storedResolutions.get(u.provided.descriptorHash);if(!E)throw new Error("Assertion failed: Expected the resolution to have been registered");let I=t.storedPackages.get(E);if(!I)throw new Error("Assertion failed: Expected the provided package to have been registered");let v=`${pe.pretty(t.configuration,u.hash,pe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${j.prettyLocator(t.configuration,u.subject)} provides ${j.prettyLocator(t.configuration,I)} to ${j.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,v):o.reportInfo(0,v)}else{let E=`${pe.pretty(t.configuration,u.hash,pe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${j.prettyLocator(t.configuration,u.subject)} doesn't provide ${j.prettyIdent(t.configuration,u.ident)} to ${j.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,E):o.reportInfo(0,E)}}})).exitCode()}je();qt();$a();je();je();Dt();qt();var Xge=Ze(Vn()),Hh=class extends ut{constructor(){super(...arguments);this.useYarnPath=ge.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=ge.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(z.contains(p,A))return 0}let o=()=>{if(typeof nn>"u")throw new st("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:nn??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await E2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await E2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.version))a={url:`file://${z.resolve(ue.toPortablePath(this.version))}`,version:"file"};else if(Lr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Lr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Lr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await j0t(r,this.version));else throw new st(`Invalid version descriptor "${this.version}"`);return(await Ft.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${pe.pretty(r,a.url,pe.Type.PATH)}`),await oe.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${pe.pretty(r,a.url,pe.Type.URL)}`),await sn.get(a.url,{configuration:r}))};await N8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};Hh.paths=[["set","version"]],Hh.usage=it.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function j0t(t,e){let o=(await sn.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Lr.satisfiesWithPrereleases(a,e));if(o.length===0)throw new st(`No matching release found for range ${pe.pretty(t,e,pe.Type.RANGE)}.`);return o[0]}async function E2(t,e){let r=await sn.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new st(`Tag ${pe.pretty(t,e,pe.Type.RANGE)} not found`);return r.latest[e]}async function N8(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let te=await u();await oe.mktempPromise(async ae=>{let le=z.join(ae,"yarn.cjs");await oe.writeFilePromise(le,te);let{stdout:ce}=await Ur.execvp(process.execPath,[ue.fromPortablePath(le),"--version"],{cwd:ae,env:{...t.env,YARN_IGNORE_PATH:"1"}});if(e=ce.trim(),!Xge.default.valid(e))throw new Error(`Invalid semver version. ${pe.pretty(t,"yarn --version",pe.Type.CODE)} returned: +${e}`)})}let A=t.projectCwd??t.startingCwd,p=z.resolve(A,".yarn/releases"),h=z.resolve(p,`yarn-${e}.cjs`),E=z.relative(t.startingCwd,h),I=He.isTaggedYarnVersion(e),v=t.get("yarnPath"),x=!I,C=x||!!v||!!a;if(a===!1){if(x)throw new Vt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");C=!1}else!C&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${pe.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${pe.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),C=!0);if(C){let te=await u();o.reportInfo(0,`Saving the new release in ${pe.pretty(t,E,"magenta")}`),await oe.removePromise(z.dirname(h)),await oe.mkdirPromise(z.dirname(h),{recursive:!0}),await oe.writeFilePromise(h,te,{mode:493}),await Ke.updateConfiguration(A,{yarnPath:z.relative(A,h)})}else await oe.removePromise(z.dirname(h)),await Ke.updateConfiguration(A,{yarnPath:Ke.deleteProperty});let F=await Ot.tryFind(A)||new Ot;F.packageManager=`yarn@${I?e:await E2(t,"stable")}`;let N={};F.exportTo(N);let U=z.join(A,Ot.fileName),J=`${JSON.stringify(N,null,F.indent)} +`;return await oe.changeFilePromise(U,J,{automaticNewlines:!0}),{bundleVersion:e}}function Zge(t){return wr[fD(t)]}var Y0t=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function W0t(t){let r=`https://repo.yarnpkg.com/${He.isTaggedYarnVersion(nn)?nn:await E2(t,"canary")}/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx`,o=await sn.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(Y0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=Zge(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var qh=class extends ut{constructor(){super(...arguments);this.code=ge.String({required:!1,validator:sI(Ey(),[iI(/^YN[0-9]{4}$/)])});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=Zge(this.code),a=pe.pretty(r,o,pe.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await W0t(r)).get(this.code),p=typeof A<"u"?pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:o,details:p})} +`):this.context.stdout.write(`${n} + +${p} +`)}else{let o={children:He.mapAndFilter(Object.entries(wr),([a,n])=>Number.isNaN(Number(a))?He.mapAndFilter.skip:{label:Ku(Number(a)),value:pe.tuple(pe.Type.CODE,n)})};fs.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};qh.paths=[["explain"]],qh.usage=it.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});je();Dt();qt();var $ge=Ze(Xo()),Gh=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=ge.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=ge.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=ge.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=ge.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=ge.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=ge.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a&&!this.all)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(ae,{recursive:le})=>{let ce=ae.anchoredLocator.locatorHash,we=new Map,de=[ce];for(;de.length>0;){let Be=de.shift();if(we.has(Be))continue;let Ee=o.storedPackages.get(Be);if(typeof Ee>"u")throw new Error("Assertion failed: Expected the package to be registered");if(we.set(Be,Ee),j.isVirtualLocator(Ee)&&de.push(j.devirtualizeLocator(Ee).locatorHash),!(!le&&Be!==ce))for(let g of Ee.dependencies.values()){let me=o.storedResolutions.get(g.descriptorHash);if(typeof me>"u")throw new Error("Assertion failed: Expected the resolution to be registered");de.push(me)}}return we.values()},p=({recursive:ae})=>{let le=new Map;for(let ce of o.workspaces)for(let we of A(ce,{recursive:ae}))le.set(we.locatorHash,we);return le.values()},h=({all:ae,recursive:le})=>ae&&le?o.storedPackages.values():ae?p({recursive:le}):A(a,{recursive:le}),E=({all:ae,recursive:le})=>{let ce=h({all:ae,recursive:le}),we=this.patterns.map(Ee=>{let g=j.parseLocator(Ee),me=$ge.default.makeRe(j.stringifyIdent(g)),Ce=j.isVirtualLocator(g),Ae=Ce?j.devirtualizeLocator(g):g;return ne=>{let Z=j.stringifyIdent(ne);if(!me.test(Z))return!1;if(g.reference==="unknown")return!0;let xe=j.isVirtualLocator(ne),Le=xe?j.devirtualizeLocator(ne):ne;return!(Ce&&xe&&g.reference!==ne.reference||Ae.reference!==Le.reference)}}),de=He.sortMap([...ce],Ee=>j.stringifyLocator(Ee));return{selection:de.filter(Ee=>we.length===0||we.some(g=>g(Ee))),sortedLookup:de}},{selection:I,sortedLookup:v}=E({all:this.all,recursive:this.recursive});if(I.length===0)throw new st("No package matched your request");let x=new Map;if(this.dependents)for(let ae of v)for(let le of ae.dependencies.values()){let ce=o.storedResolutions.get(le.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: Expected the resolution to be registered");He.getArrayWithDefault(x,ce).push(ae)}let C=new Map;for(let ae of v){if(!j.isVirtualLocator(ae))continue;let le=j.devirtualizeLocator(ae);He.getArrayWithDefault(C,le.locatorHash).push(ae)}let F={},N={children:F},U=r.makeFetcher(),J={project:o,fetcher:U,cache:n,checksums:o.storedChecksums,report:new Qi,cacheOptions:{skipIntegrityCheck:!0}},te=[async(ae,le,ce)=>{if(!le.has("manifest"))return;let we=await U.fetch(ae,J),de;try{de=await Ot.find(we.prefixPath,{baseFs:we.packageFs})}finally{we.releaseFs?.()}ce("Manifest",{License:pe.tuple(pe.Type.NO_HINT,de.license),Homepage:pe.tuple(pe.Type.URL,de.raw.homepage??null)})},async(ae,le,ce)=>{if(!le.has("cache"))return;let we=o.storedChecksums.get(ae.locatorHash)??null,de=n.getLocatorPath(ae,we),Be;if(de!==null)try{Be=await oe.statPromise(de)}catch{}let Ee=typeof Be<"u"?[Be.size,pe.Type.SIZE]:void 0;ce("Cache",{Checksum:pe.tuple(pe.Type.NO_HINT,we),Path:pe.tuple(pe.Type.PATH,de),Size:Ee})}];for(let ae of I){let le=j.isVirtualLocator(ae);if(!this.virtuals&&le)continue;let ce={},we={value:[ae,pe.Type.LOCATOR],children:ce};if(F[j.stringifyLocator(ae)]=we,this.nameOnly){delete we.children;continue}let de=C.get(ae.locatorHash);typeof de<"u"&&(ce.Instances={label:"Instances",value:pe.tuple(pe.Type.NUMBER,de.length)}),ce.Version={label:"Version",value:pe.tuple(pe.Type.NO_HINT,ae.version)};let Be=(g,me)=>{let Ce={};if(ce[g]=Ce,Array.isArray(me))Ce.children=me.map(Ae=>({value:Ae}));else{let Ae={};Ce.children=Ae;for(let[ne,Z]of Object.entries(me))typeof Z>"u"||(Ae[ne]={label:ne,value:Z})}};if(!le){for(let g of te)await g(ae,u,Be);await r.triggerHook(g=>g.fetchPackageInfo,ae,u,Be)}ae.bin.size>0&&!le&&Be("Exported Binaries",[...ae.bin.keys()].map(g=>pe.tuple(pe.Type.PATH,g)));let Ee=x.get(ae.locatorHash);typeof Ee<"u"&&Ee.length>0&&Be("Dependents",Ee.map(g=>pe.tuple(pe.Type.LOCATOR,g))),ae.dependencies.size>0&&!le&&Be("Dependencies",[...ae.dependencies.values()].map(g=>{let me=o.storedResolutions.get(g.descriptorHash),Ce=typeof me<"u"?o.storedPackages.get(me)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:Ce})})),ae.peerDependencies.size>0&&le&&Be("Peer dependencies",[...ae.peerDependencies.values()].map(g=>{let me=ae.dependencies.get(g.identHash),Ce=typeof me<"u"?o.storedResolutions.get(me.descriptorHash)??null:null,Ae=Ce!==null?o.storedPackages.get(Ce)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:Ae})}))}fs.emitTree(N,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Gh.paths=[["info"]],Gh.usage=it.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});je();Dt();Nl();var gk=Ze(rd());qt();var O8=Ze(Vn());$a();var K0t=[{selector:t=>t===-1,name:"nodeLinker",value:"node-modules"},{selector:t=>t!==-1&&t<8,name:"enableGlobalCache",value:!1},{selector:t=>t!==-1&&t<8,name:"compressionLevel",value:"mixed"}],jh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=ge.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=ge.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=ge.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=ge.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=ge.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=ge.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.cacheFolder=ge.String("--cache-folder",{hidden:!0});this.frozenLockfile=ge.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=ge.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=ge.Boolean("--non-interactive",{hidden:!0});this.preferOffline=ge.Boolean("--prefer-offline",{hidden:!0});this.production=ge.Boolean("--production",{hidden:!0});this.registry=ge.String("--registry",{hidden:!0});this.silent=ge.Boolean("--silent",{hidden:!0});this.networkTimeout=ge.String("--network-timeout",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=await TE({configuration:r,stdout:this.context.stdout},[{option:this.ignoreEngines,message:"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",error:!gk.default.VERCEL},{option:this.registry,message:"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file"},{option:this.preferOffline,message:"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",error:!gk.default.VERCEL},{option:this.production,message:"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",error:!0},{option:this.nonInteractive,message:"The --non-interactive option is deprecated",error:!o},{option:this.frozenLockfile,message:"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",callback:()=>this.immutable=this.frozenLockfile},{option:this.cacheFolder,message:"The cache-folder option has been deprecated; use rc settings instead",error:!gk.default.NETLIFY}]);if(a!==null)return a;let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new st(`${pe.pretty(r,"--immutable",pe.Type.CODE)} and ${pe.pretty(r,"--immutable-cache",pe.Type.CODE)} cannot be used with ${pe.pretty(r,"--mode=update-lockfile",pe.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let F=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{let U=!1;await V0t(r,u)&&(N.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),U=!0),await J0t(r,u)&&(N.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),U=!0),U&&N.reportSeparator()});if(F.hasErrors())return F.exitCode()}if(r.projectCwd!==null){let F=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{if(Ke.telemetry?.isNew)Ke.telemetry.commitTips(),N.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),N.reportInfo(65,`Run ${pe.pretty(r,"yarn config set --home enableTelemetry 0",pe.Type.CODE)} to disable`),N.reportSeparator();else if(Ke.telemetry?.shouldShowTips){let U=await sn.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(U!==null){let J=null;if(nn!==null){let ae=O8.default.prerelease(nn)?"canary":"stable",le=U.latest[ae];O8.default.gt(le,nn)&&(J=[ae,le])}if(J)Ke.telemetry.commitTips(),N.reportInfo(88,`${pe.applyStyle(r,`A new ${J[0]} version of Yarn is available:`,pe.Style.BOLD)} ${j.prettyReference(r,J[1])}!`),N.reportInfo(88,`Upgrade now by running ${pe.pretty(r,`yarn set version ${J[1]}`,pe.Type.CODE)}`),N.reportSeparator();else{let te=Ke.telemetry.selectTip(U.tips);te&&(N.reportInfo(89,pe.pretty(r,te.message,pe.Type.MARKDOWN_INLINE)),te.url&&N.reportInfo(89,`Learn more at ${te.url}`),N.reportSeparator())}}}});if(F.hasErrors())return F.exitCode()}let{project:p,workspace:h}=await St.find(r,this.context.cwd),E=p.lockfileLastVersion;if(E!==null){let F=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{let U={};for(let J of K0t)J.selector(E)&&typeof r.sources.get(J.name)>"u"&&(r.use("",{[J.name]:J.value},p.cwd,{overwrite:!0}),U[J.name]=J.value);Object.keys(U).length>0&&(await Ke.updateConfiguration(p.cwd,U),N.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),N.reportSeparator())});if(F.hasErrors())return F.exitCode()}let I=await Nr.find(r,{immutable:A,check:this.checkCache});if(!h)throw new sr(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let v=r.get("enableHardenedMode");v&&typeof r.sources.get("enableHardenedMode")>"u"&&await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async F=>{F.reportWarning(0,"Yarn detected that the current workflow is executed from a public pull request. For safety the hardened mode has been enabled."),F.reportWarning(0,`It will prevent malicious lockfile manipulations, in exchange for a slower install time. You can opt-out if necessary; check our ${pe.applyHyperlink(r,"documentation","https://yarnpkg.com/features/security#hardened-mode")} for more details.`),F.reportSeparator()}),(this.refreshLockfile??v)&&(p.lockfileNeedsRefresh=!0);let x=this.checkResolutions??v;return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,forceSectionAlignment:!0,includeLogs:!0,includeVersion:!0},async F=>{await p.install({cache:I,report:F,immutable:u,checkResolutions:x,mode:this.mode})})).exitCode()}};jh.paths=[["install"],it.Default],jh.usage=it.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the `.pnp.cjs` file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your `.pnp.cjs` file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var z0t="<<<<<<<";async function J0t(t,e){if(!t.projectCwd)return!1;let r=z.join(t.projectCwd,dr.lockfile);if(!await oe.existsPromise(r)||!(await oe.readFilePromise(r,"utf8")).includes(z0t))return!1;if(e)throw new Vt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Ur.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Ur.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Ur.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Vt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Ur.execvp("git",["show",`${A}:./${dr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Vt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Ki(p.stdout)}catch{throw new Vt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n){if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=j.parseDescriptor(p,!0),E=t.normalizeDependency(h),I=j.stringifyDescriptor(E);I!==p&&(A[I]=A[p],delete A[p])}for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=A[p].checksum;typeof h=="string"&&h.includes("/")||(A[p].checksum=`${A.__metadata.cacheKey}/${h}`)}}let u=Object.assign({},...n);u.__metadata.version=`${Math.min(...n.map(A=>parseInt(A.__metadata.version??0)))}`,u.__metadata.cacheKey="merged";for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await oe.changeFilePromise(r,Ba(u),{automaticNewlines:!0}),!0}async function V0t(t,e){if(!t.projectCwd)return!1;let r=[],o=z.join(t.projectCwd,".yarn/plugins/@yarnpkg");return await Ke.updateConfiguration(t.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let u=n.filter(A=>{if(!A.path)return!0;let p=z.resolve(t.projectCwd,A.path),h=P1.has(A.spec)&&z.contains(o,p);return h&&r.push(p),!h});return u.length===0?Ke.deleteProperty:u.length===n.length?n:u}},{immutable:e})?(await Promise.all(r.map(async n=>{await oe.removePromise(n)})),!0):!1}je();Dt();qt();var Yh=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=ge.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=ge.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let p of this.destinations){let h=z.resolve(this.context.cwd,ue.toPortablePath(p)),E=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await St.find(E,h);if(o.cwd===I.cwd)throw new st(`Invalid destination '${p}'; Can't link the project to itself`);if(!v)throw new sr(I.cwd,h);if(this.all){let x=!1;for(let C of I.workspaces)C.manifest.name&&(!C.manifest.private||this.private)&&(A.push(C),x=!0);if(!x)throw new st(`No workspace found to be linked in the target project: ${p}`)}else{if(!v.manifest.name)throw new st(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(v.manifest.private&&!this.private)throw new st(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);A.push(v)}}for(let p of A){let h=j.stringifyIdent(p.anchoredLocator),E=this.relative?z.relative(o.cwd,p.cwd):p.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${E}`})}return await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Yh.paths=[["link"]],Yh.usage=it.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});qt();var Wh=class extends ut{constructor(){super(...arguments);this.args=ge.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Wh.paths=[["node"]],Wh.usage=it.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});je();qt();var Kh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Ke.findRcFiles(this.context.cwd);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let u of o)if(!!u.data?.plugins)for(let A of u.data.plugins){if(!A.checksum||!A.spec.match(/^https?:/))continue;let p=await sn.get(A.spec,{configuration:r}),h=wn.makeHash(p);if(A.checksum===h)continue;let E=pe.pretty(r,A.path,pe.Type.PATH),I=pe.pretty(r,A.spec,pe.Type.URL),v=`${E} is different from the file provided by ${I}`;n.reportJson({...A,newChecksum:h}),n.reportError(0,v)}})).exitCode()}};Kh.paths=[["plugin","check"]],Kh.usage=it.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` + Check only the plugins from https. + + If this command detects any plugin differences in the CI environment, it will throw an error. + `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});je();je();Dt();qt();var ide=ve("os");je();Dt();qt();var ede=ve("os");je();Nl();qt();var X0t="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Vd(t,e){let r=await sn.get(X0t,{configuration:t}),o=Ki(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Lr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var zh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Vd(r,nn);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};zh.paths=[["plugin","list"]],zh.usage=it.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Z0t=/^[0-9]+$/,$0t=process.platform==="win32";function tde(t){return Z0t.test(t)?`pull/${t}/head`:t}var egt=({repository:t,branch:e},r)=>[["git","init",ue.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",tde(e)],["git","reset","--hard","FETCH_HEAD"]],tgt=({branch:t})=>[["git","fetch","origin","--depth=1",tde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],rgt=({plugins:t,noMinify:e},r,o)=>[["yarn","build:cli",...new Array().concat(...t.map(a=>["--plugin",z.resolve(o,a)])),...e?["--no-minify"]:[],"|"],[$0t?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",ue.fromPortablePath(r),"|"]],Jh=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=ge.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=ge.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,ede.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Ft.start({configuration:r,stdout:this.context.stdout},async u=>{await M8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator();let A=await Ur.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=z.join(a,`packages/yarnpkg-cli/bundles/yarn-${A.stdout.trim()}.js`);oe.existsSync(p)||(await C2(rgt(this,p,a),{configuration:r,context:this.context,target:a}),u.reportSeparator());let h=await oe.readFilePromise(p);if(!this.dryRun){let{bundleVersion:E}=await N8(r,null,async()=>h,{report:u});this.skipPlugins||await ngt(this,E,{project:o,report:u,target:a})}})).exitCode()}};Jh.paths=[["set","version","from","sources"]],Jh.usage=it.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function C2(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Ur.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${pe.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} +`);try{await Ur.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function M8(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&oe.existsSync(z.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await C2(tgt(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await oe.removePromise(o),await oe.mkdirPromise(o,{recursive:!0}),await C2(egt(t,o),{configuration:e,context:t.context,target:o}))}async function ngt(t,e,{project:r,report:o,target:a}){let n=await Vd(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await U8(A,t,{project:r,report:o,target:a})}je();je();Dt();qt();var rde=Ze(Vn()),nde=ve("vm");var Vh=class extends ut{constructor(){super(...arguments);this.name=ge.String();this.checksum=ge.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Ft.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await St.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.name)){let p=z.resolve(this.context.cwd,ue.toPortablePath(this.name));a.reportInfo(0,`Reading ${pe.pretty(r,p,pe.Type.PATH)}`),u=z.relative(n.cwd,p),A=await oe.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new Vt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=j.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!rde.default.valid(h.reference))throw new Vt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=j.stringifyIdent(h),I=await Vd(r,nn);if(!Object.hasOwn(I,E)){let v=`Couldn't find a plugin named ${j.prettyIdent(r,h)} on the remote registry. +`;throw r.plugins.has(E)?v+=`A plugin named ${j.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${pe.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",pe.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${pe.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",pe.Type.URL)}).`,new Vt(51,v)}u=E,p=I[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):nn!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${nn}/`))}a.reportInfo(0,`Downloading ${pe.pretty(r,p,"green")}`),A=await sn.get(p,{configuration:r})}await _8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};Vh.paths=[["plugin","import"]],Vh.usage=it.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function _8(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,nde.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,E=z.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${pe.pretty(n,h,"magenta")}`),await oe.mkdirPromise(z.dirname(E),{recursive:!0}),await oe.writeFilePromise(E,e);let I={path:h,spec:t};r&&(I.checksum=wn.makeHash(e)),await Ke.addPlugin(o.cwd,[I])}var igt=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Xh=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,ide.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await St.find(r,this.context.cwd),A=j.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=j.stringifyIdent(A),h=await Vd(r,nn);if(!Object.hasOwn(h,p))throw new Vt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await M8(this,{configuration:r,report:n,target:o}),await U8(E,this,{project:u,report:n,target:o})})).exitCode()}};Xh.paths=[["plugin","import","from","sources"]],Xh.usage=it.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function U8(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await C2(igt({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=z.resolve(n,`packages/${u}/bundles/${t}.js`),h=await oe.readFilePromise(p);await _8(t,h,{project:o,report:a})}je();Dt();qt();var Zh=class extends ut{constructor(){super(...arguments);this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=j.parseIdent(u);if(!r.plugins.has(u))throw new st(`${j.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=z.resolve(o.cwd,p);oe.existsSync(h)&&(n.reportInfo(0,`Removing ${pe.pretty(r,p,pe.Type.PATH)}...`),await oe.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Ke.updateConfiguration(o.cwd,{plugins:E=>{if(!Array.isArray(E))return E;let I=E.filter(v=>v.path!==p);return I.length===0?Ke.deleteProperty:I.length===E.length?E:I}})})).exitCode()}};Zh.paths=[["plugin","remove"]],Zh.usage=it.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});je();qt();var $h=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};$h.paths=[["plugin","runtime"]],$h.usage=it.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});je();je();qt();var e0=class extends ut{constructor(){super(...arguments);this.idents=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);let u=new Set;for(let A of this.idents)u.add(j.parseIdent(A).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new Qi}),u.size>0)for(let A of o.storedPackages.values())u.has(A.identHash)&&(o.storedBuildState.delete(A.locatorHash),o.skippedBuilds.delete(A.locatorHash));else o.storedBuildState.clear(),o.skippedBuilds.clear();return await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};e0.paths=[["rebuild"]],e0.usage=it.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});je();je();je();qt();var H8=Ze(Xo());$a();var t0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let C of this.patterns){let F=!1,N=j.parseIdent(C);for(let U of u){let J=[...U.manifest.peerDependenciesMeta.keys()];for(let te of(0,H8.default)(J,C))U.manifest.peerDependenciesMeta.delete(te),h=!0,F=!0;for(let te of A){let ae=U.manifest.getForScope(te),le=[...ae.values()].map(ce=>j.stringifyIdent(ce));for(let ce of(0,H8.default)(le,j.stringifyIdent(N))){let{identHash:we}=j.parseIdent(ce),de=ae.get(we);if(typeof de>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[te].delete(we),E.push([U,te,de]),h=!0,F=!0}}}F||p.push(C)}let I=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",x=this.all?"any":"this";if(p.length>0)throw new st(`${I} ${pe.prettyList(r,p,pe.Type.CODE)} ${v} match any packages referenced by ${x} workspace`);return h?(await r.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,E),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};t0.paths=[["remove"]],t0.usage=it.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});je();je();qt();var sde=ve("util"),Xd=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);return(await Ft.start({configuration:r,stdout:this.context.stdout,json:this.json},async u=>{let A=a.manifest.scripts,p=He.sortMap(A.keys(),I=>I),h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},E=p.reduce((I,v)=>Math.max(I,v.length),0);for(let[I,v]of A.entries())u.reportInfo(null,`${I.padEnd(E," ")} ${(0,sde.inspect)(v,h)}`),u.reportJson({name:I,script:v})})).exitCode()}};Xd.paths=[["run"]];je();je();qt();var r0=class extends ut{constructor(){super(...arguments);this.inspect=ge.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=ge.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=ge.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=ge.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=ge.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=ge.Boolean("--silent",{hidden:!0});this.scriptName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await St.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await An.hasPackageScript(u,this.scriptName,{project:o}))return await An.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await An.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await An.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(o.workspaces.map(async I=>I.manifest.scripts.has(this.scriptName)?I:null))).filter(I=>I!==null);if(E.length===1)return await An.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new st(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${j.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new st(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${j.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new st("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,I]of cC)for(let v of I)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new st(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new st(`Couldn't find a script named "${this.scriptName}".`)}}};r0.paths=[["run"]],r0.usage=it.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});je();je();qt();var n0=class extends ut{constructor(){super(...arguments);this.descriptor=ge.String();this.resolution=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new sr(o.cwd,this.context.cwd);let u=j.parseDescriptor(this.descriptor,!0),A=j.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};n0.paths=[["set","resolution"]],n0.usage=it.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, edit the `resolutions` field in your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});je();Dt();qt();var ode=Ze(Xo()),i0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of u.manifest.resolutions)h.startsWith("portal:")&&A.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=z.resolve(this.context.cwd,ue.toPortablePath(p));if(He.isPathLike(p)){let E=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await St.find(E,h);if(!v)throw new sr(I.cwd,h);if(this.all){for(let x of I.workspaces)x.manifest.name&&A.add(j.stringifyIdent(x.anchoredLocator));if(A.size===0)throw new st("No workspace found to be unlinked in the target project")}else{if(!v.manifest.name)throw new st("The target workspace doesn't have a name and thus cannot be unlinked");A.add(j.stringifyIdent(v.anchoredLocator))}}else{let E=[...u.manifest.resolutions.map(({pattern:I})=>I.descriptor.fullName)];for(let I of(0,ode.default)(E,p))A.add(I)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:p})=>!A.has(p.descriptor.fullName)),await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};i0.paths=[["unlink"]],i0.usage=it.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});je();je();je();qt();var ade=Ze(p2()),q8=Ze(Xo());$a();var Jf=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.patterns=ge.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(E=>j.stringifyIdent(E)),p=new Set;for(let E of this.patterns){if(j.parseDescriptor(E).range!=="unknown")throw new st("Ranges aren't allowed when using --recursive");for(let I of(0,q8.default)(A,E)){let v=j.parseIdent(I);p.add(v.identHash)}}let h=u.filter(E=>p.has(E.identHash));for(let E of h)o.storedDescriptors.delete(E.descriptorHash),o.storedResolutions.delete(E.descriptorHash);return await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=g2(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],E=[],I=[];for(let N of this.patterns){let U=!1,J=j.parseDescriptor(N),te=j.stringifyIdent(J);for(let ae of o.workspaces)for(let le of["dependencies","devDependencies"]){let we=[...ae.manifest.getForScope(le).values()].map(Be=>j.stringifyIdent(Be)),de=te==="*"?we:(0,q8.default)(we,te);for(let Be of de){let Ee=j.parseIdent(Be),g=ae.manifest[le].get(Ee.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let me=j.makeDescriptor(Ee,J.range);E.push(Promise.resolve().then(async()=>[ae,le,g,await d2(me,{project:o,workspace:ae,cache:n,target:le,fixed:u,modifier:p,strategies:h})])),U=!0}}U||I.push(N)}if(I.length>1)throw new st(`Patterns ${pe.prettyList(r,I,pe.Type.CODE)} don't match any packages referenced by any workspace`);if(I.length>0)throw new st(`Pattern ${pe.prettyList(r,I,pe.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(E),x=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async N=>{for(let[,,U,{suggestions:J,rejections:te}]of v){let ae=J.filter(le=>le.descriptor!==null);if(ae.length===0){let[le]=te;if(typeof le>"u")throw new Error("Assertion failed: Expected an error to have been set");let ce=this.cli.error(le);o.configuration.get("enableNetwork")?N.reportError(27,`${j.prettyDescriptor(r,U)} can't be resolved to a satisfying range + +${ce}`):N.reportError(27,`${j.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${ce}`)}else ae.length>1&&!A&&N.reportError(27,`${j.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(x.hasErrors())return x.exitCode();let C=!1,F=[];for(let[N,U,,{suggestions:J}]of v){let te,ae=J.filter(de=>de.descriptor!==null),le=ae[0].descriptor,ce=ae.every(de=>j.areDescriptorsEqual(de.descriptor,le));ae.length===1||ce?te=le:(C=!0,{answer:te}=await(0,ade.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${j.prettyWorkspace(r,N)} \u276F ${U}?`,choices:J.map(({descriptor:de,name:Be,reason:Ee})=>de?{name:Be,hint:Ee,descriptor:de}:{name:Be,hint:Ee,disabled:!0}),onCancel:()=>process.exit(130),result(de){return this.find(de,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let we=N.manifest[U].get(te.identHash);if(typeof we>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(we.descriptorHash!==te.descriptorHash)N.manifest[U].set(te.identHash,te),F.push([N,U,we,te]);else{let de=r.makeResolver(),Be={project:o,resolver:de},Ee=r.normalizeDependency(we),g=de.bindDescriptor(Ee,N.anchoredLocator,Be);o.forgetResolution(g)}}return await r.triggerMultipleHooks(N=>N.afterWorkspaceDependencyReplacement,F),C&&this.context.stdout.write(` +`),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};Jf.paths=[["up"]],Jf.usage=it.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Jf.schema=[aI("recursive",Yu.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];je();je();je();qt();var s0=class extends ut{constructor(){super(...arguments);this.recursive=ge.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=ge.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=j.parseIdent(this.package).identHash,u=this.recursive?ogt(o,n,{configuration:r,peers:this.peers}):sgt(o,n,{configuration:r,peers:this.peers});fs.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};s0.paths=[["why"]],s0.usage=it.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function sgt(t,e,{configuration:r,peers:o}){let a=He.sortMap(t.storedPackages.values(),A=>j.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let E of A.dependencies.values()){if(!o&&A.peerDependencies.has(E.identHash))continue;let I=t.storedResolutions.get(E.descriptorHash);if(!I)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(I);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==e)continue;{let C=j.stringifyLocator(A);n[C]={value:[A,pe.Type.LOCATOR],children:p}}let x=j.stringifyLocator(v);p[x]={value:[{descriptor:E,locator:v},pe.Type.DEPENDENT]}}}return u}function ogt(t,e,{configuration:r,peers:o}){let a=He.sortMap(t.workspaces,v=>j.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===e)return u.add(v.locatorHash),!0;let x=!1;v.identHash===e&&(x=!0);for(let C of v.dependencies.values()){if(!o&&v.peerDependencies.has(C.identHash))continue;let F=t.storedResolutions.get(C.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");A(N)&&(x=!0)}return x&&u.add(v.locatorHash),x};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},E={children:h},I=(v,x,C)=>{if(!u.has(v.locatorHash))return;let F=C!==null?pe.tuple(pe.Type.DEPENDENT,{locator:v,descriptor:C}):pe.tuple(pe.Type.LOCATOR,v),N={},U={value:F,children:N},J=j.stringifyLocator(v);if(x[J]=U,!(C!==null&&t.tryWorkspaceByLocator(v))&&!p.has(v.locatorHash)){p.add(v.locatorHash);for(let te of v.dependencies.values()){if(!o&&v.peerDependencies.has(te.identHash))continue;let ae=t.storedResolutions.get(te.descriptorHash);if(!ae)throw new Error("Assertion failed: The resolution should have been registered");let le=t.storedPackages.get(ae);if(!le)throw new Error("Assertion failed: The package should have been registered");I(le,N,te)}}};for(let v of a)I(v.anchoredPackage,h,null);return E}je();var Z8={};zt(Z8,{GitFetcher:()=>I2,GitResolver:()=>B2,default:()=>Sgt,gitUtils:()=>ra});je();Dt();var ra={};zt(ra,{TreeishProtocols:()=>w2,clone:()=>X8,fetchBase:()=>xde,fetchChangedFiles:()=>kde,fetchChangedWorkspaces:()=>Pgt,fetchRoot:()=>bde,isGitUrl:()=>yC,lsRemote:()=>Sde,normalizeLocator:()=>vgt,normalizeRepoUrl:()=>dC,resolveUrl:()=>V8,splitRepoUrl:()=>o0,validateRepoUrl:()=>J8});je();Dt();qt();var vde=Ze(wde()),Pde=Ze(mU()),mC=Ze(ve("querystring")),K8=Ze(Vn());function W8(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function Ide(t){try{return new URL(t)}catch{return}}function Igt(t){let e=W8(t,"@","#"),r=W8(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),W8(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Bde(t){return Ide(t)||Ide(Igt(t))}function dC(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=Bde(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function Dde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Bgt=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],w2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(w2||{});function yC(t){return t?Bgt.some(e=>!!t.match(e)):!1}function o0(t){t=dC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=mC.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(w2).find(p=>Object.hasOwn(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(w2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function vgt(t){return j.makeLocator(t,dC(t.reference))}function J8(t,{configuration:e}){let r=dC(t,{git:!0});if(!sn.getNetworkSettings(`https://${(0,vde.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Vt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function Sde(t,e){let r=J8(t,{configuration:e}),o=await z8("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:Dde()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function V8(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=o0(t),u=await Sde(r,e),A=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return mC.default.stringify({...n,commit:E})}case"head":{let I=u.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof I>"u")throw new Error(`Unknown head ("${E}")`);return mC.default.stringify({...n,commit:I})}case"tag":{let I=u.get(`refs/tags/${E}`);if(typeof I>"u")throw new Error(`Unknown tag ("${E}")`);return mC.default.stringify({...n,commit:I})}case"semver":{let I=Lr.validRange(E);if(!I)throw new Error(`Invalid range ("${E}")`);let v=new Map([...u.entries()].filter(([C])=>C.startsWith("refs/tags/")).map(([C,F])=>[K8.default.parse(C.slice(10)),F]).filter(C=>C[0]!==null)),x=K8.default.maxSatisfying([...v.keys()],I);if(x===null)throw new Error(`No matching range ("${E}")`);return mC.default.stringify({...n,commit:v.get(x)})}case null:{let I;if((I=p("commit",E))!==null||(I=p("tag",E))!==null||(I=p("head",E))!==null)return I;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return A(h,E)}catch{return null}};return dC(`${r}#${A(o,a)}`)}async function X8(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=o0(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=J8(r,{configuration:e}),u=await oe.mktempPromise(),A={cwd:u,env:Dde()};return await z8("cloning the repository",["clone","-c core.autocrlf=false",n,ue.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await z8("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function bde(t){let e,r=t;do{if(e=r,await oe.existsPromise(z.join(e,".git")))return e;r=z.dirname(e)}while(r!==e);return null}async function xde(t,{baseRefs:e}){if(e.length===0)throw new st("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Ur.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new st(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Ur.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Ur.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function kde(t,{base:e,project:r}){let o=He.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Ur.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),{stdout:u}=await Ur.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!z.relative(r.cwd,h).match(o)):p}async function Pgt({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new st("This command can only be run from within a Yarn project");let r=[z.resolve(e.cwd,dr.lockfile),z.resolve(e.cwd,e.configuration.get("cacheFolder")),z.resolve(e.cwd,e.configuration.get("installStatePath")),z.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await bde(e.configuration.projectCwd);if(o==null)throw new st("This command can only be run on Git repositories");let a=await xde(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await kde(o,{base:a.hash,project:e});return new Set(He.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?He.mapAndFilter.skip:r.some(p=>u.startsWith(p))?He.mapAndFilter.skip:A}))}async function z8(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Ur.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Ur.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new Vt(1,`Failed ${t}`,p=>{p.reportError(1,` ${pe.prettyField(o,{label:"Repository URL",value:pe.tuple(pe.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,E,I]=h;E=E.toLowerCase();let v=E==="error"?"Error":`${(0,Pde.default)(E)} Error`;p.reportError(1,` ${pe.prettyField(o,{label:v,value:pe.tuple(pe.Type.NO_HINT,I)})}`)}u?.(p)})}}var I2=class{supports(e,r){return yC(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=new Map(r.checksums);a.set(e.locatorHash,o);let n={...r,checksums:a},u=await this.downloadHosted(e,n);if(u!==null)return u;let[A,p,h]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(e,n),...r.cacheOptions});return{packageFs:A,releaseFs:p,prefixPath:j.getIdentVendorPath(e),checksum:h}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=await X8(e.reference,r.project.configuration),a=o0(e.reference),n=z.join(o,"package.tgz");await An.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:e});let u=await oe.readFilePromise(n);return await He.releaseAfterUseAsync(async()=>await Zi.convertToZip(u,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1}))}};je();je();var B2=class{supportsDescriptor(e,r){return yC(e.range)}supportsLocator(e,r){return yC(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await V8(e.range,o.project.configuration);return[j.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=o0(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=o0(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Dgt={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[I2],resolvers:[B2]};var Sgt=Dgt;qt();var a0=class extends ut{constructor(){super(...arguments);this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=ge.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await ra.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let I=new Set,v=new Set;for(let x of Ot.hardDependencies)for(let[C,F]of h.getForScope(x)){let N=o.tryWorkspaceByDescriptor(F);N===null?o.workspacesByIdent.has(C)&&v.add(F):I.add(N)}E={workspaceDependencies:Array.from(I).map(x=>x.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(x=>j.stringifyDescriptor(x))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?j.stringifyIdent(h.name):null,...E})}})).exitCode()}};a0.paths=[["workspaces","list"]],a0.usage=it.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});je();je();qt();var l0=class extends ut{constructor(){super(...arguments);this.workspaceName=ge.String();this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[j.stringifyIdent(p.anchoredLocator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new st(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${p.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};l0.paths=[["workspace"]],l0.usage=it.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var bgt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Qde.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[Fh,Th,Lh,Nh,n0,Jh,Hh,a0,Kd,zd,gC,Jd,Qh,Rh,Oh,Mh,Uh,_h,qh,Gh,jh,Yh,i0,Wh,Kh,Xh,Vh,Zh,zh,$h,e0,t0,Xd,r0,Jf,s0,l0]},xgt=bgt;var iH={};zt(iH,{default:()=>Qgt});je();var kt={optional:!0},eH=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:kt,zenObservable:kt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:kt,zenObservable:kt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:kt}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:kt,["postcss-jsx"]:kt,["postcss-less"]:kt,["postcss-markdown"]:kt,["postcss-scss"]:kt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:kt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:kt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:kt,"vue-template-compiler":kt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:kt,"utf-8-validate":kt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":kt,"vuetify-loader":kt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":kt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":kt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":kt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:kt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:kt,tinyliquid:kt,"liquid-node":kt,jade:kt,"then-jade":kt,dust:kt,"dustjs-helpers":kt,"dustjs-linkedin":kt,swig:kt,"swig-templates":kt,"razor-tmpl":kt,atpl:kt,liquor:kt,twig:kt,ejs:kt,eco:kt,jazz:kt,jqtpl:kt,hamljs:kt,hamlet:kt,whiskers:kt,"haml-coffee":kt,"hogan.js":kt,templayed:kt,handlebars:kt,underscore:kt,lodash:kt,pug:kt,"then-pug":kt,qejs:kt,walrus:kt,mustache:kt,just:kt,ect:kt,mote:kt,toffee:kt,dot:kt,"bracket-template":kt,ractive:kt,nunjucks:kt,htmling:kt,"babel-core":kt,plates:kt,"react-dom":kt,react:kt,"arc-templates":kt,vash:kt,slm:kt,marko:kt,teacup:kt,"coffee-script":kt,squirrelly:kt,twing:kt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":kt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":kt,vue:kt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:kt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:kt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":kt,"webpack-command":kt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":kt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":kt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:kt,jimp:kt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":kt,"eslint-import-resolver-typescript":kt,"eslint-import-resolver-webpack":kt,"@typescript-eslint/parser":kt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":kt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":kt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x <10.0.2",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.7"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:kt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:kt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:kt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@<5.0.0",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:kt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:kt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:kt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":kt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}],["vite-plugin-vuetify@<=1.0.2",{peerDependencies:{vue:"^3.0.0"}}],["webpack-plugin-vuetify@<=2.0.1",{peerDependencies:{vue:"^3.2.6"}}],["eslint-import-resolver-vite@<2.0.1",{dependencies:{debug:"^4.3.4",resolve:"^1.22.8"}}]];var tH;function Rde(){return typeof tH>"u"&&(tH=ve("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),tH}var rH;function Fde(){return typeof rH>"u"&&(rH=ve("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),rH}var nH;function Tde(){return typeof nH>"u"&&(nH=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),nH}var Lde=new Map([[j.makeIdent(null,"fsevents").identHash,Rde],[j.makeIdent(null,"resolve").identHash,Fde],[j.makeIdent(null,"typescript").identHash,Tde]]),kgt={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of eH)e(j.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{let r="compat/";if(!e.startsWith(r))return;let o=j.parseIdent(e.slice(r.length)),a=Lde.get(o.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof Lde.get(t.identHash)>"u"?t:j.makeDescriptor(t,j.makeRange({protocol:"patch:",source:j.stringifyDescriptor(t),selector:`optional!builtin`,params:null}))}},Qgt=kgt;var wH={};zt(wH,{ConstraintsCheckCommand:()=>g0,ConstraintsQueryCommand:()=>p0,ConstraintsSourceCommand:()=>h0,default:()=>idt});je();je();P2();var CC=class{constructor(e){this.project=e}createEnvironment(){let e=new EC(["cwd","ident"]),r=new EC(["workspace","type","ident"]),o=new EC(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,u=new Map;for(let A of this.project.storedPackages.values()){let p=Array.from(A.peerDependencies.values(),h=>[j.stringifyIdent(h),h.range]);n.set(A.locatorHash,{workspace:null,ident:j.stringifyIdent(A),version:A.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional===!0))})}for(let A of this.project.storedPackages.values()){let p=n.get(A.locatorHash);p.dependencies=new Map(Array.from(A.dependencies.values(),h=>{let E=this.project.storedResolutions.get(h.descriptorHash);if(typeof E>"u")throw new Error("Assertion failed: The resolution should have been registered");let I=n.get(E);if(typeof I>"u")throw new Error("Assertion failed: The package should have been registered");return[j.stringifyIdent(h),I]})),p.dependencies.delete(p.ident)}for(let A of this.project.workspaces){let p=j.stringifyIdent(A.anchoredLocator),h=A.manifest.exportTo({}),E=n.get(A.anchoredLocator.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");let I=(F,N,{caller:U=Vi.getCaller()}={})=>{let J=v2(F),te=He.getMapWithDefault(a.manifestUpdates,A.cwd),ae=He.getMapWithDefault(te,J),le=He.getSetWithDefault(ae,N);U!==null&&le.add(U)},v=F=>I(F,void 0,{caller:Vi.getCaller()}),x=F=>{He.getArrayWithDefault(a.reportedErrors,A.cwd).push(F)},C=e.insert({cwd:A.relativeCwd,ident:p,manifest:h,pkg:E,set:I,unset:v,error:x});u.set(A,C);for(let F of Ot.allDependencies)for(let N of A.manifest[F].values()){let U=j.stringifyIdent(N),J=()=>{I([F,U],void 0,{caller:Vi.getCaller()})},te=le=>{I([F,U],le,{caller:Vi.getCaller()})},ae=null;if(F!=="peerDependencies"&&(F!=="dependencies"||!A.manifest.devDependencies.has(N.identHash))){let le=A.anchoredPackage.dependencies.get(N.identHash);if(le){if(typeof le>"u")throw new Error("Assertion failed: The dependency should have been registered");let ce=this.project.storedResolutions.get(le.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: The resolution should have been registered");let we=n.get(ce);if(typeof we>"u")throw new Error("Assertion failed: The package should have been registered");ae=we}}r.insert({workspace:C,ident:U,range:N.range,type:F,resolution:ae,update:te,delete:J,error:x})}}for(let A of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(A);if(!p)continue;let h=u.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let E=n.get(A.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");E.workspace=h}return{workspaces:e,dependencies:r,packages:o,result:a}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependency:a=>e.dependencies.find(a)[0]??null,dependencies:a=>e.dependencies.find(a),package:a=>e.packages.find(a)[0]??null,packages:a=>e.packages.find(a)}},o=await this.project.loadUserConfig();return o?.constraints?(await o.constraints(r),e.result):null}};je();je();qt();var p0=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=ge.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(k2(),x2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Ft.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let E=Array.from(Object.entries(h)),I=E.length,v=E.reduce((x,[C])=>Math.max(x,C.length),0);for(let x=0;x(k2(),x2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};h0.paths=[["constraints","source"]],h0.usage=it.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});je();je();qt();P2();var g0=class extends ut{constructor(){super(...arguments);this.fix=ge.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);await o.restoreInstallState();let a=await o.loadUserConfig(),n;if(a?.constraints)n=new CC(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(k2(),x2));n=await h.find(o)}let u,A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:I,remainingErrors:v}=dk(o,E,{fix:this.fix}),x=[];for(let[C,F]of I){let N=C.manifest.indent;C.manifest=new Ot,C.manifest.indent=N,C.manifest.load(F),x.push(C.persistManifest())}if(await Promise.all(x),!(I.size>0&&h>1)){u=qde(v,{configuration:r}),A=!1,p=!0;for(let[,C]of v)for(let F of C)F.fixable?A=!0:p=!1}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`;await Ft.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return u.children=He.sortMap(u.children,h=>h.value[1]),fs.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};g0.paths=[["constraints"]],g0.usage=it.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` + This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. + + If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. + + For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. + `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});P2();var ndt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[p0,h0,g0],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r?.constraints)o=new CC(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(k2(),x2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=dk(t,a);if(n.size!==0)if(t.configuration.isCI)for(let[u,A]of n)for(let p of A)e(84,`${pe.pretty(t.configuration,u.anchoredLocator,pe.Type.IDENT)}: ${p.text}`);else e(84,`Constraint check failed; run ${pe.pretty(t.configuration,"yarn constraints",pe.Type.CODE)} for more details`)}}},idt=ndt;var IH={};zt(IH,{CreateCommand:()=>tm,DlxCommand:()=>d0,default:()=>odt});je();qt();var tm=class extends ut{constructor(){super(...arguments);this.pkg=ge.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=j.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?j.makeIdent(a.scope,`create-${a.name}`):j.makeIdent(null,`create-${a.name}`),u=j.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};tm.paths=[["create"]];je();je();Dt();qt();var d0=class extends ut{constructor(){super(...arguments);this.packages=ge.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}async execute(){return Ke.telemetry=null,await oe.mktempPromise(async r=>{let o=z.join(r,`dlx-${process.pid}`);await oe.mkdirPromise(o),await oe.writeFilePromise(z.join(o,"package.json"),`{} +`),await oe.writeFilePromise(z.join(o,"yarn.lock"),"");let a=z.join(o,".yarnrc.yml"),n=await Ke.findProjectCwd(this.context.cwd),A={enableGlobalCache:!(await Ke.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Ku(68),level:pe.LogLevel.Discard}]},p=n!==null?z.join(n,".yarnrc.yml"):null;p!==null&&oe.existsSync(p)?(await oe.copyFilePromise(p,a),await Ke.updateConfiguration(o,N=>{let U=He.toMerged(N,A);return Array.isArray(N.plugins)&&(U.plugins=N.plugins.map(J=>{let te=typeof J=="string"?J:J.path,ae=ue.isAbsolute(te)?te:ue.resolve(ue.fromPortablePath(n),te);return typeof J=="string"?ae:{path:ae,spec:J.spec}})),U})):await oe.writeJsonPromise(a,A);let h=this.packages??[this.command],E=j.parseDescriptor(this.command).name,I=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(I!==0)return I;this.quiet||this.context.stdout.write(` +`);let v=await Ke.find(o,this.context.plugins),{project:x,workspace:C}=await St.find(v,o);if(C===null)throw new sr(x.cwd,o);await x.restoreInstallState();let F=await An.getWorkspaceAccessibleBinaries(C);return F.has(E)===!1&&F.size===1&&typeof this.packages>"u"&&(E=Array.from(F)[0][0]),await An.executeWorkspaceAccessibleBinary(C,E,this.args,{packageAccessibleBinaries:F,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};d0.paths=[["dlx"]],d0.usage=it.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var sdt={commands:[tm,d0]},odt=sdt;var PH={};zt(PH,{ExecFetcher:()=>R2,ExecResolver:()=>F2,default:()=>cdt,execUtils:()=>Ck});je();je();Dt();var pA="exec:";var Ck={};zt(Ck,{loadGeneratorFile:()=>Q2,makeLocator:()=>vH,makeSpec:()=>hme,parseSpec:()=>BH});je();Dt();function BH(t){let{params:e,selector:r}=j.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?j.parseLocator(e.locator):null,path:o}}function hme({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:j.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return j.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function vH(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return j.makeLocator(t,hme({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function Q2(t,e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(t,{protocol:e}),n=z.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var R2=class{supports(e,r){return!!e.reference.startsWith(pA)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:pA});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await Q2(e.reference,pA,r);return oe.mktempPromise(async a=>{let n=z.join(a,"generator.js");return await oe.writeFilePromise(n,o),oe.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!oe.existsSync(z.join(u,"build")))throw new Error("The script should have generated a build directory");return await Zi.makeArchiveFromDirectory(z.join(u,"build"),{prefixPath:j.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await oe.mktempPromise(async n=>{let u=await An.makeScriptEnv({project:a.project,binFolder:n}),A=z.join(e,"runtime.js");return await oe.mktempPromise(async p=>{let h=z.join(p,"buildfile.log"),E=z.join(e,"generator"),I=z.join(e,"build");await oe.mkdirPromise(E),await oe.mkdirPromise(I);let v={tempDir:ue.fromPortablePath(E),buildDir:ue.fromPortablePath(I),locator:j.stringifyLocator(r)};await oe.writeFilePromise(A,` + // Expose 'Module' as a global variable + Object.defineProperty(global, 'Module', { + get: () => require('module'), + configurable: true, + enumerable: false, + }); + + // Expose non-hidden built-in modules as global variables + for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { + Object.defineProperty(global, name, { + get: () => require(name), + configurable: true, + enumerable: false, + }); + } + + // Expose the 'execEnv' global variable + Object.defineProperty(global, 'execEnv', { + value: { + ...${JSON.stringify(v)}, + }, + enumerable: true, + }); + `);let x=u.NODE_OPTIONS||"",C=/\s*--require\s+\S*\.pnp\.c?js\s*/g;x=x.replace(C," ").trim(),u.NODE_OPTIONS=x;let{stdout:F,stderr:N}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${j.stringifyLocator(r)}) +`,prefix:j.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await Ur.pipevp(process.execPath,["--require",ue.fromPortablePath(A),ue.fromPortablePath(o),j.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:F,stderr:N});if(U!==0)throw oe.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${pe.pretty(a.project.configuration,h,pe.Type.PATH)})`)})})}};je();je();var adt=2,F2=class{supportsDescriptor(e,r){return!!e.range.startsWith(pA)}supportsLocator(e,r){return!!e.reference.startsWith(pA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=BH(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await Q2(j.makeRange({protocol:pA,source:a,selector:a,params:{locator:j.stringifyLocator(n)}}),pA,o.fetchOptions),A=wn.makeHash(`${adt}`,u).slice(0,6);return[vH(e,{parentLocator:n,path:a,generatorHash:A,protocol:pA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var ldt={fetchers:[R2],resolvers:[F2]},cdt=ldt;var SH={};zt(SH,{FileFetcher:()=>O2,FileResolver:()=>M2,TarballFileFetcher:()=>U2,TarballFileResolver:()=>_2,default:()=>fdt,fileUtils:()=>rm});je();Dt();var vC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,T2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Ui="file:";var rm={};zt(rm,{fetchArchiveFromLocator:()=>N2,makeArchiveFromLocator:()=>wk,makeBufferFromLocator:()=>DH,makeLocator:()=>PC,makeSpec:()=>gme,parseSpec:()=>L2});je();Dt();function L2(t){let{params:e,selector:r}=j.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?j.parseLocator(e.locator):null,path:o}}function gme({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:j.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return j.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function PC(t,{parentLocator:e,path:r,hash:o,protocol:a}){return j.makeLocator(t,gme({parentLocator:e,path:r,hash:o,protocol:a}))}async function N2(t,e){let{parentLocator:r,path:o}=j.parseFileStyleRange(t.reference,{protocol:Ui}),a=z.isAbsolute(o)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=z.join(n.prefixPath,o);return await He.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function wk(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=j.parseFileStyleRange(t.reference,{protocol:e}),u=z.isAbsolute(n)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=z.join(A.prefixPath,n);return await He.releaseAfterUseAsync(async()=>await Zi.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:j.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function DH(t,{protocol:e,fetchOptions:r}){return(await wk(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var O2=class{supports(e,r){return!!e.reference.startsWith(Ui)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:Ui});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return wk(e,{protocol:Ui,fetchOptions:r})}};je();je();var udt=2,M2=class{supportsDescriptor(e,r){return e.range.match(vC)?!0:!!e.range.startsWith(Ui)}supportsLocator(e,r){return!!e.reference.startsWith(Ui)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return vC.test(e.range)&&(e=j.makeDescriptor(e,`${Ui}${e.range}`)),j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=L2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await DH(j.makeLocator(e,j.makeRange({protocol:Ui,source:a,selector:a,params:{locator:j.stringifyLocator(n)}})),{protocol:Ui,fetchOptions:o.fetchOptions}),A=wn.makeHash(`${udt}`,u).slice(0,6);return[PC(e,{parentLocator:n,path:a,hash:A,protocol:Ui})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};je();var U2=class{supports(e,r){return T2.test(e.reference)?!!e.reference.startsWith(Ui):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await N2(e,r);return await Zi.convertToZip(o,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}};je();je();je();var _2=class{supportsDescriptor(e,r){return T2.test(e.range)?!!(e.range.startsWith(Ui)||vC.test(e.range)):!1}supportsLocator(e,r){return T2.test(e.reference)?!!e.reference.startsWith(Ui):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return vC.test(e.range)&&(e=j.makeDescriptor(e,`${Ui}${e.range}`)),j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=L2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=PC(e,{parentLocator:n,path:a,hash:"",protocol:Ui}),A=await N2(u,o.fetchOptions),p=wn.makeHash(A).slice(0,6);return[PC(e,{parentLocator:n,path:a,hash:p,protocol:Ui})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Adt={fetchers:[U2,O2],resolvers:[_2,M2]},fdt=Adt;var kH={};zt(kH,{GithubFetcher:()=>H2,default:()=>hdt,githubUtils:()=>Ik});je();Dt();var Ik={};zt(Ik,{invalidGithubUrlMessage:()=>yme,isGithubUrl:()=>bH,parseGithubUrl:()=>xH});var dme=Ze(ve("querystring")),mme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function bH(t){return t?mme.some(e=>!!t.match(e)):!1}function xH(t){let e;for(let A of mme)if(e=t.match(A),e)break;if(!e)throw new Error(yme(t));let[,r,o,a,n="master"]=e,{commit:u}=dme.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function yme(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var H2=class{supports(e,r){return!!bH(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await sn.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await oe.mktempPromise(async a=>{let n=new gn(a);await Zi.extractArchiveTo(o,n,{stripComponents:1});let u=ra.splitRepoUrl(e.reference),A=z.join(a,"package.tgz");await An.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await oe.readFilePromise(A);return await Zi.convertToZip(p,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=xH(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var pdt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new H2;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},hdt=pdt;var QH={};zt(QH,{TarballHttpFetcher:()=>G2,TarballHttpResolver:()=>j2,default:()=>ddt});je();function q2(t){let e;try{e=new URL(t)}catch{return!1}return!(e.protocol!=="http:"&&e.protocol!=="https:"||!e.pathname.match(/(\.tar\.gz|\.tgz|\/[^.]+)$/))}var G2=class{supports(e,r){return q2(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await sn.get(e.reference,{configuration:r.project.configuration});return await Zi.convertToZip(o,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}};je();je();var j2=class{supportsDescriptor(e,r){return q2(e.range)}supportsLocator(e,r){return q2(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[j.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var gdt={fetchers:[G2],resolvers:[j2]},ddt=gdt;var RH={};zt(RH,{InitCommand:()=>m0,default:()=>ydt});je();je();Dt();qt();var m0=class extends ut{constructor(){super(...arguments);this.private=ge.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=ge.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=ge.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=ge.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=ge.Boolean("-2",!1,{hidden:!0});this.yes=ge.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new st("Cannot use the --install flag from within a project subdirectory");oe.existsSync(this.context.cwd)||await oe.mkdirPromise(this.context.cwd,{recursive:!0});let a=z.join(this.context.cwd,dr.lockfile);oe.existsSync(a)||await oe.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await oe.mktempPromise(async A=>{let{code:p}=await Ur.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await An.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await St.find(r,this.context.cwd)).project}catch{o=null}oe.existsSync(this.context.cwd)||await oe.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Ot.tryFind(this.context.cwd),n=a??new Ot,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??j.makeIdent(r.get("initScope"),this.name??z.basename(this.context.cwd)),n.packageManager=nn&&He.isTaggedYarnVersion(nn)?`yarn@${nn}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await oe.mkdirPromise(z.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=z.join(this.context.cwd,Ot.fileName);await oe.changeFilePromise(p,`${JSON.stringify(A,null,2)} +`,{automaticNewlines:!0});let h=[p],E=z.join(this.context.cwd,"README.md");if(oe.existsSync(E)||(await oe.writeFilePromise(E,`# ${j.stringifyIdent(n.name)} +`),h.push(E)),!o||o.cwd===this.context.cwd){let I=z.join(this.context.cwd,dr.lockfile);oe.existsSync(I)||(await oe.writeFilePromise(I,""),h.push(I));let x=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(le=>`${le} +`).join(""),C=z.join(this.context.cwd,".gitignore");oe.existsSync(C)||(await oe.writeFilePromise(C,x),h.push(C));let N=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(le=>`${le} +`).join(""),U=z.join(this.context.cwd,".gitattributes");oe.existsSync(U)||(await oe.writeFilePromise(U,N),h.push(U));let J={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};He.mergeIntoTarget(J,r.get("initEditorConfig"));let te=`root = true +`;for(let[le,ce]of Object.entries(J)){te+=` +[${le}] +`;for(let[we,de]of Object.entries(ce)){let Be=we.replace(/[A-Z]/g,Ee=>`_${Ee.toLowerCase()}`);te+=`${Be} = ${de} +`}}let ae=z.join(this.context.cwd,".editorconfig");oe.existsSync(ae)||(await oe.writeFilePromise(ae,te),h.push(ae)),await this.cli.run(["install"],{quiet:!0}),oe.existsSync(z.join(this.context.cwd,".git"))||(await Ur.execvp("git",["init"],{cwd:this.context.cwd}),await Ur.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Ur.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};m0.paths=[["init"]],m0.usage=it.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var mdt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[m0]},ydt=mdt;var Tq={};zt(Tq,{SearchCommand:()=>I0,UpgradeInteractiveCommand:()=>v0,default:()=>oIt});je();var Cme=Ze(ve("os"));function DC({stdout:t}){if(Cme.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}qt();var Rye=Ze(VH()),XH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},gyt=(0,Rye.default)(XH.appId,XH.apiKey).initIndex(XH.indexName),ZH=async(t,e=0)=>await gyt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var GB=["regular","dev","peer"],I0=class extends ut{async execute(){DC(this.context);let{Gem:e}=await Promise.resolve().then(()=>(uQ(),Bq)),{ScrollableItems:r}=await Promise.resolve().then(()=>(hQ(),pQ)),{useKeypress:o}=await Promise.resolve().then(()=>(_B(),Kwe)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),bq)),{renderForm:n}=await Promise.resolve().then(()=>(yQ(),mQ)),{default:u}=await Promise.resolve().then(()=>Ze(nIe())),{Box:A,Text:p}=await Promise.resolve().then(()=>Ze(sc())),{default:h,useEffect:E,useState:I}=await Promise.resolve().then(()=>Ze(an())),v=await Ke.find(this.context.cwd,this.context.plugins),x=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),C=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),F=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),N=({hit:de,active:Be})=>{let[Ee,g]=a(de.name,null);o({active:Be},(Ae,ne)=>{if(ne.name!=="space")return;if(!Ee){g(GB[0]);return}let Z=GB.indexOf(Ee)+1;Z===GB.length?g(null):g(GB[Z])},[Ee,g]);let me=j.parseIdent(de.name),Ce=j.prettyIdent(v,me);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ce)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},de.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},de.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,de.humanDownloadsLast30Days)))},U=({name:de,active:Be})=>{let[Ee]=a(de,null),g=j.parseIdent(de);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",j.prettyIdent(v,g))),GB.map(me=>h.createElement(A,{key:me,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Ee===me})," ",h.createElement(p,{bold:!0},me)))))},J=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),ae=await n(({useSubmit:de})=>{let Be=a();de(Be);let Ee=Array.from(Be.keys()).filter(H=>Be.get(H)!==null),[g,me]=I(""),[Ce,Ae]=I(0),[ne,Z]=I([]),xe=H=>{H.match(/\t| /)||me(H)},Le=async()=>{Ae(0);let H=await ZH(g);H.query===g&&Z(H.hits)},ht=async()=>{let H=await ZH(g,Ce+1);H.query===g&&H.page-1===Ce&&(Ae(H.page),Z([...ne,...H.hits]))};return E(()=>{g?Le():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(x,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:xe,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(C,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(N,{key:H.name,hit:H,active:!1})),willReachEnd:ht}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(F,null)),Ee.length?Ee.map(H=>h.createElement(U,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(J,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ae>"u")return 1;let le=Array.from(ae.keys()).filter(de=>ae.get(de)==="regular"),ce=Array.from(ae.keys()).filter(de=>ae.get(de)==="dev"),we=Array.from(ae.keys()).filter(de=>ae.get(de)==="peer");return le.length&&await this.cli.run(["add",...le]),ce.length&&await this.cli.run(["add","--dev",...ce]),we&&await this.cli.run(["add","--peer",...we]),0}};I0.paths=[["search"]],I0.usage=it.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]});je();qt();E_();var uIe=Ze(Vn()),cIe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,AIe=(t,e)=>t.length>0?[t.slice(0,e)].concat(AIe(t.slice(e),e)):[],v0=class extends ut{async execute(){DC(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(lIe(),aIe)),{Pad:r}=await Promise.resolve().then(()=>(Fq(),oIe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(hQ(),pQ)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),bq)),{renderForm:n}=await Promise.resolve().then(()=>(yQ(),mQ)),{Box:u,Text:A}=await Promise.resolve().then(()=>Ze(sc())),{default:p,useEffect:h,useRef:E,useState:I}=await Promise.resolve().then(()=>Ze(an())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await St.find(v,this.context.cwd),F=await Nr.find(v);if(!C)throw new sr(x.cwd,this.context.cwd);await x.restoreInstallState({restoreResolutions:!1});let N=this.context.stdout.rows-7,U=(me,Ce)=>{let Ae=Ape(me,Ce),ne="";for(let Z of Ae)Z.added?ne+=pe.pretty(v,Z.value,"green"):Z.removed||(ne+=Z.value);return ne},J=(me,Ce)=>{if(me===Ce)return Ce;let Ae=j.parseRange(me),ne=j.parseRange(Ce),Z=Ae.selector.match(cIe),xe=ne.selector.match(cIe);if(!Z||!xe)return U(me,Ce);let Le=["gray","red","yellow","green","magenta"],ht=null,H="";for(let rt=1;rt{let ne=await Xc.fetchDescriptorFrom(me,Ae,{project:x,cache:F,preserveModifier:Ce,workspace:C});return ne!==null?ne.range:me.range},ae=async me=>{let Ce=uIe.default.valid(me.range)?`^${me.range}`:me.range,[Ae,ne]=await Promise.all([te(me,me.range,Ce).catch(()=>null),te(me,me.range,"latest").catch(()=>null)]),Z=[{value:null,label:me.range}];return Ae&&Ae!==me.range?Z.push({value:Ae,label:J(me.range,Ae)}):Z.push({value:null,label:""}),ne&&ne!==Ae&&ne!==me.range?Z.push({value:ne,label:J(me.range,ne)}):Z.push({value:null,label:""}),Z},le=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to abort.")))),ce=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),we=({active:me,descriptor:Ce,suggestions:Ae})=>{let[ne,Z]=a(Ce.descriptorHash,null),xe=j.stringifyIdent(Ce),Le=Math.max(0,45-xe.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},j.prettyIdent(v,Ce)),p.createElement(r,{active:me,length:Le})),p.createElement(e,{active:me,options:Ae,value:ne,skewer:!0,onChange:Z,sizes:[17,17,17]})))},de=({dependencies:me})=>{let[Ce,Ae]=I(me.map(()=>null)),ne=E(!0),Z=async xe=>{let Le=await ae(xe);return Le.filter(ht=>ht.label!=="").length<=1?null:{descriptor:xe,suggestions:Le}};return h(()=>()=>{ne.current=!1},[]),h(()=>{let xe=Math.trunc(N*1.75),Le=me.slice(0,xe),ht=me.slice(xe),H=AIe(ht,N),rt=Le.map(Z).reduce(async(Te,Re)=>{await Te;let ke=await Re;ke!==null&&(!ne.current||Ae(Ye=>{let Se=Ye.findIndex(Ue=>Ue===null),et=[...Ye];return et[Se]=ke,et}))},Promise.resolve());H.reduce((Te,Re)=>Promise.all(Re.map(ke=>Promise.resolve().then(()=>Z(ke)))).then(async ke=>{ke=ke.filter(Ye=>Ye!==null),await Te,ne.current&&Ae(Ye=>{let Se=Ye.findIndex(et=>et===null);return Ye.slice(0,Se).concat(ke).concat(Ye.slice(Se+ke.length))})}),rt).then(()=>{ne.current&&Ae(Te=>Te.filter(Re=>Re!==null))})},[]),Ce.length?p.createElement(o,{radius:N>>1,children:Ce.map((xe,Le)=>xe!==null?p.createElement(we,{key:Le,active:!1,descriptor:xe.descriptor,suggestions:xe.suggestions}):p.createElement(A,{key:Le},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Ee=await n(({useSubmit:me})=>{me(a());let Ce=new Map;for(let ne of x.workspaces)for(let Z of["dependencies","devDependencies"])for(let xe of ne.manifest[Z].values())x.tryWorkspaceByDescriptor(xe)===null&&(xe.range.startsWith("link:")||Ce.set(xe.descriptorHash,xe));let Ae=He.sortMap(Ce.values(),ne=>j.stringifyDescriptor(ne));return p.createElement(u,{flexDirection:"column"},p.createElement(le,null),p.createElement(ce,null),p.createElement(de,{dependencies:Ae}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Ee>"u")return 1;let g=!1;for(let me of x.workspaces)for(let Ce of["dependencies","devDependencies"]){let Ae=me.manifest[Ce];for(let ne of Ae.values()){let Z=Ee.get(ne.descriptorHash);typeof Z<"u"&&Z!==null&&(Ae.set(ne.identHash,j.makeDescriptor(ne,Z)),g=!0)}}return g?await x.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:F}):0}};v0.paths=[["upgrade-interactive"]],v0.usage=it.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var sIt={commands:[I0,v0]},oIt=sIt;var Lq={};zt(Lq,{LinkFetcher:()=>YB,LinkResolver:()=>WB,PortalFetcher:()=>KB,PortalResolver:()=>zB,default:()=>lIt});je();Dt();var tp="portal:",rp="link:";var YB=class{supports(e,r){return!!e.reference.startsWith(rp)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:rp});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:rp}),n=z.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new gn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new Hu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0}}};je();Dt();var WB=class{supportsDescriptor(e,r){return!!e.range.startsWith(rp)}supportsLocator(e,r){return!!e.reference.startsWith(rp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(rp.length);return[j.makeLocator(e,`${rp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};je();Dt();var KB=class{supports(e,r){return!!e.reference.startsWith(tp)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:tp});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:tp}),n=z.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new gn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,localPath:p}:{packageFs:new Hu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot}}};je();je();Dt();var zB=class{supportsDescriptor(e,r){return!!e.range.startsWith(tp)}supportsLocator(e,r){return!!e.reference.startsWith(tp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(tp.length);return[j.makeLocator(e,`${tp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var aIt={fetchers:[YB,KB],resolvers:[WB,zB]},lIt=aIt;var yG={};zt(yG,{NodeModulesLinker:()=>cv,NodeModulesMode:()=>hG,PnpLooseLinker:()=>uv,default:()=>v1t});Dt();je();Dt();Dt();var Oq=(t,e)=>`${t}@${e}`,fIe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Oq(t,o)};var gIe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=gIt(t,n),p=!1,h=0;do p=Mq(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let E=JB(A);if(Mq(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${E}, next tree: +${JB(A)}`);let v=dIe(A);if(v)throw new Error(`${v}, after hoisting finished: +${JB(A)}`)}return n.debugLevel>=2&&console.log(JB(A)),dIt(A)},cIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},uIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let E;for(let I of t)E=I.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},pIe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:I,hoistPriority:v,dependencyKind:x,hoistedFrom:C,hoistedTo:F}=e,N={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:I,hoistPriority:v,dependencyKind:x,hoistedFrom:new Map(C),hoistedTo:new Map(F)},U=N.dependencies.get(r);return U&&U.ident==N.ident&&N.dependencies.set(r,N),t.dependencies.set(N.name,N),N},AIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Nq=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Mq=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=mIt(u),p=AIt(u,A),h=t==u?new Map:a.fastLookupPossible?cIt(e):uIt(e),E,I=!1,v=!1,x=new Map(Array.from(p.entries()).map(([F,N])=>[F,N[0]])),C=new Map;do{let F=hIt(t,e,r,h,x,p,o,C,a);F.isGraphChanged&&(v=!0),F.anotherRoundNeeded&&(I=!0),E=!1;for(let[N,U]of p)U.length>1&&!u.dependencies.has(N)&&(x.delete(N),U.shift(),x.set(N,U[0]),E=!0)}while(E);for(let F of u.dependencies.values())if(!u.peerNames.has(F.name)&&!r.has(F.locator)){r.add(F.locator);let N=Mq(t,[...e,F],r,C,a);N.isGraphChanged&&(v=!0),N.anotherRoundNeeded&&(I=!0),r.delete(F.locator)}return{anotherRoundNeeded:I,isGraphChanged:v}},fIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},pIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let E,I=null,v=new Set;p&&(E=`${Array.from(e).map(N=>ro(N)).join("\u2192")}`);let x=r[r.length-1],F=!(o.ident===x.ident);if(p&&!F&&(I="- self-reference"),F&&(F=o.dependencyKind!==1,p&&!F&&(I="- workspace")),F&&o.dependencyKind===2&&(F=!fIt(o),p&&!F&&(I="- external soft link with unhoisted dependencies")),F&&(F=x.dependencyKind!==1||x.hoistedFrom.has(o.name)||e.size===1,p&&!F&&(I=x.reasons.get(o.name))),F&&(F=!t.peerNames.has(o.name),p&&!F&&(I=`- cannot shadow peer: ${ro(t.originalDependencies.get(o.name).locator)} at ${E}`)),F){let N=!1,U=a.get(o.name);if(N=!U||U.ident===o.ident,p&&!N&&(I=`- filled by: ${ro(U.locator)} at ${E}`),N)for(let J=r.length-1;J>=1;J--){let ae=r[J].dependencies.get(o.name);if(ae&&ae.ident!==o.ident){N=!1;let le=A.get(x);le||(le=new Set,A.set(x,le)),le.add(o.name),p&&(I=`- filled by ${ro(ae.locator)} at ${r.slice(0,J).map(ce=>ro(ce.locator)).join("\u2192")}`);break}}F=N}if(F&&(F=n.get(o.name)===o.ident,p&&!F&&(I=`- filled by: ${ro(u.get(o.name)[0])} at ${E}`)),F){let N=!0,U=new Set(o.peerNames);for(let J=r.length-1;J>=1;J--){let te=r[J];for(let ae of U){if(te.peerNames.has(ae)&&te.originalDependencies.has(ae))continue;let le=te.dependencies.get(ae);le&&t.dependencies.get(ae)!==le&&(J===r.length-1?v.add(le):(v=null,N=!1,p&&(I=`- peer dependency ${ro(le.locator)} from parent ${ro(te.locator)} was not hoisted to ${E}`))),U.delete(ae)}if(!N)break}F=N}if(F&&!h)for(let N of o.hoistedDependencies.values()){let U=a.get(N.name)||t.dependencies.get(N.name);if(!U||N.ident!==U.ident){F=!1,p&&(I=`- previously hoisted dependency mismatch, needed: ${ro(N.locator)}, available: ${ro(U?.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:I}:{isHoistable:F?0:1,reason:I}},EQ=t=>`${t.name}@${t.locator}`,hIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],E=new Set,I=!1,v=!1,x=(U,J,te,ae,le)=>{if(E.has(ae))return;let ce=[...J,EQ(ae)],we=[...te,EQ(ae)],de=new Map,Be=new Map;for(let Ae of Nq(ae)){let ne=pIt(h,r,[h,...U,ae],Ae,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(Be.set(Ae,ne),ne.isHoistable===2)for(let Z of ne.dependsOn){let xe=de.get(Z.name)||new Set;xe.add(Ae.name),de.set(Z.name,xe)}}let Ee=new Set,g=(Ae,ne,Z)=>{if(!Ee.has(Ae)){Ee.add(Ae),Be.set(Ae,{isHoistable:1,reason:Z});for(let xe of de.get(Ae.name)||[])g(ae.dependencies.get(xe),ne,p.debugLevel>=2?`- peer dependency ${ro(Ae.locator)} from parent ${ro(ae.locator)} was not hoisted`:"")}};for(let[Ae,ne]of Be)ne.isHoistable===1&&g(Ae,ne,ne.reason);let me=!1;for(let Ae of Be.keys())if(!Ee.has(Ae)){v=!0;let ne=u.get(ae);ne&&ne.has(Ae.name)&&(I=!0),me=!0,ae.dependencies.delete(Ae.name),ae.hoistedDependencies.set(Ae.name,Ae),ae.reasons.delete(Ae.name);let Z=h.dependencies.get(Ae.name);if(p.debugLevel>=2){let xe=Array.from(J).concat([ae.locator]).map(ht=>ro(ht)).join("\u2192"),Le=h.hoistedFrom.get(Ae.name);Le||(Le=[],h.hoistedFrom.set(Ae.name,Le)),Le.push(xe),ae.hoistedTo.set(Ae.name,Array.from(e).map(ht=>ro(ht.locator)).join("\u2192"))}if(!Z)h.ident!==Ae.ident&&(h.dependencies.set(Ae.name,Ae),le.add(Ae));else for(let xe of Ae.references)Z.references.add(xe)}if(ae.dependencyKind===2&&me&&(I=!0),p.check){let Ae=dIe(t);if(Ae)throw new Error(`${Ae}, after hoisting dependencies of ${[h,...U,ae].map(ne=>ro(ne.locator)).join("\u2192")}: +${JB(t)}`)}let Ce=Nq(ae);for(let Ae of Ce)if(Ee.has(Ae)){let ne=Be.get(Ae);if((a.get(Ae.name)===Ae.ident||!ae.reasons.has(Ae.name))&&ne.isHoistable!==0&&ae.reasons.set(Ae.name,ne.reason),!Ae.isHoistBorder&&we.indexOf(EQ(Ae))<0){E.add(ae);let xe=pIe(ae,Ae);x([...U,ae],ce,we,xe,F),E.delete(ae)}}},C,F=new Set(Nq(h)),N=Array.from(e).map(U=>EQ(U));do{C=F,F=new Set;for(let U of C){if(U.locator===h.locator||U.isHoistBorder)continue;let J=pIe(h,U);x([],Array.from(r),N,J,F)}}while(F.size>0);return{anotherRoundNeeded:I,isGraphChanged:v}},dIe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),I=()=>`${Array.from(o).concat([n]).map(v=>ro(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==E||!v||v.ident!==h.ident)&&e.push(`${I()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),x=n.hoistedTo.get(h.name),C=`${v?` hoisted from ${v.join(", ")}`:""}`,F=`${x?` hoisted to ${x}`:""}`,N=`${I()}${C}`;E?E.ident!==h.ident&&e.push(`${N} - broken require promise for ${h.name}${F}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${N} - broken require promise: no required dependency ${h.name}${F} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` +`)},gIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Oq(r,a),ident:fIe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,E)=>{let I=A.get(h),v=!!I;if(!I){let{name:x,identName:C,reference:F,peerNames:N,hoistPriority:U,dependencyKind:J}=h,te=e.hoistingLimits.get(E.locator);I={name:x,references:new Set([F]),locator:Oq(C,F),ident:fIe(C,F),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(N),reasons:new Map,decoupled:!0,isHoistBorder:te?te.has(x):!1,hoistPriority:U||0,dependencyKind:J||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,I)}if(E.dependencies.set(h.name,I),E.originalDependencies.set(h.name,I),v){let x=new Set,C=F=>{if(!x.has(F)){x.add(F),F.decoupled=!1;for(let N of F.dependencies.values())F.peerNames.has(N.name)||C(N)}};C(I)}else for(let x of h.dependencies)p(x,I)};for(let h of t.dependencies)p(h,u);return u},Uq=t=>t.substring(0,t.indexOf("@",1)),dIt=t=>{let e={name:t.name,identName:Uq(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:E,locator:I}=a;p={name:h,identName:Uq(I),references:E,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},mIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let E of A.dependencies.values()){let I=a(E);I.hoistPriority=Math.max(I.hoistPriority,E.hoistPriority),A.peerNames.has(E.name)?I.peerDependents.add(A.ident):n(A,E)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},ro=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},hIe=5e4,JB=t=>{let e=0,r=(a,n,u="")=>{if(e>hIe||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h":"")+(v!==E.name?`a:${E.name}:`:"")+ro(E.locator)+(I?` ${I}`:"")} +`,p+=r(E,n,`${u}${hhIe?` +Tree is too large, part of the tree has been dunped +`:"")};var VB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(VB||{}),mIe="node_modules",P0="$wsroot$";var XB=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=EIt(t,e),u=null;if(a.length===0){let A=gIe(r,{hoistingLimits:o});u=wIt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},dA=t=>`${t.name}@${t.reference}`,Hq=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(z.delimiter).length,u=a.split(z.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},yIe=(t,e)=>{let r=j.isVirtualLocator(t)?j.devirtualizeLocator(t):t,o=j.isVirtualLocator(e)?j.devirtualizeLocator(e):e;return j.areLocatorsEqual(r,o)},_q=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=ue.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return z.contains(o,a)===null},yIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=ue.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,x)=>{let C=dA(v);if(p.has(C))return;p.add(C);let F=t.getPackageInformation(v);if(F){let N=x?dA(x):"";if(dA(v)!==N&&F.linkType==="SOFT"&&!v.reference.startsWith("link:")&&!_q(F,v,t,o)){let U=EIe(F,v,t);(!A.get(U)||v.reference.startsWith("workspace:"))&&A.set(U,v)}for(let[U,J]of F.packageDependencies)J!==null&&(F.packagePeers.has(U)||h(t.getLocator(U,J),v))}};for(let v of u)h(v,null);let E=o.split(z.sep);for(let v of A.values()){let x=t.getPackageInformation(v),F=ue.toPortablePath(x.packageLocation.slice(0,-1)).split(z.sep).slice(E.length),N=n;for(let U of F){let J=N.children.get(U);J||(J={children:new Map},N.children.set(U,J)),N=J}N.workspaceLocator=v}let I=(v,x)=>{if(v.workspaceLocator){let C=dA(x),F=a.get(C);F||(F=new Set,a.set(C,F)),F.add(v.workspaceLocator)}for(let C of v.children.values())I(C,v.workspaceLocator||x)};for(let v of n.children.values())I(v,n.workspaceLocator);return a},EIt=(t,e)=>{let r=[],o=!1,a=new Map,n=yIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=ue.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,I=(x,C)=>`${dA(C)}:${x}`,v=(x,C,F,N,U,J,te,ae)=>{let le=I(x,F),ce=E.get(le),we=!!ce;!we&&F.name===A.name&&F.reference===A.reference&&(ce=h,E.set(le,h));let de=_q(C,F,t,p);if(!ce){let Ae=0;de?Ae=2:C.linkType==="SOFT"&&F.name.endsWith(P0)&&(Ae=1),ce={name:x,identName:F.name,reference:F.reference,dependencies:new Set,peerNames:Ae===1?new Set:C.packagePeers,dependencyKind:Ae},E.set(le,ce)}let Be;if(de?Be=2:U.linkType==="SOFT"?Be=1:Be=0,ce.hoistPriority=Math.max(ce.hoistPriority||0,Be),ae&&!de){let Ae=dA({name:N.identName,reference:N.reference}),ne=a.get(Ae)||new Set;a.set(Ae,ne),ne.add(ce.name)}let Ee=new Map(C.packageDependencies);if(e.project){let Ae=e.project.workspacesByCwd.get(ue.toPortablePath(C.packageLocation.slice(0,-1)));if(Ae){let ne=new Set([...Array.from(Ae.manifest.peerDependencies.values(),Z=>j.stringifyIdent(Z)),...Array.from(Ae.manifest.peerDependenciesMeta.keys())]);for(let Z of ne)Ee.has(Z)||(Ee.set(Z,J.get(Z)||null),ce.peerNames.add(Z))}}let g=dA({name:F.name.replace(P0,""),reference:F.reference}),me=n.get(g);if(me)for(let Ae of me)Ee.set(`${Ae.name}${P0}`,Ae.reference);(C!==U||C.linkType!=="SOFT"||!de&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(te)))&&N.dependencies.add(ce);let Ce=F!==A&&C.linkType==="SOFT"&&!F.name.endsWith(P0)&&!de;if(!we&&!Ce){let Ae=new Map;for(let[ne,Z]of Ee)if(Z!==null){let xe=t.getLocator(ne,Z),Le=t.getLocator(ne.replace(P0,""),Z),ht=t.getPackageInformation(Le);if(ht===null)throw new Error("Assertion failed: Expected the package to have been registered");let H=_q(ht,xe,t,p);if(e.validateExternalSoftLinks&&e.project&&H){ht.packageDependencies.size>0&&(o=!0);for(let[Ye,Se]of ht.packageDependencies)if(Se!==null){let et=j.parseLocator(Array.isArray(Se)?`${Se[0]}@${Se[1]}`:`${Ye}@${Se}`);if(dA(et)!==dA(xe)){let Ue=Ee.get(Ye);if(Ue){let b=j.parseLocator(Array.isArray(Ue)?`${Ue[0]}@${Ue[1]}`:`${Ye}@${Ue}`);yIe(b,et)||r.push({messageName:71,text:`Cannot link ${j.prettyIdent(e.project.configuration,j.parseIdent(xe.name))} into ${j.prettyLocator(e.project.configuration,j.parseLocator(`${F.name}@${F.reference}`))} dependency ${j.prettyLocator(e.project.configuration,et)} conflicts with parent dependency ${j.prettyLocator(e.project.configuration,b)}`})}else{let b=Ae.get(Ye);if(b){let w=b.target,S=j.parseLocator(Array.isArray(w)?`${w[0]}@${w[1]}`:`${Ye}@${w}`);yIe(S,et)||r.push({messageName:71,text:`Cannot link ${j.prettyIdent(e.project.configuration,j.parseIdent(xe.name))} into ${j.prettyLocator(e.project.configuration,j.parseLocator(`${F.name}@${F.reference}`))} dependency ${j.prettyLocator(e.project.configuration,et)} conflicts with dependency ${j.prettyLocator(e.project.configuration,S)} from sibling portal ${j.prettyIdent(e.project.configuration,j.parseIdent(b.portal.name))}`})}else Ae.set(Ye,{target:et.reference,portal:xe})}}}}let rt=e.hoistingLimitsByCwd?.get(te),Te=H?te:z.relative(p,ue.toPortablePath(ht.packageLocation))||Bt.dot,Re=e.hoistingLimitsByCwd?.get(Te);v(ne,ht,xe,ce,C,Ee,Te,rt==="dependencies"||Re==="dependencies"||Re==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,Bt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function EIe(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return ue.toPortablePath(o||t.packageLocation)}function CIt(t,e,r){let o=e.getLocator(t.name.replace(P0,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:ue.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:EIe(a,t,e)}}var wIt=(t,e,r)=>{let o=new Map,a=(E,I,v)=>{let{linkType:x,target:C}=CIt(E,t,r);return{locator:dA(E),nodePath:I,target:C,linkType:x,aliases:v}},n=E=>{let[I,v]=E.split("/");return v?{scope:I,name:v}:{scope:null,name:I}},u=new Set,A=(E,I,v)=>{if(u.has(E))return;u.add(E);let x=Array.from(E.references).sort().join("#");for(let C of E.dependencies){let F=Array.from(C.references).sort().join("#");if(C.identName===E.identName.replace(P0,"")&&F===x)continue;let N=Array.from(C.references).sort(),U={name:C.identName,reference:N[0]},{name:J,scope:te}=n(C.name),ae=te?[te,J]:[J],le=z.join(I,mIe),ce=z.join(le,...ae),we=`${v}/${U.name}`,de=a(U,v,N.slice(1)),Be=!1;if(de.linkType==="SOFT"&&r.project){let Ee=r.project.workspacesByCwd.get(de.target.slice(0,-1));Be=!!(Ee&&!Ee.manifest.name)}if(!C.name.endsWith(P0)&&!Be){let Ee=o.get(ce);if(Ee){if(Ee.dirList)throw new Error(`Assertion failed: ${ce} cannot merge dir node with leaf node`);{let Ce=j.parseLocator(Ee.locator),Ae=j.parseLocator(de.locator);if(Ee.linkType!==de.linkType)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different link types ${Ee.nodePath}/${j.stringifyLocator(Ce)} and ${v}/${j.stringifyLocator(Ae)}`);if(Ce.identHash!==Ae.identHash)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different idents ${Ee.nodePath}/${j.stringifyLocator(Ce)} and ${v}/s${j.stringifyLocator(Ae)}`);de.aliases=[...de.aliases,...Ee.aliases,j.parseLocator(Ee.locator).reference]}}o.set(ce,de);let g=ce.split("/"),me=g.indexOf(mIe);for(let Ce=g.length-1;me>=0&&Ce>me;Ce--){let Ae=ue.toPortablePath(g.slice(0,Ce).join(z.sep)),ne=g[Ce],Z=o.get(Ae);if(!Z)o.set(Ae,{dirList:new Set([ne])});else if(Z.dirList){if(Z.dirList.has(ne))break;Z.dirList.add(ne)}}}A(C,de.linkType==="SOFT"?de.target:ce,we)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};je();je();Dt();Dt();iA();Nl();var oG={};zt(oG,{PnpInstaller:()=>dm,PnpLinker:()=>b0,UnplugCommand:()=>k0,default:()=>XIt,getPnpPath:()=>x0,jsInstallUtils:()=>yA,pnpUtils:()=>lv,quotePathIfNeeded:()=>n1e});Dt();var r1e=ve("url");je();je();Dt();Dt();var CIe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function IIt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=CQ(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function PIt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ +`;let u=0;for(let A=0,p=o.length;A"u"||(u!==0&&(n+=",",n+=` +`),n+=a,n+=JSON.stringify(h),n+=": ",n+=CQ(h,E,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` +`),n+=r,n+="}",n}function CQ(t,e,r,o){let{next:a}=CIe[r],n=a[t]||a["*"];return wIe(e,n,o)}function wIe(t,e,r){let{collapsed:o}=CIe[e];return Array.isArray(t)?o?IIt(t,e,r):BIt(t,e,r):typeof t=="object"&&t!==null?o?vIt(t,e,r):PIt(t,e,r):JSON.stringify(t)}function IIe(t){return wIe(t,"TOP_LEVEL","")}function ZB(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function DIt(t){let e=new Map,r=ZB(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function SIt(t){return ZB(t.fallbackPool||[],([e])=>e)}function bIt(t){let e=[];for(let[r,o]of ZB(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:E}]of ZB(o,([I])=>I===null?"0":`1${I}`)){let I=[];r!==null&&n!==null&&!A.has(r)&&I.push([r,n]);for(let[C,F]of ZB(A.entries(),([N])=>N))I.push([C,F]);let v=p&&p.size>0?Array.from(p):void 0,x=E||void 0;a.push([n,{packageLocation:u,packageDependencies:I,packagePeers:v,linkType:h,discardFromLookup:x}])}}return e}function $B(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:DIt(t),fallbackPool:SIt(t),packageRegistryData:bIt(t)}}var PIe=Ze(vIe());function DIe(t,e){return[t?`${t} +`:"",`/* eslint-disable */ +`,`// @ts-nocheck +`,`"use strict"; +`,` +`,e,` +`,(0,PIe.default)()].join("")}function xIt(t){return JSON.stringify(t,null,2)}function kIt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function QIt(t){return[`const RAW_RUNTIME_STATE = +`,`${kIt(IIe(t))}; + +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +`,`} +`].join("")}function RIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` const fs = require('fs'); +`,` const path = require('path'); +`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(dr.pnpData)}); +`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); +`,`} +`].join("")}function SIe(t){let e=$B(t),r=QIt(e);return DIe(t.shebang,r)}function bIe(t){let e=$B(t),r=RIt(),o=DIe(t.shebang,r);return{dataFile:xIt(e),loaderFile:o}}Dt();function Gq(t,{basePath:e}){let r=ue.toPortablePath(e),o=z.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([I,v])=>[I,new Map(v.map(([x,C])=>{if(I===null!=(x===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let F=C.discardFromLookup??!1,N={name:I,reference:x},U=n.get(C.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&F,F||(U.locator=N)):n.set(C.packageLocation,{locator:N,discardFromLookup:F});let J=null;return[x,{packageDependencies:new Map(C.packageDependencies),packagePeers:new Set(C.packagePeers),linkType:C.linkType,discardFromLookup:F,get packageLocation(){return J||(J=z.join(o,C.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([I,v])=>[I,new Set(v)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}Dt();Dt();var ip=ve("module"),gm=ve("url"),$q=ve("util");var Oo=ve("url");var RIe=Ze(ve("assert"));var jq=Array.isArray,ev=JSON.stringify,tv=Object.getOwnPropertyNames,hm=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Yq=(t,e)=>RegExp.prototype.exec.call(t,e),Wq=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),D0=(t,...e)=>String.prototype.endsWith.apply(t,e),Kq=(t,...e)=>String.prototype.includes.apply(t,e),zq=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),rv=(t,...e)=>String.prototype.indexOf.apply(t,e),xIe=(t,...e)=>String.prototype.replace.apply(t,e),S0=(t,...e)=>String.prototype.slice.apply(t,e),mA=(t,...e)=>String.prototype.startsWith.apply(t,e),kIe=Map,QIe=JSON.parse;function nv(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var FIe=nv("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Jq=nv("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),TIe=nv("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!mA(r,"./");return e==="."?((0,RIe.default)(o===!1),`Invalid "exports" main target ${ev(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${ev(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),iv=nv("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),LIe=nv("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var IQ=ve("url");function NIe(t,e){let r=Object.create(null);for(let o=0;oe):t+e}sv(r,t,o,u,a)}Yq(MIe,S0(t,2))!==null&&sv(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,E=new URL(".",o).pathname;if(mA(h,E)||sv(r,t,o,u,a),e==="")return p;if(Yq(MIe,e)!==null){let I=n?xIe(r,"*",()=>e):r+e;LIt(I,o,u,a)}return n?new URL(Wq(UIe,p.href,()=>e)):new URL(e,p)}function OIt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function qC(t,e,r,o,a,n,u,A){if(typeof e=="string")return NIt(e,r,o,t,a,n,u,A);if(jq(e)){if(e.length===0)return null;let p;for(let h=0;hn?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function MIt(t,e,r){if(typeof t=="string"||jq(t))return!0;if(typeof t!="object"||t===null)return!1;let o=tv(t),a=!1,n=0;for(let u=0;u=h.length&&D0(e,I)&&HIe(n,h)===1&&zq(h,"*")===E&&(n=h,u=S0(e,E,e.length-I.length))}}if(n){let p=r[n],h=qC(t,p,u,n,o,!0,!1,a);return h==null&&Vq(e,t,o),h}Vq(e,t,o)}function GIe({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||mA(t,"#/")||D0(t,"/")){let u="is not a valid internal imports specifier name";throw new Jq(t,u,(0,Oo.fileURLToPath)(e))}let a,n=OIe(e,o);if(n.exists){a=(0,Oo.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(hm(u,t)&&!Kq(t,"*")){let A=qC(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=tv(u);for(let E=0;E=I.length&&D0(t,x)&&HIe(A,I)===1&&zq(I,"*")===v&&(A=I,p=S0(t,v,t.length-x.length))}}if(A){let E=u[A],I=qC(a,E,p,A,e,!0,!0,r);if(I!=null)return I}}}TIt(t,a,e)}Dt();var _It=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function es(t,e,r={},o){o??=_It.has(t)?"MODULE_NOT_FOUND":t;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function lu(t){return ue.normalize(ue.fromPortablePath(t))}var KIe=Ze(YIe());function zIe(t){return HIt(),Zq[t]}var Zq;function HIt(){Zq||(Zq={"--conditions":[],...WIe(qIt()),...WIe(process.execArgv)})}function WIe(t){return(0,KIe.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function qIt(){let t=[],e=GIt(process.env.NODE_OPTIONS||"",t);return t.length,e}function GIt(t,e){let r=[],o=!1,a=!0;for(let n=0;nparseInt(t,10)),JIe=Ma>19||Ma===19&&np>=2||Ma===18&&np>=13,DVt=Ma===20&&np<6||Ma===19&&np>=3,SVt=Ma>19||Ma===19&&np>=6,bVt=Ma>=21||Ma===20&&np>=10||Ma===18&&np>=19,xVt=Ma>=21||Ma===20&&np>=10||Ma===18&&np>=20,kVt=Ma>=22;function VIe(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>ue.fromPortablePath(mi.resolveVirtual(ue.toPortablePath(e)))),JIe)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function eG(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Te of["react-scripts","gatsby"]){let Re=t.packageRegistry.get(Te);if(Re)for(let ke of Re.keys()){if(ke===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Te,reference:ke})}}let{ignorePattern:I,packageRegistry:v,packageLocatorsByLocations:x}=t;function C(Te,Re){return{fn:Te,args:Re,error:null,result:null}}function F(Te){let Re=process.stderr?.hasColors?.()??process.stdout.isTTY,ke=(et,Ue)=>`\x1B[${et}m${Ue}\x1B[0m`,Ye=Te.error;console.error(Ye?ke("31;1",`\u2716 ${Te.error?.message.replace(/\n.*/s,"")}`):ke("33;1","\u203C Resolution")),Te.args.length>0&&console.error();for(let et of Te.args)console.error(` ${ke("37;1","In \u2190")} ${(0,$q.inspect)(et,{colors:Re,compact:!0})}`);Te.result&&(console.error(),console.error(` ${ke("37;1","Out \u2192")} ${(0,$q.inspect)(Te.result,{colors:Re,compact:!0})}`));let Se=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(Se.length>0){console.error();for(let et of Se)console.error(` ${ke("38;5;244",et)}`)}console.error()}function N(Te,Re){if(e.allowDebug===!1)return Re;if(Number.isFinite(o)){if(o>=2)return(...ke)=>{let Ye=C(Te,ke);try{return Ye.result=Re(...ke)}catch(Se){throw Ye.error=Se}finally{F(Ye)}};if(o>=1)return(...ke)=>{try{return Re(...ke)}catch(Ye){let Se=C(Te,ke);throw Se.error=Ye,F(Se),Ye}}}return Re}function U(Te){let Re=g(Te);if(!Re)throw es("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Re}function J(Te){if(Te.name===null)return!0;for(let Re of t.dependencyTreeRoots)if(Re.name===Te.name&&Re.reference===Te.reference)return!0;return!1}let te=new Set(["node","require",...zIe("--conditions")]);function ae(Te,Re=te,ke){let Ye=Ae(z.join(Te,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Ye===null)throw es("INTERNAL",`The locator that owns the "${Te}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Se}=U(Ye),et=z.join(Se,dr.manifest);if(!e.fakeFs.existsSync(et))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(et,"utf8"));if(Ue.exports==null)return null;let b=z.contains(Se,Te);if(b===null)throw es("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");b!=="."&&!A.test(b)&&(b=`./${b}`);try{let w=qIe({packageJSONUrl:(0,gm.pathToFileURL)(ue.fromPortablePath(et)),packageSubpath:b,exports:Ue.exports,base:ke?(0,gm.pathToFileURL)(ue.fromPortablePath(ke)):null,conditions:Re});return ue.toPortablePath((0,gm.fileURLToPath)(w))}catch(w){throw es("EXPORTS_RESOLUTION_FAILED",w.message,{unqualifiedPath:lu(Te),locator:Ye,pkgJson:Ue,subpath:lu(b),conditions:Re},w.code)}}function le(Te,Re,{extensions:ke}){let Ye;try{Re.push(Te),Ye=e.fakeFs.statSync(Te)}catch{}if(Ye&&!Ye.isDirectory())return e.fakeFs.realpathSync(Te);if(Ye&&Ye.isDirectory()){let Se;try{Se=JSON.parse(e.fakeFs.readFileSync(z.join(Te,dr.manifest),"utf8"))}catch{}let et;if(Se&&Se.main&&(et=z.resolve(Te,Se.main)),et&&et!==Te){let Ue=le(et,Re,{extensions:ke});if(Ue!==null)return Ue}}for(let Se=0,et=ke.length;Se{let b=JSON.stringify(Ue.name);if(Ye.has(b))return;Ye.add(b);let w=me(Ue);for(let S of w)if(U(S).packagePeers.has(Te))Se(S);else{let R=ke.get(S.name);typeof R>"u"&&ke.set(S.name,R=new Set),R.add(S.reference)}};Se(Re);let et=[];for(let Ue of[...ke.keys()].sort())for(let b of[...ke.get(Ue)].sort())et.push({name:Ue,reference:b});return et}function Ae(Te,{resolveIgnored:Re=!1,includeDiscardFromLookup:ke=!1}={}){if(de(Te)&&!Re)return null;let Ye=z.relative(t.basePath,Te);Ye.match(n)||(Ye=`./${Ye}`),Ye.endsWith("/")||(Ye=`${Ye}/`);do{let Se=x.get(Ye);if(typeof Se>"u"||Se.discardFromLookup&&!ke){Ye=Ye.substring(0,Ye.lastIndexOf("/",Ye.length-2)+1);continue}return Se.locator}while(Ye!=="");return null}function ne(Te){try{return e.fakeFs.readFileSync(ue.toPortablePath(Te),"utf8")}catch(Re){if(Re.code==="ENOENT")return;throw Re}}function Z(Te,Re,{considerBuiltins:ke=!0}={}){if(Te.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Te==="pnpapi")return ue.toPortablePath(e.pnpapiResolution);if(ke&&(0,ip.isBuiltin)(Te))return null;let Ye=lu(Te),Se=Re&&lu(Re);if(Re&&de(Re)&&(!z.isAbsolute(Te)||Ae(Te)===null)){let b=we(Te,Re);if(b===!1)throw es("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${Ye}" +Required by: ${Se} +`,{request:Ye,issuer:Se});return ue.toPortablePath(b)}let et,Ue=Te.match(a);if(Ue){if(!Re)throw es("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:Se});let[,b,w]=Ue,S=Ae(Re);if(!S){let Fe=we(Te,Re);if(Fe===!1)throw es("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${Ye}" +Required by: ${Se} +`,{request:Ye,issuer:Se});return ue.toPortablePath(Fe)}let R=U(S).packageDependencies.get(b),V=null;if(R==null&&S.name!==null){let Fe=t.fallbackExclusionList.get(S.name);if(!Fe||!Fe.has(S.reference)){for(let dt=0,Gt=h.length;dtJ(at))?X=es("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${b} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) +${Fe.map(at=>`Ancestor breaking the chain: ${at.name}@${at.reference} +`).join("")} +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b,brokenAncestors:Fe}):X=es("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${b} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) + +${Fe.map(at=>`Ancestor breaking the chain: ${at.name}@${at.reference} +`).join("")} +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b,brokenAncestors:Fe})}else R===void 0&&(!ke&&(0,ip.isBuiltin)(Te)?J(S)?X=es("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${b} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${Se} +`,{request:Ye,issuer:Se,dependencyName:b}):X=es("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${b}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${b} isn't otherwise declared in ${S.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${Se} +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b}):J(S)?X=es("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${Se} +`,{request:Ye,issuer:Se,dependencyName:b}):X=es("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${b}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b}));if(R==null){if(V===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");R=V;let Fe=X.message.replace(/\n.*/g,"");X.message=Fe,!E.has(Fe)&&o!==0&&(E.add(Fe),process.emitWarning(X))}let $=Array.isArray(R)?{name:R[0],reference:R[1]}:{name:b,reference:R},ie=U($);if(!ie.packageLocation)throw es("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${$.name}@${$.reference}${$.name!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) +`,{request:Ye,issuer:Se,dependencyLocator:Object.assign({},$)});let be=ie.packageLocation;w?et=z.join(be,w):et=be}else if(z.isAbsolute(Te))et=z.normalize(Te);else{if(!Re)throw es("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:Se});let b=z.resolve(Re);Re.match(u)?et=z.normalize(z.join(b,Te)):et=z.normalize(z.join(z.dirname(b),Te))}return z.normalize(et)}function xe(Te,Re,ke=te,Ye){if(n.test(Te))return Re;let Se=ae(Re,ke,Ye);return Se?z.normalize(Se):Re}function Le(Te,{extensions:Re=Object.keys(ip.Module._extensions)}={}){let ke=[],Ye=le(Te,ke,{extensions:Re});if(Ye)return z.normalize(Ye);{VIe(ke.map(Ue=>ue.fromPortablePath(Ue)));let Se=lu(Te),et=Ae(Te);if(et){let{packageLocation:Ue}=U(et),b=!0;try{e.fakeFs.accessSync(Ue)}catch(w){if(w?.code==="ENOENT")b=!1;else{let S=(w?.message??w??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw es("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${S}). + +Missing package: ${et.name}@${et.reference} +Expected package location: ${lu(Ue)} +`,{unqualifiedPath:Se,extensions:Re})}}if(!b){let w=Ue.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw es("QUALIFIED_PATH_RESOLUTION_FAILED",`${w} + +Missing package: ${et.name}@${et.reference} +Expected package location: ${lu(Ue)} +`,{unqualifiedPath:Se,extensions:Re})}}throw es("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${Se} +${ke.map(Ue=>`Not found: ${lu(Ue)} +`).join("")}`,{unqualifiedPath:Se,extensions:Re})}}function ht(Te,Re,ke){if(!Re)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let Ye=GIe({name:Te,base:(0,gm.pathToFileURL)(ue.fromPortablePath(Re)),conditions:ke.conditions??te,readFileSyncFn:ne});if(Ye instanceof URL)return Le(ue.toPortablePath((0,gm.fileURLToPath)(Ye)),{extensions:ke.extensions});if(Ye.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(Ye,Re,ke)}function H(Te,Re,ke={}){try{if(Te.startsWith("#"))return ht(Te,Re,ke);let{considerBuiltins:Ye,extensions:Se,conditions:et}=ke,Ue=Z(Te,Re,{considerBuiltins:Ye});if(Te==="pnpapi")return Ue;if(Ue===null)return null;let b=()=>Re!==null?de(Re):!1,w=(!Ye||!(0,ip.isBuiltin)(Te))&&!b()?xe(Te,Ue,et,Re):Ue;return Le(w,{extensions:Se})}catch(Ye){throw Object.hasOwn(Ye,"pnpCode")&&Object.assign(Ye.data,{request:lu(Te),issuer:Re&&lu(Re)}),Ye}}function rt(Te){let Re=z.normalize(Te),ke=mi.resolveVirtual(Re);return ke!==Re?ke:null}return{VERSIONS:Be,topLevel:Ee,getLocator:(Te,Re)=>Array.isArray(Re)?{name:Re[0],reference:Re[1]}:{name:Te,reference:Re},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Te=[];for(let[Re,ke]of v)for(let Ye of ke.keys())Re!==null&&Ye!==null&&Te.push({name:Re,reference:Ye});return Te},getPackageInformation:Te=>{let Re=g(Te);if(Re===null)return null;let ke=ue.fromPortablePath(Re.packageLocation);return{...Re,packageLocation:ke}},findPackageLocator:Te=>Ae(ue.toPortablePath(Te)),resolveToUnqualified:N("resolveToUnqualified",(Te,Re,ke)=>{let Ye=Re!==null?ue.toPortablePath(Re):null,Se=Z(ue.toPortablePath(Te),Ye,ke);return Se===null?null:ue.fromPortablePath(Se)}),resolveUnqualified:N("resolveUnqualified",(Te,Re)=>ue.fromPortablePath(Le(ue.toPortablePath(Te),Re))),resolveRequest:N("resolveRequest",(Te,Re,ke)=>{let Ye=Re!==null?ue.toPortablePath(Re):null,Se=H(ue.toPortablePath(Te),Ye,ke);return Se===null?null:ue.fromPortablePath(Se)}),resolveVirtual:N("resolveVirtual",Te=>{let Re=rt(ue.toPortablePath(Te));return Re!==null?ue.fromPortablePath(Re):null})}}Dt();var XIe=(t,e,r)=>{let o=$B(t),a=Gq(o,{basePath:e}),n=ue.join(e,dr.pnpCjs);return eG(a,{fakeFs:r,pnpapiResolution:n})};var rG=Ze($Ie());qt();var yA={};zt(yA,{checkManifestCompatibility:()=>e1e,extractBuildRequest:()=>BQ,getExtractHint:()=>nG,hasBindingGyp:()=>iG});je();Dt();function e1e(t){return j.isPackageCompatible(t,Vi.getArchitectureSet())}function BQ(t,e,r,{configuration:o}){let a=[];for(let n of["preinstall","install","postinstall"])e.manifest.scripts.has(n)&&a.push({type:0,script:n});return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:t.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${j.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${j.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!o.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${j.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`)}:e1e(t)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${j.prettyLocator(o,t)} The ${Vi.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var YIt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function nG(t){return t.packageFs.getExtractHint({relevantExtensions:YIt})}function iG(t){let e=z.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var lv={};zt(lv,{getUnpluggedPath:()=>av});je();Dt();function av(t,{configuration:e}){return z.resolve(e.get("pnpUnpluggedFolder"),j.slugifyLocator(t))}var WIt=new Set([j.makeIdent(null,"open").identHash,j.makeIdent(null,"opn").identHash]),b0=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=x0(r.project).cjs;if(!oe.existsSync(o))throw new st(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=He.getFactoryWithDefault(this.pnpCache,o,()=>He.dynamicRequire(o,{cachingStrategy:He.CachingStrategy.FsTime})),n={name:j.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new st(`Couldn't find ${j.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return ue.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=x0(r.project).cjs;if(!oe.existsSync(o))return null;let n=He.getFactoryWithDefault(this.pnpCache,o,()=>He.dynamicRequire(o,{cachingStrategy:He.CachingStrategy.FsTime})).findPackageLocator(ue.fromPortablePath(e));return n?j.makeLocator(j.parseIdent(n.name),n.reference):null}makeInstaller(e){return new dm(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},dm=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new He.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=j.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=j.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,E=!p&&e.linkType!=="SOFT",I,v;if(h||E){let te=A?j.devirtualizeLocator(e):e;I=this.customData.store.get(te.locatorHash),typeof I>"u"&&(I=await KIt(r),e.linkType==="HARD"&&this.customData.store.set(te.locatorHash,I)),I.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(te,e.version)}let x=h?BQ(e,I,v,{configuration:this.opts.project.configuration}):null,C=E?await this.unplugPackageIfNeeded(e,I,r,v,o):r.packageFs;if(z.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let F=z.resolve(C.getRealPath(),r.prefixPath),N=sG(this.opts.project.cwd,F),U=new Map,J=new Set;if(A){for(let te of e.peerDependencies.values())U.set(j.stringifyIdent(te),null),J.add(j.stringifyIdent(te));if(!u){let te=j.devirtualizeLocator(e);this.virtualTemplates.set(te.locatorHash,{location:sG(this.opts.project.cwd,mi.resolveVirtual(F)),locator:te})}}return He.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:N,packageDependencies:U,packagePeers:J,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:F,buildRequest:x}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=j.areIdentsEqual(a,n)?n.reference:[j.stringifyIdent(n),n.reference];o.packageDependencies.set(j.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(j.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=x0(this.opts.project);if(this.isEsmEnabled()||await oe.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await oe.removePromise(e.cjs),await oe.removePromise(e.data),await oe.removePromise(e.esmLoader),await oe.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:E,location:I}of this.virtualTemplates.values())He.getMapWithDefault(this.packageRegistry,j.stringifyIdent(E)).set(E.reference,{packageLocation:I,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:E})=>({name:j.stringifyIdent(E),reference:E.reference})),a=r!=="none",n=[],u=new Map,A=He.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let E of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(E)&&n.push({name:j.stringifyIdent(E),reference:E.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=x0(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await oe.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=SIe(e);await oe.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await oe.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=bIe(e);await oe.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await oe.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await oe.changeFilePromise(r.esmLoader,(0,rG.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await oe.removePromise(a);else for(let n of await oe.readdirPromise(a)){let u=z.resolve(a,n);this.unpluggedPaths.has(u)||await oe.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=z.join(a.cwd,"node_modules");if(o&&o.test(z.relative(this.opts.project.cwd,a.cwd))||!oe.existsSync(n))continue;let u=await oe.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(z.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:WIt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(BQ(e,r,o,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(e,r,o){let a=av(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new _u(a,{baseFs:r.packageFs,pathUtils:z}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=z.join(a,r.prefixPath,".ready");await oe.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await oe.mkdirPromise(a,{recursive:!0}),await oe.copyPromise(a,Bt.dot,{baseFs:r.packageFs,overwrite:!1}),await oe.writeFilePromise(n,""))})),new gn(a))}getPackageInformation(e){let r=j.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${j.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${j.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=He.getMapWithDefault(this.packageRegistry,"@@disk"),o=sG(this.opts.project.cwd,e);return He.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function sG(t,e){let r=z.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function KIt(t){let e=await Ot.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Ot,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:nG(t),hasBindingGyp:iG(t)}}}je();je();qt();var t1e=Ze(Xo());var k0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new st("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(x=>{let C=j.parseDescriptor(x),F=C.range!=="unknown"?C:j.makeDescriptor(C,"*");if(!Lr.validRange(F.range))throw new st(`The range of the descriptor patterns must be a valid semver range (${j.prettyDescriptor(r,F)})`);return N=>{let U=j.stringifyIdent(N);return!t1e.default.isMatch(U,j.stringifyIdent(F))||N.version&&!Lr.satisfiesWithPrereleases(N.version,F.range)?!1:(u.delete(x),!0)}}),p=()=>{let x=[];for(let C of o.storedPackages.values())!o.tryWorkspaceByLocator(C)&&!j.isVirtualLocator(C)&&A.some(F=>F(C))&&x.push(C);return x},h=x=>{let C=new Set,F=[],N=(U,J)=>{if(C.has(U.locatorHash))return;let te=!!o.tryWorkspaceByLocator(U);if(!(J>0&&!this.recursive&&te)&&(C.add(U.locatorHash),!o.tryWorkspaceByLocator(U)&&A.some(ae=>ae(U))&&F.push(U),!(J>0&&!this.recursive)))for(let ae of U.dependencies.values()){let le=o.storedResolutions.get(ae.descriptorHash);if(!le)throw new Error("Assertion failed: The resolution should have been registered");let ce=o.storedPackages.get(le);if(!ce)throw new Error("Assertion failed: The package should have been registered");N(ce,J+1)}};for(let U of x)N(U.anchoredPackage,0);return F},E,I;if(this.all&&this.recursive?(E=p(),I="the project"):this.all?(E=h(o.workspaces),I="any workspace"):(E=h([a]),I="this workspace"),u.size>1)throw new st(`Patterns ${pe.prettyList(r,u,pe.Type.CODE)} don't match any packages referenced by ${I}`);if(u.size>0)throw new st(`Pattern ${pe.prettyList(r,u,pe.Type.CODE)} doesn't match any packages referenced by ${I}`);E=He.sortMap(E,x=>j.stringifyLocator(x));let v=await Ft.start({configuration:r,stdout:this.context.stdout,json:this.json},async x=>{for(let C of E){let F=C.version??"unknown",N=o.topLevelWorkspace.manifest.ensureDependencyMeta(j.makeDescriptor(C,F));N.unplugged=!0,x.reportInfo(0,`Will unpack ${j.prettyLocator(r,C)} to ${pe.pretty(r,av(C,{configuration:r}),pe.Type.PATH)}`),x.reportJson({locator:j.stringifyLocator(C),version:F})}await o.topLevelWorkspace.persistManifest(),this.json||x.reportSeparator()});return v.hasErrors()?v.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};k0.paths=[["unplug"]],k0.usage=it.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var x0=t=>({cjs:z.join(t.cwd,dr.pnpCjs),data:z.join(t.cwd,dr.pnpData),esmLoader:z.join(t.cwd,dr.pnpEsmLoader)}),n1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function zIt(t,e,r){let o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(e.NODE_OPTIONS??"").replace(o," ").replace(a," ").trim();if(t.configuration.get("nodeLinker")!=="pnp"){e.NODE_OPTIONS=n||void 0;return}let u=x0(t),A=`--require ${n1e(ue.fromPortablePath(u.cjs))}`;oe.existsSync(u.esmLoader)&&(A=`${A} --experimental-loader ${(0,r1e.pathToFileURL)(ue.fromPortablePath(u.esmLoader)).href}`),oe.existsSync(u.cjs)&&(e.NODE_OPTIONS=n?`${A} ${n}`:A)}async function JIt(t,e){let r=x0(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var VIt={hooks:{populateYarnPaths:JIt,setupScriptEnvironment:zIt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "pnpm", or "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[b0],commands:[k0]},XIt=VIt;var A1e=Ze(l1e());qt();var pG=Ze(ve("crypto")),f1e=Ze(ve("fs")),p1e=1,Di="node_modules",vQ=".bin",h1e=".yarn-state.yml",h1t=1e3,hG=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(hG||{}),cv=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await He.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await fG(r.project,{unrollAliases:!0}));if(a===null)throw new st("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(j.stringifyLocator(e));if(!n){let p=new st(`Couldn't find ${j.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(z.sep).length-h.split(z.sep).length),A=z.join(r.project.configuration.startingCwd,Di);return u.find(p=>z.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await He.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await fG(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=PQ(z.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return j.parseLocator(A)}makeInstaller(e){return new AG(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},AG=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=z.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await g1t(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!j.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,u=new Set;n.has(j.stringifyIdent(e))||n.set(j.stringifyIdent(e),e.reference);let A=e;if(j.isVirtualLocator(e)){A=j.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(j.stringifyIdent(E),null),u.add(j.stringifyIdent(E))}let p={packageLocation:`${ue.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildRequest:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=j.areIdentsEqual(a,n)?n.reference:[j.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(j.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new mi({baseFs:new Vl({maxOpenFiles:80,readOnlyArchives:!0})}),r=await fG(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{let x=this.opts.project.configuration.get("nmHoistingLimits");try{x=He.validateEnum(VB,v.manifest.installConfig?.hoistingLimits??x)}catch{let F=j.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${F}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(VB).join(", ")}, using default: "${x}"`)}return[v.relativeCwd,x]})),n=new Map(this.opts.project.workspaces.map(v=>{let x=this.opts.project.configuration.get("nmSelfReferences");return x=v.manifest.installConfig?.selfReferences??x,[v.relativeCwd,x]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,x)=>Array.isArray(x)?{name:x[0],reference:x[1]}:{name:v,reference:x},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let x=v.anchoredLocator;return{name:j.stringifyIdent(x),reference:x.reference}}),getPackageInformation:v=>{let x=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:j.makeLocator(j.parseIdent(v.name),v.reference),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return C.pnpNode},findPackageLocator:v=>{let x=this.opts.project.tryWorkspaceByCwd(ue.toPortablePath(v));if(x!==null){let C=x.anchoredLocator;return{name:j.stringifyIdent(C),reference:C.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:v=>ue.fromPortablePath(mi.resolveVirtual(ue.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=XB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:x}of p)this.opts.report.reportError(v,x);return}let E=Hq(A);await w1t(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let x=j.parseLocator(v),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");return C.customPackageData.manifest}});let I=[];for(let[v,x]of E.entries()){if(y1e(v))continue;let C=j.parseLocator(v),F=this.localStore.get(C.locatorHash);if(typeof F>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(F.pkg))continue;let N=yA.extractBuildRequest(F.pkg,F.customPackageData,F.dependencyMeta,{configuration:this.opts.project.configuration});!N||I.push({buildLocations:x.locations,locator:C,buildRequest:N})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${pe.pretty(this.opts.project.configuration,"--preserve-symlinks",pe.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:I}}};async function g1t(t,e){let r=await Ot.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Ot,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:yA.hasBindingGyp(e)}}}async function d1t(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${p1e} +`,n+=` nmMode: ${o.value} +`;let u=Array.from(e.keys()).sort(),A=j.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of u){let I=e.get(E);n+=` +`,n+=`${JSON.stringify(E)}: +`,n+=` locations: +`;for(let v of I.locations){let x=z.contains(t.cwd,v);if(x===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(x)} +`}if(I.aliases.length>0){n+=` aliases: +`;for(let v of I.aliases)n+=` - ${JSON.stringify(v)} +`}if(E===A&&r.size>0){n+=` bin: +`;for(let[v,x]of r){let C=z.contains(t.cwd,v);if(C===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(C)}: +`;for(let[F,N]of x){let U=z.relative(z.join(v,Di),N);n+=` ${JSON.stringify(F)}: ${JSON.stringify(U)} +`}}}}let p=t.cwd,h=z.join(p,Di,h1e);a&&await oe.removePromise(h),await oe.changeFilePromise(h,n,{automaticNewlines:!0})}async function fG(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=z.join(r,Di,h1e),a;try{a=await oe.statPromise(o)}catch{}if(!a)return null;let n=Ki(await oe.readFilePromise(o,"utf8"));if(n.__metadata.version>p1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let I=E.locations.map(x=>z.join(r,x)),v=E.bin;if(v)for(let[x,C]of Object.entries(v)){let F=z.join(r,ue.toPortablePath(x)),N=He.getMapWithDefault(p,F);for(let[U,J]of Object.entries(C))N.set(U,ue.toPortablePath([F,Di,J].join(z.sep)))}if(A.set(h,{target:Bt.dot,linkType:"HARD",locations:I,aliases:E.aliases||[]}),e&&E.aliases)for(let x of E.aliases){let{scope:C,name:F}=j.parseLocator(h),N=j.makeLocator(j.makeIdent(C,F),x),U=j.stringifyLocator(N);A.set(U,{target:Bt.dot,linkType:"HARD",locations:I,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:g1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var jC=async(t,e)=>{if(t.split(z.sep).indexOf(Di)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let o=e.allowSymlink?await oe.statPromise(t):await oe.lstatPromise(t);if(e.allowSymlink&&!o.isDirectory()||!e.allowSymlink&&o.isSymbolicLink()){await oe.unlinkPromise(t);return}}let r=await oe.readdirPromise(t,{withFileTypes:!0});for(let o of r){let a=z.join(t,o.name);o.isDirectory()?(o.name!==Di||e&&e.innerLoop)&&await jC(a,{innerLoop:!0,contentsOnly:!1}):await oe.unlinkPromise(a)}e.contentsOnly||await oe.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},c1e=4,PQ=(t,{skipPrefix:e})=>{let r=z.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(z.sep).filter(p=>p!==""),a=o.indexOf(Di),n=o.slice(0,a).join(z.sep),u=z.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},g1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&z.contains(e,n.target)!==null){let A=He.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=PQ(u,{skipPrefix:e}),h=He.getFactoryWithDefault(r,A,o);for(let E=0;E{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await oe.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await oe.symlinkPromise(t,e,"junction");return}}await oe.symlinkPromise(z.relative(z.dirname(e),t),e)};async function d1e(t,e,r){let o=z.join(t,`${pG.default.randomBytes(16).toString("hex")}.tmp`);try{await oe.writeFilePromise(o,r);try{await oe.linkPromise(o,e)}catch{}}finally{await oe.unlinkPromise(o)}}async function m1t({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===m1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=z.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await oe.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(m1e||{}),y1t=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await oe.mkdirPromise(t,{recursive:!0});let A=async(E=Bt.dot)=>{let I=z.join(e,E),v=await r.readdirPromise(I,{withFileTypes:!0}),x=new Map;for(let C of v){let F=z.join(E,C.name),N,U=z.join(I,C.name);if(C.isFile()){if(N={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let J=await wn.checksumFile(U,{baseFs:r,algorithm:"sha1"});N.digest=J}}else if(C.isDirectory())N={kind:"directory"};else if(C.isSymbolicLink())N={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(x.set(F,N),C.isDirectory()&&F!==Di){let J=await A(F);for(let[te,ae]of J)x.set(te,ae)}}return x},p;if(a.value==="hardlinks-global"&&o&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await oe.readFilePromise(E,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[E,I]of p){let v=z.join(e,E),x=z.join(t,E);if(I.kind==="directory")await oe.mkdirPromise(x,{recursive:!0});else if(I.kind==="file"){let C=I.mtimeMs;await m1t({srcPath:v,dstPath:x,entry:I,nmMode:a,baseFs:r,globalHardlinksStore:o}),I.mtimeMs!==C&&(h=!0)}else I.kind==="symlink"&&await gG(z.resolve(z.dirname(x),I.symlinkTo),x,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);await oe.removePromise(E),await d1e(o,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function E1t(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,E,I,v,x)=>{let C=!0,F=z.join(h,E),N=new Set;if(E===Di||E.startsWith("@")){let J;try{J=oe.statSync(F)}catch{}C=!!J,J?J.mtimeMs>r?(A=!0,N=new Set(oe.readdirSync(F))):N=new Set(I.children.get(E).children.keys()):A=!0;let te=e.get(h);if(te){let ae=z.join(h,Di,vQ),le;try{le=oe.statSync(ae)}catch{}if(!le)A=!0;else if(le.mtimeMs>r){A=!0;let ce=new Set(oe.readdirSync(ae)),we=new Map;n.set(h,we);for(let[de,Be]of te)ce.has(de)&&we.set(de,Be)}else n.set(h,te)}}else C=x.has(E);let U=I.children.get(E);if(C){let{linkType:J,locator:te}=U,ae={children:new Map,linkType:J,locator:te};if(v.children.set(E,ae),te){let le=He.getSetWithDefault(u,te);le.add(F),u.set(te,le)}for(let le of U.children.keys())p(F,le,U,ae,N)}else U.locator&&o.storedBuildState.delete(j.parseLocator(U.locator).locatorHash)};for(let[h,E]of t){let{linkType:I,locator:v}=E,x={children:new Map,linkType:I,locator:v};if(a.set(h,x),v){let C=He.getSetWithDefault(u,E.locator);C.add(h),u.set(E.locator,C)}E.children.has(Di)&&p(h,Di,E,x,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function y1e(t){let e=j.parseDescriptor(t);return j.isVirtualDescriptor(e)&&(e=j.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function C1t(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=y1e(A)?null:await o(A,p[0]),E=new Map;if(h)for(let[I,v]of h.bin){let x=z.join(p[0],v);v!==""&&oe.existsSync(x)&&E.set(I,v)}a.set(A,E)}let n=new Map,u=(A,p,h)=>{let E=new Map,I=z.contains(r,A);if(h.locator&&I!==null){let v=a.get(h.locator);for(let[x,C]of v){let F=z.join(A,ue.toPortablePath(C));E.set(x,F)}for(let[x,C]of h.children){let F=z.join(A,x),N=u(F,F,C);N.size>0&&n.set(A,new Map([...n.get(A)||new Map,...N]))}}else for(let[v,x]of h.children){let C=u(z.join(A,v),p,x);for(let[F,N]of C)E.set(F,N)}return E};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var u1e=(t,e)=>{if(!t||!e)return t===e;let r=j.parseLocator(t);j.isVirtualLocator(r)&&(r=j.devirtualizeLocator(r));let o=j.parseLocator(e);return j.isVirtualLocator(o)&&(o=j.devirtualizeLocator(o)),j.areLocatorsEqual(r,o)};function dG(t){return z.join(t.get("globalFolder"),"store")}async function w1t(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=z.join(o.cwd,Di),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:I}=E1t(t.locationTree,t.binSymlinks,t.mtimeMs,o),v=g1e(e,{skipPrefix:o.cwd}),x=[],C=async({srcDir:Be,dstDir:Ee,linkType:g,globalHardlinksStore:me,nmMode:Ce,windowsLinkType:Ae,packageChecksum:ne})=>{let Z=(async()=>{try{g==="SOFT"?(await oe.mkdirPromise(z.dirname(Ee),{recursive:!0}),await gG(z.resolve(Be),Ee,Ae)):await y1t(Ee,Be,{baseFs:r,globalHardlinksStore:me,nmMode:Ce,windowsLinkType:Ae,packageChecksum:ne})}catch(xe){throw xe.message=`While persisting ${Be} -> ${Ee} ${xe.message}`,xe}finally{ae.tick()}})().then(()=>x.splice(x.indexOf(Z),1));x.push(Z),x.length>c1e&&await Promise.race(x)},F=async(Be,Ee,g)=>{let me=(async()=>{let Ce=async(Ae,ne,Z)=>{try{Z.innerLoop||await oe.mkdirPromise(ne,{recursive:!0});let xe=await oe.readdirPromise(Ae,{withFileTypes:!0});for(let Le of xe){if(!Z.innerLoop&&Le.name===vQ)continue;let ht=z.join(Ae,Le.name),H=z.join(ne,Le.name);Le.isDirectory()?(Le.name!==Di||Z&&Z.innerLoop)&&(await oe.mkdirPromise(H,{recursive:!0}),await Ce(ht,H,{...Z,innerLoop:!0})):we.value==="hardlinks-local"||we.value==="hardlinks-global"?await oe.linkPromise(ht,H):await oe.copyFilePromise(ht,H,f1e.default.constants.COPYFILE_FICLONE)}}catch(xe){throw Z.innerLoop||(xe.message=`While cloning ${Ae} -> ${ne} ${xe.message}`),xe}finally{Z.innerLoop||ae.tick()}};await Ce(Be,Ee,g)})().then(()=>x.splice(x.indexOf(me),1));x.push(me),x.length>c1e&&await Promise.race(x)},N=async(Be,Ee,g)=>{if(g)for(let[me,Ce]of Ee.children){let Ae=g.children.get(me);await N(z.join(Be,me),Ce,Ae)}else{Ee.children.has(Di)&&await jC(z.join(Be,Di),{contentsOnly:!1});let me=z.basename(Be)===Di&&v.has(z.join(z.dirname(Be),z.sep));await jC(Be,{contentsOnly:Be===A,allowSymlink:me})}};for(let[Be,Ee]of p){let g=v.get(Be);for(let[me,Ce]of Ee.children){if(me===".")continue;let Ae=g&&g.children.get(me),ne=z.join(Be,me);await N(ne,Ce,Ae)}}let U=async(Be,Ee,g)=>{if(g){u1e(Ee.locator,g.locator)||await jC(Be,{contentsOnly:Ee.linkType==="HARD"});for(let[me,Ce]of Ee.children){let Ae=g.children.get(me);await U(z.join(Be,me),Ce,Ae)}}else{Ee.children.has(Di)&&await jC(z.join(Be,Di),{contentsOnly:!0});let me=z.basename(Be)===Di&&v.has(z.join(z.dirname(Be),z.sep));await jC(Be,{contentsOnly:Ee.linkType==="HARD",allowSymlink:me})}};for(let[Be,Ee]of v){let g=p.get(Be);for(let[me,Ce]of Ee.children){if(me===".")continue;let Ae=g&&g.children.get(me);await U(z.join(Be,me),Ce,Ae)}}let J=new Map,te=[];for(let[Be,Ee]of E)for(let g of Ee){let{locationRoot:me,segments:Ce}=PQ(g,{skipPrefix:o.cwd}),Ae=v.get(me),ne=me;if(Ae){for(let Z of Ce)if(ne=z.join(ne,Z),Ae=Ae.children.get(Z),!Ae)break;if(Ae){let Z=u1e(Ae.locator,Be),xe=e.get(Ae.locator),Le=xe.target,ht=ne,H=xe.linkType;if(Z)J.has(Le)||J.set(Le,ht);else if(Le!==ht){let rt=j.parseLocator(Ae.locator);j.isVirtualLocator(rt)&&(rt=j.devirtualizeLocator(rt)),te.push({srcDir:Le,dstDir:ht,linkType:H,realLocatorHash:rt.locatorHash})}}}}for(let[Be,{locations:Ee}]of e.entries())for(let g of Ee){let{locationRoot:me,segments:Ce}=PQ(g,{skipPrefix:o.cwd}),Ae=p.get(me),ne=v.get(me),Z=me,xe=e.get(Be),Le=j.parseLocator(Be);j.isVirtualLocator(Le)&&(Le=j.devirtualizeLocator(Le));let ht=Le.locatorHash,H=xe.target,rt=g;if(H===rt)continue;let Te=xe.linkType;for(let Re of Ce)ne=ne.children.get(Re);if(!Ae)te.push({srcDir:H,dstDir:rt,linkType:Te,realLocatorHash:ht});else for(let Re of Ce)if(Z=z.join(Z,Re),Ae=Ae.children.get(Re),!Ae){te.push({srcDir:H,dstDir:rt,linkType:Te,realLocatorHash:ht});break}}let ae=Xs.progressViaCounter(te.length),le=a.reportProgress(ae),ce=o.configuration.get("nmMode"),we={value:ce},de=o.configuration.get("winLinkType");try{let Be=we.value==="hardlinks-global"?`${dG(o.configuration)}/v1`:null;if(Be&&!await oe.existsPromise(Be)){await oe.mkdirpPromise(Be);for(let g=0;g<256;g++)await oe.mkdirPromise(z.join(Be,g.toString(16).padStart(2,"0")))}for(let g of te)(g.linkType==="SOFT"||!J.has(g.srcDir))&&(J.set(g.srcDir,g.dstDir),await C({...g,globalHardlinksStore:Be,nmMode:we,windowsLinkType:de,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(x),x.length=0;for(let g of te){let me=J.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==me&&await F(me,g.dstDir,{nmMode:we})}await Promise.all(x),await oe.mkdirPromise(A,{recursive:!0});let Ee=await C1t(e,v,o.cwd,{loadManifest:n});await I1t(h,Ee,o.cwd,de),await d1t(o,e,Ee,we,{installChangedByUser:I}),ce=="hardlinks-global"&&we.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{le.stop()}}async function I1t(t,e,r,o){for(let a of t.keys()){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=z.join(a,Di,vQ);await oe.removePromise(n)}}for(let[a,n]of e){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=z.join(a,Di,vQ),A=t.get(a)||new Map;await oe.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await oe.removePromise(z.join(u,p)),process.platform==="win32"&&await oe.removePromise(z.join(u,`${p}.cmd`)));for(let[p,h]of n){let E=A.get(p),I=z.join(u,p);E!==h&&(process.platform==="win32"?await(0,A1e.default)(ue.fromPortablePath(h),ue.fromPortablePath(I),{createPwshFile:!1}):(await oe.removePromise(I),await gG(h,I,o),z.contains(r,await oe.realpathPromise(h))!==null&&await oe.chmodPromise(h,493)))}}}je();Dt();iA();var uv=class extends b0{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new mG(r)}},mG=class extends dm{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new mi({baseFs:new Vl({maxOpenFiles:80,readOnlyArchives:!0})}),a=XIe(r,this.opts.project.cwd,o),{tree:n,errors:u}=XB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:I,text:v}of u)this.opts.report.reportError(I,v);return}let A=new Map;r.fallbackPool=A;let p=(I,v)=>{let x=j.parseLocator(v.locator),C=j.stringifyIdent(x);C===I?A.set(I,x.reference):A.set(I,[C,x.reference])},h=z.join(this.opts.project.cwd,dr.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let I of E.dirList){let v=z.join(h,I),x=n.get(v);if(typeof x>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in x)p(I,x);else for(let C of x.dirList){let F=z.join(v,C),N=n.get(F);if(typeof N>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in N)p(`${I}/${C}`,N);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var B1t={hooks:{cleanGlobalArtifacts:async t=>{let e=dG(t);await oe.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevents packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:"Defines in which measure Yarn must use hardlinks and symlinks when generated `node_modules` directories.",type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"Defines whether the linker should generate self-referencing symlinks for workspaces.",type:"BOOLEAN",default:!0}},linkers:[cv,uv]},v1t=B1t;var dj={};zt(dj,{NpmHttpFetcher:()=>pv,NpmRemapResolver:()=>hv,NpmSemverFetcher:()=>ml,NpmSemverResolver:()=>gv,NpmTagResolver:()=>dv,default:()=>Uvt,npmConfigUtils:()=>$n,npmHttpUtils:()=>Zr,npmPublishUtils:()=>iw});je();var D1e=Ze(Vn());var Wn="npm:";var Zr={};zt(Zr,{AuthType:()=>B1e,customPackageError:()=>mm,del:()=>N1t,get:()=>ym,getIdentUrl:()=>DQ,getPackageMetadata:()=>KC,handleInvalidAuthenticationError:()=>Q0,post:()=>T1t,put:()=>L1t});je();je();Dt();var wG=Ze(p2()),w1e=Ze(P_()),I1e=Ze(Vn());var $n={};zt($n,{RegistryType:()=>E1e,getAuditRegistry:()=>P1t,getAuthConfiguration:()=>CG,getDefaultRegistry:()=>Av,getPublishRegistry:()=>D1t,getRegistryConfiguration:()=>C1e,getScopeConfiguration:()=>EG,getScopeRegistry:()=>YC,normalizeRegistry:()=>ac});var E1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(E1e||{});function ac(t){return t.replace(/\/$/,"")}function P1t({configuration:t}){return Av({configuration:t,type:"npmAuditRegistry"})}function D1t(t,{configuration:e}){return t.publishConfig?.registry?ac(t.publishConfig.registry):t.name?YC(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):Av({configuration:e,type:"npmPublishRegistry"})}function YC(t,{configuration:e,type:r="npmRegistryServer"}){let o=EG(t,{configuration:e});if(o===null)return Av({configuration:e,type:r});let a=o.get(r);return a===null?Av({configuration:e,type:r}):ac(a)}function Av({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return ac(r!==null?r:t.get("npmRegistryServer"))}function C1e(t,{configuration:e}){let r=e.get("npmRegistries"),o=ac(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function EG(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function CG(t,{configuration:e,ident:r}){let o=r&&EG(r.scope,{configuration:e});return o?.get("npmAuthIdent")||o?.get("npmAuthToken")?o:C1e(t,{configuration:e})||e}var B1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(B1e||{});async function Q0(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){if(bQ(t))throw new Vt(41,"Invalid OTP token");if(t.originalError?.name==="HTTPError"&&t.originalError?.response.statusCode===401)throw new Vt(41,`Invalid authentication (${typeof e!="string"?`as ${await M1t(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function mm(t,e){let r=t.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${pe.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function DQ(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}var v1e=new Map,S1t=new Map;async function b1t(t){return await He.getFactoryWithDefault(v1e,t,async()=>{let e=null;try{e=await oe.readJsonPromise(t)}catch{}return e})}async function x1t(t,e,{configuration:r,cached:o,registry:a,headers:n,version:u,...A}){return await He.getFactoryWithDefault(S1t,t,async()=>await ym(DQ(e),{...A,customErrorMessage:mm,configuration:r,registry:a,ident:e,headers:{...n,["If-None-Match"]:o?.etag,["If-Modified-Since"]:o?.lastModified},wrapNetworkRequest:async p=>async()=>{let h=await p();if(h.statusCode===304){if(o===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...h,body:o.metadata}}let E=k1t(JSON.parse(h.body.toString())),I={metadata:E,etag:h.headers.etag,lastModified:h.headers["last-modified"]};return v1e.set(t,Promise.resolve(I)),Promise.resolve().then(async()=>{let v=`${t}-${process.pid}.tmp`;await oe.mkdirPromise(z.dirname(v),{recursive:!0}),await oe.writeJsonPromise(v,I,{compact:!0}),await oe.renamePromise(v,t)}).catch(()=>{}),{...h,body:E}}}))}async function KC(t,{cache:e,project:r,registry:o,headers:a,version:n,...u}){let{configuration:A}=r;o=fv(A,{ident:t,registry:o});let p=R1t(A,o),h=z.join(p,`${j.slugifyIdent(t)}.json`),E=null;if(!r.lockfileNeedsRefresh&&(E=await b1t(h),E)){if(typeof n<"u"&&typeof E.metadata.versions[n]<"u")return E.metadata;if(A.get("enableOfflineMode")){let I=structuredClone(E.metadata),v=new Set;if(e){for(let C of Object.keys(I.versions)){let F=j.makeLocator(t,`npm:${C}`),N=e.getLocatorMirrorPath(F);(!N||!oe.existsSync(N))&&(delete I.versions[C],v.add(C))}let x=I["dist-tags"].latest;if(v.has(x)){let C=Object.keys(E.metadata.versions).sort(I1e.default.compare),F=C.indexOf(x);for(;v.has(C[F])&&F>=0;)F-=1;F>=0?I["dist-tags"].latest=C[F]:delete I["dist-tags"].latest}}return I}}return await x1t(h,t,{...u,configuration:A,cached:E,registry:o,headers:a,version:n})}var P1e=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function k1t(t){return{"dist-tags":t["dist-tags"],versions:Object.fromEntries(Object.entries(t.versions).map(([e,r])=>[e,(0,w1e.default)(r,P1e)]))}}var Q1t=wn.makeHash(...P1e).slice(0,6);function R1t(t,e){let r=F1t(t),o=new URL(e);return z.join(r,Q1t,o.hostname)}function F1t(t){return z.join(t.get("globalFolder"),"metadata/npm")}async function ym(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){n=fv(e,{ident:o,registry:n}),o&&o.scope&&typeof a>"u"&&(a=1);let A=await SQ(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await sn.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Q0(p,{registry:n,configuration:e,headers:r}),p}}async function T1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=fv(o,{ident:n,registry:A});let E=await SQ(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...WC(p)});try{return await sn.post(A+t,e,{configuration:o,headers:a,...h})}catch(I){if(!bQ(I)||p)throw await Q0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await IG(I,{configuration:o});let v={...a,...WC(p)};try{return await sn.post(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(x){throw await Q0(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function L1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=fv(o,{ident:n,registry:A});let E=await SQ(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...WC(p)});try{return await sn.put(A+t,e,{configuration:o,headers:a,...h})}catch(I){if(!bQ(I))throw await Q0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await IG(I,{configuration:o});let v={...a,...WC(p)};try{return await sn.put(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(x){throw await Q0(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function N1t(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){u=fv(r,{ident:a,registry:u});let h=await SQ(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...WC(A)});try{return await sn.del(u+t,{configuration:r,headers:o,...p})}catch(E){if(!bQ(E)||A)throw await Q0(E,{attemptedAs:e,registry:u,configuration:r,headers:o}),E;A=await IG(E,{configuration:r});let I={...o,...WC(A)};try{return await sn.del(`${u}${t}`,{configuration:r,headers:I,...p})}catch(v){throw await Q0(v,{attemptedAs:e,registry:u,configuration:r,headers:o}),v}}}function fv(t,{ident:e,registry:r}){if(typeof r>"u"&&e)return YC(e.scope,{configuration:t});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return ac(r)}async function SQ(t,{authType:e=2,configuration:r,ident:o}){let a=CG(t,{configuration:r,ident:o}),n=O1t(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new Vt(33,"No authentication configured for request");return null}function O1t(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function M1t(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await sn.get(new URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function IG(t,{configuration:e}){let r=t.originalError?.response.headers["npm-notice"];if(r&&(await Ft.start({configuration:e,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,pe.pretty(e,"$1",pe.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&Vi.openUrl){let{openNow:u}=await(0,wG.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});u&&(await Vi.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,wG.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),o}function bQ(t){if(t.originalError?.name!=="HTTPError")return!1;try{return(t.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function WC(t){return{["npm-otp"]:t}}var pv=class{supports(e,r){if(!e.reference.startsWith(Wn))return!1;let{selector:o,params:a}=j.parseRange(e.reference);return!(!D1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=j.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await ym(o.__archiveUrl,{customErrorMessage:mm,configuration:r.project.configuration,ident:e});return await Zi.convertToZip(a,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}};je();var hv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Wn)||!j.tryParseDescriptor(e.range.slice(Wn.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(j.parseDescriptor(e.range.slice(Wn.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(j.parseDescriptor(e.range.slice(Wn.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(j.parseDescriptor(e.range.slice(Wn.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};je();je();var S1e=Ze(Vn());var ml=class{supports(e,r){if(!e.reference.startsWith(Wn))return!1;let o=new URL(e.reference);return!(!S1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await ym(ml.getLocatorUrl(e),{customErrorMessage:mm,configuration:r.project.configuration,ident:e})}catch{o=await ym(ml.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:mm,configuration:r.project.configuration,ident:e})}return await Zi.convertToZip(o,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=YC(e.scope,{configuration:o}),n=ml.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Lr.clean(e.reference.slice(Wn.length));if(r===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");return`${DQ(e)}/-/${e.name}-${r}.tgz`}};je();je();je();var BG=Ze(Vn());var xQ=j.makeIdent(null,"node-gyp"),U1t=/\b(node-gyp|prebuild-install)\b/,gv=class{supportsDescriptor(e,r){return e.range.startsWith(Wn)?!!Lr.validRange(e.range.slice(Wn.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Wn))return!1;let{selector:o}=j.parseRange(e.reference);return!!BG.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Lr.validRange(e.range.slice(Wn.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(Wn.length)}`);let n=await KC(e,{cache:o.fetchOptions?.cache,project:o.project,version:BG.default.valid(a.raw)?a.raw:void 0}),u=He.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new Lr.SemVer(h);if(a.test(E))return E}catch{}return He.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=j.makeLocator(e,`${Wn}${h.raw}`),I=n.versions[h.raw].dist.tarball;return ml.isConventionalTarballUrl(E,I,{configuration:o.project.configuration})?E:j.bindLocator(E,{__archiveUrl:I})})}async getSatisfying(e,r,o,a){let n=Lr.validRange(e.range.slice(Wn.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Wn.length)}`);return{locators:He.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return He.mapAndFilter.skip;let h=j.tryParseRange(p.reference,{requireProtocol:Wn});if(!h)return He.mapAndFilter.skip;let E=new Lr.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:He.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=j.parseRange(e.reference),a=Lr.clean(o);if(a===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await KC(e,{cache:r.fetchOptions?.cache,project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new Vt(16,`Registry failed to return reference "${a}"`);let u=new Ot;if(u.load(n.versions[a]),!u.dependencies.has(xQ.identHash)&&!u.peerDependencies.has(xQ.identHash)){for(let A of u.scripts.values())if(A.match(U1t)){u.dependencies.set(xQ.identHash,j.makeDescriptor(xQ,"latest"));break}}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};je();je();var b1e=Ze(Vn());var dv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Wn)||!kE.test(e.range.slice(Wn.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Wn.length),n=await KC(e,{cache:o.fetchOptions?.cache,project:o.project});if(!Object.hasOwn(n,"dist-tags"))throw new Vt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.hasOwn(u,a))throw new Vt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=j.makeLocator(e,`${Wn}${A}`),h=n.versions[A].dist.tarball;return ml.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[j.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){let n=[];for(let u of o){if(u.identHash!==e.identHash)continue;let A=j.tryParseRange(u.reference,{requireProtocol:Wn});if(!(!A||!b1e.default.valid(A.selector))){if(A.params?.__archiveUrl){let p=j.makeRange({protocol:Wn,selector:A.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(j.makeDescriptor(e,p),r,a);if(u.reference!==h.reference)continue}n.push(u)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var iw={};zt(iw,{getGitHead:()=>Ovt,getPublishAccess:()=>mBe,getReadmeContent:()=>yBe,makePublishBody:()=>Nvt});je();je();Dt();var Aj={};zt(Aj,{PackCommand:()=>_0,default:()=>yvt,packUtils:()=>wA});je();je();je();Dt();qt();var wA={};zt(wA,{genPackList:()=>ZQ,genPackStream:()=>uj,genPackageManifest:()=>sBe,hasPackScripts:()=>lj,prepareForPack:()=>cj});je();Dt();var aj=Ze(Xo()),nBe=Ze($2e()),iBe=ve("zlib"),avt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],lvt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function lj(t){return!!(An.hasWorkspaceScript(t,"prepack")||An.hasWorkspaceScript(t,"postpack"))}async function cj(t,{report:e},r){await An.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=z.join(t.cwd,Ot.fileName);await oe.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:oe}),await r()}finally{await An.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function uj(t,e){typeof e>"u"&&(e=await ZQ(t));let r=new Set;for(let n of t.manifest.publishConfig?.executableFiles??new Set)r.add(z.normalize(n));for(let n of t.manifest.bin.values())r.add(z.normalize(n));let o=nBe.default.pack();process.nextTick(async()=>{for(let n of e){let u=z.normalize(n),A=z.resolve(t.cwd,u),p=z.join("package",u),h=await oe.lstatPromise(A),E={name:p,mtime:new Date(vi.SAFE_TIME*1e3)},I=r.has(u)?493:420,v,x,C=new Promise((N,U)=>{v=N,x=U}),F=N=>{N?x(N):v()};if(h.isFile()){let N;u==="package.json"?N=Buffer.from(JSON.stringify(await sBe(t),null,2)):N=await oe.readFilePromise(A),o.entry({...E,mode:I,type:"file"},N,F)}else h.isSymbolicLink()?o.entry({...E,mode:I,type:"symlink",linkname:await oe.readlinkPromise(A)},F):F(new Error(`Unsupported file type ${h.mode} for ${ue.fromPortablePath(u)}`));await C}o.finalize()});let a=(0,iBe.createGzip)();return o.pipe(a),a}async function sBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function ZQ(t){let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let I of lvt)o.reject.push(I);for(let I of avt)o.accept.push(I);o.reject.push(r.get("rcFilename"));let a=I=>{if(I===null||!I.startsWith(`${t.cwd}/`))return;let v=z.relative(t.cwd,I),x=z.resolve(Bt.root,v);o.reject.push(x)};a(z.resolve(e.cwd,dr.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(I=>I.populateYarnPaths,e,I=>{a(I)});for(let I of e.workspaces){let v=z.relative(t.cwd,I.cwd);v!==""&&!v.match(/^(\.\.)?\//)&&o.reject.push(`/${v}`)}let n={accept:[],reject:[]},u=t.manifest.publishConfig?.main??t.manifest.main,A=t.manifest.publishConfig?.module??t.manifest.module,p=t.manifest.publishConfig?.browser??t.manifest.browser,h=t.manifest.publishConfig?.bin??t.manifest.bin;u!=null&&n.accept.push(z.resolve(Bt.root,u)),A!=null&&n.accept.push(z.resolve(Bt.root,A)),typeof p=="string"&&n.accept.push(z.resolve(Bt.root,p));for(let I of h.values())n.accept.push(z.resolve(Bt.root,I));if(p instanceof Map)for(let[I,v]of p.entries())n.accept.push(z.resolve(Bt.root,I)),typeof v=="string"&&n.accept.push(z.resolve(Bt.root,v));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let I of t.manifest.files)oBe(n.accept,I,{cwd:Bt.root})}return await cvt(t.cwd,{hasExplicitFileList:E,globalList:o,ignoreList:n})}async function cvt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new Hu(t),u=[[Bt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!tBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(A),I=!1,v=!1;if(!e||A!==Bt.root)for(let F of E)I=I||F===".gitignore",v=v||F===".npmignore";let x=v?await eBe(n,A,".npmignore"):I?await eBe(n,A,".gitignore"):null,C=x!==null?[x].concat(p):p;tBe(A,{globalList:r,ignoreLists:p})&&(C=[...p,{accept:[],reject:["**/*"]}]);for(let F of E)u.push([z.resolve(A,F),C])}else(h.isFile()||h.isSymbolicLink())&&a.push(z.relative(Bt.root,A))}return a.sort()}async function eBe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(z.join(e,r),"utf8");for(let n of a.split(/\n/g))oBe(o.reject,n,{cwd:e});return o}function uvt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=z.resolve(e,t)),r&&(t=`!${t}`),t}function oBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(uvt(o,{cwd:r}))}function tBe(t,{globalList:e,ignoreLists:r}){let o=XQ(t,e.accept);if(o!==0)return o===2;let a=XQ(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=XQ(t,n.accept);if(u!==0)return u===2;let A=XQ(t,n.reject);if(A!==0)return A===1}return!1}function XQ(t,e){let r=e,o=[];for(let a=0;a{await cj(a,{report:p},async()=>{p.reportJson({base:ue.fromPortablePath(a.cwd)});let h=await ZQ(a);for(let E of h)p.reportInfo(null,ue.fromPortablePath(E)),p.reportJson({location:ue.fromPortablePath(E)});if(!this.dryRun){let E=await uj(a,h),I=oe.createWriteStream(u);E.pipe(I),await new Promise(v=>{I.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${pe.pretty(r,u,pe.Type.PATH)}`),p.reportJson({output:ue.fromPortablePath(u)}))})).exitCode()}};_0.paths=[["pack"]],_0.usage=it.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function Avt(t,{workspace:e}){let r=t.replace("%s",fvt(e)).replace("%v",pvt(e));return ue.toPortablePath(r)}function fvt(t){return t.manifest.name!==null?j.slugifyIdent(t.manifest.name):"package"}function pvt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var hvt=["dependencies","devDependencies","peerDependencies"],gvt="workspace:",dvt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of hvt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=j.parseRange(a.range);if(u.protocol===gvt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Vt(21,`${j.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;j.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?j.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][j.stringifyIdent(a)]=A}}},mvt={hooks:{beforeWorkspacePacking:dvt},commands:[_0]},yvt=mvt;var gBe=ve("crypto"),dBe=Ze(hBe());async function Nvt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.manifest.name,A=t.manifest.version,p=j.stringifyIdent(u),h=(0,gBe.createHash)("sha1").update(e).digest("hex"),E=dBe.default.fromData(e).toString(),I=r??mBe(t,u),v=await yBe(t),x=await wA.genPackageManifest(t),C=`${p}-${A}.tgz`,F=new URL(`${ac(a)}/${p}/-/${C}`);return{_id:p,_attachments:{[C]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:p,access:I,["dist-tags"]:{[o]:A},versions:{[A]:{...x,_id:`${p}@${A}`,name:p,version:A,gitHead:n,dist:{shasum:h,integrity:E,tarball:F.toString()}}},readme:v}}async function Ovt(t){try{let{stdout:e}=await Ur.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}function mBe(t,e){let r=t.project.configuration;return t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?t.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):e.scope?"restricted":"public"}async function yBe(t){let e=ue.toPortablePath(`${t.cwd}/README.md`),r=t.manifest.name,a=`# ${j.stringifyIdent(r)} +`;try{a=await oe.readFilePromise(e,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var gj={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},EBe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},Mvt={configuration:{...gj,...EBe,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...gj,...EBe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:ac,valueDefinition:{description:"",type:"SHAPE",properties:{...gj}}}},fetchers:[pv,ml],resolvers:[hv,gv,dv]},Uvt=Mvt;var Pj={};zt(Pj,{NpmAuditCommand:()=>q0,NpmInfoCommand:()=>G0,NpmLoginCommand:()=>j0,NpmLogoutCommand:()=>Y0,NpmPublishCommand:()=>W0,NpmTagAddCommand:()=>z0,NpmTagListCommand:()=>K0,NpmTagRemoveCommand:()=>J0,NpmWhoamiCommand:()=>V0,default:()=>Wvt,npmAuditTypes:()=>Tv,npmAuditUtils:()=>$Q});je();je();qt();var wj=Ze(Xo());$a();var Tv={};zt(Tv,{Environment:()=>Rv,Severity:()=>Fv});var Rv=(o=>(o.All="all",o.Production="production",o.Development="development",o))(Rv||{}),Fv=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(Fv||{});var $Q={};zt($Q,{allSeverities:()=>sw,getPackages:()=>Cj,getReportTree:()=>yj,getSeverityInclusions:()=>mj,getTopLevelDependencies:()=>Ej});je();var CBe=Ze(Vn());var sw=["info","low","moderate","high","critical"];function mj(t){if(typeof t>"u")return new Set(sw);let e=sw.indexOf(t),r=sw.slice(e);return new Set(r)}function yj(t){let e={},r={children:e};for(let[o,a]of He.sortMap(Object.entries(t),n=>n[0]))for(let n of He.sortMap(a,u=>`${u.id}`))e[`${o}/${n.id}`]={value:pe.tuple(pe.Type.IDENT,j.parseIdent(o)),children:{ID:typeof n.id<"u"&&{label:"ID",value:pe.tuple(pe.Type.ID,n.id)},Issue:{label:"Issue",value:pe.tuple(pe.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:pe.tuple(pe.Type.URL,n.url)},Severity:{label:"Severity",value:pe.tuple(pe.Type.NO_HINT,n.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:pe.tuple(pe.Type.RANGE,n.vulnerable_versions)},["Tree Versions"]:{label:"Tree Versions",children:[...n.versions].sort(CBe.default.compare).map(u=>({value:pe.tuple(pe.Type.REFERENCE,u)}))},Dependents:{label:"Dependents",children:He.sortMap(n.dependents,u=>j.stringifyLocator(u)).map(u=>({value:pe.tuple(pe.Type.LOCATOR,u)}))}}};return r}function Ej(t,e,{all:r,environment:o}){let a=[],n=r?t.workspaces:[e],u=["all","production"].includes(o),A=["all","development"].includes(o);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!A:!u)||a.push({workspace:p,dependency:h});return a}function Cj(t,e,{recursive:r}){let o=new Map,a=new Set,n=[],u=(A,p)=>{let h=t.storedResolutions.get(p.descriptorHash);if(typeof h>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(h))a.add(h);else return;let E=t.storedPackages.get(h);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");if(j.ensureDevirtualizedLocator(E).reference.startsWith("npm:")&&E.version!==null){let v=j.stringifyIdent(E),x=He.getMapWithDefault(o,v);He.getArrayWithDefault(x,E.version).push(A)}if(r)for(let v of E.dependencies.values())n.push([E,v])};for(let{workspace:A,dependency:p}of e)n.push([A.anchoredLocator,p]);for(;n.length>0;){let[A,p]=n.shift();u(A,p)}return o}var q0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=ge.String("--environment","all",{description:"Which environments to cover",validator:Js(Rv)});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=ge.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=ge.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Js(Fv)});this.excludes=ge.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=ge.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=Ej(o,a,{all:this.all,environment:this.environment}),u=Cj(o,n,{recursive:this.recursive}),A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[N,U]of u)A.some(J=>wj.default.isMatch(N,J))||(p[N]=[...U.keys()]);let h=$n.getAuditRegistry({configuration:r}),E,I=await fA.start({configuration:r,stdout:this.context.stdout},async()=>{let N=Zr.post("/-/npm/v1/security/advisories/bulk",p,{authType:Zr.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(p),async([te,ae])=>{let le=await Zr.getPackageMetadata(j.parseIdent(te),{project:o});return He.mapAndFilter(ae,ce=>{let{deprecated:we}=le.versions[ce];return we?[te,ce,we]:He.mapAndFilter.skip})})),J=await N;for(let[te,ae,le]of U.flat(1))Object.hasOwn(J,te)&&J[te].some(ce=>Lr.satisfiesWithPrereleases(ae,ce.vulnerable_versions))||(J[te]??=[],J[te].push({id:`${te} (deprecation)`,title:le.trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:ae}));E=J});if(I.hasErrors())return I.exitCode();let v=mj(this.severity),x=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),C=Object.create(null);for(let[N,U]of Object.entries(E)){let J=U.filter(te=>!wj.default.isMatch(`${te.id}`,x)&&v.has(te.severity));J.length>0&&(C[N]=J.map(te=>{let ae=u.get(N);if(typeof ae>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let le=[...ae.keys()].filter(we=>Lr.satisfiesWithPrereleases(we,te.vulnerable_versions)),ce=new Map;for(let we of le)for(let de of ae.get(we))ce.set(de.locatorHash,de);return{...te,versions:le,dependents:[...ce.values()]}}))}let F=Object.keys(C).length>0;return F?(fs.emitTree(yj(C),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ft.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async N=>{N.reportInfo(1,"No audit suggestions")}),F?1:0)}};q0.paths=[["npm","audit"]],q0.usage=it.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${sw.map(r=>`\`${r}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option. + + If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});je();je();Dt();qt();var Ij=Ze(Vn()),Bj=ve("util"),G0=class extends ut{constructor(){super(...arguments);this.fields=ge.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Ft.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let ae=o.topLevelWorkspace;if(!ae.manifest.name)throw new st(`Missing ${pe.pretty(r,"name",pe.Type.CODE)} field in ${ue.fromPortablePath(z.join(ae.cwd,dr.manifest))}`);E=j.makeDescriptor(ae.manifest.name,"unknown")}else E=j.parseDescriptor(h);let I=Zr.getIdentUrl(E),v=vj(await Zr.get(I,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:Zr.customPackageError})),x=Object.keys(v.versions).sort(Ij.default.compareLoose),F=v["dist-tags"].latest||x[x.length-1],N=Lr.validRange(E.range);if(N){let ae=Ij.default.maxSatisfying(x,N);ae!==null?F=ae:(p.reportWarning(0,`Unmet range ${j.prettyRange(r,E.range)}; falling back to the latest version`),u=!0)}else Object.hasOwn(v["dist-tags"],E.range)?F=v["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${j.prettyRange(r,E.range)}; falling back to the latest version`),u=!0);let U=v.versions[F],J={...v,...U,version:F,versions:x},te;if(a!==null){te={};for(let ae of a){let le=J[ae];if(typeof le<"u")te[ae]=le;else{p.reportWarning(1,`The ${pe.pretty(r,ae,pe.Type.CODE)} field doesn't exist inside ${j.prettyIdent(r,E)}'s information`),u=!0;continue}}}else this.json||(delete J.dist,delete J.readme,delete J.users),te=J;p.reportJson(te),this.json||n.push(te)}});Bj.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,Bj.inspect)(p,{depth:1/0,colors:!0,compact:!1})} +`);return A.exitCode()}};G0.paths=[["npm","info"]],G0.usage=it.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function vj(t){if(Array.isArray(t)){let e=[];for(let r of t)r=vj(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=vj(t[r]);o&&(e[r]=o)}return e}else return t||null}je();je();qt();var wBe=Ze(p2()),j0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=ge.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await eR({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ft.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await qvt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=await _vt(o,u,r);return await Hvt(o,A,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};j0.paths=[["npm","login"]],j0.usage=it.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function eR({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?$n.getScopeRegistry(t,{configuration:r,type:$n.RegistryType.PUBLISH_REGISTRY}):t?$n.getScopeRegistry(t,{configuration:r}):e?$n.getPublishRegistry((await uC(r,o)).manifest,{configuration:r}):$n.getDefaultRegistry({configuration:r})}async function _vt(t,e,r){let o=`/-/user/org.couchdb.user:${encodeURIComponent(e.name)}`,a={_id:`org.couchdb.user:${e.name}`,name:e.name,password:e.password,type:"user",roles:[],date:new Date().toISOString()},n={attemptedAs:e.name,configuration:r,registry:t,jsonResponse:!0,authType:Zr.AuthType.NO_AUTH};try{return(await Zr.put(o,a,n)).token}catch(E){if(!(E.originalError?.name==="HTTPError"&&E.originalError?.response.statusCode===409))throw E}let u={...n,authType:Zr.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${e.name}:${e.password}`).toString("base64")}`}},A=await Zr.get(o,u);for(let[E,I]of Object.entries(A))(!a[E]||E==="roles")&&(a[E]=I);let p=`${o}/-rev/${a._rev}`;return(await Zr.put(p,a,u)).token}async function Hvt(t,e,{alwaysAuth:r,scope:o}){let a=u=>A=>{let p=He.isIndexableObject(A)?A:{},h=p[u],E=He.isIndexableObject(h)?h:{};return{...p,[u]:{...E,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Ke.updateHomeConfiguration(n)}async function qvt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${pe.pretty(t,e,pe.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),t.env.YARN_IS_TEST_ENV)return{name:t.env.YARN_INJECT_NPM_USER||"",password:t.env.YARN_INJECT_NPM_PASSWORD||""};let u=await(0,wBe.prompt)([{type:"input",name:"name",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),u}je();je();qt();var ow=new Set(["npmAuthIdent","npmAuthToken"]),Y0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=ge.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await eR({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Ke.find(this.context.cwd,this.context.plugins),A=j.makeIdent(this.scope??null,"pkg");return!$n.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await jvt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await IBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await eR({configuration:r,cwd:this.context.cwd,publish:this.publish});await IBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Y0.paths=[["npm","logout"]],Y0.usage=it.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function Gvt(t,e){let r=t[e];if(!He.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...ow].every(n=>!o.has(n)))return!1;for(let n of ow)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of ow)delete a[n];return t[e]=a,!0}async function jvt(){let t=e=>{let r=!1,o=He.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))Gvt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Ke.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function IBe(t,e){return await Ke.updateHomeConfiguration({[t]:r=>{let o=He.isIndexableObject(r)?r:{};if(!Object.hasOwn(o,e))return r;let a=o[e],n=He.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...ow].every(p=>!u.has(p)))return r;for(let p of ow)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of ow)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}je();qt();var W0=class extends ut{constructor(){super(...arguments);this.access=ge.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=ge.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=ge.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=ge.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);if(a.manifest.private)throw new st("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new st("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=$n.getPublishRegistry(a.manifest,{configuration:r});return(await Ft.start({configuration:r,stdout:this.context.stdout},async h=>{if(this.tolerateRepublish)try{let E=await Zr.get(Zr.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.hasOwn(E,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(E.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(E){if(E.originalError?.response?.statusCode!==404)throw E}await An.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await wA.prepareForPack(a,{report:h},async()=>{let E=await wA.genPackList(a);for(let F of E)h.reportInfo(null,F);let I=await wA.genPackStream(a,E),v=await He.bufferStream(I),x=await iw.getGitHead(a.cwd),C=await iw.makePublishBody(a,v,{access:this.access,tag:this.tag,registry:A,gitHead:x});await Zr.put(Zr.getIdentUrl(n),C,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};W0.paths=[["npm","publish"]],W0.usage=it.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overridden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});je();qt();var BBe=Ze(Vn());je();Dt();qt();var K0=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n;if(typeof this.package<"u")n=j.parseIdent(this.package);else{if(!a)throw new sr(o.cwd,this.context.cwd);if(!a.manifest.name)throw new st(`Missing 'name' field in ${ue.fromPortablePath(z.join(a.cwd,dr.manifest))}`);n=a.manifest.name}let u=await Lv(n,r),p={children:He.sortMap(Object.entries(u),([h])=>h).map(([h,E])=>({value:pe.tuple(pe.Type.RESOLUTION,{descriptor:j.makeDescriptor(n,h),locator:j.makeLocator(n,E)})}))};return fs.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};K0.paths=[["npm","tag","list"]],K0.usage=it.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function Lv(t,e){let r=`/-/package${Zr.getIdentUrl(t)}/dist-tags`;return Zr.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Zr.customPackageError})}var z0=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=j.parseDescriptor(this.package,!0),u=n.range;if(!BBe.default.valid(u))throw new st(`The range ${pe.pretty(r,n.range,pe.Type.RANGE)} must be a valid semver version`);let A=$n.getPublishRegistry(a.manifest,{configuration:r}),p=pe.pretty(r,n,pe.Type.IDENT),h=pe.pretty(r,u,pe.Type.RANGE),E=pe.pretty(r,this.tag,pe.Type.CODE);return(await Ft.start({configuration:r,stdout:this.context.stdout},async v=>{let x=await Lv(n,r);Object.hasOwn(x,this.tag)&&x[this.tag]===u&&v.reportWarning(0,`Tag ${E} is already set to version ${h}`);let C=`/-/package${Zr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Zr.put(C,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};z0.paths=[["npm","tag","add"]],z0.usage=it.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});je();qt();var J0=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}async execute(){if(this.tag==="latest")throw new st("The 'latest' tag cannot be removed.");let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=j.parseIdent(this.package),u=$n.getPublishRegistry(a.manifest,{configuration:r}),A=pe.pretty(r,this.tag,pe.Type.CODE),p=pe.pretty(r,n,pe.Type.IDENT),h=await Lv(n,r);if(!Object.hasOwn(h,this.tag))throw new st(`${A} is not a tag of package ${p}`);return(await Ft.start({configuration:r,stdout:this.context.stdout},async I=>{let v=`/-/package${Zr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Zr.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),I.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};J0.paths=[["npm","tag","remove"]],J0.usage=it.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});je();je();qt();var V0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=$n.getScopeRegistry(this.scope,{configuration:r,type:$n.RegistryType.PUBLISH_REGISTRY}):this.scope?o=$n.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=$n.getPublishRegistry((await uC(r,this.context.cwd)).manifest,{configuration:r}):o=$n.getDefaultRegistry({configuration:r}),(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{let u;try{u=await Zr.get("/-/whoami",{configuration:r,registry:o,authType:Zr.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?j.makeIdent(this.scope,""):void 0})}catch(A){if(A.response?.statusCode===401||A.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw A}n.reportInfo(0,u.username)})).exitCode()}};V0.paths=[["npm","whoami"]],V0.usage=it.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Yvt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[q0,G0,j0,Y0,W0,z0,K0,J0,V0]},Wvt=Yvt;var Rj={};zt(Rj,{PatchCommand:()=>$0,PatchCommitCommand:()=>Z0,PatchFetcher:()=>_v,PatchResolver:()=>Hv,default:()=>uPt,patchUtils:()=>Pm});je();je();Dt();iA();var Pm={};zt(Pm,{applyPatchFile:()=>rR,diffFolders:()=>kj,ensureUnpatchedDescriptor:()=>Dj,ensureUnpatchedLocator:()=>iR,extractPackageToDisk:()=>xj,extractPatchFlags:()=>kBe,isParentRequired:()=>bj,isPatchDescriptor:()=>nR,isPatchLocator:()=>X0,loadPatchFiles:()=>Uv,makeDescriptor:()=>sR,makeLocator:()=>Sj,makePatchHash:()=>Qj,parseDescriptor:()=>Ov,parseLocator:()=>Mv,parsePatchFile:()=>Nv,unpatchDescriptor:()=>aPt,unpatchLocator:()=>lPt});je();Dt();je();Dt();var Kvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function aw(t){return z.relative(Bt.root,z.resolve(Bt.root,ue.toPortablePath(t)))}function zvt(t){let e=t.trim().match(Kvt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var Jvt=420,Vvt=493;var vBe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),Xvt=t=>({header:zvt(t),parts:[]}),Zvt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function $vt(t){let e=[],r=vBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=vBe()}for(let p=0;p0?"patch":"mode change",J=null;switch(U){case"rename":{if(!E||!I)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:aw(E),toPath:aw(I)}),J=I}break;case"file deletion":{let te=a||C;if(!te)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:N&&N[0]||null,path:aw(te),mode:tR(p),hash:v})}break;case"file creation":{let te=n||F;if(!te)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:N&&N[0]||null,path:aw(te),mode:tR(h),hash:x})}break;case"patch":case"mode change":J=F||n;break;default:He.assertNever(U);break}J&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:aw(J),oldMode:tR(u),newMode:tR(A)}),J&&N&&N.length&&e.push({type:"patch",semverExclusivity:o,path:aw(J),hunks:N,beforeHash:v,afterHash:x})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function tR(t){let e=parseInt(t,8)&511;if(e!==Jvt&&e!==Vvt)throw new Error(`Unexpected file mode string: ${t}`);return e}function Nv(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),ePt($vt(e))}function tPt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:He.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}je();Dt();var lw=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function cw(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function rR(t,{baseFs:e=new Tn,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Lr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await cw(e,z.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await cw(e,z.dirname(a.fromPath),async()=>{await cw(e,z.dirname(a.toPath),async()=>{await cw(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` +`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(z.dirname(a.path),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,vi.SAFE_TIME,vi.SAFE_TIME)}break;case"patch":await cw(e,a.path,async()=>{await iPt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(PBe(a.newMode)!==PBe(u))continue;await cw(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:He.assertNever(a);break}}function PBe(t){return(t&64)>0}function DBe(t){return t.replace(/\s+$/,"")}function nPt(t,e){return DBe(t)===DBe(e)}async function iPt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let I of t){let v=Math.max(h,I.header.patched.start+p),x=Math.max(0,v-h),C=Math.max(0,u.length-v-I.header.original.length),F=Math.max(x,C),N=0,U=0,J=null;for(;N<=F;){if(N<=x&&(U=v-N,J=SBe(I,u,U),J!==null)){N=-N;break}if(N<=C&&(U=v+N,J=SBe(I,u,U),J!==null))break;N+=1}if(J===null)throw new lw(t.indexOf(I),I);A.push(J),p+=N,h=U+I.header.original.length}if(o)return;let E=0;for(let I of A)for(let v of I)switch(v.type){case"splice":{let x=v.index+E;u.splice(x,v.numToDelete,...v.linesToInsert),E+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:He.assertNever(v);break}await r.writeFilePromise(e,u.join(` +`),{mode:a})}function SBe(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!nPt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:He.assertNever(a.type);break}return o}var oPt=/^builtin<([^>]+)>$/;function uw(t,e){let{protocol:r,source:o,selector:a,params:n}=j.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(E=>ue.toPortablePath(E)):[],A=n&&typeof n.locator=="string"?j.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function nR(t){return t.range.startsWith("patch:")}function X0(t){return t.reference.startsWith("patch:")}function Ov(t){let{sourceItem:e,...r}=uw(t.range,j.parseDescriptor);return{...r,sourceDescriptor:e}}function Mv(t){let{sourceItem:e,...r}=uw(t.reference,j.parseLocator);return{...r,sourceLocator:e}}function aPt(t){let{sourceItem:e}=uw(t.range,j.parseDescriptor);return e}function lPt(t){let{sourceItem:e}=uw(t.reference,j.parseLocator);return e}function Dj(t){if(!nR(t))return t;let{sourceItem:e}=uw(t.range,j.parseDescriptor);return e}function iR(t){if(!X0(t))return t;let{sourceItem:e}=uw(t.reference,j.parseLocator);return e}function bBe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:j.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return j.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function sR(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return j.makeDescriptor(t,bBe({parentLocator:e,sourceItem:r,patchPaths:o},j.stringifyDescriptor))}function Sj(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return j.makeLocator(t,bBe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},j.stringifyLocator))}function xBe({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(oPt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):z.isAbsolute(a)?t(a):e(a)}function kBe(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function bj(t){return xBe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function Uv(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await He.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=kBe(u),p=await xBe({onAbsolute:async h=>await oe.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(z.join(a.prefixPath,h),"utf8")},onProject:async h=>await oe.readFilePromise(z.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` +`));return n}async function xj(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=iR(t),n=r.storedChecksums,u=new Qi,A=await oe.mktempPromise(),p=z.join(A,"source"),h=z.join(A,"user"),E=z.join(A,".yarn-patch.json"),I=r.configuration.makeFetcher(),v=[];try{let x,C;if(t.locatorHash===a.locatorHash){let F=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u});v.push(()=>F.releaseFs?.()),x=F,C=F}else x=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>x.releaseFs?.()),C=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>C.releaseFs?.());await Promise.all([oe.copyPromise(p,x.prefixPath,{baseFs:x.packageFs}),oe.copyPromise(h,C.prefixPath,{baseFs:C.packageFs}),oe.writeJsonPromise(E,{locator:j.stringifyLocator(t),version:o.version})])}finally{for(let x of v)x()}return oe.detachTemp(A),h}async function kj(t,e){let r=ue.fromPortablePath(t).replace(/\\/g,"/"),o=ue.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Ur.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:ue.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${He.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${He.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(He.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(He.escapeRegExp(`${o}/`),"g"),"")}function Qj(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=Nv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Lr.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return wn.makeHash(`${3}`,...r).slice(0,6)}je();function QBe(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${pe.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${pe.pretty(e,a,pe.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${pe.pretty(e,a,pe.Type.ADDED)}`);break;default:He.assertNever(o.type)}}var _v=class{supports(e,r){return!!X0(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=Mv(e),A=await Uv(o,u,r),p=await oe.mktempPromise(),h=z.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),I=j.getIdentVendorPath(e),v=new Xi(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await He.releaseAfterUseAsync(async()=>{await v.copyPromise(I,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),v.saveAndClose();for(let{source:x,optional:C}of A){if(x===null)continue;let F=new Xi(h,{level:r.project.configuration.get("compressionLevel")}),N=new gn(z.resolve(Bt.root,I),{baseFs:F});try{await rR(Nv(x),{baseFs:N,version:n})}catch(U){if(!(U instanceof lw))throw U;let J=r.project.configuration.get("enableInlineHunks"),te=!J&&!C?" (set enableInlineHunks for details)":"",ae=`${j.prettyLocator(r.project.configuration,e)}: ${U.message}${te}`,le=ce=>{!J||QBe(U.hunk,{configuration:r.project.configuration,report:ce})};if(F.discardAndClose(),C){r.report.reportWarningOnce(66,ae,{reportExtra:le});continue}else throw new Vt(66,ae,le)}F.saveAndClose()}return new Xi(h,{level:r.project.configuration.get("compressionLevel")})}};je();var Hv=class{supportsDescriptor(e,r){return!!nR(e)}supportsLocator(e,r){return!!X0(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=Ov(e);return a.every(n=>!bj(n))?e:j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=Ov(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=Ov(e),u=await Uv(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=Qj(u,A.version);return[Sj(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=Mv(e);return{...await r.resolver.resolve(o,r),...e}}};je();Dt();qt();var Z0=class extends ut{constructor(){super(...arguments);this.save=ge.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=z.resolve(this.context.cwd,ue.toPortablePath(this.patchFolder)),u=z.join(n,"../source"),A=z.join(n,"../.yarn-patch.json");if(!oe.existsSync(u))throw new st("The argument folder didn't get created by 'yarn patch'");let p=await kj(u,n),h=await oe.readJsonPromise(A),E=j.parseLocator(h.locator,!0);if(!o.storedPackages.has(E.locatorHash))throw new st("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let I=r.get("patchFolder"),v=z.join(I,`${j.slugifyLocator(E)}.patch`);await oe.mkdirPromise(I,{recursive:!0}),await oe.writeFilePromise(v,p);let x=[],C=new Map;for(let F of o.storedPackages.values()){if(j.isVirtualLocator(F))continue;let N=F.dependencies.get(E.identHash);if(!N)continue;let U=j.ensureDevirtualizedDescriptor(N),J=Dj(U),te=o.storedResolutions.get(J.descriptorHash);if(!te)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(te))throw new Error("Assertion failed: Expected the package to have been registered");let le=o.tryWorkspaceByLocator(F);if(le)x.push(le);else{let ce=o.originalPackages.get(F.locatorHash);if(!ce)throw new Error("Assertion failed: Expected the original package to have been registered");let we=ce.dependencies.get(N.identHash);if(!we)throw new Error("Assertion failed: Expected the original dependency to have been registered");C.set(we.descriptorHash,we)}}for(let F of x)for(let N of Ot.hardDependencies){let U=F.manifest[N].get(E.identHash);if(!U)continue;let J=sR(U,{parentLocator:null,sourceDescriptor:j.convertLocatorToDescriptor(E),patchPaths:[z.join(dr.home,z.relative(o.cwd,v))]});F.manifest[N].set(U.identHash,J)}for(let F of C.values()){let N=sR(F,{parentLocator:null,sourceDescriptor:j.convertLocatorToDescriptor(E),patchPaths:[z.join(dr.home,z.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:j.stringifyIdent(N),description:F.range}},reference:N.range})}await o.persist()}};Z0.paths=[["patch-commit"]],Z0.usage=it.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});je();Dt();qt();var $0=class extends ut{constructor(){super(...arguments);this.update=ge.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=j.parseLocator(this.package);if(u.reference==="unknown"){let A=He.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?He.mapAndFilter.skip:j.isVirtualLocator(p)?He.mapAndFilter.skip:X0(p)!==this.update?He.mapAndFilter.skip:p);if(A.length===0)throw new st("No package found in the project for the given locator");if(A.length>1)throw new st(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${A.map(p=>` +- ${j.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new st("No package found in the project for the given locator");await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=iR(u),h=await xj(u,{cache:n,project:o});A.reportJson({locator:j.stringifyLocator(p),path:ue.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${j.prettyLocator(r,p)} got extracted with success${E}!`),A.reportInfo(0,`You can now edit the following folder: ${pe.pretty(r,ue.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${pe.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${ue.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};$0.paths=[["patch"]],$0.usage=it.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s path` (with `path` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var cPt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Z0,$0],fetchers:[_v],resolvers:[Hv]},uPt=cPt;var Lj={};zt(Lj,{PnpmLinker:()=>qv,default:()=>gPt});je();Dt();qt();var qv=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new st(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new st(`Couldn't find ${j.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new st(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=z.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new Fj(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Fj=class{constructor(e){this.opts=e;this.asyncActions=new He.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=SP(oe,{indexPath:z.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=z.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?z.join(a,dr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(e,r,o){let a=APt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,j.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await oe.mkdirPromise(n,{recursive:!0}),await oe.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=j.isVirtualLocator(e)?j.devirtualizeLocator(e):e,p={manifest:await Ot.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Ot,misc:{hasBindingGyp:yA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),E=yA.extractBuildRequest(e,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!RBe(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${j.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(e.locatorHash,async n=>{await oe.mkdirPromise(a,{recursive:!0});let u=await fPt(a),A=new Map(u),p=[n],h=(I,v)=>{let x=v;RBe(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),x=j.devirtualizeLocator(v));let C=this.customData.pathsByLocator.get(x.locatorHash);if(typeof C>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${j.stringifyLocator(v)})`);let F=j.stringifyIdent(I),N=z.join(a,F),U=z.relative(z.dirname(N),C.packageLocation),J=A.get(F);A.delete(F),p.push(Promise.resolve().then(async()=>{if(J){if(J.isSymbolicLink()&&await oe.readlinkPromise(N)===U)return;await oe.removePromise(N)}await oe.mkdirpPromise(z.dirname(N)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await oe.symlinkPromise(C.packageLocation,N,"junction"):await oe.symlinkPromise(U,N)}))},E=!1;for(let[I,v]of r)I.identHash===e.identHash&&(E=!0),h(I,v);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(j.convertLocatorToDescriptor(e),e),p.push(pPt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=TBe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await oe.removePromise(e);else{let r;try{r=new Set(await oe.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=z.contains(e,o);if(a===null)continue;let[n]=a.split(z.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await oe.removePromise(z.join(e,o))}))}return await this.asyncActions.wait(),await Tj(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await Tj(FBe(this.opts.project)),{customData:this.customData}}};function FBe(t){return z.join(t.cwd,dr.nodeModules)}function TBe(t){return z.join(FBe(t),".store")}function APt(t,{project:e}){let r=j.slugifyLocator(t),o=TBe(e),a=z.join(o,r,"package"),n=z.join(o,r,dr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function RBe(t,{project:e}){return!j.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function fPt(t){let e=new Map,r=[];try{r=await oe.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await oe.readdirPromise(z.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function pPt(t,e){let r=[],o=new Set;for(let a of e.keys()){r.push(oe.removePromise(z.join(t,a)));let n=j.tryParseIdent(a)?.scope;n&&o.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...o].map(a=>Tj(z.join(t,a)))))}async function Tj(t){try{await oe.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var hPt={linkers:[qv]},gPt=hPt;var qj={};zt(qj,{StageCommand:()=>eg,default:()=>DPt,stageUtils:()=>aR});je();Dt();qt();je();Dt();var aR={};zt(aR,{ActionType:()=>Nj,checkConsensus:()=>oR,expandDirectory:()=>Uj,findConsensus:()=>_j,findVcsRoot:()=>Oj,genCommitMessage:()=>Hj,getCommitPrefix:()=>LBe,isYarnFile:()=>Mj});Dt();var Nj=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(Nj||{});async function Oj(t,{marker:e}){do if(!oe.existsSync(z.join(t,e)))t=z.dirname(t);else return t;while(t!=="/");return null}function Mj(t,{roots:e,names:r}){if(r.has(z.basename(t)))return!0;do if(!e.has(t))t=z.dirname(t);else return!0;while(t!=="/");return!1}function Uj(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=oe.readdirSync(o);for(let n of a){let u=z.resolve(o,n);oe.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function oR(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function _j(t){let e=oR(t,/^(\w\(\w+\):\s*)?\w+s/),r=oR(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=oR(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function LBe(t){return t.useComponent?"chore(yarn): ":""}var dPt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function Hj(t,e){let r=LBe(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=dPt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var mPt="Commit generated via `yarn stage`",yPt=11;async function NBe(t){let{code:e,stdout:r}=await Ur.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function EPt(t,e){let r=[],o=e.filter(h=>z.basename(h.path)==="package.json");for(let{action:h,path:E}of o){let I=z.relative(t,E);if(h===4){let v=await NBe(t),{stdout:x}=await Ur.execvp("git",["show",`${v}:${I}`],{cwd:t,strict:!0}),C=await Ot.fromText(x),F=await Ot.fromFile(E),N=new Map([...F.dependencies,...F.devDependencies]),U=new Map([...C.dependencies,...C.devDependencies]);for(let[J,te]of U){let ae=j.stringifyIdent(te),le=N.get(J);le?le.range!==te.range&&r.push([4,`${ae} to ${le.range}`]):r.push([3,ae])}for(let[J,te]of N)U.has(J)||r.push([2,j.stringifyIdent(te)])}else if(h===0){let v=await Ot.fromFile(E);v.name?r.push([0,j.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await NBe(t),{stdout:x}=await Ur.execvp("git",["show",`${v}:${I}`],{cwd:t,strict:!0}),C=await Ot.fromText(x);C.name?r.push([1,j.stringifyIdent(C.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Ur.execvp("git",["log",`-${yPt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=_j(u);return Hj(A,r)}var CPt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},wPt={[0]:["A "],[4]:["M "],[1]:["D "]},OBe={async findRoot(t){return await Oj(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Ur.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o?.staged?wPt:CPt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=z.resolve(t,p.slice(3));if(!o?.staged&&h==="?? "&&p.endsWith("/"))return Uj(E).map(I=>({action:0,path:I}));{let v=[0,4,1].find(x=>u[x].includes(h));return v!==void 0?[{action:v,path:E}]:[]}})).filter(p=>Mj(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await EPt(t,e)},async makeStage(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Ur.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>ue.fromPortablePath(a.path));await Ur.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Ur.execvp("git",["commit","-m",`${r} + +${mPt} +`,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Ur.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var IPt=[OBe],eg=class extends ut{constructor(){super(...arguments);this.commit=ge.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=ge.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=ge.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),{driver:a,root:n}=await BPt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(I=>I.populateYarnPaths,o,I=>{u.push(I)});let A=new Set;for(let I of u)for(let v of vPt(n,I))A.add(v);let p=new Set([r.get("rcFilename"),dr.lockfile,dr.manifest]),h=await a.filterChanges(n,A,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} +`);else for(let I of h)this.context.stdout.write(`${ue.fromPortablePath(I.path)} +`);else if(this.reset){let I=await a.filterChanges(n,A,p,{staged:!0});I.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,I)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};eg.paths=[["stage"]],eg.usage=it.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function BPt(t){let e=null,r=null;for(let o of IPt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new st("No stage driver has been found for your current project");return{driver:e,root:r}}function vPt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=oe.statSync(e)}catch{break}if(o.isSymbolicLink())e=z.resolve(z.dirname(e),oe.readlinkSync(e));else break}return r}var PPt={commands:[eg]},DPt=PPt;var Gj={};zt(Gj,{default:()=>TPt});je();je();Dt();var _Be=Ze(Vn());je();var MBe=Ze(VH()),SPt="e8e1bd300d860104bb8c58453ffa1eb4",bPt="OFCNCOG2CU",UBe=async(t,e)=>{let r=j.stringifyIdent(t),a=xPt(e).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},xPt=t=>(0,MBe.default)(bPt,SPt,{requester:{async send(r){try{let o=await sn.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var HBe=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,kPt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??(oe.existsSync(z.join(t.cwd,"tsconfig.json"))||oe.existsSync(z.join(a.cwd,"tsconfig.json")))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new Qi};if(!await UBe(r,n))return;let E=HBe(r),I=j.parseRange(r.range).selector;if(!Lr.validRange(I)){let N=n.normalizeDependency(r),U=await A.getCandidates(N,{},p);I=j.parseRange(U[0].reference).selector}let v=_Be.default.coerce(I);if(v===null)return;let x=`${Xc.Modifier.CARET}${v.major}`,C=j.makeDescriptor(j.makeIdent("types",E),x),F=He.mapAndFind(a.workspaces,N=>{let U=N.manifest.dependencies.get(r.identHash)?.descriptorHash,J=N.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&J!==r.descriptorHash)return He.mapAndFind.skip;let te=[];for(let ae of Ot.allDependencies){let le=N.manifest[ae].get(C.identHash);typeof le>"u"||te.push([ae,le])}return te.length===0?He.mapAndFind.skip:te});if(typeof F<"u")for(let[N,U]of F)t.manifest[N].set(U.identHash,U);else{try{let N=n.normalizeDependency(C);if((await A.getCandidates(N,{},p)).length===0)return}catch{return}t.manifest[Xc.Target.DEVELOPMENT].set(C.identHash,C)}},QPt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??(oe.existsSync(z.join(t.cwd,"tsconfig.json"))||oe.existsSync(z.join(o.cwd,"tsconfig.json")))))return;let u=HBe(r),A=j.makeIdent("types",u);for(let p of Ot.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},RPt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},FPt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:kPt,afterWorkspaceDependencyRemoval:QPt,beforeWorkspacePacking:RPt}},TPt=FPt;var zj={};zt(zj,{VersionApplyCommand:()=>tg,VersionCheckCommand:()=>rg,VersionCommand:()=>ng,default:()=>$Pt,versionUtils:()=>hw});je();je();qt();var hw={};zt(hw,{Decision:()=>fw,applyPrerelease:()=>KBe,applyReleases:()=>Kj,applyStrategy:()=>cR,clearVersionFiles:()=>jj,getUndecidedDependentWorkspaces:()=>jv,getUndecidedWorkspaces:()=>lR,openVersionFile:()=>pw,requireMoreDecisions:()=>VPt,resolveVersionFiles:()=>Gv,suggestStrategy:()=>Wj,updateVersionFiles:()=>Yj,validateReleaseDecision:()=>Aw});je();Dt();Nl();qt();var WBe=Ze(YBe()),vA=Ze(Vn()),JPt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,fw=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(fw||{});function Aw(t){let e=vA.default.valid(t);return e||He.validateEnum((0,WBe.default)(fw,"UNDECIDED"),t)}async function Gv(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!oe.existsSync(o))return r;let a=await oe.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await oe.readFilePromise(u,"utf8"),p=Ki(A);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let I=j.parseIdent(h),v=t.tryWorkspaceByIdent(I);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${z.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${j.prettyLocator(t.configuration,v.anchoredLocator)})`);let x=v.manifest.raw.stableVersion??v.manifest.version,C=r.get(v),F=cR(x,Aw(E));if(F===null)throw new Error(`Assertion failed: Expected ${x} to support being bumped via strategy ${E}`);let N=typeof C<"u"?vA.default.gt(F,C)?F:C:F;r.set(v,N)}}return e&&(r=new Map([...r].map(([n,u])=>[n,KBe(u,{current:n.manifest.version,prerelease:e})]))),r}async function jj(t){let e=t.configuration.get("deferredVersionFolder");!oe.existsSync(e)||await oe.removePromise(e)}async function Yj(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!oe.existsSync(o))return;let a=await oe.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await oe.readFilePromise(u,"utf8"),p=Ki(A),h=p?.releases;if(!!h){for(let E of Object.keys(h)){let I=j.parseIdent(E),v=t.tryWorkspaceByIdent(I);(v===null||r.has(v))&&delete p.releases[E]}Object.keys(p.releases).length>0?await oe.changeFilePromise(u,Ba(new Ba.PreserveOrdering(p))):await oe.unlinkPromise(u)}}}async function pw(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new st("This command can only be run from within a Yarn project");let o=await ra.fetchRoot(r.projectCwd),a=o!==null?await ra.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await ra.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(x=>z.contains(u,x)!==null);if(A.length>1)throw new st(`Your current branch contains multiple versioning files; this isn't supported: +- ${A.map(x=>ue.fromPortablePath(x)).join(` +- `)}`);let p=new Set(He.mapAndFilter(n,x=>{let C=t.tryWorkspaceByFilePath(x);return C===null?He.mapAndFilter.skip:C}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:z.join(u,`${wn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=oe.existsSync(h)?await oe.readFilePromise(h,"utf8"):"{}",I=Ki(E),v=new Map;for(let x of I.declined||[]){let C=j.parseIdent(x),F=t.getWorkspaceByIdent(C);v.set(F,"decline")}for(let[x,C]of Object.entries(I.releases||{})){let F=j.parseIdent(x),N=t.getWorkspaceByIdent(F);v.set(N,Aw(C))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(x=>x.manifest.version!==null)),releases:v,async saveAll(){let x={},C=[],F=[];for(let N of t.workspaces){if(N.manifest.version===null)continue;let U=j.stringifyIdent(N.anchoredLocator),J=v.get(N);J==="decline"?C.push(U):typeof J<"u"?x[U]=Aw(J):p.has(N)&&F.push(U)}await oe.mkdirPromise(z.dirname(h),{recursive:!0}),await oe.changeFilePromise(h,Ba(new Ba.PreserveOrdering({releases:Object.keys(x).length>0?x:void 0,declined:C.length>0?C:void 0,undecided:F.length>0?F:void 0})))}}}function VPt(t){return lR(t).size>0||jv(t).length>0}function lR(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function jv(t,{include:e=new Set}={}){let r=[],o=new Map(He.mapAndFilter([...t.releases],([n,u])=>u==="decline"?He.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(He.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?He.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Ot.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function Wj(t,e){let r=vA.default.clean(e);for(let o of Object.values(fw))if(o!=="undecided"&&o!=="decline"&&vA.default.inc(t,o)===r)return o;return null}function cR(t,e){if(vA.default.valid(e))return e;if(t===null)throw new st(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!vA.default.valid(t))throw new st(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=vA.default.inc(t,e);if(r===null)throw new st(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function Kj(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of Ot.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;He.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,vA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?j.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${j.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:ue.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,E,I]of p){let v=h.manifest[E].get(I);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let x=v.range,C=!1;if(x.startsWith(Xn.protocol)&&(x=x.slice(Xn.protocol.length),C=!0,x===a.relativeCwd))continue;let F=x.match(JPt);if(!F){r.reportWarning(0,`Couldn't auto-upgrade range ${x} (in ${j.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let N=`${F[1]}${n}`;C&&(N=`${Xn.protocol}${N}`);let U=j.makeDescriptor(v,N);h.manifest[E].set(I,U)}}}var XPt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function KBe(t,{current:e,prerelease:r}){let o=new vA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=XPt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let E=u?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var tg=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=ge.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=ge.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await Gv(o,{prerelease:p}),E=new Map;if(this.all)E=h;else{let I=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of I){let x=h.get(v);typeof x<"u"&&E.set(v,x)}}if(E.size===0){let I=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${I}`);return}Kj(o,E,{report:A}),this.dryRun||(p||(this.all?await jj(o):await Yj(o,[...E.keys()])),A.reportSeparator())});return this.dryRun||u.hasErrors()?u.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};tg.paths=[["version","apply"]],tg.usage=it.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` + This command will apply the deferred version changes and remove their definitions from the repository. + + Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%n\`) will be used on all new versions and the version definitions will be kept as-is. + + By default only the current workspace will be bumped, but you can configure this behavior by using one of: + + - \`--recursive\` to also apply the version bump on its dependencies + - \`--all\` to apply the version bump on all packages in the repository + + Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. + `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});je();Dt();qt();var uR=Ze(Vn());var rg=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){DC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(uQ(),Bq)),{ScrollableItems:o}=await Promise.resolve().then(()=>(hQ(),pQ)),{FocusRequest:a}=await Promise.resolve().then(()=>(Pq(),Jwe)),{useListInput:n}=await Promise.resolve().then(()=>(fQ(),Vwe)),{renderForm:u}=await Promise.resolve().then(()=>(yQ(),mQ)),{Box:A,Text:p}=await Promise.resolve().then(()=>Ze(sc())),{default:h,useCallback:E,useState:I}=await Promise.resolve().then(()=>Ze(an())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await St.find(v,this.context.cwd);if(!C)throw new sr(x.cwd,this.context.cwd);await x.restoreInstallState();let F=await pw(x);if(F===null||F.releaseRoots.size===0)return 0;if(F.root===null)throw new st("This command can only be run on Git repositories");let N=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),U=({workspace:we,active:de,decision:Be,setDecision:Ee})=>{let g=we.manifest.raw.stableVersion??we.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${j.prettyLocator(v,we.anchoredLocator)})`);if(uR.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let me=["undecided","decline","patch","minor","major"];n(Be,me,{active:de,minus:"left",plus:"right",set:Ee});let Ce=Be==="undecided"?h.createElement(p,{color:"yellow"},g):Be==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},uR.default.valid(Be)?Be:uR.default.inc(g,Be)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,j.prettyLocator(v,we.anchoredLocator)," - ",Ce)),h.createElement(A,null,me.map(Ae=>h.createElement(A,{key:Ae,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:Ae===Be})," ",Ae)))))},J=we=>{let de=new Set(F.releaseRoots),Be=new Map([...we].filter(([Ee])=>de.has(Ee)));for(;;){let Ee=jv({project:F.project,releases:Be}),g=!1;if(Ee.length>0){for(let[me]of Ee)if(!de.has(me)){de.add(me),g=!0;let Ce=we.get(me);typeof Ce<"u"&&Be.set(me,Ce)}}if(!g)break}return{relevantWorkspaces:de,relevantReleases:Be}},te=()=>{let[we,de]=I(()=>new Map(F.releases)),Be=E((Ee,g)=>{let me=new Map(we);g!=="undecided"?me.set(Ee,g):me.delete(Ee);let{relevantReleases:Ce}=J(me);de(Ce)},[we,de]);return[we,Be]},ae=({workspaces:we,releases:de})=>{let Be=[];Be.push(`${we.size} total`);let Ee=0,g=0;for(let me of we){let Ce=de.get(me);typeof Ce>"u"?g+=1:Ce!=="decline"&&(Ee+=1)}return Be.push(`${Ee} release${Ee===1?"":"s"}`),Be.push(`${g} remaining`),h.createElement(p,{color:"yellow"},Be.join(", "))},ce=await u(({useSubmit:we})=>{let[de,Be]=te();we(de);let{relevantWorkspaces:Ee}=J(de),g=new Set([...Ee].filter(ne=>!F.releaseRoots.has(ne))),[me,Ce]=I(0),Ae=E(ne=>{switch(ne){case a.BEFORE:Ce(me-1);break;case a.AFTER:Ce(me+1);break}},[me,Ce]);return h.createElement(A,{flexDirection:"column"},h.createElement(N,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...F.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},ue.fromPortablePath(F.root)),ue.sep,ue.relative(ue.fromPortablePath(F.root),ue.fromPortablePath(ne)))))),F.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(ae,{workspaces:F.releaseRoots,releases:de})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:me%2===0,radius:1,size:2,onFocusRequest:Ae},[...F.releaseRoots].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:de.get(ne)||"undecided",setDecision:Z=>Be(ne,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(ae,{workspaces:g,releases:de})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:me%2===1,radius:2,size:2,onFocusRequest:Ae},[...g].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:de.get(ne)||"undecided",setDecision:Z=>Be(ne,Z)}))))):null)},{versionFile:F},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ce>"u")return 1;F.releases.clear();for(let[we,de]of ce)F.releases.set(we,de);await F.saveAll()}async executeStandard(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Ft.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await pw(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new st("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${pe.pretty(r,A.baseHash.slice(0,7),"yellow")} ${pe.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${pe.pretty(r,ue.fromPortablePath(A.root),"gray")}${ue.sep}${ue.relative(ue.fromPortablePath(A.root),ue.fromPortablePath(v))}`)}let p=!1,h=!1,E=lR(A);if(E.size>0){p||u.reportSeparator();for(let v of E)u.reportError(0,`${j.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let I=jv(A);for(let[v,x]of I)h||u.reportSeparator(),u.reportError(0,`${j.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${j.prettyWorkspace(r,x)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};rg.paths=[["version","check"]],rg.usage=it.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});je();qt();var AR=Ze(Vn());var ng=class extends ut{constructor(){super(...arguments);this.deferred=ge.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=ge.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=AR.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let E=Wj(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!A){if(E===null)throw new st("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!AR.default.valid(E))throw new st(`Can't bump the version (${E}) if it's not valid semver`)}p=Aw(this.strategy)}if(!n){let I=(await Gv(o)).get(a);if(typeof I<"u"&&p!=="decline"){let v=cR(a.manifest.version,p);if(AR.default.lt(v,I))throw new st(`Can't bump the version to one that would be lower than the current deferred one (${I})`)}}let h=await pw(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};ng.paths=[["version"]],ng.usage=it.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var ZPt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[tg,rg,ng]},$Pt=ZPt;var Jj={};zt(Jj,{WorkspacesFocusCommand:()=>ig,WorkspacesForeachCommand:()=>lp,default:()=>rDt});je();je();qt();var ig=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=ge.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=ge.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new sr(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(A=>o.getWorkspaceByIdent(j.parseIdent(A))));for(let A of u)for(let p of this.production?["dependencies"]:Ot.hardDependencies)for(let h of A.manifest.getForScope(p).values()){let E=o.tryWorkspaceByDescriptor(h);E!==null&&u.add(E)}for(let A of o.workspaces)u.has(A)?this.production&&A.manifest.devDependencies.clear():(A.manifest.installConfig=A.manifest.installConfig||{},A.manifest.installConfig.selfReferences=!1,A.manifest.dependencies.clear(),A.manifest.devDependencies.clear(),A.manifest.peerDependencies.clear(),A.manifest.scripts.clear());return await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};ig.paths=[["workspaces","focus"]],ig.usage=it.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});je();je();je();qt();var gw=Ze(Xo()),JBe=Ze(sd());$a();var lp=class extends ut{constructor(){super(...arguments);this.from=ge.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=ge.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=ge.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=ge.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=ge.Counter("-v,--verbose",{description:"Increase level of logging verbosity up to 2 times"});this.parallel=ge.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=ge.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=ge.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:LT([Js(["unlimited"]),sI(TT(),[OT(),NT(1)])])});this.topological=ge.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=ge.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=ge.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=ge.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=ge.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=ge.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!this.all&&!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new st("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=Ee=>{!this.dryRun||this.context.stdout.write(`${Ee} +`)},p=()=>{let Ee=this.from.map(g=>gw.default.matcher(g));return o.workspaces.filter(g=>{let me=j.stringifyIdent(g.anchoredLocator),Ce=g.relativeCwd;return Ee.some(Ae=>Ae(me)||Ae(Ce))})},h=[];if(this.since?(A("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await ra.fetchChangedWorkspaces({ref:this.since,project:o}))):this.from?(A("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(A("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(A("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(A("Option --all is set; selecting all workspaces"),h=[...o.workspaces]),this.dryRun&&!this.all){for(let Ee of h)A(` +- ${Ee.relativeCwd} + ${j.prettyLocator(r,Ee.anchoredLocator)}`);h.length>0&&A("")}let E;if(this.recursive?this.since?(A("Option --recursive --since is set; recursively selecting all dependent workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependents()]).flat())):(A("Option --recursive is set; recursively selecting all transitive dependencies"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(A("Option --worktree is set; recursively selecting all nested workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceChildren()]).flat())):E=null,E!==null&&(h=[...new Set([...h,...E])],this.dryRun))for(let Ee of E)A(` +- ${Ee.relativeCwd} + ${j.prettyLocator(r,Ee.anchoredLocator)}`);let I=[],v=!1;if(u?.includes(":")){for(let Ee of o.workspaces)if(Ee.manifest.scripts.has(u)&&(v=!v,v===!1))break}for(let Ee of h){if(u&&!Ee.manifest.scripts.has(u)&&!v&&!(await An.getWorkspaceAccessibleBinaries(Ee)).has(u)){A(`Excluding ${Ee.relativeCwd} because it doesn't have a "${u}" script`);continue}if(!(u===r.env.npm_lifecycle_event&&Ee.cwd===a.cwd)){if(this.include.length>0&&!gw.default.isMatch(j.stringifyIdent(Ee.anchoredLocator),this.include)&&!gw.default.isMatch(Ee.relativeCwd,this.include)){A(`Excluding ${Ee.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(gw.default.isMatch(j.stringifyIdent(Ee.anchoredLocator),this.exclude)||gw.default.isMatch(Ee.relativeCwd,this.exclude))){A(`Excluding ${Ee.relativeCwd} because it matches the --include filter`);continue}if(this.publicOnly&&Ee.manifest.private===!0){A(`Excluding ${Ee.relativeCwd} because it's a private workspace and --no-private was set`);continue}I.push(Ee)}}if(this.dryRun)return 0;let x=this.verbose??(this.context.stdout.isTTY?1/0:0),C=x>0,F=x>1,N=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(Vi.availableParallelism()/2):1,U=N===1?!1:this.parallel,J=U?this.interlaced:!0,te=(0,JBe.default)(N),ae=new Map,le=new Set,ce=0,we=null,de=!1,Be=await Ft.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async Ee=>{let g=async(me,{commandIndex:Ce})=>{if(de)return-1;!U&&F&&Ce>1&&Ee.reportSeparator();let Ae=eDt(me,{configuration:r,label:C,commandIndex:Ce}),[ne,Z]=zBe(Ee,{prefix:Ae,interlaced:J}),[xe,Le]=zBe(Ee,{prefix:Ae,interlaced:J});try{F&&Ee.reportInfo(null,`${Ae?`${Ae} `:""}Process started`);let ht=Date.now(),H=await this.cli.run([this.commandName,...this.args],{cwd:me.cwd,stdout:ne,stderr:xe})||0;ne.end(),xe.end(),await Z,await Le;let rt=Date.now();if(F){let Te=r.get("enableTimers")?`, completed in ${pe.pretty(r,rt-ht,pe.Type.DURATION)}`:"";Ee.reportInfo(null,`${Ae?`${Ae} `:""}Process exited (exit code ${H})${Te}`)}return H===130&&(de=!0,we=H),H}catch(ht){throw ne.end(),xe.end(),await Z,await Le,ht}};for(let me of I)ae.set(me.anchoredLocator.locatorHash,me);for(;ae.size>0&&!Ee.hasErrors();){let me=[];for(let[ne,Z]of ae){if(le.has(Z.anchoredDescriptor.descriptorHash))continue;let xe=!0;if(this.topological||this.topologicalDev){let Le=this.topologicalDev?new Map([...Z.manifest.dependencies,...Z.manifest.devDependencies]):Z.manifest.dependencies;for(let ht of Le.values()){let H=o.tryWorkspaceByDescriptor(ht);if(xe=H===null||!ae.has(H.anchoredLocator.locatorHash),!xe)break}}if(!!xe&&(le.add(Z.anchoredDescriptor.descriptorHash),me.push(te(async()=>{let Le=await g(Z,{commandIndex:++ce});return ae.delete(ne),le.delete(Z.anchoredDescriptor.descriptorHash),Le})),!U))break}if(me.length===0){let ne=Array.from(ae.values()).map(Z=>j.prettyLocator(r,Z.anchoredLocator)).join(", ");Ee.reportError(3,`Dependency cycle detected (${ne})`);return}let Ae=(await Promise.all(me)).find(ne=>ne!==0);we===null&&(we=typeof Ae<"u"?1:we),(this.topological||this.topologicalDev)&&typeof Ae<"u"&&Ee.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return we!==null?we:Be.exitCode()}};lp.paths=[["workspaces","foreach"]],lp.usage=it.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n The `-v,--verbose` flag can be passed up to twice: once to prefix output lines with the originating workspace's name, and again to include start/finish/timing log lines. Maximum verbosity is enabled by default in terminal environments.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish all packages","yarn workspaces foreach -A npm publish --tolerate-republish"],["Run the build script on all descendant packages","yarn workspaces foreach -A run build"],["Run the build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -Apt run build"],["Run the build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -Rpt --from '{workspace-a,workspace-b}' run build"]]}),lp.schema=[aI("all",Yu.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),MT(["all","recursive","since","worktree"],{missingIf:"undefined"})];function zBe(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new He.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new He.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function eDt(t,{configuration:e,commandIndex:r,label:o}){if(!o)return null;let n=`[${j.stringifyIdent(t.anchoredLocator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return pe.pretty(e,n,A)}var tDt={commands:[ig,lp]},rDt=tDt;var AC=()=>({modules:new Map([["@yarnpkg/cli",l2],["@yarnpkg/core",a2],["@yarnpkg/fslib",Ww],["@yarnpkg/libzip",k1],["@yarnpkg/parsers",eI],["@yarnpkg/shell",L1],["clipanion",fI],["semver",nDt],["typanion",Ko],["@yarnpkg/plugin-essentials",$8],["@yarnpkg/plugin-compat",iH],["@yarnpkg/plugin-constraints",wH],["@yarnpkg/plugin-dlx",IH],["@yarnpkg/plugin-exec",PH],["@yarnpkg/plugin-file",SH],["@yarnpkg/plugin-git",Z8],["@yarnpkg/plugin-github",kH],["@yarnpkg/plugin-http",QH],["@yarnpkg/plugin-init",RH],["@yarnpkg/plugin-interactive-tools",Tq],["@yarnpkg/plugin-link",Lq],["@yarnpkg/plugin-nm",yG],["@yarnpkg/plugin-npm",dj],["@yarnpkg/plugin-npm-cli",Pj],["@yarnpkg/plugin-pack",Aj],["@yarnpkg/plugin-patch",Rj],["@yarnpkg/plugin-pnp",oG],["@yarnpkg/plugin-pnpm",Lj],["@yarnpkg/plugin-stage",qj],["@yarnpkg/plugin-typescript",Gj],["@yarnpkg/plugin-version",zj],["@yarnpkg/plugin-workspace-tools",Jj]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function ZBe({cwd:t,pluginConfiguration:e}){let r=new ls({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:nn??""});return Object.assign(r,{defaultContext:{...ls.defaultContext,cwd:t,plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function iDt(t){if(He.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,o=">=18.12.0";if(Lr.satisfiesWithPrereleases(r,o))return!0;let a=new st(`This tool requires a Node version compatible with ${o} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return ls.defaultContext.stdout.write(t.error(a)),!1}async function $Be({selfPath:t,pluginConfiguration:e}){return await Ke.find(ue.toPortablePath(process.cwd()),e,{strict:!1,usePathCheck:t})}function sDt(t,e,{yarnPath:r}){if(!oe.existsSync(r))return t.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let o={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,VBe.execFileSync)(process.execPath,[ue.fromPortablePath(r),...e],o)}catch(a){return a.status??1}return 0}function oDt(t,e){let r=null,o=e;return e.length>=2&&e[0]==="--cwd"?(r=ue.toPortablePath(e[1]),o=e.slice(2)):e.length>=1&&e[0].startsWith("--cwd=")?(r=ue.toPortablePath(e[0].slice(6)),o=e.slice(1)):e[0]==="add"&&e[e.length-2]==="--cwd"&&(r=ue.toPortablePath(e[e.length-1]),o=e.slice(0,e.length-2)),t.defaultContext.cwd=r!==null?z.resolve(r):z.cwd(),o}function aDt(t,{configuration:e}){if(!e.get("enableTelemetry")||XBe.isCI||!process.stdout.isTTY)return;Ke.telemetry=new lC(e,"puba9cdc10ec5790a2cf4969dd413a47270");let o=/^@yarnpkg\/plugin-(.*)$/;for(let a of e.plugins.keys())cC.has(a.match(o)?.[1]??"")&&Ke.telemetry?.reportPluginName(a);t.binaryVersion&&Ke.telemetry.reportVersion(t.binaryVersion)}function eve(t,{configuration:e}){for(let r of e.plugins.values())for(let o of r.commands||[])t.register(o)}async function lDt(t,e,{selfPath:r,pluginConfiguration:o}){if(!iDt(t))return 1;let a=await $Be({selfPath:r,pluginConfiguration:o}),n=a.get("yarnPath"),u=a.get("ignorePath");if(n&&!u)return sDt(t,e,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let A=oDt(t,e);aDt(t,{configuration:a}),eve(t,{configuration:a});let p=t.process(A,t.defaultContext);return p.help||Ke.telemetry?.reportCommandName(p.path.join(" ")),await t.run(p,t.defaultContext)}async function ehe({cwd:t=z.cwd(),pluginConfiguration:e=AC()}={}){let r=ZBe({cwd:t,pluginConfiguration:e}),o=await $Be({pluginConfiguration:e,selfPath:null});return eve(r,{configuration:o}),r}async function ik(t,{cwd:e=z.cwd(),selfPath:r,pluginConfiguration:o}){let a=ZBe({cwd:e,pluginConfiguration:o});try{process.exitCode=await lDt(a,t,{selfPath:r,pluginConfiguration:o})}catch(n){ls.defaultContext.stdout.write(a.error(n)),process.exitCode=1}finally{await oe.rmtempPromise()}}ik(process.argv.slice(2),{cwd:z.cwd(),selfPath:ue.toPortablePath(ue.resolve(process.argv[1])),pluginConfiguration:AC()});})(); +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ +/** + @license + Copyright (c) 2015, Rebecca Turner + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + */ +/** + @license + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +/** @license React v0.18.0 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.24.0 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v16.13.1 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/lambdas/.yarnrc.yml b/lambdas/.yarnrc.yml new file mode 100644 index 0000000000..fd5296c36e --- /dev/null +++ b/lambdas/.yarnrc.yml @@ -0,0 +1,3 @@ +nodeLinker: node-modules + +yarnPath: .yarn/releases/yarn-4.3.1.cjs diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index ac9a3c09b1..b56fdaaaf7 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -16,34 +16,34 @@ "all": "yarn build && yarn format && yarn lint && yarn test" }, "devDependencies": { - "@trivago/prettier-plugin-sort-imports": "^4.2.1", - "@types/aws-lambda": "^8.10.137", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/aws-lambda": "^8.10.142", "@types/jest": "^29.5.12", - "@types/node": "^20.8.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.9.0", + "@types/node": "^22.0.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.0.0", - "aws-sdk-client-mock-jest": "^3.0.0", - "eslint": "^8.56.0", - "eslint-plugin-prettier": "5.1.3", - "jest": "^29.5", - "jest-mock": "^29.5.0", - "jest-mock-extended": "^3.0.6", - "nock": "^13.4.0", - "prettier": "3.3.2", - "ts-jest": "^29.1.0", - "ts-node": "^10.9.1", + "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock-jest": "^3.1.0", + "eslint": "^8.57.0", + "eslint-plugin-prettier": "5.2.1", + "jest": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-mock-extended": "^3.0.7", + "nock": "^13.5.4", + "prettier": "3.3.3", + "ts-jest": "^29.2.3", + "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.620.1", - "@aws-sdk/client-ssm": "^3.620.1", - "@aws-sdk/types": "^3.433.0", + "@aws-sdk/client-ec2": "^3.621.0", + "@aws-sdk/client-ssm": "^3.621.0", + "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", - "cron-parser": "^4.8.1", - "typescript": "^5.4.5" + "cron-parser": "^4.9.0", + "typescript": "^5.5.4" }, "nx": { "includedScripts": [ diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 5d0efa7389..73cca23a32 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -16,40 +16,41 @@ "all": "yarn build && yarn format && yarn lint && yarn test" }, "devDependencies": { - "@trivago/prettier-plugin-sort-imports": "^4.2.1", - "@types/aws-lambda": "^8.10.137", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/aws-lambda": "^8.10.142", "@types/jest": "^29.5.12", - "@types/node": "^20.8.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.9.0", + "@types/node": "^22.0.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.0.0", - "aws-sdk-client-mock-jest": "^3.0.0", - "eslint": "^8.56.0", - "eslint-plugin-prettier": "5.1.3", - "jest": "^29.5", - "jest-mock": "^29.5.0", - "jest-mock-extended": "^3.0.6", + "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock-jest": "^3.1.0", + "eslint": "^8.57.0", + "eslint-plugin-prettier": "5.2.1", + "jest": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-mock-extended": "^3.0.7", "moment-timezone": "^0.5.45", - "nock": "^13.4.0", - "prettier": "3.3.2", - "ts-jest": "^29.1.0", - "ts-node": "^10.9.1", + "nock": "^13.5.4", + "prettier": "3.3.3", + "ts-jest": "^29.2.3", + "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.620.1", - "@aws-sdk/types": "^3.433.0", + "@aws-sdk/client-ec2": "^3.621.0", + "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.0.3", - "@octokit/plugin-throttling": "8.1.3", + "@octokit/core": "5.2.0", + "@octokit/plugin-throttling": "8.2.0", "@octokit/rest": "20.0.2", "@octokit/types": "^13.5.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", - "axios": "^1.6.8", - "cron-parser": "^4.8.1", - "typescript": "^5.4.5" + "axios": "^1.7.2", + "cron-parser": "^4.9.0", + "typescript": "^5.5.4" }, "nx": { "includedScripts": [ diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts b/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts index fc07398571..09d275d801 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts +++ b/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts @@ -32,12 +32,12 @@ export async function createOctoClient(token: string, ghesApiUrl = ''): Promise< return new CustomOctokit({ ...ocktokitOptions, throttle: { - onRateLimit: (retryAfter, options) => { + onRateLimit: (options: { method: string; url: string }) => { logger.warn( `GitHub rate limit: Request quota exhausted for request ${options.method} ${options.url}. Requested `, ); }, - onSecondaryRateLimit: (retryAfter, options) => { + onSecondaryRateLimit: (options: { method: string; url: string }) => { logger.warn(`GitHub rate limit: SecondaryRateLimit detected for request ${options.method} ${options.url}`); }, }, diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 6dc651c6a4..c482cf7cdd 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -16,33 +16,33 @@ "all": "yarn build && yarn format && yarn lint && yarn test" }, "devDependencies": { - "@octokit/rest": "^20.0.1", - "@trivago/prettier-plugin-sort-imports": "^4.2.1", - "@types/aws-lambda": "^8.10.137", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/aws-lambda": "^8.10.142", "@types/jest": "^29.5.12", - "@types/node": "^20.8.9", - "@types/request": "^2.48.11", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.9.0", + "@types/node": "^22.0.0", + "@types/request": "^2.48.12", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.0.0", - "aws-sdk-client-mock-jest": "^3.0.0", - "eslint": "^8.56.0", - "eslint-plugin-prettier": "5.1.3", - "jest": "^29.5", - "jest-mock": "^29.5.0", - "prettier": "3.3.2", - "ts-jest": "^29.1.0", + "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock-jest": "^3.1.0", + "eslint": "^8.57.0", + "eslint-plugin-prettier": "5.2.1", + "jest": "^29.7.0", + "jest-mock": "^29.7.0", + "prettier": "3.3.3", + "ts-jest": "^29.2.3", "ts-node-dev": "^2.0.0", - "typescript": "^5.4.5" + "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-s3": "^3.620.1", - "@aws-sdk/lib-storage": "^3.620.1", - "@aws-sdk/types": "^3.433.0", + "@aws-sdk/client-s3": "^3.621.0", + "@aws-sdk/lib-storage": "^3.621.0", + "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", + "@octokit/rest": "20.0.2", "@terraform-aws-github-runner/aws-powertools-util": "*", - "axios": "^1.6.8" + "axios": "^1.7.2" }, "nx": { "includedScripts": [ diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 411bd05cbf..3fdee3174f 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -14,32 +14,32 @@ "all": "yarn build && yarn format && yarn lint && yarn test" }, "devDependencies": { - "@trivago/prettier-plugin-sort-imports": "^4.2.1", - "@types/aws-lambda": "^8.10.137", - "@types/jest": "^29.5.6", - "@types/node": "^20.8.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.9.0", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/aws-lambda": "^8.10.142", + "@types/jest": "^29.5.12", + "@types/node": "^22.0.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.0.0", - "aws-sdk-client-mock-jest": "^3.0.0", - "eslint": "^8.56.0", - "eslint-plugin-prettier": "5.1.3", - "jest": "^29.5", - "jest-mock": "^29.5.0", - "jest-mock-extended": "^3.0.6", - "nock": "^13.4.0", - "prettier": "3.3.2", - "ts-jest": "^29.1.0", - "ts-node": "^10.9.1", + "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock-jest": "^3.1.0", + "eslint": "^8.57.0", + "eslint-plugin-prettier": "5.2.1", + "jest": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-mock-extended": "^3.0.7", + "nock": "^13.5.4", + "prettier": "3.3.3", + "ts-jest": "^29.2.3", + "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.620.1", - "@aws-sdk/types": "^3.433.0", + "@aws-sdk/client-ec2": "^3.621.0", + "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@terraform-aws-github-runner/aws-powertools-util": "*", - "typescript": "^5.4.5" + "typescript": "^5.5.4" }, "nx": { "includedScripts": [ diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index d511c31923..b208fd2cc7 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -16,33 +16,32 @@ "all": "yarn build && yarn format && yarn lint && yarn test" }, "devDependencies": { - "@octokit/webhooks-definitions": "^3.67.3", - "@trivago/prettier-plugin-sort-imports": "^4.2.1", - "@types/aws-lambda": "^8.10.137", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/aws-lambda": "^8.10.142", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^20.8.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.9.0", + "@types/node": "^22.0.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", "body-parser": "^1.20.2", - "eslint": "^8.56.0", - "eslint-plugin-prettier": "5.1.3", + "eslint": "^8.57.0", + "eslint-plugin-prettier": "5.2.1", "express": "^4.19.2", - "jest": "^29.5", - "jest-mock": "^29.5.0", - "nock": "^13.4.0", - "prettier": "3.3.2", - "ts-jest": "^29.1.0", + "jest": "^29.7.0", + "jest-mock": "^29.7.0", + "nock": "^13.5.4", + "prettier": "3.3.3", + "ts-jest": "^29.2.3", "ts-node-dev": "^2.0.0", - "typescript": "^5.4.5" + "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-sqs": "^3.620.1", + "@aws-sdk/client-sqs": "^3.621.0", "@middy/core": "^4.7.0", - "@octokit/rest": "^20.0.1", + "@octokit/rest": "20.0.2", "@octokit/types": "^13.5.0", - "@octokit/webhooks": "^12.1.2", + "@octokit/webhooks": "^12.2.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", "aws-lambda": "^1.0.7" diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 14e62c6da2..c38d93098e 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -14,31 +14,30 @@ "all": "yarn build && yarn format && yarn lint && yarn test" }, "devDependencies": { - "@octokit/webhooks-definitions": "^3.67.3", - "@trivago/prettier-plugin-sort-imports": "^4.2.1", - "@types/aws-lambda": "^8.10.137", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/aws-lambda": "^8.10.142", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^20.8.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.9.0", + "@types/node": "^22.0.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", "body-parser": "^1.20.2", - "eslint": "^8.56.0", - "eslint-plugin-prettier": "5.1.3", + "eslint": "^8.57.0", + "eslint-plugin-prettier": "5.2.1", "express": "^4.19.2", - "jest": "^29.5", - "jest-mock": "^29.5.0", - "nock": "^13.4.0", - "prettier": "3.3.2", - "ts-jest": "^29.1.0", + "jest": "^29.7.0", + "jest-mock": "^29.7.0", + "nock": "^13.5.4", + "prettier": "3.3.3", + "ts-jest": "^29.2.3", "ts-node-dev": "^2.0.0", - "typescript": "^5.4.5" + "typescript": "^5.5.4" }, "dependencies": { - "@aws-lambda-powertools/logger": "^1.17.0", + "@aws-lambda-powertools/logger": "^1.18.1", "@aws-lambda-powertools/metrics": "^1.18.1", - "@aws-lambda-powertools/tracer": "^1.14.0", + "@aws-lambda-powertools/tracer": "^1.18.1", "aws-lambda": "^1.0.7" }, "nx": { diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index a78e90929b..1c037a326a 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -14,30 +14,29 @@ "all": "yarn build && yarn format && yarn lint && yarn test" }, "devDependencies": { - "@octokit/webhooks-definitions": "^3.67.3", - "@trivago/prettier-plugin-sort-imports": "^4.2.1", - "@types/aws-lambda": "^8.10.137", + "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/aws-lambda": "^8.10.142", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^20.8.9", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.9.0", + "@types/node": "^22.0.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", "body-parser": "^1.20.2", - "eslint": "^8.56.0", - "eslint-plugin-prettier": "5.1.3", + "eslint": "^8.57.0", + "eslint-plugin-prettier": "5.2.1", "express": "^4.19.2", - "jest": "^29.5", - "jest-mock": "^29.5.0", - "nock": "^13.4.0", - "prettier": "3.3.2", - "ts-jest": "^29.1.0", + "jest": "^29.7.0", + "jest-mock": "^29.7.0", + "nock": "^13.5.4", + "prettier": "3.3.3", + "ts-jest": "^29.2.3", "ts-node-dev": "^2.0.0", - "typescript": "^5.4.5" + "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-ssm": "^3.620.1", - "@aws-sdk/types": "^3.433.0", + "@aws-sdk/client-ssm": "^3.621.0", + "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*" }, "nx": { diff --git a/lambdas/package.json b/lambdas/package.json index 15510cbcfe..31bb489779 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -21,14 +21,17 @@ "@octokit/types": "^13.0.0" }, "devDependencies": { - "@nx/eslint": "19.4.2", - "@nx/jest": "19.4.2", - "@nx/js": "^19.5.2", - "@swc-node/register": "~1.10.2", - "@swc/core": "~1.6.13", - "@swc/helpers": "~0.5.2", - "jest": "^29.4.1", - "nx": "19.4.0", - "prettier": "^3.2.5" - } + "@nx/eslint": "19.5.4", + "@nx/jest": "19.5.4", + "@nx/js": "^19.5.4", + "@swc-node/register": "~1.10.9", + "@swc/core": "~1.7.3", + "@swc/helpers": "~0.5.12", + "eslint": "^8.57.0", + "jest": "^29.7.0", + "nx": "19.5.4", + "prettier": "^3.3.3", + "typescript": "^5.5.4" + }, + "packageManager": "yarn@4.3.1" } diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index c3a4f2f8e3..be2f6edf02 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -1,8207 +1,11199 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@aws-crypto/crc32@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1" - integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg== - dependencies: - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - tslib "^2.6.2" - -"@aws-crypto/crc32c@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz#4e34aab7f419307821509a98b9b08e84e0c1917e" - integrity sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag== - dependencies: - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - tslib "^2.6.2" - -"@aws-crypto/sha1-browser@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz#b0ee2d2821d3861f017e965ef3b4cb38e3b6a0f4" - integrity sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg== - dependencies: - "@aws-crypto/supports-web-crypto" "^5.2.0" - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.6.2" - -"@aws-crypto/sha256-browser@5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e" - integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw== - dependencies: - "@aws-crypto/sha256-js" "^5.2.0" - "@aws-crypto/supports-web-crypto" "^5.2.0" - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.6.2" - -"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042" - integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA== - dependencies: - "@aws-crypto/util" "^5.2.0" - "@aws-sdk/types" "^3.222.0" - tslib "^2.6.2" - -"@aws-crypto/supports-web-crypto@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb" - integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg== - dependencies: - tslib "^2.6.2" - -"@aws-crypto/util@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da" - integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ== - dependencies: - "@aws-sdk/types" "^3.222.0" - "@smithy/util-utf8" "^2.0.0" - tslib "^2.6.2" - -"@aws-lambda-powertools/commons@^1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@aws-lambda-powertools/commons/-/commons-1.18.1.tgz#fcfdef39639105a7b2b5363e4bcade9d277f5468" - integrity sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ== - -"@aws-lambda-powertools/logger@^1.17.0": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@aws-lambda-powertools/logger/-/logger-1.18.1.tgz#6388ddbafca6b3f65277b7a364df45f426f5c592" - integrity sha512-GsSMqaFXCSz+llSOn2CVNMoN+j/jNsS6JP2Opy9myU0tvg7PeuU3+rN24vKyibUwpxM466IzWFBSJkYdm0bqVw== - dependencies: - "@aws-lambda-powertools/commons" "^1.18.1" - lodash.merge "^4.6.2" - -"@aws-lambda-powertools/metrics@^1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@aws-lambda-powertools/metrics/-/metrics-1.18.1.tgz#2d679d87b1d712bc18c6da7c1f46e67b339fcf32" - integrity sha512-ebojjuoOlm0bOtZ6H5fyTnC5B0owVX1nNqDUPEQSejkeiiBW0m6DVzy6hFWuKmGtBtm2WNnWwTE//WtF+CD6Ug== - dependencies: - "@aws-lambda-powertools/commons" "^1.18.1" - -"@aws-lambda-powertools/tracer@^1.14.0": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@aws-lambda-powertools/tracer/-/tracer-1.18.1.tgz#9a6c618abb195d0e2cc25b2cd36469f9d63317bd" - integrity sha512-bMLBtdEFNmLUR9RJvBULR6XJD0XopUhhS1mlpeQlm2BCPIN3gLbqAlJK8dMXyAw8GCpLpHaziCo2+7a/AIh7lA== - dependencies: - "@aws-lambda-powertools/commons" "^1.18.1" - aws-xray-sdk-core "^3.5.3" - -"@aws-sdk/client-ec2@^3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-ec2/-/client-ec2-3.620.1.tgz#03193f11a5e746d31aff042572d4343bc35d2aab" - integrity sha512-ndXeXNQrOQ+oUpDUZPwakQsfFbcGF798WcqmspdD+r0gh6qMCWpIjtUOMKBYnDIymnHggsvz2An7OmdIEHs1yA== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.620.1" - "@aws-sdk/client-sts" "3.620.1" - "@aws-sdk/core" "3.620.1" - "@aws-sdk/credential-provider-node" "3.620.1" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-sdk-ec2" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.0" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.12" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.12" - "@smithy/util-defaults-mode-node" "^3.0.12" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" - tslib "^2.6.2" - uuid "^9.0.1" - -"@aws-sdk/client-s3@^3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.620.1.tgz#84ec0a2cb53f5583e0704f4b2588695cbcf07a27" - integrity sha512-KDcHNtYjGMJmzATBZGRI8bJhqKbfdkSM9c6B/BmDwff/UdfhA1W7DzxOt5iY4x48+OhlOYZMudExrxoW7ignCA== - dependencies: - "@aws-crypto/sha1-browser" "5.2.0" - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.620.1" - "@aws-sdk/client-sts" "3.620.1" - "@aws-sdk/core" "3.620.1" - "@aws-sdk/credential-provider-node" "3.620.1" - "@aws-sdk/middleware-bucket-endpoint" "3.620.0" - "@aws-sdk/middleware-expect-continue" "3.620.0" - "@aws-sdk/middleware-flexible-checksums" "3.620.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-location-constraint" "3.609.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-sdk-s3" "3.620.0" - "@aws-sdk/middleware-signing" "3.620.0" - "@aws-sdk/middleware-ssec" "3.609.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/signature-v4-multi-region" "3.620.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@aws-sdk/xml-builder" "3.609.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.0" - "@smithy/eventstream-serde-browser" "^3.0.5" - "@smithy/eventstream-serde-config-resolver" "^3.0.3" - "@smithy/eventstream-serde-node" "^3.0.4" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/hash-blob-browser" "^3.1.2" - "@smithy/hash-node" "^3.0.3" - "@smithy/hash-stream-node" "^3.1.2" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/md5-js" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.12" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.12" - "@smithy/util-defaults-mode-node" "^3.0.12" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-stream" "^3.1.2" - "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" - tslib "^2.6.2" - -"@aws-sdk/client-sqs@^3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sqs/-/client-sqs-3.620.1.tgz#b4156e60bf8dc669c9c546586962fb9494357345" - integrity sha512-w8kR30DtvdJpvwsVDbQGTjMuWy43CU99SDvvMpfewKWINo5n/YZby3fwHq/H0/etAGhUafXSEqWPvX1hQMB88Q== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.620.1" - "@aws-sdk/client-sts" "3.620.1" - "@aws-sdk/core" "3.620.1" - "@aws-sdk/credential-provider-node" "3.620.1" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-sdk-sqs" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.0" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/md5-js" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.12" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.12" - "@smithy/util-defaults-mode-node" "^3.0.12" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/client-ssm@^3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-ssm/-/client-ssm-3.620.1.tgz#b0f04309365db983ec56038ee190ca43bf86c796" - integrity sha512-I7x0gY/wnHNP9jhLijDKBNfw3hxF/KqtUy/fYh0Lnk+DIClfkAG4/DbO/m3FbkoZeOuT0+yZu8PmVq+vK4QCAA== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.620.1" - "@aws-sdk/client-sts" "3.620.1" - "@aws-sdk/core" "3.620.1" - "@aws-sdk/credential-provider-node" "3.620.1" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.0" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.12" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.12" - "@smithy/util-defaults-mode-node" "^3.0.12" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" - tslib "^2.6.2" - uuid "^9.0.1" - -"@aws-sdk/client-sso-oidc@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.620.1.tgz#d5e405d70edefd758e35df8d8dfb9aad5a81ccf0" - integrity sha512-gm69ttbkr7Kbg/Zzr3SczyLWkLgmK3bEZtkvbM/40ZW5ItYhDzJE48Ovs2lyA64h2YsOftDqqwcbJirAAdTgSg== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.620.1" - "@aws-sdk/credential-provider-node" "3.620.1" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.0" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.12" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.12" - "@smithy/util-defaults-mode-node" "^3.0.12" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/client-sso@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.620.1.tgz#a828155fc98f62c5c713601a28033a681694389e" - integrity sha512-4Ox0BSs+atrAhLvjNHN2uiYvSTdpMv//IS4l4XRoQG0cJKIPLs3OU3PL5H0X1NfZehz9/8FTWl5Lv81uw4j1eA== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.620.1" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.0" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.12" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.12" - "@smithy/util-defaults-mode-node" "^3.0.12" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/client-sts@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.620.1.tgz#3d2e1f3b98a65ff7d6bb3d064d0a728cadf3ab52" - integrity sha512-d+ECGFDg0IsDdmfKU2O0VeMYKZcmbfBaA9HkZnZ39wu1BlXGI73xJe8cfmzbobvu+Ly+bAfHdLCpgIY+pD4D7g== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.620.1" - "@aws-sdk/core" "3.620.1" - "@aws-sdk/credential-provider-node" "3.620.1" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.0" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.12" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.12" - "@smithy/util-defaults-mode-node" "^3.0.12" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/core@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.620.1.tgz#8a85653d41fb3d5b706f24559dcbde1e42449e99" - integrity sha512-6Ejce93dDlDnovl6oYtxj3I/SJMOQoFdmmtM4+4W/cgMWH+l00T5aszVxDLjjPfu3Ryt7dNhrXaYeK2Ue1ZBmg== - dependencies: - "@smithy/core" "^2.3.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - fast-xml-parser "4.2.5" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-env@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz#d4692c49a65ebc11dae3f7f8b053fee9268a953c" - integrity sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-http@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.620.0.tgz#417b80a128d186e2332b6b08a4ea64a2bb61de9d" - integrity sha512-BI2BdrSKDmB/2ouB/NJR0PT0x/+5fmoF6XOE78hFBb4F5w/yynGgcJY936dF+oREfpME6ehjB2b0okGg78Scpw== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/fetch-http-handler" "^3.2.3" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.2" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-ini@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.620.1.tgz#d302c3840b021491adb0ff5dc8fcdd6cbd46017d" - integrity sha512-m9jwigMPRlRRhoPxCQZMOwQUd6imEJbksF6tSMYNae76DIvrCi4z2Jhp6RJ9Mij8cnewUZCAmvu2FlK9+n9M7A== - dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.620.0" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.620.1" - "@aws-sdk/credential-provider-web-identity" "3.609.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-node@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.620.1.tgz#e800cef9c62a85b99954eea85a24db831850c2a1" - integrity sha512-KaprIJW2azM+oTIHi7S1ayJ3oQqoFwpMBWFpZM1nvSzaPucrZIUmX2m4uVrMM4LfXsfUsgMkrme2rBI1fGAjCg== - dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.620.0" - "@aws-sdk/credential-provider-ini" "3.620.1" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.620.1" - "@aws-sdk/credential-provider-web-identity" "3.609.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-process@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz#10387cf85400420bb4bbda9cc56937dcc6d6d0ee" - integrity sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-sso@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.620.1.tgz#ce1f32a09d3964f5f80161090c1ea42e3d5fafdf" - integrity sha512-cFU8e6ctdkWR8BRCnHFzs37N+ilbHf1OT2EeMjt1ZDE9FgTD5L5BTgVWDxnPmyQnEoBs1p4PyNPHkpHY5EmswQ== - dependencies: - "@aws-sdk/client-sso" "3.620.1" - "@aws-sdk/token-providers" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-web-identity@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.609.0.tgz#d29222d6894347ee89c781ea090d388656df1d2a" - integrity sha512-U+PG8NhlYYF45zbr1km3ROtBMYqyyj/oK8NRp++UHHeuavgrP+4wJ4wQnlEaKvJBjevfo3+dlIBcaeQ7NYejWg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/lib-storage@^3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/lib-storage/-/lib-storage-3.620.1.tgz#5c27be8883738ca17419e057d10729c6fc8a501c" - integrity sha512-XUKJ1vcmZigWiDDjIWRTPxDw5pd9RE/lwVgvxoWKywzymUKtaue4LDaCqWcaSjB5seJjfg3DGipTItLz0ASo3g== - dependencies: - "@smithy/abort-controller" "^3.1.1" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/smithy-client" "^3.1.10" - buffer "5.6.0" - events "3.3.0" - stream-browserify "3.0.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-bucket-endpoint@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz#c5dc0e98b6209a91479cad6c2c74fbc5a3429fab" - integrity sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-config-provider" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-expect-continue@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz#6a362c0f0696dc6749108a33de9998e0fa6b50ec" - integrity sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-flexible-checksums@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz#42cd48cdc0ad9639545be000bf537969210ce8c5" - integrity sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA== - dependencies: - "@aws-crypto/crc32" "5.2.0" - "@aws-crypto/crc32c" "5.2.0" - "@aws-sdk/types" "3.609.0" - "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-host-header@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz#b561d419a08a984ba364c193376b482ff5224d74" - integrity sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-location-constraint@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz#7ed82d71e5ddcd50683ef2bbde10d1cc2492057e" - integrity sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-logger@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz#ed44d201f091b8bac908cbf14724c7a4d492553f" - integrity sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-recursion-detection@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz#f8270dfff843fd756be971e5673f89c6a24c6513" - integrity sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-sdk-ec2@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.620.0.tgz#f301b879e937cdaf550ef7b70d87cebd13c9db92" - integrity sha512-/5VALyXsddn0gSz0YiDb4QamoGEuPHBS2VXlk1WwVMrggfEo/vVJU/kisjeZewKvwcR2YCkMRzDzzgGhxuwsfw== - dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-format-url" "3.609.0" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-sdk-s3@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.620.0.tgz#901773b4b64ffab71cc810fd74c8221acc8f74b7" - integrity sha512-AAZ6NLVOx/bP97PYj/afCMeySzxOHocgJG3ZXh6f8MnJcGpZgx8NyRm0vtiYUTFrS2JtU4xV05Dl3j4afV3s4A== - dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-stream" "^3.1.2" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-sdk-sqs@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.620.0.tgz#4a708dcaee0a0339f057db28acd9329896bdd3ee" - integrity sha512-Zv3sdnD03vWjX4dDjbcwW0IOweraKQagcPBugXCIPssOHantuMvdeKOneIiNehluRclzdlfQMdvTdUdt1YL9Mg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/smithy-client" "^3.1.10" - "@smithy/types" "^3.3.0" - "@smithy/util-hex-encoding" "^3.0.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-signing@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.620.0.tgz#8aface959d610732b0a5ede6f2c48119b33c4f3f" - integrity sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - tslib "^2.6.2" - -"@aws-sdk/middleware-ssec@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz#b87a8bc6133f3f6bdc6801183d0f9dad3f93cf9f" - integrity sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-user-agent@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz#1fe3104f04f576a942cf0469bfbd73c38eef3d9e" - integrity sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A== - dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/region-config-resolver@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz#9cebb31a5bcfea2a41891fff7f28d0164cde179a" - integrity sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" - "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" - tslib "^2.6.2" - -"@aws-sdk/signature-v4-multi-region@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.620.0.tgz#8ccb1069413208a1aaeecef1fbe25a90fabb8bed" - integrity sha512-yu1pTCqIbkSdaOvmyfW9vV9jWe3pDApkQPZLg4VEN5dXDWRtgQ/amv88myyCEoG14irUN1tsbvytcKzGyEXnhA== - dependencies: - "@aws-sdk/middleware-sdk-s3" "3.620.0" - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/token-providers@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz#88da04f6d4ce916b0b0f6e045676d04201fb47fd" - integrity sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/types@3.609.0", "@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.4.1", "@aws-sdk/types@^3.433.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.609.0.tgz#06b39d799c9f197a7b43670243e8e78a3bf7d6a5" - integrity sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/util-arn-parser@3.568.0": - version "3.568.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz#6a19a8c6bbaa520b6be1c278b2b8c17875b91527" - integrity sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w== - dependencies: - tslib "^2.6.2" - -"@aws-sdk/util-endpoints@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz#6564b0ffd7dc3728221e9f9821f5aab1cc58468e" - integrity sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - "@smithy/util-endpoints" "^2.0.5" - tslib "^2.6.2" - -"@aws-sdk/util-format-url@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz#f53907193bb636b52b61c81bbe6d7bd5ddc76c68" - integrity sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/util-locate-window@^3.0.0": - version "3.568.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz#2acc4b2236af0d7494f7e517401ba6b3c4af11ff" - integrity sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig== - dependencies: - tslib "^2.6.2" - -"@aws-sdk/util-user-agent-browser@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz#aa15421b2e32ae8bc589dac2bd6e8969832ce588" - integrity sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - bowser "^2.11.0" - tslib "^2.6.2" - -"@aws-sdk/util-user-agent-node@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz#1e3f49a80f841a3f21647baed2adce01aac5beb5" - integrity sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/xml-builder@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz#eeb3d5cde000a23cfeeefe0354b6193440dc7d87" - integrity sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" - integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/code-frame@^7.12.13": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== - dependencies: - "@babel/highlight" "^7.24.7" - picocolors "^1.0.0" - -"@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/code-frame@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.2": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1" - integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helpers" "^7.23.9" - "@babel/parser" "^7.23.9" - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@7.17.7": - version "7.17.7" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz" - integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== - dependencies: - "@babel/types" "^7.17.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.23.0", "@babel/generator@^7.7.2": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== - dependencies: - "@babel/types" "^7.23.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/generator@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" - integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== - dependencies: - "@babel/types" "^7.23.6" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6", "@babel/helper-create-class-features-plugin@^7.23.9": - version "7.23.10" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea" - integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" - integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-replace-supers@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" - integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.22.15" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.16.7": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-identifier@^7.24.5", "@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helpers@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d" - integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ== - dependencies: - "@babel/template" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/highlight@^7.18.6": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" - integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.5", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== - -"@babel/parser@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" - integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" - integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" - integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.23.3" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": - version "7.23.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" - integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-proposal-decorators@^7.22.7": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.9.tgz#126d947d62ee72022ec46813983c6dd861456fa3" - integrity sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.23.9" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-decorators" "^7.23.3" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz#a1d351d6c25bfdcf2e16f99b039101bc0ffcb0ca" - integrity sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" - integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-attributes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" - integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz" - integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.3.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" - integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-typescript@^7.7.2": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz" - integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" - integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-async-generator-functions@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce" - integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-to-generator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" - integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-block-scoped-functions@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" - integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-block-scoping@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" - integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" - integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-class-static-block@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" - integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.23.8": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" - integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" - integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/template" "^7.22.15" - -"@babel/plugin-transform-destructuring@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" - integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dotall-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" - integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-duplicate-keys@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" - integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-dynamic-import@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" - integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-exponentiation-operator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" - integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-export-namespace-from@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" - integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-function-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" - integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== - dependencies: - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-json-strings@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" - integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-transform-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" - integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-logical-assignment-operators@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" - integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" - integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-amd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" - integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-modules-commonjs@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" - integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-simple-access" "^7.22.5" - -"@babel/plugin-transform-modules-systemjs@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be" - integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw== - dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/plugin-transform-modules-umd@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" - integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-new-target@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" - integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" - integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-transform-numeric-separator@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" - integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-transform-object-rest-spread@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== - dependencies: - "@babel/compat-data" "^7.23.3" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.23.3" - -"@babel/plugin-transform-object-super@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" - integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.20" - -"@babel/plugin-transform-optional-catch-binding@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" - integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" - integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-transform-parameters@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-methods@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" - integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-private-property-in-object@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" - integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-transform-property-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" - integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-regenerator@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" - integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" - integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-runtime@^7.23.2": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz#2c64d0680fc8e09e1dfe8fd5c646fe72abd82004" - integrity sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ== - dependencies: - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" - integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-spread@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" - integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-sticky-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" - integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-template-literals@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" - integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typeof-symbol@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" - integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-typescript@^7.23.3": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c" - integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-typescript" "^7.23.3" - -"@babel/plugin-transform-unicode-escapes@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" - integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-property-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" - integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" - integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-unicode-sets-regex@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" - integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/preset-env@^7.23.2": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669" - integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.23.3" - "@babel/plugin-syntax-import-attributes" "^7.23.3" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.23.3" - "@babel/plugin-transform-async-generator-functions" "^7.23.9" - "@babel/plugin-transform-async-to-generator" "^7.23.3" - "@babel/plugin-transform-block-scoped-functions" "^7.23.3" - "@babel/plugin-transform-block-scoping" "^7.23.4" - "@babel/plugin-transform-class-properties" "^7.23.3" - "@babel/plugin-transform-class-static-block" "^7.23.4" - "@babel/plugin-transform-classes" "^7.23.8" - "@babel/plugin-transform-computed-properties" "^7.23.3" - "@babel/plugin-transform-destructuring" "^7.23.3" - "@babel/plugin-transform-dotall-regex" "^7.23.3" - "@babel/plugin-transform-duplicate-keys" "^7.23.3" - "@babel/plugin-transform-dynamic-import" "^7.23.4" - "@babel/plugin-transform-exponentiation-operator" "^7.23.3" - "@babel/plugin-transform-export-namespace-from" "^7.23.4" - "@babel/plugin-transform-for-of" "^7.23.6" - "@babel/plugin-transform-function-name" "^7.23.3" - "@babel/plugin-transform-json-strings" "^7.23.4" - "@babel/plugin-transform-literals" "^7.23.3" - "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" - "@babel/plugin-transform-member-expression-literals" "^7.23.3" - "@babel/plugin-transform-modules-amd" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-modules-systemjs" "^7.23.9" - "@babel/plugin-transform-modules-umd" "^7.23.3" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.23.3" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" - "@babel/plugin-transform-numeric-separator" "^7.23.4" - "@babel/plugin-transform-object-rest-spread" "^7.23.4" - "@babel/plugin-transform-object-super" "^7.23.3" - "@babel/plugin-transform-optional-catch-binding" "^7.23.4" - "@babel/plugin-transform-optional-chaining" "^7.23.4" - "@babel/plugin-transform-parameters" "^7.23.3" - "@babel/plugin-transform-private-methods" "^7.23.3" - "@babel/plugin-transform-private-property-in-object" "^7.23.4" - "@babel/plugin-transform-property-literals" "^7.23.3" - "@babel/plugin-transform-regenerator" "^7.23.3" - "@babel/plugin-transform-reserved-words" "^7.23.3" - "@babel/plugin-transform-shorthand-properties" "^7.23.3" - "@babel/plugin-transform-spread" "^7.23.3" - "@babel/plugin-transform-sticky-regex" "^7.23.3" - "@babel/plugin-transform-template-literals" "^7.23.3" - "@babel/plugin-transform-typeof-symbol" "^7.23.3" - "@babel/plugin-transform-unicode-escapes" "^7.23.3" - "@babel/plugin-transform-unicode-property-regex" "^7.23.3" - "@babel/plugin-transform-unicode-regex" "^7.23.3" - "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.8" - babel-plugin-polyfill-corejs3 "^0.9.0" - babel-plugin-polyfill-regenerator "^0.5.5" - core-js-compat "^3.31.0" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-typescript@^7.22.5": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" - integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/plugin-transform-modules-commonjs" "^7.23.3" - "@babel/plugin-transform-typescript" "^7.23.3" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.22.6", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/template@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" - integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.16.0", "@babel/traverse@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950" - integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/generator" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@7.17.0": - version "7.17.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz" - integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.0.0", "@babel/types@^7.17.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.22.19", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.4.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" - integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@emnapi/core@^1.1.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.2.0.tgz#7b738e5033738132bf6af0b8fae7b05249bdcbd7" - integrity sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w== - dependencies: - "@emnapi/wasi-threads" "1.0.1" - tslib "^2.4.0" - -"@emnapi/runtime@^1.1.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.2.0.tgz#71d018546c3a91f3b51106530edbc056b9f2f2e3" - integrity sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ== - dependencies: - tslib "^2.4.0" - -"@emnapi/wasi-threads@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz#d7ae71fd2166b1c916c6cd2d0df2ef565a2e1a5b" - integrity sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw== - dependencies: - tslib "^2.4.0" - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== - -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.4.1", "@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.4.1", "@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@middy/core@^4.7.0": - version "4.7.0" - resolved "https://registry.yarnpkg.com/@middy/core/-/core-4.7.0.tgz#37e055559d5bf05dcb7b288c44644e8ae4255900" - integrity sha512-yI++DmhDQ8+ugvY7+GrEnb2PF0M/6Wzbgu4Tf7QhOlhwKGDd4j6or+Ab7qYPWx+jnKf8F0tqlmh0gV4JLi0yHw== - -"@napi-rs/wasm-runtime@0.2.4", "@napi-rs/wasm-runtime@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz#d27788176f250d86e498081e3c5ff48a17606918" - integrity sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ== - dependencies: - "@emnapi/core" "^1.1.0" - "@emnapi/runtime" "^1.1.0" - "@tybys/wasm-util" "^0.9.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nrwl/devkit@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-19.4.2.tgz#f1a02319b65298aa2c260daa45d4fa62f1662eb1" - integrity sha512-uvJ2kjEUq2VAQHKgaDaumFzowagqOJJgAk9dL9mdB4ZwmDi2i3XroInp/X64phrlHRyJAcYEdRJyaaM/924KVQ== - dependencies: - "@nx/devkit" "19.4.2" - -"@nrwl/devkit@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-19.5.2.tgz#00ea5b2352f6206e36b149c00aa9fd0792445f4e" - integrity sha512-gDmGsegterCCeaFBzMi8cALIywOsBwYU50200VrGYcsOfrz3FJu5AoUzr+fBLmvC0b0CRqJy6FXEKK0QOZGKtA== - dependencies: - "@nx/devkit" "19.5.2" - -"@nrwl/jest@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-19.4.2.tgz#c5ec6a25ae00f56df4a88c6b06f4c17a85d23c61" - integrity sha512-523Ecv0NWNex88t/xDls9dAqeA/r2gaDKXzVp03YeUf61Ue5PcdEXYLzgyPuctn6dhVPKGFb1yjaojtGOtRi7A== - dependencies: - "@nx/jest" "19.4.2" - -"@nrwl/js@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-19.4.2.tgz#938b9f6eb187256931dba0df30864c5fb6881612" - integrity sha512-jp1VuNEWhAIDe13rqtQPxq/aw1OF+GCBJe3RKQxElZSiphFnE8PNVqFRusEsowpPVkgt40qlnsqymEa+61eczw== - dependencies: - "@nx/js" "19.4.2" - -"@nrwl/js@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-19.5.2.tgz#3f6e168dad779b25e7256d64a9e3418b40c455a0" - integrity sha512-o94coQRMaQjJH3tUjK4tkxiJIdHPq19bBE1p7qleiUUkDgRkDNReFrunrL7D/QgBzGTKZeJZFUi1wswnAg0/ig== - dependencies: - "@nx/js" "19.5.2" - -"@nrwl/tao@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.4.0.tgz#6351561a0b86559e678626cfd26472837774134e" - integrity sha512-0nfSmOM9YVNTvOCCR4OiStao96YynHBOlrDdo8zdwVbKUuppD1ZwvrCZmC0xzCcsgYcQVEAgs7G/CTuFNi7Wyg== - dependencies: - nx "19.4.0" - tslib "^2.3.0" - -"@nrwl/tao@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.4.2.tgz#cda5078851bdb292a3e7d2b8291a7cb9d9557962" - integrity sha512-bRCRWWqR86ckji7tK4xRl9czB2WSZG4qSGqvttQMmxCvQc+njnG/QhnoGXYueaz2xr5Z1z7RJWNEqTYEAILh5Q== - dependencies: - nx "19.4.2" - tslib "^2.3.0" - -"@nrwl/tao@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.5.2.tgz#d2d0861d6dcb06b438eb5ac716f24073743700e0" - integrity sha512-M7hdPT/M+vr8MW6W3gwkTv82J5T4jDHZWcVpXmoQPSK/v7g+Sfpw6CCBeaQv7/S94vRrrqI6r+GkZUvIQZnzZw== - dependencies: - nx "19.5.2" - tslib "^2.3.0" - -"@nrwl/workspace@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-19.4.2.tgz#f48a6e5800791d7a3521f24b8cc0185763b3cabb" - integrity sha512-+u8Ok6WF0rfaR5wL/WDIZtQhclLBREHvUdnjoLYtL8RspTyqSoQuOXQXP07Ln++rwLWmTIoE2NaSNKF7K0hLRQ== - dependencies: - "@nx/workspace" "19.4.2" - -"@nrwl/workspace@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-19.5.2.tgz#fe5b5349b768cba7bb459a267abe571b0440ba4f" - integrity sha512-mjVhqq4yjNC+D5e1YrQCkqKhyvlc5paZGhJQg1shB/z8mu8cRb1P0uLV2yFYKp/OF0C/KhdlKXmcHTzmgZ2b4w== - dependencies: - "@nx/workspace" "19.5.2" - -"@nx/devkit@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-19.4.2.tgz#667e530d1f12297376545566cd1804dd7c2e5f84" - integrity sha512-4Lp3E7TiIkdYDZCk3dlCPgeTDBIaLqqEis02kgi/vO16Jek7fHet7Irkg3zU9JcjJPuoPjUyyqEXvOv5IL31IA== - dependencies: - "@nrwl/devkit" "19.4.2" - ejs "^3.1.7" - enquirer "~2.3.6" - ignore "^5.0.4" - minimatch "9.0.3" - semver "^7.5.3" - tmp "~0.2.1" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@nx/devkit@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-19.5.2.tgz#b4a2265a03a670129f7ddb41df1f3db366524dd9" - integrity sha512-+tVtTVLVSSHybWK3m0acUy0IT+T5Uz2NBbac8693V5Pkw6xPNDCtZImm24Jx8wA1E6dWnxjsNz2tjS2wdXCA1Q== - dependencies: - "@nrwl/devkit" "19.5.2" - ejs "^3.1.7" - enquirer "~2.3.6" - ignore "^5.0.4" - minimatch "9.0.3" - semver "^7.5.3" - tmp "~0.2.1" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@nx/eslint@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-19.4.2.tgz#fb803212cb9d6509a40322dd6eec86f69f17c198" - integrity sha512-p27Sa0BidOz2Y9z+N8clbfh4+8WTRml0Ep2EJLPVBDIMNYtWnl9RCZdqM/85nkwjaRC3aWsvIcgVbYdLSiU6hw== - dependencies: - "@nx/devkit" "19.4.2" - "@nx/js" "19.4.2" - "@nx/linter" "19.4.2" - semver "^7.5.3" - tslib "^2.3.0" - typescript "~5.4.2" - -"@nx/jest@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-19.4.2.tgz#90df90d07207e3f92ce9f5d561659b17643c6573" - integrity sha512-OXpK68K853WIQZycQv+xE7lfE4CX51CDivuThIxED+aE5yYRH3M71tqM9/qkm5Jc/9Tj3qdXzU+KpPA3HBNxFg== - dependencies: - "@jest/reporters" "^29.4.1" - "@jest/test-result" "^29.4.1" - "@nrwl/jest" "19.4.2" - "@nx/devkit" "19.4.2" - "@nx/js" "19.4.2" - "@phenomnomnominal/tsquery" "~5.0.1" - chalk "^4.1.0" - identity-obj-proxy "3.0.0" - jest-config "^29.4.1" - jest-resolve "^29.4.1" - jest-util "^29.4.1" - minimatch "9.0.3" - resolve.exports "1.1.0" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@nx/js@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-19.4.2.tgz#b11d99898d72d8fc64f3e1f3189387582f20b561" - integrity sha512-hY3Q+W/f9uwbaT1SFy5gkfaQebrtTu8putJrwii4o7b5LehuE6/UPwTj7DR7m6t2hYWgPcZaj5Z+HsfNolNYYg== - dependencies: - "@babel/core" "^7.23.2" - "@babel/plugin-proposal-decorators" "^7.22.7" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-runtime" "^7.23.2" - "@babel/preset-env" "^7.23.2" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@nrwl/js" "19.4.2" - "@nx/devkit" "19.4.2" - "@nx/workspace" "19.4.2" - babel-plugin-const-enum "^1.0.1" - babel-plugin-macros "^2.8.0" - babel-plugin-transform-typescript-metadata "^0.3.1" - chalk "^4.1.0" - columnify "^1.6.0" - detect-port "^1.5.1" - fast-glob "3.2.7" - fs-extra "^11.1.0" - ignore "^5.0.4" - js-tokens "^4.0.0" - minimatch "9.0.3" - npm-package-arg "11.0.1" - npm-run-path "^4.0.1" - ora "5.3.0" - semver "^7.5.3" - source-map-support "0.5.19" - ts-node "10.9.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/js@19.5.2", "@nx/js@^19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-19.5.2.tgz#da9a0b91da34f9fb638257328a473e60076558ba" - integrity sha512-HGbj8AkwGQ2xT00Ye1rfEKMIIknVfoitvNgfzZlzc+IdYnlGnFCUJ94JLhdTshK6WcCv1sIoWSFRU0wMA8m9fQ== - dependencies: - "@babel/core" "^7.23.2" - "@babel/plugin-proposal-decorators" "^7.22.7" - "@babel/plugin-transform-class-properties" "^7.22.5" - "@babel/plugin-transform-runtime" "^7.23.2" - "@babel/preset-env" "^7.23.2" - "@babel/preset-typescript" "^7.22.5" - "@babel/runtime" "^7.22.6" - "@nrwl/js" "19.5.2" - "@nx/devkit" "19.5.2" - "@nx/workspace" "19.5.2" - babel-plugin-const-enum "^1.0.1" - babel-plugin-macros "^2.8.0" - babel-plugin-transform-typescript-metadata "^0.3.1" - chalk "^4.1.0" - columnify "^1.6.0" - detect-port "^1.5.1" - fast-glob "3.2.7" - fs-extra "^11.1.0" - ignore "^5.0.4" - js-tokens "^4.0.0" - minimatch "9.0.3" - npm-package-arg "11.0.1" - npm-run-path "^4.0.1" - ora "5.3.0" - semver "^7.5.3" - source-map-support "0.5.19" - ts-node "10.9.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - -"@nx/linter@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-19.4.2.tgz#47f6e10054f82e77bde80ea132f594497b16ce12" - integrity sha512-kPSsZOSQVVWwkjQL/s7CyLxf/uKlO6RINGum+NrqKzgnmvQAtFosa/zZ4Mm3JNAPOdrstP8uNOuoLaFCsue4ZA== - dependencies: - "@nx/eslint" "19.4.2" - -"@nx/nx-darwin-arm64@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.4.0.tgz#54dc04e24b0c4e8eb5f5c188b02320d90b9d221c" - integrity sha512-7QY/4cdLMi9+Paw5XUBNUUiAmDUBNLq2fp0TGmQvmSmgj3gQNLREjMpkfqHxYji15Z5BqV41mc67+aCSBh0B7w== - -"@nx/nx-darwin-arm64@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.4.2.tgz#f1368cb61852648df25c32a0f4a8ff8f505ea26c" - integrity sha512-yy0ik+MYli6lg9khgb0/NJIjMr2re2fpE7hl/MhaHWZmTH9PUmzz6vWpx74O3tnz93oT/9ENXFLBagQuj9hjww== - -"@nx/nx-darwin-arm64@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.5.2.tgz#595369dba1e83ef9d6530c98ef02e02e881b5614" - integrity sha512-8Y19MI7rP+KTyxYx/Dm0L5zncqkk6m4dKi92553sOVpNgpUX/CSuCN7rQJe5jlUP1gyzqzE595Xa5TJ6GLBFjA== - -"@nx/nx-darwin-x64@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.4.0.tgz#dace080877cb7c7a34b14701edb43a4948418a3d" - integrity sha512-urddRcndmMhZUeqQlc4y3iHe/fb91J+JA6zGZleV1a08XS1XeEHcnIMpDfpsadlarcq5fsItSZISCKC0hFPM2g== - -"@nx/nx-darwin-x64@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.4.2.tgz#4e56286829013f60d417e7a711da4d872f3b3985" - integrity sha512-UEZw7qzvWyOe0B5SvvrN4I2irq8FGlf1V6ut0ajL0vDbLR2IiiF6EYiM36ewpJmx5XspjhbLxEyQJn1TUMUm4w== - -"@nx/nx-darwin-x64@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.5.2.tgz#018909e08ebee3604c84555ac34f1b4ea1e331f0" - integrity sha512-Ct02YyBAimy2R04pM5ve1/C/HAoJMI0O/hx6IEBOxHa6hcYe+PhY0NE8ObnN4Tvki3om2KCTa1GHlwiE4Raxig== - -"@nx/nx-freebsd-x64@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.4.0.tgz#b203b779e71e50429a639b73c4f62965c1499ade" - integrity sha512-TvV0SISYfWSu6/fTQStFj67rTSh80NNvF4SZ4tsnde0DdVsnKmWJruySXk7XeZN2Gx8tDwDwmLnBFNLdBb5x4w== - -"@nx/nx-freebsd-x64@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.4.2.tgz#326090afce2669d6471e363ade37b2db715b134c" - integrity sha512-kAB73FAe3Ae50XnZ+DrCFjbbqHJoTF2ZJVYiHdtRfAefEqsrFltM3Py2/qeeSp1Pxtri3sp4yeEui8WGV2ArWA== - -"@nx/nx-freebsd-x64@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.5.2.tgz#3eac334d6484ec3b35891026b67fb8e4e101a19c" - integrity sha512-UXL0z3HHpJ0kHofGtUh+Zw7cm8r/Ul7y/sfLTlywHuatvzmJkXSumdIg7EMuChtVvGeCsnCi7cayx8GOlDpt3w== - -"@nx/nx-linux-arm-gnueabihf@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.4.0.tgz#88efe396787fc93aa9bcf09997968325fda18ee3" - integrity sha512-vAOAnRe+ncSv9gSawstvla5+cOknr+ZrhtIc7kHtpmIakcczTl8TWQ/9sAgX45yHYl8wLYYUCokWogNwn9r7iA== - -"@nx/nx-linux-arm-gnueabihf@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.4.2.tgz#4514e67b49e2b5cf92ec60ea90010f603ab846d0" - integrity sha512-24cHzxYB/cxlvX8I/cYZIp88TNgCrl4srMeUzqV5bHuDKVYjA1BL/gzP/pRmsdOSq+ggAKxzXhgCG3nwStUvdw== - -"@nx/nx-linux-arm-gnueabihf@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.5.2.tgz#b5f2e88baad2857db55b39269de7b2bbe3d2df45" - integrity sha512-34bXiH/iplCZ+SOW5dnGWKfx/D6HAOyRI9hD1ganMnpgIUKkzhdDiPaJEeXpEj0aRPUotAqMjiPEoXEm39xZnA== - -"@nx/nx-linux-arm64-gnu@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.4.0.tgz#0878e38f9c9ccef30e3b7b12a9515079e88912d9" - integrity sha512-x1+BQRt45ewrOF0YTHSb0u97shGA+eP0opye8AGo0aZALnaXSlJNSCgnMgP/TtPIqtZMFUJPvGUvDJ6vWJDmDQ== - -"@nx/nx-linux-arm64-gnu@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.4.2.tgz#c63ecbb33f49f5b44a4ef48a776d53ada60797f4" - integrity sha512-6gbBak/bL4vEV2aoTFc7VaeWYF+ossJ0YOqx+hwLpv9SSt6e3yIJrqf7SiwdKq0lcoPeHq3DO06+bRzNLZxVTQ== - -"@nx/nx-linux-arm64-gnu@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.5.2.tgz#11b0ad3c0c411e38cff69e399fc0dcdf224e66d1" - integrity sha512-hqSwbNIcSxqzyG641aWXS6JvcM52dx08IHhbigoRdtyDGEODwLDTeGzOTup8zb12RC8c+f+Vtb+nGw7eolBeNg== - -"@nx/nx-linux-arm64-musl@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.4.0.tgz#dde20a3aa6096b0a882c21c8d0153d807bd5f681" - integrity sha512-0mgadMfETyVJJXmxma5hHfhR3o8NbjHmz0+ZLE7wUJSnd9rh9b/Kc6xxuXnXHrm/bNVC+UOFyc/iWv04A5Z5nw== - -"@nx/nx-linux-arm64-musl@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.4.2.tgz#a5ca27414e05226d9e84358e1011b14134485d0e" - integrity sha512-JKc3Bw84jWbOhlqXGBIH9/qz3kzTwpKfsIqtar8K8Gd5/UFJS8GLEdy0mXsnoeFrA1DuYJJ0PWxoHkAa1MYLxg== - -"@nx/nx-linux-arm64-musl@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.5.2.tgz#c61787c10d135a821f7e4b839f2f3513063c40f2" - integrity sha512-jLtp832Ai6kQC7UMNiah/tq/xhU3b2ULSjtKEW/kdOaKf3mElxLwwCU5O49bZlpXBdr+orq40UhejO+0C+jdxw== - -"@nx/nx-linux-x64-gnu@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.4.0.tgz#4af77173583729e18adb4363bfd76a07ec9ab805" - integrity sha512-7kBM0TCxO6IcwgGFCdkFPb2E+rkfpZZd97xtcQAfJi2mvzlQQtekIbM3J8uNcWveTbqDkVDJaJbpvrekloQfzw== - -"@nx/nx-linux-x64-gnu@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.4.2.tgz#d6b104664b6d9ad87bb2bdad79ea0c9ae8407e5a" - integrity sha512-hyf0cDZ3rAM8WERZ/M82v1rnf6oO1X+xwYq363Qx04SufU+Knto7xHGndLNkx2i18+UtCoEr4ZhDYrIb8ZWHww== - -"@nx/nx-linux-x64-gnu@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.5.2.tgz#121d24752fb34fcd72e5bb4f73d86cacd27cc028" - integrity sha512-3yzhnuELJ2mXrkQ3GWthnWes7QueRj2NS21lMbGE1vZzhLTFFF87OQja4LBSg/dcDh3u4PHPzqaWElJ32LcM+w== - -"@nx/nx-linux-x64-musl@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.4.0.tgz#fd8a7a31d4528c05d6ee0e8fcd80262af98ef7ba" - integrity sha512-AwKsL3HAQVNoa0umEDKdNZEjOaq3H4QlJv3vDRNPk//jKFeswlpr3NCjK34RVCPDfzmtD07OM8DAaIys2MqeNw== - -"@nx/nx-linux-x64-musl@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.4.2.tgz#0f3a74e98e9e4e8ecdc7025c712195e5bf58867e" - integrity sha512-XbKut3RTb04FNA0diDhO/OM8DgqaWaaXhyybRocfhITxH+mPQBZPUs/NM3xeQCrzlGjwrBYxt+Y9Ep8Ftgd/MA== - -"@nx/nx-linux-x64-musl@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.5.2.tgz#0f134970a0b6acb0b52d4908af9a5ff97dde0072" - integrity sha512-vgbBUcjDpOR9A9KiyMPGvFR9/Ym+y08UmNGDOOifSrfnCU4ia8ZjFR1NvKz7wZAnF5yZHGDM9bq9K+P7Kaf8JA== - -"@nx/nx-win32-arm64-msvc@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.4.0.tgz#7bd4c60934b973a17738dc9c49bafa827dc5785c" - integrity sha512-/Cj2JaK3rwZSs1N3w3bi9WvITN4QnUU2yeb/9sGZm+UzJz3qi5gifvegzVDqWS+cZ6eiaekvfDwUlp1qX4MqxA== - -"@nx/nx-win32-arm64-msvc@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.4.2.tgz#49dcd35907e4c4230e718b0bd88068a315cdf6b8" - integrity sha512-VMOQ44KlndtAKE6JaXSQqrAdHBEqbJSJP4EKrBREn8HyVyr6LAfAG3Pj93ZPMvQC47uheisBcDwitxEY/Mhs1Q== - -"@nx/nx-win32-arm64-msvc@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.5.2.tgz#1cd2377c5153d91321375ff1d30c704f7118f02a" - integrity sha512-DtNHgzOg7vilhRzuUdysRF/uDO80T4AiEa1WbkPr/r7u194YgF8IKLFpj7XRFYxt/S6eQq1oJDC1XjnDWrUi8g== - -"@nx/nx-win32-x64-msvc@19.4.0": - version "19.4.0" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.4.0.tgz#3848c6d9a4d5d99b25c1206ab450adc8b2e85fa6" - integrity sha512-vU7/+j+8QDSclhaPKZy0qm5W9Jjo8nXJxmgUYbrI+rF9ytfoiL/9e8j0FL9ZYoQ7DScMnEK4JrcrgdtsGLsSRA== - -"@nx/nx-win32-x64-msvc@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.4.2.tgz#123e5eed15f57d9f835ccfde3469c47fee4c7956" - integrity sha512-FOK4XVanWZYM4cLS9uAx8Xg4BpPRdo0z/jt8gVto8BwgoBPIJuytGhnTVyDNgB+nRJf8K3fz7RFcZm5jup/krg== - -"@nx/nx-win32-x64-msvc@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.5.2.tgz#cc7337861daf391029dc6612b2722b4879bf2f47" - integrity sha512-JBwHFfO5fW3lYBuzQzJ+Zz8pG2kU0ESj0pPxApRJSl/3G/6frDCpBcjJq8bmHEJ4S0Oh89sB6rPVwPrHOvy1pg== - -"@nx/workspace@19.4.2": - version "19.4.2" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-19.4.2.tgz#5eeddb92e1f7a25a6e8428ecbaeef3bad2e059ab" - integrity sha512-wPRDN9jsqNzrrOjwrhEdju2tuEn2/wHW8G3kymGtQL24SHOY3+Ja1ZfZgfRqyjxHyUysVTH/xYfszDQ6qvdlhA== - dependencies: - "@nrwl/workspace" "19.4.2" - "@nx/devkit" "19.4.2" - chalk "^4.1.0" - enquirer "~2.3.6" - nx "19.4.2" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@nx/workspace@19.5.2": - version "19.5.2" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-19.5.2.tgz#b2550ad010b5663623d0b0228fbcf5890891e636" - integrity sha512-mKDziHwwX2j4piMsQYoqNM/u13XmR0UKLU45g7CUay9Z0va/fxAmdsmVe16rRPRCvwkdXm/s2PK0vYgj68/baA== - dependencies: - "@nrwl/workspace" "19.5.2" - "@nx/devkit" "19.5.2" - chalk "^4.1.0" - enquirer "~2.3.6" - nx "19.5.2" - tslib "^2.3.0" - yargs-parser "21.1.1" - -"@octokit/auth-app@6.0.3": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-6.0.3.tgz#4c0ba68e8d3b1a55c34d1e68ea0ca92ef018bb7a" - integrity sha512-9N7IlBAKEJR3tJgPSubCxIDYGXSdc+2xbkjYpk9nCyqREnH8qEMoMhiEB1WgoA9yTFp91El92XNXAi+AjuKnfw== - dependencies: - "@octokit/auth-oauth-app" "^7.0.0" - "@octokit/auth-oauth-user" "^4.0.0" - "@octokit/request" "^8.0.2" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^12.0.0" - deprecation "^2.3.1" - lru-cache "^10.0.0" - universal-github-app-jwt "^1.1.2" - universal-user-agent "^6.0.0" - -"@octokit/auth-oauth-app@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-7.0.0.tgz#864f58152b060132098356265eb4fb07ca1fae76" - integrity sha512-8JvJEXGoEqrbzLwt3SwIUvkDd+1wrM8up0KawvDIElB8rbxPbvWppGO0SLKAWSJ0q8ILcVq+mWck6pDcZ3a9KA== - dependencies: - "@octokit/auth-oauth-device" "^6.0.0" - "@octokit/auth-oauth-user" "^4.0.0" - "@octokit/request" "^8.0.2" - "@octokit/types" "^11.0.0" - "@types/btoa-lite" "^1.0.0" - btoa-lite "^1.0.0" - universal-user-agent "^6.0.0" - -"@octokit/auth-oauth-device@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-6.0.0.tgz#728143108345e07e06fd5bfec8891e838c3dce96" - integrity sha512-Zgf/LKhwWk54rJaTGYVYtbKgUty+ouil6VQeRd+pCw7Gd0ECoSWaZuHK6uDGC/HtnWHjpSWFhzxPauDoHcNRtg== - dependencies: - "@octokit/oauth-methods" "^4.0.0" - "@octokit/request" "^8.0.0" - "@octokit/types" "^11.0.0" - universal-user-agent "^6.0.0" - -"@octokit/auth-oauth-user@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-4.0.0.tgz#2499f25cf64ce2911ba3f2f12de176bfbc1a3805" - integrity sha512-VOm5aIkVGHaOhIvsF/4YmSjoYDzzrKbbYkdSEO0KqHK7I8SlO3ZndSikQ1fBlNPUEH0ve2BOTxLrVvI1qBf9/Q== - dependencies: - "@octokit/auth-oauth-device" "^6.0.0" - "@octokit/oauth-methods" "^4.0.0" - "@octokit/request" "^8.0.2" - "@octokit/types" "^11.0.0" - btoa-lite "^1.0.0" - universal-user-agent "^6.0.0" - -"@octokit/auth-token@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" - integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== - -"@octokit/core@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.0.0.tgz#0fc2b6eb88437e5c1d69f756a5dcee7472d2b2dd" - integrity sha512-YbAtMWIrbZ9FCXbLwT9wWB8TyLjq9mxpKdgB3dUNxQcIVTf9hJ70gRPwAcqGZdY6WdJPZ0I7jLaaNDCiloGN2A== - dependencies: - "@octokit/auth-token" "^4.0.0" - "@octokit/graphql" "^7.0.0" - "@octokit/request" "^8.0.2" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^11.0.0" - before-after-hook "^2.2.0" - universal-user-agent "^6.0.0" - -"@octokit/endpoint@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.0.tgz#c5ce19c74b999b85af9a8a189275c80faa3e90fd" - integrity sha512-szrQhiqJ88gghWY2Htt8MqUDO6++E/EIXqJ2ZEp5ma3uGS46o7LZAzSLt49myB7rT+Hfw5Y6gO3LmOxGzHijAQ== - dependencies: - "@octokit/types" "^11.0.0" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" - -"@octokit/graphql@^7.0.0": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.0.1.tgz#f2291620e17cdaa8115f8d0cdfc0644789ec2db2" - integrity sha512-T5S3oZ1JOE58gom6MIcrgwZXzTaxRnxBso58xhozxHpOqSTgDS6YNeEUvZ/kRvXgPrRz/KHnZhtb7jUMRi9E6w== - dependencies: - "@octokit/request" "^8.0.1" - "@octokit/types" "^11.0.0" - universal-user-agent "^6.0.0" - -"@octokit/oauth-authorization-url@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-6.0.2.tgz#cc82ca29cc5e339c9921672f39f2b3f5c8eb6ef2" - integrity sha512-CdoJukjXXxqLNK4y/VOiVzQVjibqoj/xHgInekviUJV73y/BSIcwvJ/4aNHPBPKcPWFnd4/lO9uqRV65jXhcLA== - -"@octokit/oauth-methods@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-4.0.0.tgz#6e0c190e8ee95afe770a4a9a4321eb159a58c794" - integrity sha512-dqy7BZLfLbi3/8X8xPKUKZclMEK9vN3fK5WF3ortRvtplQTszFvdAGbTo71gGLO+4ZxspNiLjnqdd64Chklf7w== - dependencies: - "@octokit/oauth-authorization-url" "^6.0.2" - "@octokit/request" "^8.0.2" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^11.0.0" - btoa-lite "^1.0.0" - -"@octokit/openapi-types@^22.2.0": - version "22.2.0" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" - integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== - -"@octokit/plugin-paginate-rest@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.0.0.tgz#21fd12816c2dc158a775ed20be5abcbc61052a46" - integrity sha512-oIJzCpttmBTlEhBmRvb+b9rlnGpmFgDtZ0bB6nq39qIod6A5DP+7RkVLMOixIgRCYSHDTeayWqmiJ2SZ6xgfdw== - dependencies: - "@octokit/types" "^12.0.0" - -"@octokit/plugin-request-log@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-4.0.0.tgz#260fa6970aa97bbcbd91f99f3cd812e2b285c9f1" - integrity sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA== - -"@octokit/plugin-rest-endpoint-methods@^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.0.0.tgz#040b36d6a15d4c7c534b0f44050051225f884cae" - integrity sha512-16VkwE2v6rXU+/gBsYC62M8lKWOphY5Lg4wpjYnVE9Zbu0J6IwiT5kILoj1YOB53XLmcJR+Nqp8DmifOPY4H3g== - dependencies: - "@octokit/types" "^12.0.0" - -"@octokit/plugin-throttling@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-8.1.3.tgz#7fb0e001c0cb9383c6be07740b8ec326ed990f6b" - integrity sha512-pfyqaqpc0EXh5Cn4HX9lWYsZ4gGbjnSmUILeu4u2gnuM50K/wIk9s1Pxt3lVeVwekmITgN/nJdoh43Ka+vye8A== - dependencies: - "@octokit/types" "^12.2.0" - bottleneck "^2.15.3" - -"@octokit/request-error@^5.0.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.1.0.tgz#ee4138538d08c81a60be3f320cd71063064a3b30" - integrity sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q== - dependencies: - "@octokit/types" "^13.1.0" - deprecation "^2.0.0" - once "^1.4.0" - -"@octokit/request@^8.0.0", "@octokit/request@^8.0.1", "@octokit/request@^8.0.2": - version "8.1.1" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.1.1.tgz#23b4d3f164e973f4c1a0f24f68256f1646c00620" - integrity sha512-8N+tdUz4aCqQmXl8FpHYfKG9GelDFd7XGVzyN8rc6WxVlYcfpHECnuRkgquzz+WzvHTK62co5di8gSXnzASZPQ== - dependencies: - "@octokit/endpoint" "^9.0.0" - "@octokit/request-error" "^5.0.0" - "@octokit/types" "^11.1.0" - is-plain-object "^5.0.0" - universal-user-agent "^6.0.0" - -"@octokit/rest@20.0.2", "@octokit/rest@^20.0.1": - version "20.0.2" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-20.0.2.tgz#5cc8871ba01b14604439049e5f06c74b45c99594" - integrity sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ== - dependencies: - "@octokit/core" "^5.0.0" - "@octokit/plugin-paginate-rest" "^9.0.0" - "@octokit/plugin-request-log" "^4.0.0" - "@octokit/plugin-rest-endpoint-methods" "^10.0.0" - -"@octokit/types@^11.0.0", "@octokit/types@^11.1.0", "@octokit/types@^12.0.0", "@octokit/types@^12.2.0", "@octokit/types@^13.0.0", "@octokit/types@^13.1.0", "@octokit/types@^13.5.0": - version "13.5.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.5.0.tgz#4796e56b7b267ebc7c921dcec262b3d5bfb18883" - integrity sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ== - dependencies: - "@octokit/openapi-types" "^22.2.0" - -"@octokit/webhooks-definitions@^3.67.3": - version "3.67.3" - resolved "https://registry.npmjs.org/@octokit/webhooks-definitions/-/webhooks-definitions-3.67.3.tgz" - integrity sha512-do4Z1r2OVhuI0ihJhQ8Hg+yPWnBYEBNuFNCrvtPKoYT1w81jD7pBXgGe86lYuuNirkDHb0Nxt+zt4O5GiFJfgA== - -"@octokit/webhooks-methods@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@octokit/webhooks-methods/-/webhooks-methods-4.1.0.tgz#681a6c86c9b21d4ec9e29108fb053ae7512be033" - integrity sha512-zoQyKw8h9STNPqtm28UGOYFE7O6D4Il8VJwhAtMHFt2C4L0VQT1qGKLeefUOqHNs1mNRYSadVv7x0z8U2yyeWQ== - -"@octokit/webhooks-types@7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@octokit/webhooks-types/-/webhooks-types-7.4.0.tgz#7ed15c75908683a34e0079c80f261fe568b87395" - integrity sha512-FE2V+QZ2UYlh+9wWd5BPLNXG+J/XUD/PPq0ovS+nCcGX4+3qVbi3jYOmCTW48hg9SBBLtInx9+o7fFt4H5iP0Q== - -"@octokit/webhooks@^12.1.2": - version "12.2.0" - resolved "https://registry.yarnpkg.com/@octokit/webhooks/-/webhooks-12.2.0.tgz#ea1ee2d9d9c5a4b7b53ff8bc64a9feb0dac94161" - integrity sha512-CyuLJ0/P7bKZ+kIYw+fnkeVdhUzNuDKgNSI7pU/m7Nod0T7kP+s4s2f0pNmG9HL8/RZN1S0ZWTDll3VTMrFLAw== - dependencies: - "@octokit/request-error" "^5.0.0" - "@octokit/webhooks-methods" "^4.1.0" - "@octokit/webhooks-types" "7.4.0" - aggregate-error "^3.1.0" - -"@oxc-resolver/binding-darwin-arm64@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-1.9.3.tgz#0eeb0fe47c320f1d1bc3486f9abf1fd0ec03a3f1" - integrity sha512-h3+AC4I52aVU6jbHNxUXlJrfmwo0hk+czRmw5TEmkk0sJgpd5cmGYMDlkV1puFMDn86iXWiYkGbyeijOrHOBoA== - -"@oxc-resolver/binding-darwin-x64@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-1.9.3.tgz#b401540fcd25616ba1df525f07765d96aa0a477c" - integrity sha512-h8GmaRjM5w/kftaAbMjt+7Afyc5Pu6/s2oJxVRr/vYgSdbGBHA0vlFcHjdkAn8LKfzvWr1XPzNA462DNGlA1XQ== - -"@oxc-resolver/binding-linux-arm-gnueabihf@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.9.3.tgz#5f4f664d37b0e5e90f06fae222a971b8cec9620e" - integrity sha512-2Z8u0iaOFCS5M+9FCUACaeWqgbNKa/MvYsOnFLcNEvpNBrimPbc7lO5Wyop7Hk3NoxComShYgMgwfFmdeIMJ0w== - -"@oxc-resolver/binding-linux-arm64-gnu@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.9.3.tgz#fc4ac35793064163935ec48ff9487a4f3c3508ee" - integrity sha512-GdPExK47gkL9I3ZV3nFsqEfiYUabytPK4ksHC7zRmcVnEHmwBxgDBsR4tXRpZvsri9Yvzp9qLcPq+Y+6Il0DMg== - -"@oxc-resolver/binding-linux-arm64-musl@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.9.3.tgz#7d72708479784f9bbd2822d91fb6a47b745c5aae" - integrity sha512-FEGg3C0qlX1L2Nivi+cKBMkJ0Wtyy479zycEAuQgGWcsobuLdPPb+1ekpqLACjDqrx5H7/I+1yiDd7ZeZHdFdA== - -"@oxc-resolver/binding-linux-x64-gnu@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.9.3.tgz#b900d076aa7bf14b2361c1405632db71a2b36b4f" - integrity sha512-QyzonAWPvY/VxkMKr/GNjfkk4KEsMlcy3cqCLFvsohuyxrdePzIin3tGG+9xSjGz2hzJVVXkuH5ceHmeA8yx3Q== - -"@oxc-resolver/binding-linux-x64-musl@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-1.9.3.tgz#95c9a5d1b5da4e515e1aeff4d3da5ef661e0d36d" - integrity sha512-vJ7NW5FEwlilUDzVxnOrg2fXN2D+Mgvoq+DJ5UsQlUZW2aABi68KECaF9M932t69BZz0mlyqE1ULDPNOnO3U1g== - -"@oxc-resolver/binding-wasm32-wasi@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-1.9.3.tgz#b05ce628f8ab2f57c8baf5fd8eb3628a59b5d5f0" - integrity sha512-iA0bvBHyEfyoZgbCnPPpvSogCH3Sajiggw839b6POq43sPJD+on1si1+Ao4m/lyn2sh4R3Ic8gtN011IUrpEOw== - dependencies: - "@napi-rs/wasm-runtime" "^0.2.4" - -"@oxc-resolver/binding-win32-arm64-msvc@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.9.3.tgz#2671239d73ccf7311f0ba3fce8d5f90fa6fc859f" - integrity sha512-5drh9NvGcbcHUD0nKy6nlP9sdLeqNopsS7AM1gDlYTBxtdw0/Fb9un3S6UEQXxKVlYXp5nJ7/kDgM5va0ztbtQ== - -"@oxc-resolver/binding-win32-x64-msvc@1.9.3": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.9.3.tgz#4f2f3d4cbb5aa93bd1a09a65f59967b98c9e7974" - integrity sha512-Q4ZeT7jBH+FjXe9/jnto8B0hle09KCfGBYIA7wKmSY0/cRqMWsZNjZIJbGTl8p2WD/GXOvtCsAEWKE3pq4pKNQ== - -"@phenomnomnominal/tsquery@~5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@phenomnomnominal/tsquery/-/tsquery-5.0.1.tgz#a2a5abc89f92c01562a32806655817516653a388" - integrity sha512-3nVv+e2FQwsW8Aw6qTU6f+1rfcJ3hrcnvH/mu9i8YhxO+9sqbOfpL8m6PbET5+xKOlz/VSbp0RoYWYCtIsnmuA== - dependencies: - esquery "^1.4.0" - -"@pkgr/utils@^2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc" - integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw== - dependencies: - cross-spawn "^7.0.3" - fast-glob "^3.3.0" - is-glob "^4.0.3" - open "^9.1.0" - picocolors "^1.0.0" - tslib "^2.6.0" - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" - integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== - dependencies: - type-detect "4.0.8" - -"@sinonjs/commons@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2", "@sinonjs/fake-timers@^10.3.0": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@sinonjs/fake-timers@^11.2.2": - version "11.2.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz#50063cc3574f4a27bd8453180a04171c85cc9699" - integrity sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@sinonjs/samsam@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.0.tgz#0d488c91efb3fa1442e26abea81759dfc8b5ac60" - integrity sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew== - dependencies: - "@sinonjs/commons" "^2.0.0" - lodash.get "^4.4.2" - type-detect "^4.0.8" - -"@sinonjs/text-encoding@^0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" - integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== - -"@smithy/abort-controller@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.1.tgz#291210611ff6afecfc198d0ca72d5771d8461d16" - integrity sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/chunked-blob-reader-native@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz#f1104b30030f76f9aadcbd3cdca4377bd1ba2695" - integrity sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg== - dependencies: - "@smithy/util-base64" "^3.0.0" - tslib "^2.6.2" - -"@smithy/chunked-blob-reader@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz#e5d3b04e9b273ba8b7ede47461e2aa96c8aa49e0" - integrity sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA== - dependencies: - tslib "^2.6.2" - -"@smithy/config-resolver@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.5.tgz#727978bba7ace754c741c259486a19d3083431fd" - integrity sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA== - dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" - "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" - tslib "^2.6.2" - -"@smithy/core@^2.3.0": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.3.1.tgz#99cb8eda23009fd7df736c82072dafcf4eb4ff5d" - integrity sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w== - dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - tslib "^2.6.2" - -"@smithy/credential-provider-imds@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz#0e0e7ddaff1a8633cb927aee1056c0ab506b7ecf" - integrity sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA== - dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - tslib "^2.6.2" - -"@smithy/eventstream-codec@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz#4a1c72b34400631b829241151984a1ad8c4f963c" - integrity sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw== - dependencies: - "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^3.3.0" - "@smithy/util-hex-encoding" "^3.0.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-browser@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz#3e971afd2b8a02a098af8decc4b9e3f35296d6a2" - integrity sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ== - dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-config-resolver@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz#f852e096d0ad112363b4685e1d441088d1fce67a" - integrity sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-node@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz#6301752ca51b3ebabcd2dec112f1dacd990de4c1" - integrity sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg== - dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/eventstream-serde-universal@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz#6754de5b94bdc286d8ef1d6bcf22d80f6ab68f30" - integrity sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A== - dependencies: - "@smithy/eventstream-codec" "^3.1.2" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/fetch-http-handler@^3.2.3", "@smithy/fetch-http-handler@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz#c754de7e0ff2541b73ac9ba7cc955940114b3d62" - integrity sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg== - dependencies: - "@smithy/protocol-http" "^4.1.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" - "@smithy/util-base64" "^3.0.0" - tslib "^2.6.2" - -"@smithy/hash-blob-browser@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz#90281c1f183d93686fb4f26107f1819644d68829" - integrity sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg== - dependencies: - "@smithy/chunked-blob-reader" "^3.0.0" - "@smithy/chunked-blob-reader-native" "^3.0.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/hash-node@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.3.tgz#82c5cb7b0f1a29ee7319081853d2d158c07dff24" - integrity sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw== - dependencies: - "@smithy/types" "^3.3.0" - "@smithy/util-buffer-from" "^3.0.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@smithy/hash-stream-node@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz#89f0290ae44b113863878e75b10c484ff48af71c" - integrity sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g== - dependencies: - "@smithy/types" "^3.3.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@smithy/invalid-dependency@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz#8d9fd70e3a94b565a4eba4ffbdc95238e1930528" - integrity sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/is-array-buffer@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111" - integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== - dependencies: - tslib "^2.6.2" - -"@smithy/is-array-buffer@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz#9a95c2d46b8768946a9eec7f935feaddcffa5e7a" - integrity sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ== - dependencies: - tslib "^2.6.2" - -"@smithy/md5-js@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.3.tgz#55ee40aa24075b096c39f7910590c18ff7660c98" - integrity sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q== - dependencies: - "@smithy/types" "^3.3.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@smithy/middleware-content-length@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz#1680aa4fb2a1c0505756103c9a5c2916307d9035" - integrity sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw== - dependencies: - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/middleware-endpoint@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz#9b8a496d87a68ec43f3f1a0139868d6765a88119" - integrity sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw== - dependencies: - "@smithy/middleware-serde" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-middleware" "^3.0.3" - tslib "^2.6.2" - -"@smithy/middleware-retry@^3.0.12", "@smithy/middleware-retry@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz#3bdd662aff01f360fcbaa166500bbc575dc9d1d0" - integrity sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw== - dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/service-error-classification" "^3.0.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - tslib "^2.6.2" - uuid "^9.0.1" - -"@smithy/middleware-serde@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz#74d974460f74d99f38c861e6862984543a880a66" - integrity sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/middleware-stack@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz#91845c7e61e6f137fa912b623b6def719a4f6ce7" - integrity sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/node-config-provider@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz#05647bed666aa8036a1ad72323c1942e5d421be1" - integrity sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ== - dependencies: - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/node-http-handler@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz#be4195e45639e690d522cd5f11513ea822ff9d5f" - integrity sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg== - dependencies: - "@smithy/abort-controller" "^3.1.1" - "@smithy/protocol-http" "^4.1.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/property-provider@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.3.tgz#afd57ea82a3f6c79fbda95e3cb85c0ee0a79f39a" - integrity sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/protocol-http@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.0.tgz#23519d8f45bf4f33960ea5415847bc2b620a010b" - integrity sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/querystring-builder@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz#6b0e566f885bb84938d077c69e8f8555f686af13" - integrity sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw== - dependencies: - "@smithy/types" "^3.3.0" - "@smithy/util-uri-escape" "^3.0.0" - tslib "^2.6.2" - -"@smithy/querystring-parser@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz#272a6b83f88dfcbbec8283d72a6bde850cc00091" - integrity sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/service-error-classification@^2.0.4": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz#0568a977cc0db36299d8703a5d8609c1f600c005" - integrity sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ== - dependencies: - "@smithy/types" "^2.12.0" - -"@smithy/service-error-classification@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz#73484255060a094aa9372f6cd972dcaf97e3ce80" - integrity sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ== - dependencies: - "@smithy/types" "^3.3.0" - -"@smithy/shared-ini-file-loader@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz#7dceaf5a5307a2ee347ace8aba17312a1a3ede15" - integrity sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/signature-v4@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" - integrity sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag== - dependencies: - "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-hex-encoding" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-uri-escape" "^3.0.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@smithy/smithy-client@^3.1.10", "@smithy/smithy-client@^3.1.11": - version "3.1.11" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.11.tgz#f12a7a0acaa7db3ead488ddf12ef4681daec11a7" - integrity sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ== - dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.3" - tslib "^2.6.2" - -"@smithy/types@^2.12.0": - version "2.12.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.12.0.tgz#c44845f8ba07e5e8c88eda5aed7e6a0c462da041" - integrity sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== - dependencies: - tslib "^2.6.2" - -"@smithy/types@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.3.0.tgz#fae037c733d09bc758946a01a3de0ef6e210b16b" - integrity sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA== - dependencies: - tslib "^2.6.2" - -"@smithy/url-parser@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.3.tgz#e8a060d9810b24b1870385fc2b02485b8a6c5955" - integrity sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A== - dependencies: - "@smithy/querystring-parser" "^3.0.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/util-base64@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-3.0.0.tgz#f7a9a82adf34e27a72d0719395713edf0e493017" - integrity sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ== - dependencies: - "@smithy/util-buffer-from" "^3.0.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@smithy/util-body-length-browser@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz#86ec2f6256310b4845a2f064e2f571c1ca164ded" - integrity sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ== - dependencies: - tslib "^2.6.2" - -"@smithy/util-body-length-node@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz#99a291bae40d8932166907fe981d6a1f54298a6d" - integrity sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA== - dependencies: - tslib "^2.6.2" - -"@smithy/util-buffer-from@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b" - integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== - dependencies: - "@smithy/is-array-buffer" "^2.2.0" - tslib "^2.6.2" - -"@smithy/util-buffer-from@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz#559fc1c86138a89b2edaefc1e6677780c24594e3" - integrity sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA== - dependencies: - "@smithy/is-array-buffer" "^3.0.0" - tslib "^2.6.2" - -"@smithy/util-config-provider@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz#62c6b73b22a430e84888a8f8da4b6029dd5b8efe" - integrity sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ== - dependencies: - tslib "^2.6.2" - -"@smithy/util-defaults-mode-browser@^3.0.12": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz#f574bbb89d60f5dcc443f106087d317b370634d0" - integrity sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw== - dependencies: - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - bowser "^2.11.0" - tslib "^2.6.2" - -"@smithy/util-defaults-mode-node@^3.0.12": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz#cdd3a08bb5af4d17c2b0a951af9936ce7f3bae93" - integrity sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g== - dependencies: - "@smithy/config-resolver" "^3.0.5" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/util-endpoints@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz#e3a7a4d1c41250bfd2b2d890d591273a7d8934be" - integrity sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg== - dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/util-hex-encoding@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz#32938b33d5bf2a15796cd3f178a55b4155c535e6" - integrity sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ== - dependencies: - tslib "^2.6.2" - -"@smithy/util-middleware@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.3.tgz#07bf9602682f5a6c55bc2f0384303f85fc68c87e" - integrity sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw== - dependencies: - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/util-retry@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.3.tgz#9b2ac0dbb1c81f69812a8affa4d772bebfc0e049" - integrity sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w== - dependencies: - "@smithy/service-error-classification" "^3.0.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/util-stream@^3.1.2", "@smithy/util-stream@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.3.tgz#699ee2397cc1d474e46d2034039d5263812dca64" - integrity sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw== - dependencies: - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/types" "^3.3.0" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-buffer-from" "^3.0.0" - "@smithy/util-hex-encoding" "^3.0.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@smithy/util-uri-escape@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz#e43358a78bf45d50bb736770077f0f09195b6f54" - integrity sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg== - dependencies: - tslib "^2.6.2" - -"@smithy/util-utf8@^2.0.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5" - integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== - dependencies: - "@smithy/util-buffer-from" "^2.2.0" - tslib "^2.6.2" - -"@smithy/util-utf8@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-3.0.0.tgz#1a6a823d47cbec1fd6933e5fc87df975286d9d6a" - integrity sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA== - dependencies: - "@smithy/util-buffer-from" "^3.0.0" - tslib "^2.6.2" - -"@smithy/util-waiter@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.2.tgz#2d40c3312f3537feee763459a19acafab4c75cf3" - integrity sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw== - dependencies: - "@smithy/abort-controller" "^3.1.1" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@swc-node/core@^1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@swc-node/core/-/core-1.13.2.tgz#0b3b563edd2a8c951dbaeecfa1795b8cd1b29a30" - integrity sha512-skceAbeKUmEK8z1nxStJTTsbIInKqW4n4+ZCYFexy6UsHjsc7MAfR2v5QqNJr/Fl/j+yLY6UkXY2VUU63nEC/Q== - -"@swc-node/register@~1.10.2": - version "1.10.2" - resolved "https://registry.yarnpkg.com/@swc-node/register/-/register-1.10.2.tgz#2bb337cd3373be55a7e2d43ba5157a0400c0346d" - integrity sha512-8Kz5l+T7LmqbDEcl8Ye2/Bz5YUYxfmo314VmMy+4kwBEZt+V/tt0/U7hCPMAu9fBdnIdJLRWjDgH4VtmpgXvug== - dependencies: - "@swc-node/core" "^1.13.2" - "@swc-node/sourcemap-support" "^0.5.1" - colorette "^2.0.20" - debug "^4.3.5" - oxc-resolver "^1.9.2" - pirates "^4.0.6" - tslib "^2.6.3" - -"@swc-node/sourcemap-support@^0.5.1": - version "0.5.1" - resolved "https://registry.yarnpkg.com/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz#0355540d62874891770ce1ba06838de186f098ff" - integrity sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg== - dependencies: - source-map-support "^0.5.21" - tslib "^2.6.3" - -"@swc/core-darwin-arm64@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.6.13.tgz#dba8f8f747ad32fdb58d5b3aec4f740354d32d1b" - integrity sha512-SOF4buAis72K22BGJ3N8y88mLNfxLNprTuJUpzikyMGrvkuBFNcxYtMhmomO0XHsgLDzOJ+hWzcgjRNzjMsUcQ== - -"@swc/core-darwin-x64@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.6.13.tgz#c120207a9ced298f7382ff711bac10f6541c1c82" - integrity sha512-AW8akFSC+tmPE6YQQvK9S2A1B8pjnXEINg+gGgw0KRUUXunvu1/OEOeC5L2Co1wAwhD7bhnaefi06Qi9AiwOag== - -"@swc/core-linux-arm-gnueabihf@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.6.13.tgz#7b15a1fd32c18dfaf76706632cf8d19146df0d5f" - integrity sha512-f4gxxvDXVUm2HLYXRd311mSrmbpQF2MZ4Ja6XCQz1hWAxXdhRl1gpnZ+LH/xIfGSwQChrtLLVrkxdYUCVuIjFg== - -"@swc/core-linux-arm64-gnu@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.6.13.tgz#066b6e3c805110edb98e5125a222e3d866bf8f68" - integrity sha512-Nf/eoW2CbG8s+9JoLtjl9FByBXyQ5cjdBsA4efO7Zw4p+YSuXDgc8HRPC+E2+ns0praDpKNZtLvDtmF2lL+2Gg== - -"@swc/core-linux-arm64-musl@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.6.13.tgz#43a08bc118f117e485e8a9a23d3cb51fe8b4e301" - integrity sha512-2OysYSYtdw79prJYuKIiux/Gj0iaGEbpS2QZWCIY4X9sGoETJ5iMg+lY+YCrIxdkkNYd7OhIbXdYFyGs/w5LDg== - -"@swc/core-linux-x64-gnu@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.6.13.tgz#0f7358c95f566db6ed8a4249a190043497f41323" - integrity sha512-PkR4CZYJNk5hcd2+tMWBpnisnmYsUzazI1O5X7VkIGFcGePTqJ/bWlfUIVVExWxvAI33PQFzLbzmN5scyIUyGQ== - -"@swc/core-linux-x64-musl@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.6.13.tgz#6e11994ccf858edb3e70d2e8d700a5b1907a68fb" - integrity sha512-OdsY7wryTxCKwGQcwW9jwWg3cxaHBkTTHi91+5nm7hFPpmZMz1HivJrWAMwVE7iXFw+M4l6ugB/wCvpYrUAAjA== - -"@swc/core-win32-arm64-msvc@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.6.13.tgz#b9744644f02eb6519b0fe09031080cbf32174fb1" - integrity sha512-ap6uNmYjwk9M/+bFEuWRNl3hq4VqgQ/Lk+ID/F5WGqczNr0L7vEf+pOsRAn0F6EV+o/nyb3ePt8rLhE/wjHpPg== - -"@swc/core-win32-ia32-msvc@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.6.13.tgz#047302065096883f52b90052d93f9c7e63cdc67b" - integrity sha512-IJ8KH4yIUHTnS/U1jwQmtbfQals7zWPG0a9hbEfIr4zI0yKzjd83lmtS09lm2Q24QBWOCFGEEbuZxR4tIlvfzA== - -"@swc/core-win32-x64-msvc@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.6.13.tgz#efd9706c38aa7dc3515acfa823b8ffa9f4a3c1a6" - integrity sha512-f6/sx6LMuEnbuxtiSL/EkR0Y6qUHFw1XVrh6rwzKXptTipUdOY+nXpKoh+1UsBm/r7H0/5DtOdrn3q5ZHbFZjQ== - -"@swc/core@~1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.6.13.tgz#a583f614203d2350e6bb7f7c3c9c36c0e6f2a1da" - integrity sha512-eailUYex6fkfaQTev4Oa3mwn0/e3mQU4H8y1WPuImYQESOQDtVrowwUGDSc19evpBbHpKtwM+hw8nLlhIsF+Tw== - dependencies: - "@swc/counter" "^0.1.3" - "@swc/types" "^0.1.9" - optionalDependencies: - "@swc/core-darwin-arm64" "1.6.13" - "@swc/core-darwin-x64" "1.6.13" - "@swc/core-linux-arm-gnueabihf" "1.6.13" - "@swc/core-linux-arm64-gnu" "1.6.13" - "@swc/core-linux-arm64-musl" "1.6.13" - "@swc/core-linux-x64-gnu" "1.6.13" - "@swc/core-linux-x64-musl" "1.6.13" - "@swc/core-win32-arm64-msvc" "1.6.13" - "@swc/core-win32-ia32-msvc" "1.6.13" - "@swc/core-win32-x64-msvc" "1.6.13" - -"@swc/counter@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.3.tgz#cc7463bd02949611c6329596fccd2b0ec782b0e9" - integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ== - -"@swc/helpers@~0.5.2": - version "0.5.11" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.11.tgz#5bab8c660a6e23c13b2d23fcd1ee44a2db1b0cb7" - integrity sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A== - dependencies: - tslib "^2.4.0" - -"@swc/types@^0.1.9": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.9.tgz#e67cdcc2e4dd74a3cef4474b465eb398e7ae83e2" - integrity sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg== - dependencies: - "@swc/counter" "^0.1.3" - -"@trivago/prettier-plugin-sort-imports@^4.2.1": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.3.0.tgz#725f411646b3942193a37041c84e0b2116339789" - integrity sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ== - dependencies: - "@babel/generator" "7.17.7" - "@babel/parser" "^7.20.5" - "@babel/traverse" "7.23.2" - "@babel/types" "7.17.0" - javascript-natural-sort "0.7.1" - lodash "^4.17.21" - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - -"@tybys/wasm-util@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355" - integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw== - dependencies: - tslib "^2.4.0" - -"@types/aws-lambda@^8.10.137": - version "8.10.140" - resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.140.tgz#617534c437f3cb9bda3e6661c25e9a1510ae9f2d" - integrity sha512-4Dh3dk2TUcbdfHrX0Al90mNGJDvA9NBiTQPzbrjGi/dLxzKCGOYgT8YQ47jUKNFALkAJAadifq0pzyjIUlhVhg== - -"@types/babel__core@^7.1.14": - version "7.20.0" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz" - integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.4" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.4.tgz" - integrity sha512-TLG7CsGZZmX9aDF78UuJxnNTfQyRUFU0OYIVyIblr0/wd/HvsIo8wmuB90CszeD2MtLLAE9Tt4cWvk+KVkyGIw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/btoa-lite@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/btoa-lite/-/btoa-lite-1.0.0.tgz" - integrity sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg== - -"@types/caseless@*": - version "0.12.2" - resolved "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz" - integrity sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w== - -"@types/cls-hooked@^4.3.3": - version "4.3.8" - resolved "https://registry.yarnpkg.com/@types/cls-hooked/-/cls-hooked-4.3.8.tgz#ece275711b34eca51b3bc3899b13add7d8aff250" - integrity sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg== - dependencies: - "@types/node" "*" - -"@types/connect@*": - version "3.4.35" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/express-serve-static-core@^4.17.33": - version "4.17.33" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz" - integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@^4.17.21": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/graceful-fs@^4.1.3": - version "4.1.6" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^29.5.12", "@types/jest@^29.5.6": - version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/jsonwebtoken@^9.0.0": - version "9.0.1" - resolved "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz" - integrity sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw== - dependencies: - "@types/node" "*" - -"@types/mime@*": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== - -"@types/node@*", "@types/node@^20.8.9": - version "20.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.9.tgz#12e8e765ab27f8c421a1820c99f5f313a933b420" - integrity sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg== - dependencies: - undici-types "~5.26.4" - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/qs@*": - version "6.9.7" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/request@^2.48.11": - version "2.48.12" - resolved "https://registry.yarnpkg.com/@types/request/-/request-2.48.12.tgz#0f590f615a10f87da18e9790ac94c29ec4c5ef30" - integrity sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw== - dependencies: - "@types/caseless" "*" - "@types/node" "*" - "@types/tough-cookie" "*" - form-data "^2.5.0" - -"@types/serve-static@*": - version "1.15.1" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz" - integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== - dependencies: - "@types/mime" "*" - "@types/node" "*" - -"@types/sinon@^10.0.10": - version "10.0.20" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.20.tgz#f1585debf4c0d99f9938f4111e5479fb74865146" - integrity sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg== - dependencies: - "@types/sinonjs__fake-timers" "*" - -"@types/sinonjs__fake-timers@*": - version "8.1.5" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz#5fd3592ff10c1e9695d377020c033116cc2889f2" - integrity sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ== - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/strip-bom@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ== - -"@types/strip-json-comments@0.0.30": - version "0.0.30" - resolved "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz" - integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== - -"@types/tough-cookie@*": - version "4.0.2" - resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz" - integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.0.tgz#b3563927341eca15124a18c6f94215f779f5c02a" - integrity sha512-py1miT6iQpJcs1BiJjm54AMzeuMPBSPuKPlnT8HlfudbcS5rYeX5jajpLf3mrdRh9dA/Ec2FVUY0ifeVNDIhZw== - dependencies: - "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.16.0" - "@typescript-eslint/type-utils" "7.16.0" - "@typescript-eslint/utils" "7.16.0" - "@typescript-eslint/visitor-keys" "7.16.0" - graphemer "^1.4.0" - ignore "^5.3.1" - natural-compare "^1.4.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/parser@^7.9.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.15.0.tgz#f4a536e5fc6a1c05c82c4d263a2bfad2da235c80" - integrity sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A== - dependencies: - "@typescript-eslint/scope-manager" "7.15.0" - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/typescript-estree" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.15.0.tgz#201b34b0720be8b1447df17b963941bf044999b2" - integrity sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw== - dependencies: - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" - -"@typescript-eslint/scope-manager@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.16.0.tgz#eb0757af5720c9c53c8010d7a0355ae27e17b7e5" - integrity sha512-8gVv3kW6n01Q6TrI1cmTZ9YMFi3ucDT7i7aI5lEikk2ebk1AEjrwX8MDTdaX5D7fPXMBLvnsaa0IFTAu+jcfOw== - dependencies: - "@typescript-eslint/types" "7.16.0" - "@typescript-eslint/visitor-keys" "7.16.0" - -"@typescript-eslint/type-utils@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.16.0.tgz#ec52b1932b8fb44a15a3e20208e0bd49d0b6bd00" - integrity sha512-j0fuUswUjDHfqV/UdW6mLtOQQseORqfdmoBNDFOqs9rvNVR2e+cmu6zJu/Ku4SDuqiJko6YnhwcL8x45r8Oqxg== - dependencies: - "@typescript-eslint/typescript-estree" "7.16.0" - "@typescript-eslint/utils" "7.16.0" - debug "^4.3.4" - ts-api-utils "^1.3.0" - -"@typescript-eslint/types@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.15.0.tgz#fb894373a6e3882cbb37671ffddce44f934f62fc" - integrity sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw== - -"@typescript-eslint/types@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.16.0.tgz#60a19d7e7a6b1caa2c06fac860829d162a036ed2" - integrity sha512-fecuH15Y+TzlUutvUl9Cc2XJxqdLr7+93SQIbcZfd4XRGGKoxyljK27b+kxKamjRkU7FYC6RrbSCg0ALcZn/xw== - -"@typescript-eslint/typescript-estree@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.15.0.tgz#e323bfa3966e1485b638ce751f219fc1f31eba37" - integrity sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ== - dependencies: - "@typescript-eslint/types" "7.15.0" - "@typescript-eslint/visitor-keys" "7.15.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/typescript-estree@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.0.tgz#98ac779d526fab2a781e5619c9250f3e33867c09" - integrity sha512-a5NTvk51ZndFuOLCh5OaJBELYc2O3Zqxfl3Js78VFE1zE46J2AaVuW+rEbVkQznjkmlzWsUI15BG5tQMixzZLw== - dependencies: - "@typescript-eslint/types" "7.16.0" - "@typescript-eslint/visitor-keys" "7.16.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "^9.0.4" - semver "^7.6.0" - ts-api-utils "^1.3.0" - -"@typescript-eslint/utils@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.16.0.tgz#b38dc0ce1778e8182e227c98d91d3418449aa17f" - integrity sha512-PqP4kP3hb4r7Jav+NiRCntlVzhxBNWq6ZQ+zQwII1y/G/1gdIPeYDCKr2+dH6049yJQsWZiHU6RlwvIFBXXGNA== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.16.0" - "@typescript-eslint/types" "7.16.0" - "@typescript-eslint/typescript-estree" "7.16.0" - -"@typescript-eslint/visitor-keys@7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.15.0.tgz#1da0726201a859343fe6a05742a7c1792fff5b66" - integrity sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw== - dependencies: - "@typescript-eslint/types" "7.15.0" - eslint-visitor-keys "^3.4.3" - -"@typescript-eslint/visitor-keys@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.0.tgz#a1d99fa7a3787962d6e0efd436575ef840e23b06" - integrity sha512-rMo01uPy9C7XxG7AFsxa8zLnWXTF8N3PYclekWSrurvhwiw1eW88mrKiAYe6s53AUY57nTRz8dJsuuXdkAhzCg== - dependencies: - "@typescript-eslint/types" "7.16.0" - eslint-visitor-keys "^3.4.3" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@vercel/ncc@0.38.1", "@vercel/ncc@^0.38.1": - version "0.38.1" - resolved "https://registry.yarnpkg.com/@vercel/ncc/-/ncc-0.38.1.tgz#13f08738111e1d9e8a22fd6141f3590e54d9a60e" - integrity sha512-IBBb+iI2NLu4VQn3Vwldyi2QwaXt5+hTyh58ggAMoCGE6DJmPvwL3KPBWcJl1m9LYPChBLE980Jw+CS4Wokqxw== - -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - -"@yarnpkg/parsers@3.0.0-rc.46": - version "3.0.0-rc.46" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" - integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== - dependencies: - js-yaml "^3.10.0" - tslib "^2.4.0" - -"@zkochan/js-yaml@0.0.7": - version "0.0.7" - resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz#4b0cb785220d7c28ce0ec4d0804deb5d821eae89" - integrity sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ== - dependencies: - argparse "^2.0.1" - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -acorn@^8.9.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== - -address@^1.0.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -aggregate-error@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -async-hook-jl@^1.7.6: - version "1.7.6" - resolved "https://registry.yarnpkg.com/async-hook-jl/-/async-hook-jl-1.7.6.tgz#4fd25c2f864dbaf279c610d73bf97b1b28595e68" - integrity sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg== - dependencies: - stack-chain "^1.3.7" - -async@^3.2.3: - version "3.2.4" - resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -atomic-batcher@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/atomic-batcher/-/atomic-batcher-1.0.2.tgz#d16901d10ccec59516c197b9ccd8930689b813b4" - integrity sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-lambda@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/aws-lambda/-/aws-lambda-1.0.7.tgz#c6b674df47458b5ecd43ab734899ad2e2d457013" - integrity sha512-9GNFMRrEMG5y3Jvv+V4azWvc+qNWdWLTjDdhf/zgMlz8haaaLWv0xeAIWxz9PuWUBawsVxy0zZotjCdR3Xq+2w== - dependencies: - aws-sdk "^2.814.0" - commander "^3.0.2" - js-yaml "^3.14.1" - watchpack "^2.0.0-beta.10" - -aws-sdk-client-mock-jest@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aws-sdk-client-mock-jest/-/aws-sdk-client-mock-jest-3.1.0.tgz#fc0efeb7ac49552135a648f8a7d4b7116686ea4c" - integrity sha512-pUuHS1xwzVvHadHmzZqOAxve4/RqcV0tta1mEqTcxrBOEenfy9BzhTWYcjdqQWyA5nphT2j6NM44DeSz9lD57A== - dependencies: - expect ">28.1.3" - tslib "^2.1.0" - -aws-sdk-client-mock@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aws-sdk-client-mock/-/aws-sdk-client-mock-3.1.0.tgz#5fa55e654e256c132cd2fce24645621e5486590a" - integrity sha512-3Mx5R8DDka2TB8qtr5jDbSVJsUM6uoX5tZSReBsJS8HunVtL9PHhb+RU7b+I3/53B2fJAyoEp7dJNXndBI+6MA== - dependencies: - "@types/sinon" "^10.0.10" - sinon "^16.1.3" - tslib "^2.1.0" - -aws-sdk@^2.814.0: - version "2.1365.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1365.0.tgz" - integrity sha512-GRwHfzYufi7BhBtgyzeHvqS5yCMRC5ZCqmDU/TBMnr8IaH6sabSG2iAhVn1Kkpjv3tDnWHwDr5s8wNMTzJLPmg== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.16.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - util "^0.12.4" - uuid "8.0.0" - xml2js "0.5.0" - -aws-xray-sdk-core@^3.5.3: - version "3.9.0" - resolved "https://registry.yarnpkg.com/aws-xray-sdk-core/-/aws-xray-sdk-core-3.9.0.tgz#f42b4081113c33088d8ad29d31e4bba7e94b1eed" - integrity sha512-YKzOVse7m6PCO/Uf3y3zhkWqPo5uUIU1Iin/hvL+Lpr2gFxCbNR88pkARAW2LyjvkwlcwLvx7TEoNV3SJYa4yg== - dependencies: - "@aws-sdk/types" "^3.4.1" - "@smithy/service-error-classification" "^2.0.4" - "@types/cls-hooked" "^4.3.3" - atomic-batcher "^1.0.2" - cls-hooked "^4.2.2" - semver "^7.5.3" - -axios@^1.6.0: - version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axios@^1.6.8: - version "1.7.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" - integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-const-enum@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-const-enum/-/babel-plugin-const-enum-1.2.0.tgz#3d25524106f68f081e187829ba736b251c289861" - integrity sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.3.3" - "@babel/traverse" "^7.16.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-polyfill-corejs2@^0.4.8: - version "0.4.8" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" - integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.5.0" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81" - integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - core-js-compat "^3.34.0" - -babel-plugin-polyfill-regenerator@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" - integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.5.0" - -babel-plugin-transform-typescript-metadata@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.3.2.tgz#7a327842d8c36ffe07ee1b5276434e56c297c9b7" - integrity sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.0.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -before-after-hook@^2.2.0: - version "2.2.3" - resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" - integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== - -big-integer@^1.6.44: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -body-parser@1.20.2, body-parser@^1.20.2: - version "1.20.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bottleneck@^2.15.3: - version "2.19.5" - resolved "https://registry.yarnpkg.com/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" - integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== - -bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - -bplist-parser@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" - integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== - dependencies: - big-integer "^1.6.44" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browserslist@^4.22.2, browserslist@^4.22.3: - version "4.22.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" - integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== - dependencies: - caniuse-lite "^1.0.30001580" - electron-to-chromium "^1.4.648" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -btoa-lite@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz" - integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA== - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer@4.9.2: - version "4.9.2" - resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@5.6.0, buffer@^5.5.0: - version "5.6.0" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -builtins@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" - integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== - dependencies: - semver "^7.0.0" - -bundle-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" - integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== - dependencies: - run-applescript "^5.0.0" - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001580: - version "1.0.30001587" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz#a0bce920155fa56a1885a69c74e1163fc34b4881" - integrity sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chokidar@^3.5.1: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@3.1.0, cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@2.6.1, cli-spinners@^2.5.0: - version "2.6.1" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz" - integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -cls-hooked@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908" - integrity sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw== - dependencies: - async-hook-jl "^1.7.6" - emitter-listener "^1.0.1" - semver "^5.4.1" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.20: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -columnify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" - integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== - dependencies: - strip-ansi "^6.0.1" - wcwidth "^1.0.0" - -combined-stream@^1.0.6, combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz" - integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^1.6.0: - version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -core-js-compat@^3.31.0, core-js-compat@^3.34.0: - version "3.36.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190" - integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw== - dependencies: - browserslist "^4.22.3" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cron-parser@^4.8.1: - version "4.9.0" - resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-4.9.0.tgz#0340694af3e46a0894978c6f52a6dbb5c0f11ad5" - integrity sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== - dependencies: - luxon "^3.2.1" - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== - dependencies: - ms "2.1.2" - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-browser-id@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" - integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== - dependencies: - bplist-parser "^0.2.0" - untildify "^4.0.0" - -default-browser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" - integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== - dependencies: - bundle-name "^3.0.0" - default-browser-id "^3.0.0" - execa "^7.1.1" - titleize "^3.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-lazy-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" - integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -deprecation@^2.0.0, deprecation@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== - dependencies: - address "^1.0.1" - debug "4" - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diff@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dotenv-expand@~11.0.6: - version "11.0.6" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.6.tgz#f2c840fd924d7c77a94eff98f153331d876882d3" - integrity sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== - dependencies: - dotenv "^16.4.4" - -dotenv@^16.4.4, dotenv@~16.4.5: - version "16.4.5" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" - integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -dynamic-dedupe@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz" - integrity sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ== - dependencies: - xtend "^4.0.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.7: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.4.648: - version "1.4.668" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.668.tgz#5cfed14f3240cdc70a359a49790cb295b1f097f1" - integrity sha512-ZOBocMYCehr9W31+GpMclR+KBaDZOoAEabLdhpZ8oU1JFDwIaFY0UDbpXVEUFc0BIP2O2Qn3rkfCjQmMR4T/bQ== - -emitter-listener@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/emitter-listener/-/emitter-listener-1.1.2.tgz#56b140e8f6992375b3d7cb2cab1cc7432d9632e8" - integrity sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ== - dependencies: - shimmer "^1.2.0" - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@~2.3.6: - version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-plugin-prettier@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1" - integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.56.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0, esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -events@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" - integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw== - -events@3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz" - integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -execa@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" - integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@>28.1.3, expect@^29.0.0, expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -express@^4.19.2: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-xml-parser@4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" - integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== - dependencies: - strnum "^1.0.5" - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -figures@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -filelist@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -form-data@^2.5.0: - version "2.5.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -front-matter@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-4.0.2.tgz#b14e54dc745cfd7293484f3210d15ea4edd7f4d5" - integrity sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg== - dependencies: - js-yaml "^3.13.1" - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@^11.1.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.3: - version "1.2.0" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hasown@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== - dependencies: - function-bind "^1.1.2" - -hosted-git-info@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz#9985fcb2700467fecf7f33a4d4874e30680b5322" - integrity sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA== - dependencies: - lru-cache "^10.0.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -human-signals@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" - integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ieee754@1.1.13: - version "1.1.13" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.0.4, ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-callable@^1.1.3: - version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.11.0: - version "2.12.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz" - integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-docker@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" - integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-inside-container@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" - integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== - dependencies: - is-docker "^3.0.0" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -is-typed-array@^1.1.10, is-typed-array@^1.1.3: - version "1.1.10" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz#7a8af094cbfff1d5bb280f62ce043695ae8dd5b8" - integrity sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jake@^10.8.5: - version "10.8.5" - resolved "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz" - integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.1" - minimatch "^3.0.4" - -javascript-natural-sort@0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz" - integrity sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.4.1, jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.4.1, jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock-extended@^3.0.6: - version "3.0.7" - resolved "https://registry.yarnpkg.com/jest-mock-extended/-/jest-mock-extended-3.0.7.tgz#3d902dabad99d7831bbe5fccee85ab0371c22675" - integrity sha512-7lsKdLFcW9B9l5NzZ66S/yTQ9k8rFtnwYdCNuRU/81fqDWicNDVhitTSPnrGmNeNm0xyw0JHexEOShrIKRCIRQ== - dependencies: - ts-essentials "^10.0.0" - -jest-mock@^29.5.0, jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.4.1, jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.0.0, jest-util@^29.4.1, jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^29.4.1, jest@^29.5: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.0" - -jmespath@0.16.0: - version "0.16.0" - resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz" - integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.10.0, js-yaml@^3.13.1, js-yaml@^3.14.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^2.2.2, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonc-parser@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonwebtoken@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" - integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^7.5.4" - -just-extend@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-6.2.0.tgz#b816abfb3d67ee860482e7401564672558163947" - integrity sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw== - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -lines-and-columns@~2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz" - integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -lru-cache@^10.0.0, lru-cache@^10.0.1: - version "10.1.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" - integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -luxon@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/luxon/-/luxon-3.3.0.tgz" - integrity sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg== - -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -minimatch@9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -moment-timezone@^0.5.45: - version "0.5.45" - resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.45.tgz#cb685acd56bac10e69d93c536366eb65aa6bcf5c" - integrity sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ== - dependencies: - moment "^2.29.4" - -moment@^2.29.4: - version "2.29.4" - resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -nise@^5.1.4: - version "5.1.9" - resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.9.tgz#0cb73b5e4499d738231a473cd89bd8afbb618139" - integrity sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww== - dependencies: - "@sinonjs/commons" "^3.0.0" - "@sinonjs/fake-timers" "^11.2.2" - "@sinonjs/text-encoding" "^0.7.2" - just-extend "^6.2.0" - path-to-regexp "^6.2.1" - -nock@^13.4.0: - version "13.5.4" - resolved "https://registry.yarnpkg.com/nock/-/nock-13.5.4.tgz#8918f0addc70a63736170fef7106a9721e0dc479" - integrity sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw== - dependencies: - debug "^4.1.0" - json-stringify-safe "^5.0.1" - propagate "^2.0.0" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-machine-id@1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267" - integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-package-arg@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-11.0.1.tgz#f208b0022c29240a1c532a449bdde3f0a4708ebc" - integrity sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ== - dependencies: - hosted-git-info "^7.0.0" - proc-log "^3.0.0" - semver "^7.3.5" - validate-npm-package-name "^5.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-run-path@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" - integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== - dependencies: - path-key "^4.0.0" - -nx@19.4.0: - version "19.4.0" - resolved "https://registry.yarnpkg.com/nx/-/nx-19.4.0.tgz#0e6078cf4e399a6b1a32f9f743441d2f53f16fd0" - integrity sha512-tTdKqJ7e9imww6fyx3KrLcMz7oAFIcHFeXTZtdXbyDjIQJaN0HK4hicGVc1t1d1iB81KFfUVpX8/QztdB58Q9A== - dependencies: - "@nrwl/tao" "19.4.0" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" - "@zkochan/js-yaml" "0.0.7" - axios "^1.6.0" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^8.0.1" - dotenv "~16.4.5" - dotenv-expand "~11.0.6" - enquirer "~2.3.6" - figures "3.2.0" - flat "^5.0.2" - front-matter "^4.0.2" - fs-extra "^11.1.0" - ignore "^5.0.4" - jest-diff "^29.4.1" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "9.0.3" - node-machine-id "1.1.12" - npm-run-path "^4.0.1" - open "^8.4.0" - ora "5.3.0" - semver "^7.5.3" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - optionalDependencies: - "@nx/nx-darwin-arm64" "19.4.0" - "@nx/nx-darwin-x64" "19.4.0" - "@nx/nx-freebsd-x64" "19.4.0" - "@nx/nx-linux-arm-gnueabihf" "19.4.0" - "@nx/nx-linux-arm64-gnu" "19.4.0" - "@nx/nx-linux-arm64-musl" "19.4.0" - "@nx/nx-linux-x64-gnu" "19.4.0" - "@nx/nx-linux-x64-musl" "19.4.0" - "@nx/nx-win32-arm64-msvc" "19.4.0" - "@nx/nx-win32-x64-msvc" "19.4.0" - -nx@19.4.2: - version "19.4.2" - resolved "https://registry.yarnpkg.com/nx/-/nx-19.4.2.tgz#c627acebb1ad70766fae5b971006468fe3024787" - integrity sha512-h4NMoy9uvSHuM+kyioZXb5G4hfBZ7E4a5dswG2RPe3g/GcY9wdpkUMd/EJJ0cHQwv36kRZOMCflhounYCd7OeA== - dependencies: - "@nrwl/tao" "19.4.2" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" - "@zkochan/js-yaml" "0.0.7" - axios "^1.6.0" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^8.0.1" - dotenv "~16.4.5" - dotenv-expand "~11.0.6" - enquirer "~2.3.6" - figures "3.2.0" - flat "^5.0.2" - front-matter "^4.0.2" - fs-extra "^11.1.0" - ignore "^5.0.4" - jest-diff "^29.4.1" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "9.0.3" - node-machine-id "1.1.12" - npm-run-path "^4.0.1" - open "^8.4.0" - ora "5.3.0" - semver "^7.5.3" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - optionalDependencies: - "@nx/nx-darwin-arm64" "19.4.2" - "@nx/nx-darwin-x64" "19.4.2" - "@nx/nx-freebsd-x64" "19.4.2" - "@nx/nx-linux-arm-gnueabihf" "19.4.2" - "@nx/nx-linux-arm64-gnu" "19.4.2" - "@nx/nx-linux-arm64-musl" "19.4.2" - "@nx/nx-linux-x64-gnu" "19.4.2" - "@nx/nx-linux-x64-musl" "19.4.2" - "@nx/nx-win32-arm64-msvc" "19.4.2" - "@nx/nx-win32-x64-msvc" "19.4.2" - -nx@19.5.2: - version "19.5.2" - resolved "https://registry.yarnpkg.com/nx/-/nx-19.5.2.tgz#07c6002d5e7ad7b526bb20b073dd4e769a87edd4" - integrity sha512-tsuyjC9zwUOhgtW88zXR6l3lgihzyBVfDKjFj2OkXGn+jKMwNiPHLfMZ76vBWRBjwZ4I9apEMZSpMuxsVBcRTw== - dependencies: - "@napi-rs/wasm-runtime" "0.2.4" - "@nrwl/tao" "19.5.2" - "@yarnpkg/lockfile" "^1.1.0" - "@yarnpkg/parsers" "3.0.0-rc.46" - "@zkochan/js-yaml" "0.0.7" - axios "^1.6.0" - chalk "^4.1.0" - cli-cursor "3.1.0" - cli-spinners "2.6.1" - cliui "^8.0.1" - dotenv "~16.4.5" - dotenv-expand "~11.0.6" - enquirer "~2.3.6" - figures "3.2.0" - flat "^5.0.2" - front-matter "^4.0.2" - fs-extra "^11.1.0" - ignore "^5.0.4" - jest-diff "^29.4.1" - jsonc-parser "3.2.0" - lines-and-columns "~2.0.3" - minimatch "9.0.3" - node-machine-id "1.1.12" - npm-run-path "^4.0.1" - open "^8.4.0" - ora "5.3.0" - semver "^7.5.3" - string-width "^4.2.3" - strong-log-transformer "^2.1.0" - tar-stream "~2.2.0" - tmp "~0.2.1" - tsconfig-paths "^4.1.2" - tslib "^2.3.0" - yargs "^17.6.2" - yargs-parser "21.1.1" - optionalDependencies: - "@nx/nx-darwin-arm64" "19.5.2" - "@nx/nx-darwin-x64" "19.5.2" - "@nx/nx-freebsd-x64" "19.5.2" - "@nx/nx-linux-arm-gnueabihf" "19.5.2" - "@nx/nx-linux-arm64-gnu" "19.5.2" - "@nx/nx-linux-arm64-musl" "19.5.2" - "@nx/nx-linux-x64-gnu" "19.5.2" - "@nx/nx-linux-x64-musl" "19.5.2" - "@nx/nx-win32-arm64-msvc" "19.5.2" - "@nx/nx-win32-x64-msvc" "19.5.2" - -object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -once@^1.3.0, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -open@^8.4.0: - version "8.4.2" - resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -open@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" - integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== - dependencies: - default-browser "^4.0.0" - define-lazy-prop "^3.0.0" - is-inside-container "^1.0.0" - is-wsl "^2.2.0" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -ora@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ora/-/ora-5.3.0.tgz#fb832899d3a1372fe71c8b2c534bbfe74961bb6f" - integrity sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g== - dependencies: - bl "^4.0.3" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-spinners "^2.5.0" - is-interactive "^1.0.0" - log-symbols "^4.0.0" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -oxc-resolver@^1.9.2: - version "1.9.3" - resolved "https://registry.yarnpkg.com/oxc-resolver/-/oxc-resolver-1.9.3.tgz#f8e4bf8072fdaa71e0da3fc6b7c4759fef3ad4db" - integrity sha512-ROO5IGjFp5e150IDCzFvE3xtTrbO6jytAugfEHegF0ym2Ww+lRxP0cAwFGCR1021aWUhrC8VjZXOdTocg+Qthw== - optionalDependencies: - "@oxc-resolver/binding-darwin-arm64" "1.9.3" - "@oxc-resolver/binding-darwin-x64" "1.9.3" - "@oxc-resolver/binding-linux-arm-gnueabihf" "1.9.3" - "@oxc-resolver/binding-linux-arm64-gnu" "1.9.3" - "@oxc-resolver/binding-linux-arm64-musl" "1.9.3" - "@oxc-resolver/binding-linux-x64-gnu" "1.9.3" - "@oxc-resolver/binding-linux-x64-musl" "1.9.3" - "@oxc-resolver/binding-wasm32-wasi" "1.9.3" - "@oxc-resolver/binding-win32-arm64-msvc" "1.9.3" - "@oxc-resolver/binding-win32-x64-msvc" "1.9.3" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-to-regexp@^6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.2.tgz#324377a83e5049cbecadc5554d6a63a9a4866b36" - integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.4, pirates@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@3.3.2, prettier@^3.2.5: - version "3.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -proc-log@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz" - integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -propagate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-2.0.1.tgz#40cdedab18085c792334e64f0ac17256d38f9a45" - integrity sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^6.0.0: - version "6.0.2" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz" - integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve.exports@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.0.0, resolve@^1.20.0: - version "1.22.2" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.12.0, resolve@^1.14.2: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^2.6.1: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -run-applescript@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" - integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== - dependencies: - execa "^5.0.0" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sax@1.2.1, sax@>=0.6.0: - version "1.2.1" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz" - integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA== - -semver@^5.4.1: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.0.0, semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== - -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shimmer@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" - integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sinon@^16.1.3: - version "16.1.3" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-16.1.3.tgz#b760ddafe785356e2847502657b4a0da5501fba8" - integrity sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA== - dependencies: - "@sinonjs/commons" "^3.0.0" - "@sinonjs/fake-timers" "^10.3.0" - "@sinonjs/samsam" "^8.0.0" - diff "^5.1.0" - nise "^5.1.4" - supports-color "^7.2.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.12, source-map-support@^0.5.21: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-chain@^1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285" - integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -stream-browserify@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-json-comments@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strnum@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" - integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== - -strong-log-transformer@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz" - integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== - dependencies: - duplexer "^0.1.1" - minimist "^1.2.0" - through "^2.3.4" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0, supports-color@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -synckit@^0.8.6: - version "0.8.6" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.6.tgz#b69b7fbce3917c2673cbdc0d87fb324db4a5b409" - integrity sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA== - dependencies: - "@pkgr/utils" "^2.4.2" - tslib "^2.6.2" - -tar-stream@~2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -through@^2.3.4: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -titleize@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" - integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== - -tmp@~0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tree-kill@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -ts-api-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== - -ts-essentials@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-10.0.1.tgz#edee9a06e8a1a7e33ef21ae223d908a7c646e6c5" - integrity sha512-HPH+H2bkkO8FkMDau+hFvv7KYozzned9Zr1Urn7rRPXMF4mZmCKOq+u4AI1AAW+2bofIOXTuSdKo9drQuni2dQ== - -ts-jest@^29.1.0: - version "29.1.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.5.tgz#d6c0471cc78bffa2cb4664a0a6741ef36cfe8f69" - integrity sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^29.0.0" - json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" - -ts-node-dev@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz" - integrity sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w== - dependencies: - chokidar "^3.5.1" - dynamic-dedupe "^0.3.0" - minimist "^1.2.6" - mkdirp "^1.0.4" - resolve "^1.0.0" - rimraf "^2.6.1" - source-map-support "^0.5.12" - tree-kill "^1.2.2" - ts-node "^10.4.0" - tsconfig "^7.0.0" - -ts-node@10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -ts-node@^10.4.0, ts-node@^10.9.1: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths@^4.1.2: - version "4.2.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz" - integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg== - dependencies: - json5 "^2.2.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tsconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz" - integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== - dependencies: - "@types/strip-bom" "^3.0.0" - "@types/strip-json-comments" "0.0.30" - strip-bom "^3.0.0" - strip-json-comments "^2.0.0" - -tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.6.0, tslib@^2.6.2, tslib@^2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@4.0.8, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typescript@^5.4.5: - version "5.5.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.3.tgz#e1b0a3c394190838a0b168e771b0ad56a0af0faa" - integrity sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ== - -typescript@~5.4.2: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -universal-github-app-jwt@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.2.tgz#8c1867a394d7d9d42cda34f11d1bcb023797d8df" - integrity sha512-t1iB2FmLFE+yyJY9+3wMx0ejB+MQpEVkH0gQv7dR6FZyltyq+ZZO0uDpbopxhrZ3SLEO4dCEkIujOMldEQ2iOA== - dependencies: - "@types/jsonwebtoken" "^9.0.0" - jsonwebtoken "^9.0.2" - -universal-user-agent@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" - integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url@0.10.3: - version "0.10.3" - resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz" - integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@^0.12.4: - version "0.12.5" - resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz" - integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw== - -uuid@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" - integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.0.1: - version "9.1.0" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz" - integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - -validate-npm-package-name@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz" - integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ== - dependencies: - builtins "^5.0.0" - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.0.0-beta.10: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wcwidth@^1.0.0, wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -which-typed-array@^1.1.2: - version "1.1.9" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -xml2js@0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz" - integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - -xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@21.1.1, yargs-parser@^21.0.1, yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^17.3.1, yargs@^17.6.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@ampproject/remapping@npm:^2.2.0": + version: 2.2.1 + resolution: "@ampproject/remapping@npm:2.2.1" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.0" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 10c0/92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 + languageName: node + linkType: hard + +"@aws-crypto/crc32@npm:5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/crc32@npm:5.2.0" + dependencies: + "@aws-crypto/util": "npm:^5.2.0" + "@aws-sdk/types": "npm:^3.222.0" + tslib: "npm:^2.6.2" + checksum: 10c0/eab9581d3363af5ea498ae0e72de792f54d8890360e14a9d8261b7b5c55ebe080279fb2556e07994d785341cdaa99ab0b1ccf137832b53b5904cd6928f2b094b + languageName: node + linkType: hard + +"@aws-crypto/crc32c@npm:5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/crc32c@npm:5.2.0" + dependencies: + "@aws-crypto/util": "npm:^5.2.0" + "@aws-sdk/types": "npm:^3.222.0" + tslib: "npm:^2.6.2" + checksum: 10c0/223efac396cdebaf5645568fa9a38cd0c322c960ae1f4276bedfe2e1031d0112e49d7d39225d386354680ecefae29f39af469a84b2ddfa77cb6692036188af77 + languageName: node + linkType: hard + +"@aws-crypto/sha1-browser@npm:5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/sha1-browser@npm:5.2.0" + dependencies: + "@aws-crypto/supports-web-crypto": "npm:^5.2.0" + "@aws-crypto/util": "npm:^5.2.0" + "@aws-sdk/types": "npm:^3.222.0" + "@aws-sdk/util-locate-window": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^2.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/51fed0bf078c10322d910af179871b7d299dde5b5897873ffbeeb036f427e5d11d23db9794439226544b73901920fd19f4d86bbc103ed73cc0cfdea47a83c6ac + languageName: node + linkType: hard + +"@aws-crypto/sha256-browser@npm:5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/sha256-browser@npm:5.2.0" + dependencies: + "@aws-crypto/sha256-js": "npm:^5.2.0" + "@aws-crypto/supports-web-crypto": "npm:^5.2.0" + "@aws-crypto/util": "npm:^5.2.0" + "@aws-sdk/types": "npm:^3.222.0" + "@aws-sdk/util-locate-window": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^2.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/05f6d256794df800fe9aef5f52f2ac7415f7f3117d461f85a6aecaa4e29e91527b6fd503681a17136fa89e9dd3d916e9c7e4cfb5eba222875cb6c077bdc1d00d + languageName: node + linkType: hard + +"@aws-crypto/sha256-js@npm:5.2.0, @aws-crypto/sha256-js@npm:^5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/sha256-js@npm:5.2.0" + dependencies: + "@aws-crypto/util": "npm:^5.2.0" + "@aws-sdk/types": "npm:^3.222.0" + tslib: "npm:^2.6.2" + checksum: 10c0/6c48701f8336341bb104dfde3d0050c89c288051f6b5e9bdfeb8091cf3ffc86efcd5c9e6ff2a4a134406b019c07aca9db608128f8d9267c952578a3108db9fd1 + languageName: node + linkType: hard + +"@aws-crypto/supports-web-crypto@npm:^5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/supports-web-crypto@npm:5.2.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/4d2118e29d68ca3f5947f1e37ce1fbb3239a0c569cc938cdc8ab8390d595609b5caf51a07c9e0535105b17bf5c52ea256fed705a07e9681118120ab64ee73af2 + languageName: node + linkType: hard + +"@aws-crypto/util@npm:^5.2.0": + version: 5.2.0 + resolution: "@aws-crypto/util@npm:5.2.0" + dependencies: + "@aws-sdk/types": "npm:^3.222.0" + "@smithy/util-utf8": "npm:^2.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/0362d4c197b1fd64b423966945130207d1fe23e1bb2878a18e361f7743c8d339dad3f8729895a29aa34fff6a86c65f281cf5167c4bf253f21627ae80b6dd2951 + languageName: node + linkType: hard + +"@aws-lambda-powertools/commons@npm:^1.18.1": + version: 1.18.1 + resolution: "@aws-lambda-powertools/commons@npm:1.18.1" + checksum: 10c0/5c5b748b03f166cf3efce99e3e5029cb4615d2e31b0593586479f0101b61de34f35ad380ea058fc3ba4c11444c0701daad2f833405db79ee6a69979bfaf14d50 + languageName: node + linkType: hard + +"@aws-lambda-powertools/logger@npm:^1.18.1": + version: 1.18.1 + resolution: "@aws-lambda-powertools/logger@npm:1.18.1" + dependencies: + "@aws-lambda-powertools/commons": "npm:^1.18.1" + lodash.merge: "npm:^4.6.2" + peerDependencies: + "@middy/core": ">=3.x" + peerDependenciesMeta: + "@middy/core": + optional: true + checksum: 10c0/3d9c43bd2d68b47bd4eb0e96268382bd2b40e6009c8faf4072ff8e673fddd25a2f113a65f6fd319839680478f03c34abe3cca1acf4b76e101807e587cad61dfc + languageName: node + linkType: hard + +"@aws-lambda-powertools/metrics@npm:^1.18.1": + version: 1.18.1 + resolution: "@aws-lambda-powertools/metrics@npm:1.18.1" + dependencies: + "@aws-lambda-powertools/commons": "npm:^1.18.1" + peerDependencies: + "@middy/core": ">=3.x" + peerDependenciesMeta: + "@middy/core": + optional: true + checksum: 10c0/1e4bacc5069140ff84ceca2d27b104b0d6ee862eccd8bd8180e18459ae2bc6d753649d1b5d4579fdfd26ac74f6406a37be2d8ce662150795beb2ffd6063799da + languageName: node + linkType: hard + +"@aws-lambda-powertools/tracer@npm:^1.18.1": + version: 1.18.1 + resolution: "@aws-lambda-powertools/tracer@npm:1.18.1" + dependencies: + "@aws-lambda-powertools/commons": "npm:^1.18.1" + aws-xray-sdk-core: "npm:^3.5.3" + peerDependencies: + "@middy/core": ">=3.x" + peerDependenciesMeta: + "@middy/core": + optional: true + checksum: 10c0/3b2932608f93cb5ceb2ceb9a0d861b26f231d9739e9869748515cbea30b31d7ecb388c7915cff7b74ac9a2649360024b930b3697d530a0b5e19b5383b080f79b + languageName: node + linkType: hard + +"@aws-sdk/client-ec2@npm:^3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/client-ec2@npm:3.621.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/client-sso-oidc": "npm:3.621.0" + "@aws-sdk/client-sts": "npm:3.621.0" + "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-sdk-ec2": "npm:3.621.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.1" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.13" + "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + "@smithy/util-waiter": "npm:^3.1.2" + tslib: "npm:^2.6.2" + uuid: "npm:^9.0.1" + checksum: 10c0/7ece3e8b7d007fde3fafb9d4ea3a5f2211da1611dce84118a0783dc93bbc855e0ece0d5868b0f22421dca913623c5fb50b854e6d9b36302b685d8b317bbb9aa1 + languageName: node + linkType: hard + +"@aws-sdk/client-s3@npm:^3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/client-s3@npm:3.621.0" + dependencies: + "@aws-crypto/sha1-browser": "npm:5.2.0" + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/client-sso-oidc": "npm:3.621.0" + "@aws-sdk/client-sts": "npm:3.621.0" + "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" + "@aws-sdk/middleware-expect-continue": "npm:3.620.0" + "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-location-constraint": "npm:3.609.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.621.0" + "@aws-sdk/middleware-signing": "npm:3.620.0" + "@aws-sdk/middleware-ssec": "npm:3.609.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.621.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@aws-sdk/xml-builder": "npm:3.609.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.1" + "@smithy/eventstream-serde-browser": "npm:^3.0.5" + "@smithy/eventstream-serde-config-resolver": "npm:^3.0.3" + "@smithy/eventstream-serde-node": "npm:^3.0.4" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-blob-browser": "npm:^3.1.2" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/hash-stream-node": "npm:^3.1.2" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/md5-js": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.13" + "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-stream": "npm:^3.1.3" + "@smithy/util-utf8": "npm:^3.0.0" + "@smithy/util-waiter": "npm:^3.1.2" + tslib: "npm:^2.6.2" + checksum: 10c0/3c29b0b8ed9251383c5c3139492dde9c73b555e5e87771492660a82c9394f38db10576860b225839ac8e80b99bc00be6fa0b5866e753b12e1db78734a1043e4a + languageName: node + linkType: hard + +"@aws-sdk/client-sqs@npm:^3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/client-sqs@npm:3.621.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/client-sso-oidc": "npm:3.621.0" + "@aws-sdk/client-sts": "npm:3.621.0" + "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-sdk-sqs": "npm:3.621.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.1" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/md5-js": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.13" + "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/95c8f0c3ec330829f96fcfc92240d119bdb13ec2e235add78f28bf9f6e1862d15f2821d8d1ea437b077973f7ccd4e3adc57fe5e1827199f94839f27eca902edb + languageName: node + linkType: hard + +"@aws-sdk/client-ssm@npm:^3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/client-ssm@npm:3.621.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/client-sso-oidc": "npm:3.621.0" + "@aws-sdk/client-sts": "npm:3.621.0" + "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.1" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.13" + "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + "@smithy/util-waiter": "npm:^3.1.2" + tslib: "npm:^2.6.2" + uuid: "npm:^9.0.1" + checksum: 10c0/ee15ab19c992669cf2769d667f661eab84bca915e0b214688e8712391a18182901699713c79c35b675f7c7944159bd41c9bab85cb8f333e45e417cb10def4732 + languageName: node + linkType: hard + +"@aws-sdk/client-sso-oidc@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.621.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.1" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.13" + "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + peerDependencies: + "@aws-sdk/client-sts": ^3.621.0 + checksum: 10c0/600a196da24da566d2cc126fbba47c013724c91d399911614c13d0ebf4af33f4d0553da0da40ac7146d8e593cd4c46ebd4d7313a61a6c1d2dc9fb03948a98796 + languageName: node + linkType: hard + +"@aws-sdk/client-sso@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/client-sso@npm:3.621.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.1" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.13" + "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/6a276bcd6bbb32849504124bd7fe63dcb151b4a978cef9207909b24ce82bdec8dd8df39f3175530e2633ed056c4abab460a594b180765f3078ca7c3646728c9c + languageName: node + linkType: hard + +"@aws-sdk/client-sts@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/client-sts@npm:3.621.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/client-sso-oidc": "npm:3.621.0" + "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.1" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.13" + "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/bfee49ac83b2167c3da1eab7a2d55f8e7e2bc5c0cc5914e0ca46e109cca682a29d9149b0bb5880dd9e7cc6ed1aed3c1c2a2299a4c2c099f9c222cb74f320564c + languageName: node + linkType: hard + +"@aws-sdk/core@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/core@npm:3.621.0" + dependencies: + "@smithy/core": "npm:^2.3.1" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/signature-v4": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-middleware": "npm:^3.0.3" + fast-xml-parser: "npm:4.4.1" + tslib: "npm:^2.6.2" + checksum: 10c0/7c23da79289b73b6e34eca04eb28200c3e800ca360ed4dc7cd0c2b17839cc6bc9f151589eb78fe3dc71632800bea540529ec8f6d26ac909ddebc30b6bc7a6c65 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-env@npm:3.620.1": + version: 3.620.1 + resolution: "@aws-sdk/credential-provider-env@npm:3.620.1" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/25156df7c0e9a1423f261276506fc5766c9f43c41e811adaa0f9a6199b03ff4fd299e9dd94fd73942ab99283b30d8e127692ae371c16917f6709f655de401874 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-http@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.621.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-stream": "npm:^3.1.3" + tslib: "npm:^2.6.2" + checksum: 10c0/d92dfea07d432059189f61735a6504439804463a4a3ff2b0ed22f9ce70ffbfa003f3137236b18c268a4a63b9d25d358110fc9d566a56936d71cd2f31fc2a2286 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-ini@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.621.0" + dependencies: + "@aws-sdk/credential-provider-env": "npm:3.620.1" + "@aws-sdk/credential-provider-http": "npm:3.621.0" + "@aws-sdk/credential-provider-process": "npm:3.620.1" + "@aws-sdk/credential-provider-sso": "npm:3.621.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/credential-provider-imds": "npm:^3.2.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + peerDependencies: + "@aws-sdk/client-sts": ^3.621.0 + checksum: 10c0/01b6c8a7a045422dd0826aed3e7fa3a9584bd28d3ce6abee322e5114b03adc362a6b1ea27c226371d76e6f671cf6593fb8d604054f126c40fb3df8f7abb9076b + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-node@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.621.0" + dependencies: + "@aws-sdk/credential-provider-env": "npm:3.620.1" + "@aws-sdk/credential-provider-http": "npm:3.621.0" + "@aws-sdk/credential-provider-ini": "npm:3.621.0" + "@aws-sdk/credential-provider-process": "npm:3.620.1" + "@aws-sdk/credential-provider-sso": "npm:3.621.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/credential-provider-imds": "npm:^3.2.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/284c3140a615fdaf76f7a965e9bb9a1e60b43b68c69a095c758d10a82978a32e3fe39962a4491c64066cfd53c11188045ab183d34f90e1152bae95ebaf1ce290 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-process@npm:3.620.1": + version: 3.620.1 + resolution: "@aws-sdk/credential-provider-process@npm:3.620.1" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/d33bf3e5e73f16c8e58dc71a738cdcbcf48b54610e464affc69c73f9bdcc2b287b6cb281c9a719f67298fb0cd795e67201e5d6704dcc24933e71e58653607992 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-sso@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.621.0" + dependencies: + "@aws-sdk/client-sso": "npm:3.621.0" + "@aws-sdk/token-providers": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/dca9c793136ca2113f675b641a537bed6ce1a1fa004747cc5320aefd0caebc9dbc48ca176390cca4feed09316ca3790bcaf63383d58902fd0f6d9ab3406d7e85 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-web-identity@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.621.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + peerDependencies: + "@aws-sdk/client-sts": ^3.621.0 + checksum: 10c0/c699a60e242cc3895b3536a0a4818560f167b6c0cc3e8858cf75cd0438020a070b2e5c84e59280ee81679d865516dcde5b31cf6af1ee35b0d28c94b68c63f742 + languageName: node + linkType: hard + +"@aws-sdk/lib-storage@npm:^3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/lib-storage@npm:3.621.0" + dependencies: + "@smithy/abort-controller": "npm:^3.1.1" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + buffer: "npm:5.6.0" + events: "npm:3.3.0" + stream-browserify: "npm:3.0.0" + tslib: "npm:^2.6.2" + peerDependencies: + "@aws-sdk/client-s3": ^3.621.0 + checksum: 10c0/7a07981d2773a631c5eea3ae4e8ba51c4173893025b4483f2294c572113c612ab56a575de91a136ac827081038b77547e6f4169b5566379a20dc6317f3a178b9 + languageName: node + linkType: hard + +"@aws-sdk/middleware-bucket-endpoint@npm:3.620.0": + version: 3.620.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.620.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-arn-parser": "npm:3.568.0" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-config-provider": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/5fec190026bac88554a2299d81565bb4f067600336045af5d4ec1e06a1a884386e324922f1de8d8d87954bd8dbdae279bf4e37401aaf8311db5fe70c1c44b483 + languageName: node + linkType: hard + +"@aws-sdk/middleware-expect-continue@npm:3.620.0": + version: 3.620.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.620.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1204171772b3f141a19e68ede28b412c5bca68e4f5c493c38f41d278cbbaae0488d95e1161ed5b44aefcfbbb66f795f2aacfb24434d7fdd71695a1a3885c59bb + languageName: node + linkType: hard + +"@aws-sdk/middleware-flexible-checksums@npm:3.620.0": + version: 3.620.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.620.0" + dependencies: + "@aws-crypto/crc32": "npm:5.2.0" + "@aws-crypto/crc32c": "npm:5.2.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/is-array-buffer": "npm:^3.0.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/b6990776c98a19c57850ad623a61d45946741f75913cd71901d693ff71a840ea6fdbb7811d8849db6d149090bd2b61a6f3c706084a2d2b366c8e55c5f62e3186 + languageName: node + linkType: hard + +"@aws-sdk/middleware-host-header@npm:3.620.0": + version: 3.620.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.620.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/221e8e440fc156bc0ef8d2186bc3b9c18c7874cb275ae714c3c7eeb934b846e1291c3cb9a3631c486a86189a4c446e61c64e8e7d737f209fe63808ad313bd779 + languageName: node + linkType: hard + +"@aws-sdk/middleware-location-constraint@npm:3.609.0": + version: 3.609.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.609.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1eba2a3a1a003855a69e56f1c54fb2283b30db50bf14130cd042e25805497b7a19539144052c4fa710952d754d1a9e5d680fce09536509cf796a16816c8d506f + languageName: node + linkType: hard + +"@aws-sdk/middleware-logger@npm:3.609.0": + version: 3.609.0 + resolution: "@aws-sdk/middleware-logger@npm:3.609.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e8d110552fee03c5290f94be8da8bb6c07404c06c68971cf24c89a5a4e08b93f6039a2bf729b173855815dd13e382eda18c31e098e7a40db9c8163b74a7770e7 + languageName: node + linkType: hard + +"@aws-sdk/middleware-recursion-detection@npm:3.620.0": + version: 3.620.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.620.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/f859a777eb0441e8ec78054b478bb75c2debcf53680deb6731830a62ec2a45a5a9b1462028214c49bbc67acff2ca1a78cb35913f826ccc4118fa45b51220bcd4 + languageName: node + linkType: hard + +"@aws-sdk/middleware-sdk-ec2@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.621.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-format-url": "npm:3.609.0" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/signature-v4": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/a1abc258773d0af1bc4e8d066c43153e9b4707e17f52d928a96dd2aeef7322fc6c34d1d7d1b5d676f06d912da191706f4cac402be4817dcd2f8c42211f7fcbf3 + languageName: node + linkType: hard + +"@aws-sdk/middleware-sdk-s3@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.621.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-arn-parser": "npm:3.568.0" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/signature-v4": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-config-provider": "npm:^3.0.0" + "@smithy/util-stream": "npm:^3.1.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/942ffb6577dcf6509dac9d88630200eeb53936a110ea5d2e11c2fba5ff41a8a2b7b743b581708ec74b49336835c6c4502072b3c377da895b57b560db06dc3862 + languageName: node + linkType: hard + +"@aws-sdk/middleware-sdk-sqs@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.621.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-hex-encoding": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/248813b18bd2d4f2ab0cb38ff2279b54265919fd2c76b300f9a67b945f5150c65f0c2758036891030e165c360afd06b3d3763b6ccc06a1b70779692f641c2169 + languageName: node + linkType: hard + +"@aws-sdk/middleware-signing@npm:3.620.0": + version: 3.620.0 + resolution: "@aws-sdk/middleware-signing@npm:3.620.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/signature-v4": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-middleware": "npm:^3.0.3" + tslib: "npm:^2.6.2" + checksum: 10c0/1900aea1d665e846022ad59112ef357ee44a65505937d263013811971827a2268689320f6af1c09088c473966942540d1c06c583e1bcc640c4afefdb0bad0681 + languageName: node + linkType: hard + +"@aws-sdk/middleware-ssec@npm:3.609.0": + version: 3.609.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.609.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/7688628299c3d3352182634836d8a5ad89d69dfedd91d7386ffeaa8288160329eef7d399321b7841bb4c84c9741d7245ef218657a8df71248b5ce5f7273e303d + languageName: node + linkType: hard + +"@aws-sdk/middleware-user-agent@npm:3.620.0": + version: 3.620.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.620.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/c661d368c2fe12a925faa7f59509f507edf9cebc5a98650d5592eaf333cbb50a92dd3532e04de6e5b44686c7ab25fa5a6515df4e0790d1b6b0823e44efb3657c + languageName: node + linkType: hard + +"@aws-sdk/region-config-resolver@npm:3.614.0": + version: 3.614.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.614.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-config-provider": "npm:^3.0.0" + "@smithy/util-middleware": "npm:^3.0.3" + tslib: "npm:^2.6.2" + checksum: 10c0/555842b34c26398741fa3a1f629d27d210270516b453b0a7237672a4472ff8e204c5979fe1823baddf4d695d4d95a631fadfa78d1d27089d9e9cba28e736346e + languageName: node + linkType: hard + +"@aws-sdk/signature-v4-multi-region@npm:3.621.0": + version: 3.621.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.621.0" + dependencies: + "@aws-sdk/middleware-sdk-s3": "npm:3.621.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/signature-v4": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/f3f038c6a65a021e63fa2a73eee99b858d789d37f1758e9ea0a2e3a422c6a8ed1cd818132437613f9a6201df8723624fdb4e8d67075a7f1bed565f56d48598c0 + languageName: node + linkType: hard + +"@aws-sdk/token-providers@npm:3.614.0": + version: 3.614.0 + resolution: "@aws-sdk/token-providers@npm:3.614.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + peerDependencies: + "@aws-sdk/client-sso-oidc": ^3.614.0 + checksum: 10c0/b794bcb9ad05f57bfc415e9290d3ea177701bb3221a9c5e1d4529deb946bd418acb7ac7407adb8d2f3da7d3793a62c7c1b43a8c1a8fe7999e38485208811f59a + languageName: node + linkType: hard + +"@aws-sdk/types@npm:3.609.0, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.4.1, @aws-sdk/types@npm:^3.609.0": + version: 3.609.0 + resolution: "@aws-sdk/types@npm:3.609.0" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/293249118c2fc3cdc79ff9712e3a9f757a2f38e7d5d770507b3bb31d22b8c67ed6f9bdd83c1b6319236b8257d5cc7e2882c15e076200021e8bbf41e4780d430c + languageName: node + linkType: hard + +"@aws-sdk/util-arn-parser@npm:3.568.0": + version: 3.568.0 + resolution: "@aws-sdk/util-arn-parser@npm:3.568.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/4e6168b86a1ff4509f25b56e473c95bdcc0ecbaedcded29cbbd500eb7c156de63f2426282cd50489ac7f321a990056349974730f9e27ac3fe872ba3573b09fb6 + languageName: node + linkType: hard + +"@aws-sdk/util-endpoints@npm:3.614.0": + version: 3.614.0 + resolution: "@aws-sdk/util-endpoints@npm:3.614.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-endpoints": "npm:^2.0.5" + tslib: "npm:^2.6.2" + checksum: 10c0/95a893dc3cff00d2ad5b48c4ffd83e19e45da75de7dd112b93b09f9e2a8db200e3a9ea7116b0fa943b945fb100f678795cbca1fb7be07bddcaac2549f6533332 + languageName: node + linkType: hard + +"@aws-sdk/util-format-url@npm:3.609.0": + version: 3.609.0 + resolution: "@aws-sdk/util-format-url@npm:3.609.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/querystring-builder": "npm:^3.0.3" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/983c72e2394fbdf47ca82c81d9a3892a82289b660998f26675d64709c19db1ccf88e951dd9a12e4867c618f51ba142f62f9613978ed5472837bfc69f6243534b + languageName: node + linkType: hard + +"@aws-sdk/util-locate-window@npm:^3.0.0": + version: 3.568.0 + resolution: "@aws-sdk/util-locate-window@npm:3.568.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/cb1d0919498206fe266542a635cd05909456a06f007a6a550ff897a01390b239e51c2a50e47509e23c179f8df8001bd5fecd900045da5ec989c3f934c3fd3d56 + languageName: node + linkType: hard + +"@aws-sdk/util-user-agent-browser@npm:3.609.0": + version: 3.609.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.609.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/types": "npm:^3.3.0" + bowser: "npm:^2.11.0" + tslib: "npm:^2.6.2" + checksum: 10c0/ca2f2863d753521fd63e0c924ed6f9602cc9f5bb65f7d0111be140d037962cf6897f49929dde21e4d8e613895486d9053abd8965d34a9a6ecc4a81de401f0f16 + languageName: node + linkType: hard + +"@aws-sdk/util-user-agent-node@npm:3.614.0": + version: 3.614.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.614.0" + dependencies: + "@aws-sdk/types": "npm:3.609.0" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + peerDependencies: + aws-crt: ">=1.0.0" + peerDependenciesMeta: + aws-crt: + optional: true + checksum: 10c0/1e7b4d572a2915d921db814efbf771603b605aea114399aa357208433746f4b2990c927bdedd8616a6e50c98588032449b8994ce9ffae1cce7976986dc40adc1 + languageName: node + linkType: hard + +"@aws-sdk/xml-builder@npm:3.609.0": + version: 3.609.0 + resolution: "@aws-sdk/xml-builder@npm:3.609.0" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1d75f2dc7ff35557a1c437f108656574c737f0a9f9d0c91773cbdadbf3c42892e9305e1e1fd5b0c8b73520a902b1513d1a7d07864b964d6a369540ee23ad0ddb + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.18.6": + version: 7.21.4 + resolution: "@babel/code-frame@npm:7.21.4" + dependencies: + "@babel/highlight": "npm:^7.18.6" + checksum: 10c0/c357e4b3b7a56927cb26fcb057166fef3cc701a4e35b2fa8a87402c31be0fd41d0144c61c87bf7d3b2a8f1c4d9ef00592dc0c7e8b9500dae43340a1e9f1096de + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.12.13": + version: 7.24.7 + resolution: "@babel/code-frame@npm:7.24.7" + dependencies: + "@babel/highlight": "npm:^7.24.7" + picocolors: "npm:^1.0.0" + checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.22.13": + version: 7.22.13 + resolution: "@babel/code-frame@npm:7.22.13" + dependencies: + "@babel/highlight": "npm:^7.22.13" + chalk: "npm:^2.4.2" + checksum: 10c0/f4cc8ae1000265677daf4845083b72f88d00d311adb1a93c94eb4b07bf0ed6828a81ae4ac43ee7d476775000b93a28a9cddec18fbdc5796212d8dcccd5de72bd + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: 10c0/a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.3, @babel/compat-data@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/compat-data@npm:7.23.5" + checksum: 10c0/081278ed46131a890ad566a59c61600a5f9557bd8ee5e535890c8548192532ea92590742fd74bd9db83d74c669ef8a04a7e1c85cdea27f960233e3b83c3a957c + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2": + version: 7.23.9 + resolution: "@babel/core@npm:7.23.9" + dependencies: + "@ampproject/remapping": "npm:^2.2.0" + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helpers": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@babel/template": "npm:^7.23.9" + "@babel/traverse": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/03883300bf1252ab4c9ba5b52f161232dd52873dbe5cde9289bb2bb26e935c42682493acbac9194a59a3b6cbd17f4c4c84030db8d6d482588afe64531532ff9b + languageName: node + linkType: hard + +"@babel/generator@npm:7.17.7": + version: 7.17.7 + resolution: "@babel/generator@npm:7.17.7" + dependencies: + "@babel/types": "npm:^7.17.0" + jsesc: "npm:^2.5.1" + source-map: "npm:^0.5.0" + checksum: 10c0/8088453c4418e0ee6528506fbd5847bbdfd56327a0025ca9496a259261e162c594ffd08be0d63e74c32feced795616772f38acc5f5e493a86a45fd439fd9feb0 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.7.2": + version: 7.23.0 + resolution: "@babel/generator@npm:7.23.0" + dependencies: + "@babel/types": "npm:^7.23.0" + "@jridgewell/gen-mapping": "npm:^0.3.2" + "@jridgewell/trace-mapping": "npm:^0.3.17" + jsesc: "npm:^2.5.1" + checksum: 10c0/b7d8727c574119b5ef06e5d5d0d8d939527d51537db4b08273caebb18f3f2b1d4517b874776085e161fd47d28f26b22c08e7f270b64f43b2afd4a60c5936d6cd + languageName: node + linkType: hard + +"@babel/generator@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/generator@npm:7.23.6" + dependencies: + "@babel/types": "npm:^7.23.6" + "@jridgewell/gen-mapping": "npm:^0.3.2" + "@jridgewell/trace-mapping": "npm:^0.3.17" + jsesc: "npm:^2.5.1" + checksum: 10c0/53540e905cd10db05d9aee0a5304e36927f455ce66f95d1253bb8a179f286b88fa7062ea0db354c566fe27f8bb96567566084ffd259f8feaae1de5eccc8afbda + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/5a80dc364ddda26b334bbbc0f6426cab647381555ef7d0cd32eb284e35b867c012ce6ce7d52a64672ed71383099c99d32765b3d260626527bb0e3470b0f58e45 + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" + dependencies: + "@babel/types": "npm:^7.22.15" + checksum: 10c0/2535e3824ca6337f65786bbac98e562f71699f25532cecd196f027d7698b4967a96953d64e36567956658ad1a05ccbdc62d1ba79ee751c79f4f1d2d3ecc2e01c + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.22.15, @babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/helper-compilation-targets@npm:7.23.6" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-validator-option": "npm:^7.23.5" + browserslist: "npm:^4.22.2" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.23.6, @babel/helper-create-class-features-plugin@npm:^7.23.9": + version: 7.23.10 + resolution: "@babel/helper-create-class-features-plugin@npm:7.23.10" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-member-expression-to-functions": "npm:^7.23.0" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/f30437aa16f3585cc3382ea630f24457ef622c22f5e4eccffbc03f6a81efbef0b6714fb5a78baa64c838884ba7e1427e3280d7b27481b9f587bc8fbbed05dd36 + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": + version: 7.22.15 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + regexpu-core: "npm:^5.3.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/8eba4c1b7b94a83e7a82df5c3e504584ff0ba6ab8710a67ecc2c434a7fb841a29c2f5c94d2de51f25446119a1df538fa90b37bd570db22ddd5e7147fe98277c6 + languageName: node + linkType: hard + +"@babel/helper-define-polyfill-provider@npm:^0.5.0": + version: 0.5.0 + resolution: "@babel/helper-define-polyfill-provider@npm:0.5.0" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/2b053b96a0c604a7e0f5c7d13a8a55f4451d938f7af42bd40f62a87df15e6c87a0b1dbd893a0f0bb51077b54dc3ba00a58b166531a5940ad286ab685dd8979ec + languageName: node + linkType: hard + +"@babel/helper-environment-visitor@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-environment-visitor@npm:7.22.20" + checksum: 10c0/e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-function-name@npm:7.23.0" + dependencies: + "@babel/template": "npm:^7.22.15" + "@babel/types": "npm:^7.23.0" + checksum: 10c0/d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-hoist-variables@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" + dependencies: + "@babel/types": "npm:^7.23.0" + checksum: 10c0/b810daddf093ffd0802f1429052349ed9ea08ef7d0c56da34ffbcdecbdafac86f95bdea2fe30e0e0e629febc7dd41b56cb5eacc10d1a44336d37b755dac31fa4 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/helper-module-imports@npm:7.22.15" + dependencies: + "@babel/types": "npm:^7.22.15" + checksum: 10c0/4e0d7fc36d02c1b8c8b3006dfbfeedf7a367d3334a04934255de5128115ea0bafdeb3e5736a2559917f0653e4e437400d54542da0468e08d3cbc86d3bbfa8f30 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-simple-access": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-validator-identifier": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/31b41a764fc3c585196cf5b776b70cf4705c132e4ce9723f39871f215f2ddbfb2e28a62f9917610f67c8216c1080482b9b05f65dd195dae2a52cef461f2ac7b8 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.20.2 + resolution: "@babel/helper-plugin-utils@npm:7.20.2" + checksum: 10c0/bf4de040e57b7ddff36ea599e963c391eb246d5a95207bb9ef3e33073c451bcc0821e3a9cc08dfede862a6dcc110d7e6e7d9a483482f852be358c5b60add499c + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.22.5 + resolution: "@babel/helper-plugin-utils@npm:7.22.5" + checksum: 10c0/d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-wrap-function": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/aa93aa74250b636d477e8d863fbe59d4071f8c2654841b7ac608909e480c1cf3ff7d7af5a4038568829ad09d810bb681668cbe497d9c89ba5c352793dc9edf1e + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-replace-supers@npm:7.22.20" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-member-expression-to-functions": "npm:^7.22.15" + "@babel/helper-optimise-call-expression": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/6b0858811ad46873817c90c805015d63300e003c5a85c147a17d9845fa2558a02047c3cc1f07767af59014b2dd0fa75b503e5bc36e917f360e9b67bb6f1e79f4 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-simple-access@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 + languageName: node + linkType: hard + +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/ab7fa2aa709ab49bb8cd86515a1e715a3108c4bb9a616965ba76b43dc346dee66d1004ccf4d222b596b6224e43e04cbc5c3a34459501b388451f8c589fbc3691 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" + dependencies: + "@babel/types": "npm:^7.22.5" + checksum: 10c0/d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-string-parser@npm:7.22.5" + checksum: 10c0/6b0ff8af724377ec41e5587fffa7605198da74cb8e7d8d48a36826df0c0ba210eb9fedb3d9bef4d541156e0bd11040f021945a6cbb731ccec4aefb4affa17aa4 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: 10c0/f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.24.8": + version: 7.24.8 + resolution: "@babel/helper-string-parser@npm:7.24.8" + checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.16.7": + version: 7.19.1 + resolution: "@babel/helper-validator-identifier@npm:7.19.1" + checksum: 10c0/f978ecfea840f65b64ab9e17fac380625a45f4fe1361eeb29867fcfd1c9eaa72abd7023f2f40ac3168587d7e5153660d16cfccb352a557be2efd347a051b4b20 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.24.5, @babel/helper-validator-identifier@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/helper-validator-identifier@npm:7.24.7" + checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helper-validator-option@npm:7.23.5" + checksum: 10c0/af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-wrap-function@npm:7.22.20" + dependencies: + "@babel/helper-function-name": "npm:^7.22.5" + "@babel/template": "npm:^7.22.15" + "@babel/types": "npm:^7.22.19" + checksum: 10c0/97b5f42ff4d305318ff2f99a5f59d3e97feff478333b2d893c4f85456d3c66372070f71d7bf9141f598c8cf2741c49a15918193633c427a88d170d98eb8c46eb + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/helpers@npm:7.23.9" + dependencies: + "@babel/template": "npm:^7.23.9" + "@babel/traverse": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + checksum: 10c0/f69fd0aca96a6fb8bd6dd044cd8a5c0f1851072d4ce23355345b9493c4032e76d1217f86b70df795e127553cf7f3fcd1587ede9d1b03b95e8b62681ca2165b87 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.18.6": + version: 7.24.5 + resolution: "@babel/highlight@npm:7.24.5" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.5" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/e98047d3ad24608bfa596d000c861a2cc875af897427f2833b91a4e0d4cead07301a7ec15fa26093dcd61e036e2eed2db338ae54f93016fe0dc785fadc4159db + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.22.13": + version: 7.22.20 + resolution: "@babel/highlight@npm:7.22.20" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: 10c0/f3c3a193afad23434297d88e81d1d6c0c2cf02423de2139ada7ce0a7fc62d8559abf4cc996533c1a9beca7fc990010eb8d544097f75e818ac113bf39ed810aa2 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: 10c0/fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.24.7": + version: 7.24.7 + resolution: "@babel/highlight@npm:7.24.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.24.7" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.0.0" + checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": + version: 7.23.0 + resolution: "@babel/parser@npm:7.23.0" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/ab4ea9360ed4ba3c728c5a9bf33035103ebde20a7e943c4ae1d42becb02a313d731d12a93c795c5a19777031e4022e64b92a52262eda902522a1a18649826283 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/parser@npm:7.23.9" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/356a4e9fc52d7ca761ce6857fc58e2295c2785d22565760e6a5680be86c6e5883ab86e0ba25ef572882c01713d3a31ae6cfa3e3222cdb95e6026671dab1fa415 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/plugin-transform-optional-chaining": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.13.0 + checksum: 10c0/a8785f099d55ca71ed89815e0f3a636a80c16031f80934cfec17c928d096ee0798964733320c8b145ef36ba429c5e19d5107b06231e0ab6777cfb0f01adfdc23 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.23.7": + version: 7.23.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.23.7" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/355746e21ad7f43e4f4daef54cfe2ef461ecd19446b2afedd53c39df1bf9aa2eeeeaabee2279b1321de89a97c9360e4f76e9ba950fee50ff1676c25f6929d625 + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:^7.22.7": + version: 7.23.9 + resolution: "@babel/plugin-proposal-decorators@npm:7.23.9" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.23.9" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-decorators": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3e5d7f077bc8a98c72b2de275095bf2556b39fcc1c2b0f77ea73b171ff872548288ac228d13af24e3c6f657807f93ada21fbb35cb5201a63ce858caae6afbde1 + languageName: node + linkType: hard + +"@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": + version: 7.21.0-placeholder-for-preset-env.2 + resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e605e0070da087f6c35579499e65801179a521b6842c15181a1e305c04fded2393f11c1efd09b087be7f8b083d1b75e8f3efcbc1292b4f60d3369e14812cff63 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13, @babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-decorators@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/86299c050b0a5b6565d6b9e3529f2d6dca4780215ab88050bdd0ae9a576868a17f9cd1e140857089cc5d06bdfeb89f0711285f99481b82316896a552a62e449f + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9c50927bf71adf63f60c75370e2335879402648f468d0172bc912e303c6a3876927d8eb35807331b57f415392732ed05ab9b42c68ac30a936813ab549e0246c5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5100d658ba563829700cd8d001ddc09f4c0187b1a13de300d729c5b3e87503f75a6d6c99c1794182f7f1a9f546ee009df4f15a0ce36376e206ed0012fa7cdc24 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-assertions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7db8b59f75667bada2293353bb66b9d5651a673b22c72f47da9f5c46e719142481601b745f9822212fd7522f92e26e8576af37116f85dae1b5e5967f80d0faab + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/99b40d33d79205a8e04bb5dea56fd72906ffc317513b20ca7319e7683e18fce8ea2eea5e9171056f92b979dc0ab1e31b2cb5171177a5ba61e05b54fe7850a606 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4, @babel/plugin-syntax-import-meta@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/563bb7599b868773f1c7c1d441ecc9bc53aeb7832775da36752c926fc402a1fa5421505b39e724f71eb217c13e4b93117e081cac39723b0e11dac4c897f33c3e + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.21.4 + resolution: "@babel/plugin-syntax-jsx@npm:7.21.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.20.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e5dbec5e1c53f114413dc3cc71f43b483d2f0784d5efdcd92c95a55b148d0f1987d136236ace24778d3365dc3d37b0b4d8cc1e0594267860f9f131ef5f5dfc73 + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5, @babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.23.3, @babel/plugin-syntax-typescript@npm:^7.3.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4d6e9cdb9d0bfb9bd9b220fc951d937fce2ca69135ec121153572cebe81d86abc9a489208d6b69ee5f10cadcaeffa10d0425340a5029e40e14a6025021b90948 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.21.4 + resolution: "@babel/plugin-syntax-typescript@npm:7.21.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.20.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a4561a8ff7833e3644b8cb50482a405403ef8216271f6b53ad2c35bd0689323b32a1f4cc52569b5120df2c577f1a80c5795cac474ede6334268f42faf389d56f + languageName: node + linkType: hard + +"@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": + version: 7.18.6 + resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.18.6" + "@babel/helper-plugin-utils": "npm:^7.18.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/9144e5b02a211a4fb9a0ce91063f94fbe1004e80bde3485a0910c9f14897cf83fabd8c21267907cff25db8e224858178df0517f14333cfcf3380ad9a4139cb50 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b128315c058f5728d29b0b78723659b11de88247ea4d0388f0b935cddf60a80c40b9067acf45cbbe055bd796928faef152a09d9e4a0695465aca4394d9f109ca + languageName: node + linkType: hard + +"@babel/plugin-transform-async-generator-functions@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.9" + dependencies: + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ff75f9ce500e1de8c0236fa5122e6475a477d19cb9a4c2ae8651e78e717ebb2e2cecfeca69d420def779deaec78b945843b9ffd15f02ecd7de5072030b4469b + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.23.3" + dependencies: + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/da3ffd413eef02a8e2cfee3e0bb0d5fc0fcb795c187bc14a5a8e8874cdbdc43bbf00089c587412d7752d97efc5967c3c18ff5398e3017b9a14a06126f017e7e9 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/82c12a11277528184a979163de7189ceb00129f60dd930b0d5313454310bf71205f302fb2bf0430247161c8a22aaa9fb9eec1459f9f7468206422c191978fd59 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-block-scoping@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/83006804dddf980ab1bcd6d67bc381e24b58c776507c34f990468f820d0da71dba3697355ca4856532fa2eeb2a1e3e73c780f03760b5507a511cbedb0308e276 + languageName: node + linkType: hard + +"@babel/plugin-transform-class-properties@npm:^7.22.5, @babel/plugin-transform-class-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-class-properties@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bca30d576f539eef216494b56d610f1a64aa9375de4134bc021d9660f1fa735b1d7cc413029f22abc0b7cb737e3a57935c8ae9d8bd1730921ccb1deebce51bfd + languageName: node + linkType: hard + +"@babel/plugin-transform-class-static-block@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-class-static-block@npm:7.23.4" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.12.0 + checksum: 10c0/fdca96640ef29d8641a7f8de106f65f18871b38cc01c0f7b696d2b49c76b77816b30a812c08e759d06dd10b4d9b3af6b5e4ac22a2017a88c4077972224b77ab0 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.23.8": + version: 7.23.8 + resolution: "@babel/plugin-transform-classes@npm:7.23.8" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/227ac5166501e04d9e7fbd5eda6869b084ffa4af6830ac12544ac6ea14953ca00eb1762b0df9349c0f6c8d2a799385910f558066cd0fb85b9ca437b1131a6043 + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-computed-properties@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/template": "npm:^7.22.15" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3ca8a006f8e652b58c21ecb84df1d01a73f0a96b1d216fd09a890b235dd90cb966b152b603b88f7e850ae238644b1636ce5c30b7c029c0934b43383932372e4a + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-destructuring@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/717e9a62c1b0c93c507f87b4eaf839ec08d3c3147f14d74ae240d8749488d9762a8b3950132be620a069bde70f4b3e4ee9867b226c973fcc40f3cdec975cde71 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6c89286d1277c2a63802a453c797c87c1203f89e4c25115f7b6620f5fce15d8c8d37af613222f6aa497aa98773577a6ec8752e79e13d59bc5429270677ea010b + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/7e2640e4e6adccd5e7b0615b6e9239d7c98363e21c52086ea13759dfa11cf7159b255fc5331c2de435639ea8eb6acefae115ae0d797a3d19d12587652f8052a5 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/19ae4a4a2ca86d35224734c41c48b2aa6a13139f3cfa1cbd18c0e65e461de8b65687dec7e52b7a72bb49db04465394c776aa1b13a2af5dc975b2a0cde3dcab67 + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.23.3" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5c33ee6a1bdc52fcdf0807f445b27e3fbdce33008531885e65a699762327565fffbcfde8395be7f21bcb22d582e425eddae45650c986462bb84ba68f43687516 + languageName: node + linkType: hard + +"@babel/plugin-transform-export-namespace-from@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/38bf04f851e36240bbe83ace4169da626524f4107bfb91f05b4ad93a5fb6a36d5b3d30b8883c1ba575ccfc1bac7938e90ca2e3cb227f7b3f4a9424beec6fd4a7 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/plugin-transform-for-of@npm:7.23.6" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46681b6ab10f3ca2d961f50d4096b62ab5d551e1adad84e64be1ee23e72eb2f26a1e30e617e853c74f1349fffe4af68d33921a128543b6f24b6d46c09a3e2aec + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-function-name@npm:7.23.3" + dependencies: + "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/89cb9747802118048115cf92a8f310752f02030549b26f008904990cbdc86c3d4a68e07ca3b5c46de8a46ed4df2cb576ac222c74c56de67253d2a3ddc2956083 + languageName: node + linkType: hard + +"@babel/plugin-transform-json-strings@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-json-strings@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/39e82223992a9ad857722ae051291935403852ad24b0dd64c645ca1c10517b6bf9822377d88643fed8b3e61a4e3f7e5ae41cf90eb07c40a786505d47d5970e54 + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8292106b106201464c2bfdd5c014fe6a9ca1c0256eb0a8031deb20081e21906fe68b156186f77d993c23eeab6d8d6f5f66e8895eec7ed97ce6de5dbcafbcd7f4 + languageName: node + linkType: hard + +"@babel/plugin-transform-logical-assignment-operators@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/87b034dd13143904e405887e6125d76c27902563486efc66b7d9a9d8f9406b76c6ac42d7b37224014af5783d7edb465db0cdecd659fa3227baad0b3a6a35deff + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/687f24f3ec60b627fef6e87b9e2770df77f76727b9d5f54fa4c84a495bb24eb4a20f1a6240fa22d339d45aac5eaeb1b39882e941bfd00cf498f9c53478d1ec88 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-amd@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9f7ec036f7cfc588833a4dd117a44813b64aa4c1fd5bfb6c78f60198c1d290938213090c93a46f97a68a2490fad909e21a82b2472e95da74d108c125df21c8d5 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-simple-access": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5c8840c5c9ecba39367ae17c973ed13dbc43234147b77ae780eec65010e2a9993c5d717721b23e8179f7cf49decdd325c509b241d69cfbf92aa647a1d8d5a37d + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.9" + dependencies: + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1926631fe9d87c0c53427a3420ad49da62d53320d0016b6afab64e5417a672aa5bdff3ea1d24746ffa1e43319c28a80f5d8cef0ad214760d399c293b5850500f + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-umd@npm:7.23.3" + dependencies: + "@babel/helper-module-transforms": "npm:^7.23.3" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f0d2f890a15b4367d0d8f160bed7062bdb145c728c24e9bfbc1211c7925aae5df72a88df3832c92dd2011927edfed4da1b1249e4c78402e893509316c0c2caa6 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b0b072bef303670b5a98307bc37d1ac326cb7ad40ea162b89a03c2ffc465451be7ef05be95cb81ed28bfeb29670dc98fe911f793a67bceab18b4cb4c81ef48f3 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-new-target@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f489b9e1f17b42b2ba6312d58351e757cb23a8409f64f2bb6af4c09d015359588a5d68943b20756f141d0931a94431c782f3ed1225228a930a04b07be0c31b04 + languageName: node + linkType: hard + +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bce490d22da5c87ff27fffaff6ad5a4d4979b8d7b72e30857f191e9c1e1824ba73bb8d7081166289369e388f94f0ce5383a593b1fc84d09464a062c75f824b0b + languageName: node + linkType: hard + +"@babel/plugin-transform-numeric-separator@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e34902da4f5588dc4812c92cb1f6a5e3e3647baf7b4623e30942f551bf1297621abec4e322ebfa50b320c987c0f34d9eb4355b3d289961d9035e2126e3119c12 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-rest-spread@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.23.4" + dependencies: + "@babel/compat-data": "npm:^7.23.3" + "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-transform-parameters": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b56017992ffe7fcd1dd9a9da67c39995a141820316266bcf7d77dc912980d228ccbd3f36191d234f5cc389b09157b5d2a955e33e8fb368319534affd1c72b262 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-object-super@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-replace-supers": "npm:^7.22.20" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a6856fd8c0afbe5b3318c344d4d201d009f4051e2f6ff6237ff2660593e93c5997a58772b13d639077c3e29ced3440247b29c496cd77b13af1e7559a70009775 + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-catch-binding@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4ef61812af0e4928485e28301226ce61139a8b8cea9e9a919215ebec4891b9fea2eb7a83dc3090e2679b7d7b2c8653da601fbc297d2addc54a908b315173991e + languageName: node + linkType: hard + +"@babel/plugin-transform-optional-chaining@npm:^7.23.3, @babel/plugin-transform-optional-chaining@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/305b773c29ad61255b0e83ec1e92b2f7af6aa58be4cba1e3852bddaa14f7d2afd7b4438f41c28b179d6faac7eb8d4fb5530a17920294f25d459b8f84406bfbfb + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-parameters@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a8d4cbe0f6ba68d158f5b4215c63004fc37a1fdc539036eb388a9792017c8496ea970a1932ccb929308f61e53dc56676ed01d8df6f42bc0a85c7fd5ba82482b7 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-methods@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-private-methods@npm:7.23.3" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/745a655edcd111b7f91882b921671ca0613079760d8c9befe336b8a9bc4ce6bb49c0c08941831c950afb1b225b4b2d3eaac8842e732db095b04db38efd8c34f4 + languageName: node + linkType: hard + +"@babel/plugin-transform-private-property-in-object@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.23.4" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-create-class-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8d31b28f24204b4d13514cd3a8f3033abf575b1a6039759ddd6e1d82dd33ba7281f9bc85c9f38072a665d69bfa26dc40737eefaf9d397b024654a483d2357bf5 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-property-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b2549f23f90cf276c2e3058c2225c3711c2ad1c417e336d3391199445a9776dd791b83be47b2b9a7ae374b40652d74b822387e31fa5267a37bf49c122e1a9747 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-regenerator@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + regenerator-transform: "npm:^0.15.2" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3b0e989ae5db78894ee300b24e07fbcec490c39ab48629c519377581cf94e90308f4ddc10a8914edc9f403e2d3ac7a7ae0ae09003629d852da03e2ba846299c6 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-reserved-words@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4e6d61f6c9757592661cfbd2c39c4f61551557b98cb5f0995ef10f5540f67e18dde8a42b09716d58943b6e4b7ef5c9bcf19902839e7328a4d49149e0fecdbfcd + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.23.2": + version: 7.23.9 + resolution: "@babel/plugin-transform-runtime@npm:7.23.9" + dependencies: + "@babel/helper-module-imports": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + babel-plugin-polyfill-corejs2: "npm:^0.4.8" + babel-plugin-polyfill-corejs3: "npm:^0.9.0" + babel-plugin-polyfill-regenerator: "npm:^0.5.5" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3b959c2b88ea0009c288fa190d9f69b0d26cb336b8a7cab54a5e54b844f33cce1996725c15305a40049c8f23ca30082ee27e1f6853ff35fad723543e3d2dba47 + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c423c66fec0b6503f50561741754c84366ef9e9818442c8881fbaa90cc363fd137084b9431cdc00ed2f1fd8c8a1a5982c4a7e1f2af3769db4caf2ac7ea55d4f0 + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-spread@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a348e4ae47e4ceeceb760506ec7bf835ccc18a2cf70ec74ebfbe41bc172fa2412b05b7d1b86836f8aee375e41a04ff20486074778d0e2d19d668b33dc52e9dbb + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cd15c407906b41e4b924ea151e455c11274dba050771ee7154ad88a1a274140ac5e84efc8d08c4379f2f0cec8a09e4a0a3b2a3a954ba6a67d9fb35df1c714c56 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-template-literals@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9b5f43788b9ffcb8f2b445a16b1aa40fcf23cb0446a4649445f098ec6b4cb751f243a535da623d59fefe48f4c40552f5621187a61811779076bab26863e3373d + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/50e81d84c6059878be2a0e41e0d790cab10882cfb8fa85e8c2665ccb0b3cd7233f49197f17427bc7c1b36c80e07076640ecf1b641888d78b9cb91bc16478d84a + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.23.3": + version: 7.23.6 + resolution: "@babel/plugin-transform-typescript@npm:7.23.6" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-create-class-features-plugin": "npm:^7.23.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/plugin-syntax-typescript": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e08f7a981fe157e32031070b92cd77030018b002d063e4be3711ffb7ec04539478b240d8967a4748abb56eccc0ba376f094f30711ef6a028b2a89d15d6ddc01f + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-escapes@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f1ed54742dc982666f471df5d087cfda9c6dbf7842bec2d0f7893ed359b142a38c0210358f297ab5c7a3e11ec0dfb0e523de2e2edf48b62f257aaadd5f068866 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-property-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/dca5702d43fac70351623a12e4dfa454fd028a67498888522b644fd1a02534fabd440106897e886ebcc6ce6a39c58094ca29953b6f51bc67372aa8845a5ae49f + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/df824dcca2f6e731f61d69103e87d5dd974d8a04e46e28684a4ba935ae633d876bded09b8db890fd72d0caf7b9638e2672b753671783613cc78d472951e2df8c + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-sets-regex@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.23.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" + "@babel/helper-plugin-utils": "npm:^7.22.5" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/30fe1d29af8395a867d40a63a250ca89072033d9bc7d4587eeebeaf4ad7f776aab83064321bfdb1d09d7e29a1d392852361f4f60a353f0f4d1a3b435dcbf256b + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.23.2": + version: 7.23.9 + resolution: "@babel/preset-env@npm:7.23.9" + dependencies: + "@babel/compat-data": "npm:^7.23.5" + "@babel/helper-compilation-targets": "npm:^7.23.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-validator-option": "npm:^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.23.7" + "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" + "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" + "@babel/plugin-syntax-import-assertions": "npm:^7.23.3" + "@babel/plugin-syntax-import-attributes": "npm:^7.23.3" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" + "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" + "@babel/plugin-transform-async-generator-functions": "npm:^7.23.9" + "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" + "@babel/plugin-transform-block-scoping": "npm:^7.23.4" + "@babel/plugin-transform-class-properties": "npm:^7.23.3" + "@babel/plugin-transform-class-static-block": "npm:^7.23.4" + "@babel/plugin-transform-classes": "npm:^7.23.8" + "@babel/plugin-transform-computed-properties": "npm:^7.23.3" + "@babel/plugin-transform-destructuring": "npm:^7.23.3" + "@babel/plugin-transform-dotall-regex": "npm:^7.23.3" + "@babel/plugin-transform-duplicate-keys": "npm:^7.23.3" + "@babel/plugin-transform-dynamic-import": "npm:^7.23.4" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.23.3" + "@babel/plugin-transform-export-namespace-from": "npm:^7.23.4" + "@babel/plugin-transform-for-of": "npm:^7.23.6" + "@babel/plugin-transform-function-name": "npm:^7.23.3" + "@babel/plugin-transform-json-strings": "npm:^7.23.4" + "@babel/plugin-transform-literals": "npm:^7.23.3" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.23.4" + "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3" + "@babel/plugin-transform-modules-amd": "npm:^7.23.3" + "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.23.9" + "@babel/plugin-transform-modules-umd": "npm:^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" + "@babel/plugin-transform-new-target": "npm:^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.23.4" + "@babel/plugin-transform-numeric-separator": "npm:^7.23.4" + "@babel/plugin-transform-object-rest-spread": "npm:^7.23.4" + "@babel/plugin-transform-object-super": "npm:^7.23.3" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.23.4" + "@babel/plugin-transform-optional-chaining": "npm:^7.23.4" + "@babel/plugin-transform-parameters": "npm:^7.23.3" + "@babel/plugin-transform-private-methods": "npm:^7.23.3" + "@babel/plugin-transform-private-property-in-object": "npm:^7.23.4" + "@babel/plugin-transform-property-literals": "npm:^7.23.3" + "@babel/plugin-transform-regenerator": "npm:^7.23.3" + "@babel/plugin-transform-reserved-words": "npm:^7.23.3" + "@babel/plugin-transform-shorthand-properties": "npm:^7.23.3" + "@babel/plugin-transform-spread": "npm:^7.23.3" + "@babel/plugin-transform-sticky-regex": "npm:^7.23.3" + "@babel/plugin-transform-template-literals": "npm:^7.23.3" + "@babel/plugin-transform-typeof-symbol": "npm:^7.23.3" + "@babel/plugin-transform-unicode-escapes": "npm:^7.23.3" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.23.3" + "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" + "@babel/preset-modules": "npm:0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2: "npm:^0.4.8" + babel-plugin-polyfill-corejs3: "npm:^0.9.0" + babel-plugin-polyfill-regenerator: "npm:^0.5.5" + core-js-compat: "npm:^3.31.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2837a42089180e51bfd6864b6d197e01fc0abec1920422e71c0513c2fc8fb5f3bfe694ed778cc4e45856c546964945bc53bf8105e4b26f3580ce3685fa50cc0f + languageName: node + linkType: hard + +"@babel/preset-modules@npm:0.1.6-no-external-plugins": + version: 0.1.6-no-external-plugins + resolution: "@babel/preset-modules@npm:0.1.6-no-external-plugins" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/types": "npm:^7.4.4" + esutils: "npm:^2.0.2" + peerDependencies: + "@babel/core": ^7.0.0-0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/9d02f70d7052446c5f3a4fb39e6b632695fb6801e46d31d7f7c5001f7c18d31d1ea8369212331ca7ad4e7877b73231f470b0d559162624128f1b80fe591409e6 + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.22.5": + version: 7.23.3 + resolution: "@babel/preset-typescript@npm:7.23.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-validator-option": "npm:^7.22.15" + "@babel/plugin-syntax-jsx": "npm:^7.23.3" + "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" + "@babel/plugin-transform-typescript": "npm:^7.23.3" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e72b654c7f0f08b35d7e1c0e3a59c0c13037f295c425760b8b148aa7dde01e6ddd982efc525710f997a1494fafdd55cb525738c016609e7e4d703d02014152b7 + languageName: node + linkType: hard + +"@babel/regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "@babel/regjsgen@npm:0.8.0" + checksum: 10c0/4f3ddd8c7c96d447e05c8304c1d5ba3a83fcabd8a716bc1091c2f31595cdd43a3a055fff7cb5d3042b8cb7d402d78820fcb4e05d896c605a7d8bcf30f2424c4a + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4": + version: 7.23.9 + resolution: "@babel/runtime@npm:7.23.9" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/e71205fdd7082b2656512cc98e647d9ea7e222e4fe5c36e9e5adc026446fcc3ba7b3cdff8b0b694a0b78bb85db83e7b1e3d4c56ef90726682b74f13249cf952d + languageName: node + linkType: hard + +"@babel/template@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/template@npm:7.22.15" + dependencies: + "@babel/code-frame": "npm:^7.22.13" + "@babel/parser": "npm:^7.22.15" + "@babel/types": "npm:^7.22.15" + checksum: 10c0/9312edd37cf1311d738907003f2aa321a88a42ba223c69209abe4d7111db019d321805504f606c7fd75f21c6cf9d24d0a8223104cd21ebd207e241b6c551f454 + languageName: node + linkType: hard + +"@babel/template@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/template@npm:7.23.9" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + checksum: 10c0/0e8b60119433787742bc08ae762bbd8d6755611c4cabbcb7627b292ec901a55af65d93d1c88572326069efb64136ef151ec91ffb74b2df7689bbab237030833a + languageName: node + linkType: hard + +"@babel/template@npm:^7.3.3": + version: 7.20.7 + resolution: "@babel/template@npm:7.20.7" + dependencies: + "@babel/code-frame": "npm:^7.18.6" + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + checksum: 10c0/1c6dcf9ac92769e6ab5e3d9048975537d26ab00b869646462ab4583d45e419c01db5144715ec0d70548835a3098c5d5416148c4a0b996a95e8e0b9dc8d042dd3 + languageName: node + linkType: hard + +"@babel/traverse@npm:7.23.2": + version: 7.23.2 + resolution: "@babel/traverse@npm:7.23.2" + dependencies: + "@babel/code-frame": "npm:^7.22.13" + "@babel/generator": "npm:^7.23.0" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.23.0" + "@babel/types": "npm:^7.23.0" + debug: "npm:^4.1.0" + globals: "npm:^11.1.0" + checksum: 10c0/d096c7c4bab9262a2f658298a3c630ae4a15a10755bb257ae91d5ab3e3b2877438934859c8d34018b7727379fe6b26c4fa2efc81cf4c462a7fe00caf79fa02ff + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/traverse@npm:7.23.9" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-environment-visitor": "npm:^7.22.20" + "@babel/helper-function-name": "npm:^7.23.0" + "@babel/helper-hoist-variables": "npm:^7.22.5" + "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + debug: "npm:^4.3.1" + globals: "npm:^11.1.0" + checksum: 10c0/d1615d1d02f04d47111a7ea4446a1a6275668ca39082f31d51f08380de9502e19862be434eaa34b022ce9a17dbb8f9e2b73a746c654d9575f3a680a7ffdf5630 + languageName: node + linkType: hard + +"@babel/types@npm:7.17.0": + version: 7.17.0 + resolution: "@babel/types@npm:7.17.0" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.16.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/ad09224272b40fedb00b262677d12b6838f5b5df5c47d67059ba1181bd4805439993393a8de32459dae137b536d60ebfcaf39ae84d8b3873f1e81cc75f5aeae8 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3": + version: 7.23.0 + resolution: "@babel/types@npm:7.23.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.22.5" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/70e4db41acb6793d0eb8d81a2fa88f19ee661219b84bd5f703dbdb54eb3a4d3c0dfc55e69034c945b479df9f43fd4b1376480aaccfc19797ce5af1c5d2576b36 + languageName: node + linkType: hard + +"@babel/types@npm:^7.22.19, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.4.4": + version: 7.23.9 + resolution: "@babel/types@npm:7.23.9" + dependencies: + "@babel/helper-string-parser": "npm:^7.23.4" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 + languageName: node + linkType: hard + +"@babel/types@npm:^7.8.3": + version: 7.25.2 + resolution: "@babel/types@npm:7.25.2" + dependencies: + "@babel/helper-string-parser": "npm:^7.24.8" + "@babel/helper-validator-identifier": "npm:^7.24.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/e489435856be239f8cc1120c90a197e4c2865385121908e5edb7223cfdff3768cba18f489adfe0c26955d9e7bbb1fb10625bc2517505908ceb0af848989bd864 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 + languageName: node + linkType: hard + +"@emnapi/core@npm:^1.1.0": + version: 1.2.0 + resolution: "@emnapi/core@npm:1.2.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.0.1" + tslib: "npm:^2.4.0" + checksum: 10c0/a9cf024c1982cd965f6888d1b4514926ad3675fa9d0bd792c9a0770fb592c4c4d20aa1e97a225a7682f9c7900231751434820d5558fd5a00929c2ee976ce5265 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.1.0": + version: 1.2.0 + resolution: "@emnapi/runtime@npm:1.2.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.0.1": + version: 1.0.1 + resolution: "@emnapi/wasi-threads@npm:1.0.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/1e0c8036b8d53e9b07cc9acf021705ef6c86ab6b13e1acda7fffaf541a2d3565072afb92597419173ced9ea14f6bf32fce149106e669b5902b825e8b499e5c6c + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: "npm:^3.3.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": + version: 4.11.0 + resolution: "@eslint-community/regexpp@npm:4.11.0" + checksum: 10c0/0f6328869b2741e2794da4ad80beac55cba7de2d3b44f796a60955b0586212ec75e6b0253291fd4aad2100ad471d1480d8895f2b54f1605439ba4c875e05e523 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + languageName: node + linkType: hard + +"@eslint/js@npm:8.57.0": + version: 8.57.0 + resolution: "@eslint/js@npm:8.57.0" + checksum: 10c0/9a518bb8625ba3350613903a6d8c622352ab0c6557a59fe6ff6178bf882bf57123f9d92aa826ee8ac3ee74b9c6203fe630e9ee00efb03d753962dcf65ee4bd94 + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.11.14": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.2" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.3 + resolution: "@humanwhocodes/object-schema@npm:2.0.3" + checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: "npm:^5.3.1" + find-up: "npm:^4.1.0" + get-package-type: "npm:^0.1.0" + js-yaml: "npm:^3.13.1" + resolve-from: "npm:^5.0.0" + checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a + languageName: node + linkType: hard + +"@jest/console@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/console@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c + languageName: node + linkType: hard + +"@jest/core@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/core@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/reporters": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-changed-files: "npm:^29.7.0" + jest-config: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-resolve-dependencies: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-ansi: "npm:^6.0.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 + languageName: node + linkType: hard + +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" + dependencies: + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a + languageName: node + linkType: hard + +"@jest/expect@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect@npm:29.7.0" + dependencies: + expect: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@sinonjs/fake-timers": "npm:^10.0.2" + "@types/node": "npm:*" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c + languageName: node + linkType: hard + +"@jest/globals@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/globals@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + jest-mock: "npm:^29.7.0" + checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea + languageName: node + linkType: hard + +"@jest/reporters@npm:^29.4.1, @jest/reporters@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/reporters@npm:29.7.0" + dependencies: + "@bcoe/v8-coverage": "npm:^0.2.3" + "@jest/console": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + collect-v8-coverage: "npm:^1.0.0" + exit: "npm:^0.1.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^6.0.0" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.1.3" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + slash: "npm:^3.0.0" + string-length: "npm:^4.0.1" + strip-ansi: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.0.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/source-map@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/source-map@npm:29.6.3" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" + callsites: "npm:^3.0.0" + graceful-fs: "npm:^4.2.9" + checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 + languageName: node + linkType: hard + +"@jest/test-result@npm:^29.4.1, @jest/test-result@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-result@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + collect-v8-coverage: "npm:^1.0.0" + checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-sequencer@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b + languageName: node + linkType: hard + +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.2": + version: 0.3.3 + resolution: "@jridgewell/gen-mapping@npm:0.3.3" + dependencies: + "@jridgewell/set-array": "npm:^1.0.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 10c0/376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: 10c0/78055e2526108331126366572045355051a930f017d1904a4f753d3f4acee8d92a14854948095626f6163cffc24ea4e3efa30637417bb866b84743dec7ef6fd9 + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 10c0/bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:1.4.14": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 10c0/3fbaff1387c1338b097eeb6ff92890d7838f7de0dde259e4983763b44540bfd5ca6a1f7644dc8ad003a57f7e80670d5b96a8402f1386ba9aee074743ae9bad51 + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.18 + resolution: "@jridgewell/trace-mapping@npm:0.3.18" + dependencies: + "@jridgewell/resolve-uri": "npm:3.1.0" + "@jridgewell/sourcemap-codec": "npm:1.4.14" + checksum: 10c0/e5045775f076022b6c7cc64a7b55742faa5442301cb3389fd0e6712fafc46a2bb13c68fa1ffaf7b8bb665a91196f050b4115885fc802094ebc06a1cf665935ac + languageName: node + linkType: hard + +"@middy/core@npm:^4.7.0": + version: 4.7.0 + resolution: "@middy/core@npm:4.7.0" + checksum: 10c0/61519a9258f0bd7a9eec3a0400f326659ef91210c4000777423d0d7147a1609bc7cf1074eeb27f6a7e897b84fa5d90ba70e00d85db0c617f95254cdf34a7afcc + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:0.2.4, @napi-rs/wasm-runtime@npm:^0.2.4": + version: 0.2.4 + resolution: "@napi-rs/wasm-runtime@npm:0.2.4" + dependencies: + "@emnapi/core": "npm:^1.1.0" + "@emnapi/runtime": "npm:^1.1.0" + "@tybys/wasm-util": "npm:^0.9.0" + checksum: 10c0/1040de49b2ef509db207e2517465dbf7fb3474f20e8ec32897672a962ff4f59872385666dac61dc9dbeae3cae5dad265d8dc3865da756adeb07d1634c67b03a1 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + languageName: node + linkType: hard + +"@nrwl/devkit@npm:19.5.4": + version: 19.5.4 + resolution: "@nrwl/devkit@npm:19.5.4" + dependencies: + "@nx/devkit": "npm:19.5.4" + checksum: 10c0/aaafd2077836b63fcc5ad9fbd40613eb9bc677efb317a0c0e111cf1ab8a1619d5d60d5fdd564294f8e03d0f940180e4e6d02456456432a810b5c2d0aeba06b2b + languageName: node + linkType: hard + +"@nrwl/jest@npm:19.5.4": + version: 19.5.4 + resolution: "@nrwl/jest@npm:19.5.4" + dependencies: + "@nx/jest": "npm:19.5.4" + checksum: 10c0/28cf7acade300da7e858880510d257aaf48e12da2c69dc9b2f7fdc571b8f461ab8d94cde527075768afe69b2c2c1729cfbb93d961017e020ce9059b367e39fb6 + languageName: node + linkType: hard + +"@nrwl/js@npm:19.5.4": + version: 19.5.4 + resolution: "@nrwl/js@npm:19.5.4" + dependencies: + "@nx/js": "npm:19.5.4" + checksum: 10c0/81ed26bb3700ae6305f8f2c30fe23aa3ca030d6f7bb137e1828bff26c9859af7df16af07edb8f86dcab666e8350cd960299a1f1500b76a135ec039f6afd2f4d4 + languageName: node + linkType: hard + +"@nrwl/tao@npm:19.5.4": + version: 19.5.4 + resolution: "@nrwl/tao@npm:19.5.4" + dependencies: + nx: "npm:19.5.4" + tslib: "npm:^2.3.0" + bin: + tao: index.js + checksum: 10c0/f479462581af5ef026fb8d197dc805d084fb5a45a2e49b851a785c330bca854ed5c0721499dbafeaf97a2c72606df29f8572bf1e3b3658ac21417524410cacb6 + languageName: node + linkType: hard + +"@nrwl/workspace@npm:19.5.4": + version: 19.5.4 + resolution: "@nrwl/workspace@npm:19.5.4" + dependencies: + "@nx/workspace": "npm:19.5.4" + checksum: 10c0/ca508973c9d71faab40a132024b628d8a92ad67adf43431ba372c5453ec399484c1ea753ff87df9157c9dd153e4944a90bc6c1585edb793e5e79f0f001472c64 + languageName: node + linkType: hard + +"@nx/devkit@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/devkit@npm:19.5.4" + dependencies: + "@nrwl/devkit": "npm:19.5.4" + ejs: "npm:^3.1.7" + enquirer: "npm:~2.3.6" + ignore: "npm:^5.0.4" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.3" + tmp: "npm:~0.2.1" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + peerDependencies: + nx: ">= 17 <= 20" + checksum: 10c0/9e22349ac76c7f83368c6e274f4c8545fffb3e1f50b294190cbbc11d269f4c49a9f57acd2a309b7a5767fe9f6966c2e734e933b44b3530e36dabd5de7f0e5f60 + languageName: node + linkType: hard + +"@nx/eslint@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/eslint@npm:19.5.4" + dependencies: + "@nx/devkit": "npm:19.5.4" + "@nx/js": "npm:19.5.4" + "@nx/linter": "npm:19.5.4" + semver: "npm:^7.5.3" + tslib: "npm:^2.3.0" + typescript: "npm:~5.4.2" + peerDependencies: + "@zkochan/js-yaml": 0.0.7 + eslint: ^8.0.0 || ^9.0.0 + peerDependenciesMeta: + "@zkochan/js-yaml": + optional: true + checksum: 10c0/fc6d587375d40d415fdcf2f8ca4f7d1564fc2be183f86896dd210b09f6fa1a45051609f2d31eb3bf0670cf1ac81b30b28e876c30cf1484d35610061ed9fc0851 + languageName: node + linkType: hard + +"@nx/jest@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/jest@npm:19.5.4" + dependencies: + "@jest/reporters": "npm:^29.4.1" + "@jest/test-result": "npm:^29.4.1" + "@nrwl/jest": "npm:19.5.4" + "@nx/devkit": "npm:19.5.4" + "@nx/js": "npm:19.5.4" + "@phenomnomnominal/tsquery": "npm:~5.0.1" + chalk: "npm:^4.1.0" + identity-obj-proxy: "npm:3.0.0" + jest-config: "npm:^29.4.1" + jest-resolve: "npm:^29.4.1" + jest-util: "npm:^29.4.1" + minimatch: "npm:9.0.3" + resolve.exports: "npm:1.1.0" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + checksum: 10c0/77dc06b037dfa0f26003a0a3261da44f3dc41e5c9fa15fa58f16e0c98dcb238cfca9fdb0b80045d66a325b7cf10ed415bf0f957214e631d3438529748050b098 + languageName: node + linkType: hard + +"@nx/js@npm:19.5.4, @nx/js@npm:^19.5.4": + version: 19.5.4 + resolution: "@nx/js@npm:19.5.4" + dependencies: + "@babel/core": "npm:^7.23.2" + "@babel/plugin-proposal-decorators": "npm:^7.22.7" + "@babel/plugin-transform-class-properties": "npm:^7.22.5" + "@babel/plugin-transform-runtime": "npm:^7.23.2" + "@babel/preset-env": "npm:^7.23.2" + "@babel/preset-typescript": "npm:^7.22.5" + "@babel/runtime": "npm:^7.22.6" + "@nrwl/js": "npm:19.5.4" + "@nx/devkit": "npm:19.5.4" + "@nx/workspace": "npm:19.5.4" + babel-plugin-const-enum: "npm:^1.0.1" + babel-plugin-macros: "npm:^2.8.0" + babel-plugin-transform-typescript-metadata: "npm:^0.3.1" + chalk: "npm:^4.1.0" + columnify: "npm:^1.6.0" + detect-port: "npm:^1.5.1" + fast-glob: "npm:3.2.7" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + js-tokens: "npm:^4.0.0" + minimatch: "npm:9.0.3" + npm-package-arg: "npm:11.0.1" + npm-run-path: "npm:^4.0.1" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + source-map-support: "npm:0.5.19" + ts-node: "npm:10.9.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + peerDependencies: + verdaccio: ^5.0.4 + peerDependenciesMeta: + verdaccio: + optional: true + checksum: 10c0/c7b636c6559da6790e2c3d297cf958d3efd1524237c89aecf74b6dcd8247f74cb1a660504d249f166c77c76d33ccc9f74aff391da52d2a3427f2868812001c28 + languageName: node + linkType: hard + +"@nx/linter@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/linter@npm:19.5.4" + dependencies: + "@nx/eslint": "npm:19.5.4" + checksum: 10c0/1e8d31f415e3277dd00ce27fe6fa02ae22980f19d1b115ccbe471f10871071fc9e4ec78d88e7adc5ef67386b77045c4d66e81760b490c57901c0a4fa171fa9a8 + languageName: node + linkType: hard + +"@nx/nx-darwin-arm64@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-darwin-arm64@npm:19.5.4" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@nx/nx-darwin-x64@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-darwin-x64@npm:19.5.4" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@nx/nx-freebsd-x64@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-freebsd-x64@npm:19.5.4" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@nx/nx-linux-arm-gnueabihf@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.4" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@nx/nx-linux-arm64-gnu@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.4" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@nx/nx-linux-arm64-musl@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-linux-arm64-musl@npm:19.5.4" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@nx/nx-linux-x64-gnu@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-linux-x64-gnu@npm:19.5.4" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@nx/nx-linux-x64-musl@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-linux-x64-musl@npm:19.5.4" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@nx/nx-win32-arm64-msvc@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.4" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@nx/nx-win32-x64-msvc@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/nx-win32-x64-msvc@npm:19.5.4" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@nx/workspace@npm:19.5.4": + version: 19.5.4 + resolution: "@nx/workspace@npm:19.5.4" + dependencies: + "@nrwl/workspace": "npm:19.5.4" + "@nx/devkit": "npm:19.5.4" + chalk: "npm:^4.1.0" + enquirer: "npm:~2.3.6" + nx: "npm:19.5.4" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + checksum: 10c0/78e06dec671c9f2ab2e456388f1667715612ebc73c9ba0d4be65c568674c9862f402794e92e948916a7000563df1127a2e81e1193579d68546fda46650c88d0a + languageName: node + linkType: hard + +"@octokit/auth-app@npm:6.0.3": + version: 6.0.3 + resolution: "@octokit/auth-app@npm:6.0.3" + dependencies: + "@octokit/auth-oauth-app": "npm:^7.0.0" + "@octokit/auth-oauth-user": "npm:^4.0.0" + "@octokit/request": "npm:^8.0.2" + "@octokit/request-error": "npm:^5.0.0" + "@octokit/types": "npm:^12.0.0" + deprecation: "npm:^2.3.1" + lru-cache: "npm:^10.0.0" + universal-github-app-jwt: "npm:^1.1.2" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/fba541abcc35e05cd0adf49b4c0174a2bc8e5b44d702259e074640332578ce7fb03392523e64f64abafc266adbf6dda0a537ce0fa0bd265275793e81d7949244 + languageName: node + linkType: hard + +"@octokit/auth-oauth-app@npm:^7.0.0": + version: 7.0.0 + resolution: "@octokit/auth-oauth-app@npm:7.0.0" + dependencies: + "@octokit/auth-oauth-device": "npm:^6.0.0" + "@octokit/auth-oauth-user": "npm:^4.0.0" + "@octokit/request": "npm:^8.0.2" + "@octokit/types": "npm:^11.0.0" + "@types/btoa-lite": "npm:^1.0.0" + btoa-lite: "npm:^1.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/cdfc7aea9f04962eeeec5b2fc2ff19491c2663ba71408403956450d5f4a0ef75ef6c451dab168f6d57b40dcf31b0a89bbbdcf9c0b951df738401451508ccf292 + languageName: node + linkType: hard + +"@octokit/auth-oauth-device@npm:^6.0.0": + version: 6.0.0 + resolution: "@octokit/auth-oauth-device@npm:6.0.0" + dependencies: + "@octokit/oauth-methods": "npm:^4.0.0" + "@octokit/request": "npm:^8.0.0" + "@octokit/types": "npm:^11.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/8955d38067ad0f4faa040b9cb48f064929df238b540e2b188270b3fe7096defa28767088acdcfe43668bc30a13c1cdd28872c469f6dc256d6496549e74c5a18e + languageName: node + linkType: hard + +"@octokit/auth-oauth-user@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/auth-oauth-user@npm:4.0.0" + dependencies: + "@octokit/auth-oauth-device": "npm:^6.0.0" + "@octokit/oauth-methods": "npm:^4.0.0" + "@octokit/request": "npm:^8.0.2" + "@octokit/types": "npm:^11.0.0" + btoa-lite: "npm:^1.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/7749ea89bffb983af626449c0b7ee3a8cb1485e4a25d036c89a318debb7876b85c47c0bf5ebb5f231cb34bbd71c67a87c4a2d0ab69ed79c9e3cc672f0941dae9 + languageName: node + linkType: hard + +"@octokit/auth-token@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/auth-token@npm:4.0.0" + checksum: 10c0/57acaa6c394c5abab2f74e8e1dcf4e7a16b236f713c77a54b8f08e2d14114de94b37946259e33ec2aab0566b26f724c2b71d2602352b59e541a9854897618f3c + languageName: node + linkType: hard + +"@octokit/core@npm:5.2.0": + version: 5.2.0 + resolution: "@octokit/core@npm:5.2.0" + dependencies: + "@octokit/auth-token": "npm:^4.0.0" + "@octokit/graphql": "npm:^7.1.0" + "@octokit/request": "npm:^8.3.1" + "@octokit/request-error": "npm:^5.1.0" + "@octokit/types": "npm:^13.0.0" + before-after-hook: "npm:^2.2.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/9dc5cf55b335da382f340ef74c8009c06a1f7157b0530d3ff6cacf179887811352dcd405448e37849d73f17b28970b7817995be2260ce902dad52b91905542f0 + languageName: node + linkType: hard + +"@octokit/core@npm:^5.0.0": + version: 5.0.0 + resolution: "@octokit/core@npm:5.0.0" + dependencies: + "@octokit/auth-token": "npm:^4.0.0" + "@octokit/graphql": "npm:^7.0.0" + "@octokit/request": "npm:^8.0.2" + "@octokit/request-error": "npm:^5.0.0" + "@octokit/types": "npm:^11.0.0" + before-after-hook: "npm:^2.2.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/b963c197af88b2b461c564d94ddb330a8a0b7f88e09b1986ca46cb3d63c95d98b338e1b548ad547131c2ffa2af3525d69ab492a74cd23fc4abc357d529c1e1d4 + languageName: node + linkType: hard + +"@octokit/endpoint@npm:^9.0.0": + version: 9.0.0 + resolution: "@octokit/endpoint@npm:9.0.0" + dependencies: + "@octokit/types": "npm:^11.0.0" + is-plain-object: "npm:^5.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/8291a4378320ea4c9fe6878fbf7281be4dd96c4d6b4317b5eeec119c430c3ede5b53f6983b1c7dc3e7056bb60748186dfa1d674e00fc65cea26f7a62f21dc7b2 + languageName: node + linkType: hard + +"@octokit/endpoint@npm:^9.0.1": + version: 9.0.5 + resolution: "@octokit/endpoint@npm:9.0.5" + dependencies: + "@octokit/types": "npm:^13.1.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/e9bbb2111abe691c146075abb1b6f724a9b77fa8bfefdaaa82b8ebad6c8790e949f2367bb0b79800fef93ad72807513333e83e8ffba389bc85215535f63534d9 + languageName: node + linkType: hard + +"@octokit/graphql@npm:^7.0.0": + version: 7.0.1 + resolution: "@octokit/graphql@npm:7.0.1" + dependencies: + "@octokit/request": "npm:^8.0.1" + "@octokit/types": "npm:^11.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/bfc79dff1a96210afcd27051a7b5fcacfc20d549f3d8bf1ac162ebe5a825d429d3b4f217a73169f8d5549fed535582e303a89b65f5a356557a91319326d80605 + languageName: node + linkType: hard + +"@octokit/graphql@npm:^7.1.0": + version: 7.1.0 + resolution: "@octokit/graphql@npm:7.1.0" + dependencies: + "@octokit/request": "npm:^8.3.0" + "@octokit/types": "npm:^13.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/6d50a013d151f416fc837644e394e8b8872da7b17b181da119842ca569b0971e4dfacda55af6c329b51614e436945415dd5bd75eb3652055fdb754bbcd20d9d1 + languageName: node + linkType: hard + +"@octokit/oauth-authorization-url@npm:^6.0.2": + version: 6.0.2 + resolution: "@octokit/oauth-authorization-url@npm:6.0.2" + checksum: 10c0/8c06e538b3e392f0fa68f3347078c32f92c03474eb214e4e82774513a54c164bac14c228f7dbd79d22a920df1a8b2e0765dd6ee45929bda0b77e5cf7f0d92c71 + languageName: node + linkType: hard + +"@octokit/oauth-methods@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/oauth-methods@npm:4.0.0" + dependencies: + "@octokit/oauth-authorization-url": "npm:^6.0.2" + "@octokit/request": "npm:^8.0.2" + "@octokit/request-error": "npm:^5.0.0" + "@octokit/types": "npm:^11.0.0" + btoa-lite: "npm:^1.0.0" + checksum: 10c0/11e6f4ffd599785c4a9072e28c3e4e44cf0ab2d7714aa967ce3e2082810f15575ead8c55bfd21131d21005a597470baf5dfbabbd52ba52db7f6e47c40a92695b + languageName: node + linkType: hard + +"@octokit/openapi-types@npm:^22.2.0": + version: 22.2.0 + resolution: "@octokit/openapi-types@npm:22.2.0" + checksum: 10c0/a45bfc735611e836df0729f5922bbd5811d401052b972d1e3bc1278a2d2403e00f4552ce9d1f2793f77f167d212da559c5cb9f1b02c935114ad6d898779546ee + languageName: node + linkType: hard + +"@octokit/plugin-paginate-rest@npm:^9.0.0": + version: 9.0.0 + resolution: "@octokit/plugin-paginate-rest@npm:9.0.0" + dependencies: + "@octokit/types": "npm:^12.0.0" + peerDependencies: + "@octokit/core": ">=5" + checksum: 10c0/050861368f71a4ad337c2f242c3878e8ad95331e2ed549732fca916ee4a67ef18477bedd78afb32b2d4229b80083097551671b14c51bd2b2b85c7f101b6ba02d + languageName: node + linkType: hard + +"@octokit/plugin-request-log@npm:^4.0.0": + version: 4.0.0 + resolution: "@octokit/plugin-request-log@npm:4.0.0" + peerDependencies: + "@octokit/core": ">=5" + checksum: 10c0/ca6db112f288326d2f11de5170e7d6429ba54f04a22dc1e5d06c8d626f72bd2effeb0218a8f73bc9e23657b5a89194cd297964ace54693d2dfdfba3828920b45 + languageName: node + linkType: hard + +"@octokit/plugin-rest-endpoint-methods@npm:^10.0.0": + version: 10.0.0 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.0.0" + dependencies: + "@octokit/types": "npm:^12.0.0" + peerDependencies: + "@octokit/core": ">=5" + checksum: 10c0/7c31baf6e4078a5942b06466d6c6e2ba26a45c936dc783acb98a00815375fd0b65ee08e52d3770a7b79b0cef0744c0c2c7fa9020aa4a3c9f33fad4f010c67733 + languageName: node + linkType: hard + +"@octokit/plugin-throttling@npm:8.2.0": + version: 8.2.0 + resolution: "@octokit/plugin-throttling@npm:8.2.0" + dependencies: + "@octokit/types": "npm:^12.2.0" + bottleneck: "npm:^2.15.3" + peerDependencies: + "@octokit/core": ^5.0.0 + checksum: 10c0/e65de9958ac5f29ba473bb969d25738f7466dad1b64e8181199c71438c06a6333ba655bd5194581a24199ca06fc9a6e752d0a4782b554ef603b0acffe9f8bfbd + languageName: node + linkType: hard + +"@octokit/request-error@npm:^5.0.0, @octokit/request-error@npm:^5.1.0": + version: 5.1.0 + resolution: "@octokit/request-error@npm:5.1.0" + dependencies: + "@octokit/types": "npm:^13.1.0" + deprecation: "npm:^2.0.0" + once: "npm:^1.4.0" + checksum: 10c0/61e688abce17dd020ea1e343470b9758f294bfe5432c5cb24bdb5b9b10f90ecec1ecaaa13b48df9288409e0da14252f6579a20f609af155bd61dc778718b7738 + languageName: node + linkType: hard + +"@octokit/request@npm:^8.0.0, @octokit/request@npm:^8.0.1, @octokit/request@npm:^8.0.2": + version: 8.1.1 + resolution: "@octokit/request@npm:8.1.1" + dependencies: + "@octokit/endpoint": "npm:^9.0.0" + "@octokit/request-error": "npm:^5.0.0" + "@octokit/types": "npm:^11.1.0" + is-plain-object: "npm:^5.0.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/07fa47fff16be4ff36599752e31d54713137e140fe5e4604cb77da6b466b1e5c2eb093a3151112637aac5d341922685de10f5a6589881177a1559d7597a63e15 + languageName: node + linkType: hard + +"@octokit/request@npm:^8.3.0, @octokit/request@npm:^8.3.1": + version: 8.4.0 + resolution: "@octokit/request@npm:8.4.0" + dependencies: + "@octokit/endpoint": "npm:^9.0.1" + "@octokit/request-error": "npm:^5.1.0" + "@octokit/types": "npm:^13.1.0" + universal-user-agent: "npm:^6.0.0" + checksum: 10c0/b857782ac2ff5387e9cc502759de73ea642c498c97d06ad2ecd8a395e4b9532d9f3bc3fc460e0d3d0e8f0d43c917a90c493e43766d37782b3979d3afffbf1b4b + languageName: node + linkType: hard + +"@octokit/rest@npm:20.0.2": + version: 20.0.2 + resolution: "@octokit/rest@npm:20.0.2" + dependencies: + "@octokit/core": "npm:^5.0.0" + "@octokit/plugin-paginate-rest": "npm:^9.0.0" + "@octokit/plugin-request-log": "npm:^4.0.0" + "@octokit/plugin-rest-endpoint-methods": "npm:^10.0.0" + checksum: 10c0/e9bfc617d0e0bfb0ba9dea3d1e0a19167c5a255beac622dd34280e1754dfab7688323b3251f8e8c85494b39548ecc52385e8b84e21ce0627f58176562a6e2fae + languageName: node + linkType: hard + +"@octokit/types@npm:^13.0.0": + version: 13.5.0 + resolution: "@octokit/types@npm:13.5.0" + dependencies: + "@octokit/openapi-types": "npm:^22.2.0" + checksum: 10c0/355ebc6776ce23feace1b1be0927cdda758790fda83068109c4f27b354dcd43d0447d4dc24e5eafdb596465469ea1baed23f3fd63adfec508cc375ccd1dcb0a3 + languageName: node + linkType: hard + +"@octokit/webhooks-methods@npm:^4.1.0": + version: 4.1.0 + resolution: "@octokit/webhooks-methods@npm:4.1.0" + checksum: 10c0/153b344b4b20b48fdf89225f482bd9aa612998c28e43d032756d5a2ec7ebf117922fb6a95ee7c0a985cab6924fa4de3378c60e9ff41e384498b8cb7aad3771f2 + languageName: node + linkType: hard + +"@octokit/webhooks-types@npm:7.4.0": + version: 7.4.0 + resolution: "@octokit/webhooks-types@npm:7.4.0" + checksum: 10c0/c2f06bdee4cb3f8f9e685a5a0289bd59673954b9bd25701480ba204ea23333f9bcc4a6f757f563ae5a1490f58eace8ebbc7aa8a1737c276ccc1cf5c3e2fe2ebe + languageName: node + linkType: hard + +"@octokit/webhooks@npm:^12.2.0": + version: 12.2.0 + resolution: "@octokit/webhooks@npm:12.2.0" + dependencies: + "@octokit/request-error": "npm:^5.0.0" + "@octokit/webhooks-methods": "npm:^4.1.0" + "@octokit/webhooks-types": "npm:7.4.0" + aggregate-error: "npm:^3.1.0" + checksum: 10c0/d22c55e99726c32d55b9faf8cde02274c3f6cd82992a5cedf795de401656cc716ff151b0dd6e4173d12dc335583944415613132a9dbf18ee6ffa0d550479a1c2 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-arm64@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:1.10.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-x64@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-darwin-x64@npm:1.10.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-freebsd-x64@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:1.10.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.10.2" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-gnu@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:1.10.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-musl@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:1.10.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-gnu@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:1.10.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-musl@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:1.10.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-wasm32-wasi@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:1.10.2" + dependencies: + "@napi-rs/wasm-runtime": "npm:^0.2.4" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-arm64-msvc@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:1.10.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-win32-x64-msvc@npm:1.10.2": + version: 1.10.2 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:1.10.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@phenomnomnominal/tsquery@npm:~5.0.1": + version: 5.0.1 + resolution: "@phenomnomnominal/tsquery@npm:5.0.1" + dependencies: + esquery: "npm:^1.4.0" + peerDependencies: + typescript: ^3 || ^4 || ^5 + checksum: 10c0/e241410cd321eb19543acd1e5f3cd973e02ecca918b2382d44e35e316fa1e41cf2d81abc4a2ee48cca023541d3812e94b491f215894375f5a2576e948b934e89 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^2.0.0": + version: 2.0.0 + resolution: "@sinonjs/commons@npm:2.0.0" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/babe3fdfc7dfb810f6918f2ae055032a1c7c18910595f1c6bfda87bb1737c1a57268d4ca78c3d8ad2fa4aae99ff79796fad76be735a5a38ab763c0b3cfad1ae7 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2, @sinonjs/fake-timers@npm:^10.3.0": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^11.2.2": + version: 11.2.2 + resolution: "@sinonjs/fake-timers@npm:11.2.2" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/a4218efa6fdafda622d02d4c0a6ab7df3641cb038bb0b14f0a3ee56f50c95aab4f1ab2d7798ce928b40c6fc1839465a558c9393a77e4dca879e1b2f8d60d8136 + languageName: node + linkType: hard + +"@sinonjs/samsam@npm:^8.0.0": + version: 8.0.0 + resolution: "@sinonjs/samsam@npm:8.0.0" + dependencies: + "@sinonjs/commons": "npm:^2.0.0" + lodash.get: "npm:^4.4.2" + type-detect: "npm:^4.0.8" + checksum: 10c0/c1654ad72ecd9efd4a57d756c492c1c17a197c3138da57b75ba1729562001ed1b3b9c656cce1bd1d91640bc86eb4185a72eced528d176fff09a3a01de28cdcc6 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.2": + version: 0.7.2 + resolution: "@sinonjs/text-encoding@npm:0.7.2" + checksum: 10c0/583a45bf3643169e313ff9d4395aff28b0c4f330d3697e252c3effc13d4303ee30f83df542732c1a68617720e4ea6fc08d48a3d9151c9b354a7fc356a8e9b162 + languageName: node + linkType: hard + +"@smithy/abort-controller@npm:^3.1.1": + version: 3.1.1 + resolution: "@smithy/abort-controller@npm:3.1.1" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/914933d961b3b29db41a10b9040396968a738340d2bfd7f0b553521a91624ff86ee4ce7d97c15e3d94ca5e2b924da9dbefaf91e6cbd34db25d493690e4889f93 + languageName: node + linkType: hard + +"@smithy/chunked-blob-reader-native@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/chunked-blob-reader-native@npm:3.0.0" + dependencies: + "@smithy/util-base64": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/f3cbd03baaaf33a2c44a484851e3f2902f87cbb2168abff179276b19fd137be021393551b9270f9f3135408d816a06fe84ff826d9beb576dbe53fae9cf487362 + languageName: node + linkType: hard + +"@smithy/chunked-blob-reader@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/chunked-blob-reader@npm:3.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/cc551e4d6c711bec381d70c3074e3937ee78245bb15dd55c28c43c6c30808af1855c8df4a785a1033ded1483979ae115cf2c9decce73083346734db0d32b2fe5 + languageName: node + linkType: hard + +"@smithy/config-resolver@npm:^3.0.5": + version: 3.0.5 + resolution: "@smithy/config-resolver@npm:3.0.5" + dependencies: + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-config-provider": "npm:^3.0.0" + "@smithy/util-middleware": "npm:^3.0.3" + tslib: "npm:^2.6.2" + checksum: 10c0/2346a0430a157660a759aee24fd20f18a9c4a3796938b1c792019a898afcdbb0af91af687b84f976a9f1e05eaba6946736e076f6b0ceb5f84b9063c67d2db8ae + languageName: node + linkType: hard + +"@smithy/core@npm:^2.3.1": + version: 2.3.1 + resolution: "@smithy/core@npm:2.3.1" + dependencies: + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-middleware": "npm:^3.0.3" + tslib: "npm:^2.6.2" + checksum: 10c0/2ba270a7e2e582a3db48169458d0a2abdc4f154b271abf941b37fc7159601e8504ca0908a99821465a546233f1a89d2d7dff2fb42cdf04bd91b4a4e3550d7f65 + languageName: node + linkType: hard + +"@smithy/credential-provider-imds@npm:^3.2.0": + version: 3.2.0 + resolution: "@smithy/credential-provider-imds@npm:3.2.0" + dependencies: + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + tslib: "npm:^2.6.2" + checksum: 10c0/aee18386df65ac01969d9210ff81fec79fb7d365823b0b99527834bcaf068b20ce8c9170fdedb7c141e1fe1a7c1878072c10c4d4908aa41ed5cbdf84debf8011 + languageName: node + linkType: hard + +"@smithy/eventstream-codec@npm:^3.1.2": + version: 3.1.2 + resolution: "@smithy/eventstream-codec@npm:3.1.2" + dependencies: + "@aws-crypto/crc32": "npm:5.2.0" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-hex-encoding": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/fc8db95d9625524b2832cf9cea203b4c1062197d04eef6f676b6eea06cc0007d45acb5270937c1b6b76f98638acaf0c2b822278226c25841ab45488df786e332 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-browser@npm:^3.0.5": + version: 3.0.5 + resolution: "@smithy/eventstream-serde-browser@npm:3.0.5" + dependencies: + "@smithy/eventstream-serde-universal": "npm:^3.0.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/de7255f22fef702cb24d92be7eaea6f1c1faeeac21e1c6d6865df77c5018045033bb66e4658cf74856d1c7f7d4ad2fbb52d3e341705a5907eeee15c0449c0fa0 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-config-resolver@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/ef3360c0a0e4ad20f6e6da84b63e5071e3158af726bf291c610e2d42b5e042008cd9fe41ce2183f491422f23c36437987c0d1139e68b3c127d48c01b442dab82 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-node@npm:^3.0.4": + version: 3.0.4 + resolution: "@smithy/eventstream-serde-node@npm:3.0.4" + dependencies: + "@smithy/eventstream-serde-universal": "npm:^3.0.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/11ff38048b1176625d4beb9ca245118aacaf867c90a94747e8cf0bb99e48c68aeedeab56c48a0238a27e35920c7074f3b6f71f8a8246a0d115962d728063a1f5 + languageName: node + linkType: hard + +"@smithy/eventstream-serde-universal@npm:^3.0.4": + version: 3.0.4 + resolution: "@smithy/eventstream-serde-universal@npm:3.0.4" + dependencies: + "@smithy/eventstream-codec": "npm:^3.1.2" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/99ab5f708fa4ebccea96b373395efc76b49c34ae8eb97aa33622ba82e93441a72010bb03693ec18d1517d9bb0a4a7e5c254179c22f38f411a6fecf8b3291c77f + languageName: node + linkType: hard + +"@smithy/fetch-http-handler@npm:^3.2.4": + version: 3.2.4 + resolution: "@smithy/fetch-http-handler@npm:3.2.4" + dependencies: + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/querystring-builder": "npm:^3.0.3" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-base64": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/ef788ef9d4b88f11a3b9dea60de0e0fa500ce38f43ae1359b3053d4c0acfe81e53ce76d4e8dab7c25cec22cd95371a6c994de1a54118811e0b91e8bddd7c6e83 + languageName: node + linkType: hard + +"@smithy/hash-blob-browser@npm:^3.1.2": + version: 3.1.2 + resolution: "@smithy/hash-blob-browser@npm:3.1.2" + dependencies: + "@smithy/chunked-blob-reader": "npm:^3.0.0" + "@smithy/chunked-blob-reader-native": "npm:^3.0.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/71b017ae71839e058661e22589bacbc204d4980df66d67725aaa415493107e2f0898e41d0c6a4cd2c96333648d472c66ed35ec3c264156e6021bda5d590eb5ab + languageName: node + linkType: hard + +"@smithy/hash-node@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/hash-node@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + "@smithy/util-buffer-from": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/d0ba0f069cb047a8a040733b9b119a194c130d287e8a68b8e79cf9cac5abe683df84ea28dd918e85a46031155e0d561f3c5854de3d280c3d501977a986550c8b + languageName: node + linkType: hard + +"@smithy/hash-stream-node@npm:^3.1.2": + version: 3.1.2 + resolution: "@smithy/hash-stream-node@npm:3.1.2" + dependencies: + "@smithy/types": "npm:^3.3.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/2daadb5d6f08022ca1b1ecb4256d613613be86b7b768fb221ee3a2a7e584df0f4a546fba080e8366211c99f9ddb66d57e38525d10839405eab0b9d5be81d313b + languageName: node + linkType: hard + +"@smithy/invalid-dependency@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/invalid-dependency@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/c52e909fa0cd8630e1e850da78af20abb11091b134ca107108e4f8336eee4b1b8cde60ba5946eff4bfe3d7bddc74e80a59fa0f448a7b45bf69df1e247aeee607 + languageName: node + linkType: hard + +"@smithy/is-array-buffer@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/is-array-buffer@npm:2.2.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/2f2523cd8cc4538131e408eb31664983fecb0c8724956788b015aaf3ab85a0c976b50f4f09b176f1ed7bbe79f3edf80743be7a80a11f22cd9ce1285d77161aaf + languageName: node + linkType: hard + +"@smithy/is-array-buffer@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/is-array-buffer@npm:3.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/44710d94b9e6655ebc02169c149ea2bc5d5b9e509b6b39511cfe61bac571412290f4b9c743d61e395822f014021fcb709dbb533f2f717c1ac2d5a356696c22fd + languageName: node + linkType: hard + +"@smithy/md5-js@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/md5-js@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/048b966676f5944da701120ca2e133de8a17fa403f2dc96dd88a82ea2248e2b439147b062ad8860486a9897899dd28de45cc0e2ae03c1221e2b987ad8e065464 + languageName: node + linkType: hard + +"@smithy/middleware-content-length@npm:^3.0.5": + version: 3.0.5 + resolution: "@smithy/middleware-content-length@npm:3.0.5" + dependencies: + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/fb8901dc0673709235dd5c0788bd9cb930a6590023ecf350fa4835289a606c2e6d60ca8fca90f7525bc15c005db9cf98ae8ccffccc42f611468863f883051a7d + languageName: node + linkType: hard + +"@smithy/middleware-endpoint@npm:^3.1.0": + version: 3.1.0 + resolution: "@smithy/middleware-endpoint@npm:3.1.0" + dependencies: + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-middleware": "npm:^3.0.3" + tslib: "npm:^2.6.2" + checksum: 10c0/c50e0ee205d5126263be1bda8c5580048bddb939c75521dc8a53a7fae5b5fbea6ad8258d22cd59e49c88a5c0c669c246bf1eefb5a7dc03660d778e7ce6cd9aca + languageName: node + linkType: hard + +"@smithy/middleware-retry@npm:^3.0.13": + version: 3.0.13 + resolution: "@smithy/middleware-retry@npm:3.0.13" + dependencies: + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/service-error-classification": "npm:^3.0.3" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + tslib: "npm:^2.6.2" + uuid: "npm:^9.0.1" + checksum: 10c0/634b86febb063e777da5d6cc696ee40b440a9d39cf6babfc1422ca6b46eec36ca006a4a7fd50374c5c07e85bf9022d2849cc09202ae895873742b53b622794f1 + languageName: node + linkType: hard + +"@smithy/middleware-serde@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/middleware-serde@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/5b2ad50dea8af9a7a98816c0746c14af4267d053adcade9586a260cff968c41d768220b2987e5b751dbee7cd8c9538ff9839fbc7698dd09bf9b9ca4f5c8001ab + languageName: node + linkType: hard + +"@smithy/middleware-stack@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/middleware-stack@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/c886d367ce02f6ae7bc70c4060e79ddfa46c3b35851921364836d64efb76f2fc71b0c1c09401c47d289dc93527a7699085a3feb0778e0337862aa8e6473cb54b + languageName: node + linkType: hard + +"@smithy/node-config-provider@npm:^3.1.4": + version: 3.1.4 + resolution: "@smithy/node-config-provider@npm:3.1.4" + dependencies: + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1d69cb8f83292df9e15523a727d55f6b812ff0ca30d615439cc6e7a5fe0d59c9524875745939bba611ca818757790f37509bb843b95f1e6d6b1ccd6d6c546077 + languageName: node + linkType: hard + +"@smithy/node-http-handler@npm:^3.1.4": + version: 3.1.4 + resolution: "@smithy/node-http-handler@npm:3.1.4" + dependencies: + "@smithy/abort-controller": "npm:^3.1.1" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/querystring-builder": "npm:^3.0.3" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/9d7354084ed19f0aefb127d640f4a96fa6f5cf4212b3f128d8c9fa3258061bf666e6101d659167693653d729b44b6e558968b5018910e6045a5f9ebd2529d395 + languageName: node + linkType: hard + +"@smithy/property-provider@npm:^3.1.3": + version: 3.1.3 + resolution: "@smithy/property-provider@npm:3.1.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e1414e01f6efc298728ff79c1513f9606b44c00b98eb92d003e332ae7312ac9c0e1b7ef08ce426c99545100531fdc33efc0d769b6f75a953df015a8479e73f90 + languageName: node + linkType: hard + +"@smithy/protocol-http@npm:^4.1.0": + version: 4.1.0 + resolution: "@smithy/protocol-http@npm:4.1.0" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/0bf5b40709724ff47880132297ba210d7db3c36bb7c841bc20fe98a2daa39697ea5d943a8181753ac6af19f0c8c7831381b93c1ffb9867ef5b6d071297e80fb8 + languageName: node + linkType: hard + +"@smithy/querystring-builder@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/querystring-builder@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + "@smithy/util-uri-escape": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/0fd88fb2f3b494981e286b840b7eeb90896d8cc2f47ce3964f65ae95eb74c82691af205bdc17abc39fd483e1952359459204686bb1741c9f425cd5a9a1503f65 + languageName: node + linkType: hard + +"@smithy/querystring-parser@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/querystring-parser@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/a7bcbce8342ca520ca0dbbe420e93547c4eebf7193df4467bae5be6f0493492486a8dad6e20477c5f37f40b9903df91cb8bfb41ee1d21b63b5512f77291ffe6e + languageName: node + linkType: hard + +"@smithy/service-error-classification@npm:^2.0.4": + version: 2.1.5 + resolution: "@smithy/service-error-classification@npm:2.1.5" + dependencies: + "@smithy/types": "npm:^2.12.0" + checksum: 10c0/e3fb24af5a3a60bf6479bc057bc832f89a0b427650ea2f262220a9627d60d2ab455ad766a2fcceb55fba1b15eddb82b25775fb781c254d2031768f5f8e131e15 + languageName: node + linkType: hard + +"@smithy/service-error-classification@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/service-error-classification@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + checksum: 10c0/8ba7b655668fff01eb5de1d504711d6304d3e8a8dbbcb0620921bfdaafa5abca7621c0278d21367782d6c53277cddb8bbb6f9373013f64aac0c855520696bbd1 + languageName: node + linkType: hard + +"@smithy/shared-ini-file-loader@npm:^3.1.4": + version: 3.1.4 + resolution: "@smithy/shared-ini-file-loader@npm:3.1.4" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e90e5e375fc5afb4dda335e1d0a9d3496cec731511c35351330a210dc22d22b398c45e49d3a4142e55ce7d0e1b280d1b3d46cecdd97b9527f2d9e89ced74f63b + languageName: node + linkType: hard + +"@smithy/signature-v4@npm:^4.1.0": + version: 4.1.0 + resolution: "@smithy/signature-v4@npm:4.1.0" + dependencies: + "@smithy/is-array-buffer": "npm:^3.0.0" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-hex-encoding": "npm:^3.0.0" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-uri-escape": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/7f20f60b1bc280fb60014d75fbafb1c923ef492997c02cabfa8f37e87381c5aa5c47cfd8a0d9e4c17020c5cf2ab73c461c5e2965a1d6f933b54f617fab27b8c6 + languageName: node + linkType: hard + +"@smithy/smithy-client@npm:^3.1.11": + version: 3.1.11 + resolution: "@smithy/smithy-client@npm:3.1.11" + dependencies: + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-stream": "npm:^3.1.3" + tslib: "npm:^2.6.2" + checksum: 10c0/83e9884b6a91d2e2b2a5dd32bbe2f03b664a1e048c9a1a24695d50947528d13f818dfd0934123ed7ea145bd80535aad0d5bbc13bcfba7ac8e9417d962f978639 + languageName: node + linkType: hard + +"@smithy/types@npm:^2.12.0": + version: 2.12.0 + resolution: "@smithy/types@npm:2.12.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/3530ba5b4f4e52a4028679f73e133af928cf6ea22a16d29669b8c67ea540ed46ab15dc6d391598fbdfd476884cdc57881c480168e2dbe7c5bb007f5afad01531 + languageName: node + linkType: hard + +"@smithy/types@npm:^3.3.0": + version: 3.3.0 + resolution: "@smithy/types@npm:3.3.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/ab2c2d621384a2bbdd31d5c90809395cb5c2a726afd69758895d5a630f932f6ae9a53ca7a9cd5d8c195df9278869b2420a2fb4fada47dee9e8c9d4e3c80a349e + languageName: node + linkType: hard + +"@smithy/url-parser@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/url-parser@npm:3.0.3" + dependencies: + "@smithy/querystring-parser": "npm:^3.0.3" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/9ed0ab14034369fd823587c22d22e257203638a327954853c9bb92c3571a94fa7dc56211f9340b0ac3af5c37dfa206fd99dcde4ee9164a300994314a83e0b042 + languageName: node + linkType: hard + +"@smithy/util-base64@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-base64@npm:3.0.0" + dependencies: + "@smithy/util-buffer-from": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/5c05c3505bd1ac4c1e04ec0e22ad1c9e0c61756945735861614f9e46146369a1a112dd0895602475822c18b8f1fe0cc3fb9e45c99a4e7fb03308969c673cf043 + languageName: node + linkType: hard + +"@smithy/util-body-length-browser@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-body-length-browser@npm:3.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/cfb595e814334fe7bb78e8381141cc7364f66bff0c1d672680f4abb99361ef66fbdb9468fa1dbabcd5753254b2b05c59c907fa9d600b36e6e4b8423eccf412f7 + languageName: node + linkType: hard + +"@smithy/util-body-length-node@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-body-length-node@npm:3.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/6f779848e7c81051364cf6e40ed61034a06fa8df3480398528baae54d9b69622abc7d068869e33dbe51fef2bbc6fda3f548ac59644a0f10545a54c87bc3a4391 + languageName: node + linkType: hard + +"@smithy/util-buffer-from@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/util-buffer-from@npm:2.2.0" + dependencies: + "@smithy/is-array-buffer": "npm:^2.2.0" + tslib: "npm:^2.6.2" + checksum: 10c0/223d6a508b52ff236eea01cddc062b7652d859dd01d457a4e50365af3de1e24a05f756e19433f6ccf1538544076b4215469e21a4ea83dc1d58d829725b0dbc5a + languageName: node + linkType: hard + +"@smithy/util-buffer-from@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-buffer-from@npm:3.0.0" + dependencies: + "@smithy/is-array-buffer": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/b10fb81ef34f95418f27c9123c2c1774e690dd447e8064184688c553156bdec46d2ba1b1ae3bad7edd2b58a5ef32ac569e1ad814b36e7ee05eba10526d329983 + languageName: node + linkType: hard + +"@smithy/util-config-provider@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-config-provider@npm:3.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/a2c25eac31223eddea306beff2bb3c32e8761f8cb50e8cb2a9d61417a5040e9565dc715a655787e99a37465fdd35bbd0668ff36e06043a5f6b7be48a76974792 + languageName: node + linkType: hard + +"@smithy/util-defaults-mode-browser@npm:^3.0.13": + version: 3.0.13 + resolution: "@smithy/util-defaults-mode-browser@npm:3.0.13" + dependencies: + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + bowser: "npm:^2.11.0" + tslib: "npm:^2.6.2" + checksum: 10c0/7daa7972a01d67edc23137cb01c7265048b03d026e0524aef3184b7da5d00bd0ace5cdb38319b7369a85c5bd9323161b8f3e7647aa3dbdbda2ade2060496fe99 + languageName: node + linkType: hard + +"@smithy/util-defaults-mode-node@npm:^3.0.13": + version: 3.0.13 + resolution: "@smithy/util-defaults-mode-node@npm:3.0.13" + dependencies: + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/credential-provider-imds": "npm:^3.2.0" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/6036c208246deca4b3ad95f69b2529a132f5790755eaacc1daa01ad661f9b8b22282c35d8e0fa64dcc50e9ebe94c58e7a4dc60ac18ff7b8398f5b489e9fa3392 + languageName: node + linkType: hard + +"@smithy/util-endpoints@npm:^2.0.5": + version: 2.0.5 + resolution: "@smithy/util-endpoints@npm:2.0.5" + dependencies: + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/4dd0740eaca169dc1078ef7e10dd0b0cc186e8c2bb1bf26c7ab8dff557c59f146bf6496a3e44a7bbb9ac6bfbcb587f1a100d81466f29b20dbb58e3e5cf5bceeb + languageName: node + linkType: hard + +"@smithy/util-hex-encoding@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-hex-encoding@npm:3.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/d2fa7270853cc8f22c4f4635c72bf52e303731a68a3999e3ea9da1d38b6bf08c0f884e7d20b65741e3bc68bb3821e1abd1c3406d7a3dce8fc02df019aea59162 + languageName: node + linkType: hard + +"@smithy/util-middleware@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/util-middleware@npm:3.0.3" + dependencies: + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1d7d01f75ab6d116e6d539bbcfc6f5d7f2b6e3a25f970758872a2e45c4a6b5795326d2f51b2566ca9fe5ba260d9176b33260bde15759c5296ab9f8557835364e + languageName: node + linkType: hard + +"@smithy/util-retry@npm:^3.0.3": + version: 3.0.3 + resolution: "@smithy/util-retry@npm:3.0.3" + dependencies: + "@smithy/service-error-classification": "npm:^3.0.3" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/bea28dff13ae32222dda579eb9bccfaf34b427ab46165509cd524a7080463361a39acc5d1aa7452714c38193a5523f3ab810cd2e60eef9bc768fd1ab23b5bde6 + languageName: node + linkType: hard + +"@smithy/util-stream@npm:^3.1.3": + version: 3.1.3 + resolution: "@smithy/util-stream@npm:3.1.3" + dependencies: + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-buffer-from": "npm:^3.0.0" + "@smithy/util-hex-encoding": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/4ee3b323f727e7ff1e45ce561a1168dee1c9aaf9d275c019f19f9ee1af3abd0d6bf4c84fc2f11df259aeea1bffd1ddc40fff2c4c845bc41682dbf4a26946bf46 + languageName: node + linkType: hard + +"@smithy/util-uri-escape@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-uri-escape@npm:3.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/b8d831348412cfafd9300069e74a12e0075b5e786d7ef6a210ba4ab576001c2525653eec68b71dfe6d7aef71c52f547404c4f0345c0fb476a67277f9d44b1156 + languageName: node + linkType: hard + +"@smithy/util-utf8@npm:^2.0.0": + version: 2.3.0 + resolution: "@smithy/util-utf8@npm:2.3.0" + dependencies: + "@smithy/util-buffer-from": "npm:^2.2.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e18840c58cc507ca57fdd624302aefd13337ee982754c9aa688463ffcae598c08461e8620e9852a424d662ffa948fc64919e852508028d09e89ced459bd506ab + languageName: node + linkType: hard + +"@smithy/util-utf8@npm:^3.0.0": + version: 3.0.0 + resolution: "@smithy/util-utf8@npm:3.0.0" + dependencies: + "@smithy/util-buffer-from": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/b568ed84b4770d2ae9b632eb85603765195a791f045af7f47df1369dc26b001056f4edf488b42ca1cd6d852d0155ad306a0d6531e912cb4e633c0d87abaa8899 + languageName: node + linkType: hard + +"@smithy/util-waiter@npm:^3.1.2": + version: 3.1.2 + resolution: "@smithy/util-waiter@npm:3.1.2" + dependencies: + "@smithy/abort-controller": "npm:^3.1.1" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/50e7ef8de9779650aec125b81b28e01e9b696f121841d6b1037fd7a2e1296db21c2399b3cf87381a256b3db04a63013c65dba187d22d2a38d31e389ef356c066 + languageName: node + linkType: hard + +"@swc-node/core@npm:^1.13.3": + version: 1.13.3 + resolution: "@swc-node/core@npm:1.13.3" + peerDependencies: + "@swc/core": ">= 1.4.13" + "@swc/types": ">= 0.1" + checksum: 10c0/01f69d6124691569cedd2e6d0c6d3e33ab96d8fca6607780d64359c884750cfd77541e112e545cf37d9f0ee5fdccd57fbf9eb07cfd0ae26f8cca88c974e82e08 + languageName: node + linkType: hard + +"@swc-node/register@npm:~1.10.9": + version: 1.10.9 + resolution: "@swc-node/register@npm:1.10.9" + dependencies: + "@swc-node/core": "npm:^1.13.3" + "@swc-node/sourcemap-support": "npm:^0.5.1" + colorette: "npm:^2.0.20" + debug: "npm:^4.3.5" + oxc-resolver: "npm:^1.10.2" + pirates: "npm:^4.0.6" + tslib: "npm:^2.6.3" + peerDependencies: + "@swc/core": ">= 1.4.13" + typescript: ">= 4.3" + checksum: 10c0/54cc40b200cd9dda881c59bfe163bed3f8790cb93befe4d0ac4c130ab9836a31edc32da856d72ab45573aeb26bb36072aa3a1a9f68547cbb5d76cff1df814d41 + languageName: node + linkType: hard + +"@swc-node/sourcemap-support@npm:^0.5.1": + version: 0.5.1 + resolution: "@swc-node/sourcemap-support@npm:0.5.1" + dependencies: + source-map-support: "npm:^0.5.21" + tslib: "npm:^2.6.3" + checksum: 10c0/5ac7e701a0683e0e6760c8078d4bb2829daa78c4946dcc729c75588b87112afc7352f7c8cd90cea9417b5f7494418d374a354795344c4cf81152bce3d5a17853 + languageName: node + linkType: hard + +"@swc/core-darwin-arm64@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-darwin-arm64@npm:1.7.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-darwin-x64@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-darwin-x64@npm:1.7.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@swc/core-linux-arm-gnueabihf@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@swc/core-linux-arm64-gnu@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.3" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-arm64-musl@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.3" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-linux-x64-gnu@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.3" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@swc/core-linux-x64-musl@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-linux-x64-musl@npm:1.7.3" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@swc/core-win32-arm64-msvc@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@swc/core-win32-ia32-msvc@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.3" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@swc/core-win32-x64-msvc@npm:1.7.3": + version: 1.7.3 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@swc/core@npm:~1.7.3": + version: 1.7.3 + resolution: "@swc/core@npm:1.7.3" + dependencies: + "@swc/core-darwin-arm64": "npm:1.7.3" + "@swc/core-darwin-x64": "npm:1.7.3" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.3" + "@swc/core-linux-arm64-gnu": "npm:1.7.3" + "@swc/core-linux-arm64-musl": "npm:1.7.3" + "@swc/core-linux-x64-gnu": "npm:1.7.3" + "@swc/core-linux-x64-musl": "npm:1.7.3" + "@swc/core-win32-arm64-msvc": "npm:1.7.3" + "@swc/core-win32-ia32-msvc": "npm:1.7.3" + "@swc/core-win32-x64-msvc": "npm:1.7.3" + "@swc/counter": "npm:^0.1.3" + "@swc/types": "npm:^0.1.12" + peerDependencies: + "@swc/helpers": "*" + dependenciesMeta: + "@swc/core-darwin-arm64": + optional: true + "@swc/core-darwin-x64": + optional: true + "@swc/core-linux-arm-gnueabihf": + optional: true + "@swc/core-linux-arm64-gnu": + optional: true + "@swc/core-linux-arm64-musl": + optional: true + "@swc/core-linux-x64-gnu": + optional: true + "@swc/core-linux-x64-musl": + optional: true + "@swc/core-win32-arm64-msvc": + optional: true + "@swc/core-win32-ia32-msvc": + optional: true + "@swc/core-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 10c0/daf1dc187bc3482488fe3e5b6f1fb2778f18f594e974061f5f1dd406ba96f8c3277969e7d1fcc2b5942f5b6da4111ca41c51a5c70a69852647953ff24e22b5b4 + languageName: node + linkType: hard + +"@swc/counter@npm:^0.1.3": + version: 0.1.3 + resolution: "@swc/counter@npm:0.1.3" + checksum: 10c0/8424f60f6bf8694cfd2a9bca45845bce29f26105cda8cf19cdb9fd3e78dc6338699e4db77a89ae449260bafa1cc6bec307e81e7fb96dbf7dcfce0eea55151356 + languageName: node + linkType: hard + +"@swc/helpers@npm:~0.5.12": + version: 0.5.12 + resolution: "@swc/helpers@npm:0.5.12" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/44693c0f34d772d63f3a6fb461964ec583055549a96df9790afec125b2ba06929a63cf9a165a9aaf22317779f460f8caafa94458b70d5cb2bc057b6ba9b5d02c + languageName: node + linkType: hard + +"@swc/types@npm:^0.1.12": + version: 0.1.12 + resolution: "@swc/types@npm:0.1.12" + dependencies: + "@swc/counter": "npm:^0.1.3" + checksum: 10c0/f95fea7dee8fc07f8389afbb9578f3d0cd84b429b1d0dbff7fd99b2ef06ed88e96bc33631f36c3bc0505d5a783bee1374acd84b8fc2593001219b6c2caba241b + languageName: node + linkType: hard + +"@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper": + version: 0.0.0-use.local + resolution: "@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" + dependencies: + "@aws-sdk/client-ec2": "npm:^3.621.0" + "@aws-sdk/client-ssm": "npm:^3.621.0" + "@aws-sdk/types": "npm:^3.609.0" + "@terraform-aws-github-runner/aws-powertools-util": "npm:*" + "@terraform-aws-github-runner/aws-ssm-util": "npm:*" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.142" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.0.0" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^3.1.0" + cron-parser: "npm:^4.9.0" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-mock-extended: "npm:^3.0.7" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.3" + ts-node: "npm:^10.9.2" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@terraform-aws-github-runner/aws-powertools-util@npm:*, @terraform-aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util": + version: 0.0.0-use.local + resolution: "@terraform-aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util" + dependencies: + "@aws-lambda-powertools/logger": "npm:^1.18.1" + "@aws-lambda-powertools/metrics": "npm:^1.18.1" + "@aws-lambda-powertools/tracer": "npm:^1.18.1" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.142" + "@types/express": "npm:^4.17.21" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.0.0" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:0.38.1" + aws-lambda: "npm:^1.0.7" + body-parser: "npm:^1.20.2" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + express: "npm:^4.19.2" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.3" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@terraform-aws-github-runner/aws-ssm-util@npm:*, @terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util": + version: 0.0.0-use.local + resolution: "@terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" + dependencies: + "@aws-sdk/client-ssm": "npm:^3.621.0" + "@aws-sdk/types": "npm:^3.609.0" + "@terraform-aws-github-runner/aws-powertools-util": "npm:*" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.142" + "@types/express": "npm:^4.17.21" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.0.0" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:0.38.1" + body-parser: "npm:^1.20.2" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + express: "npm:^4.19.2" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.3" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@terraform-aws-github-runner/control-plane@workspace:functions/control-plane": + version: 0.0.0-use.local + resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" + dependencies: + "@aws-sdk/client-ec2": "npm:^3.621.0" + "@aws-sdk/types": "npm:^3.609.0" + "@middy/core": "npm:^4.7.0" + "@octokit/auth-app": "npm:6.0.3" + "@octokit/core": "npm:5.2.0" + "@octokit/plugin-throttling": "npm:8.2.0" + "@octokit/rest": "npm:20.0.2" + "@octokit/types": "npm:^13.5.0" + "@terraform-aws-github-runner/aws-powertools-util": "npm:*" + "@terraform-aws-github-runner/aws-ssm-util": "npm:*" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.142" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.0.0" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^3.1.0" + axios: "npm:^1.7.2" + cron-parser: "npm:^4.9.0" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-mock-extended: "npm:^3.0.7" + moment-timezone: "npm:^0.5.45" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.3" + ts-node: "npm:^10.9.2" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer": + version: 0.0.0-use.local + resolution: "@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" + dependencies: + "@aws-sdk/client-s3": "npm:^3.621.0" + "@aws-sdk/lib-storage": "npm:^3.621.0" + "@aws-sdk/types": "npm:^3.609.0" + "@middy/core": "npm:^4.7.0" + "@octokit/rest": "npm:20.0.2" + "@terraform-aws-github-runner/aws-powertools-util": "npm:*" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.142" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.0.0" + "@types/request": "npm:^2.48.12" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^3.1.0" + axios: "npm:^1.7.2" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.3" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher": + version: 0.0.0-use.local + resolution: "@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher" + dependencies: + "@aws-sdk/client-ec2": "npm:^3.621.0" + "@aws-sdk/types": "npm:^3.609.0" + "@middy/core": "npm:^4.7.0" + "@terraform-aws-github-runner/aws-powertools-util": "npm:*" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.142" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.0.0" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^3.1.0" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-mock-extended: "npm:^3.0.7" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.3" + ts-node: "npm:^10.9.2" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@terraform-aws-github-runner/webhook@workspace:functions/webhook": + version: 0.0.0-use.local + resolution: "@terraform-aws-github-runner/webhook@workspace:functions/webhook" + dependencies: + "@aws-sdk/client-sqs": "npm:^3.621.0" + "@middy/core": "npm:^4.7.0" + "@octokit/rest": "npm:20.0.2" + "@octokit/types": "npm:^13.5.0" + "@octokit/webhooks": "npm:^12.2.0" + "@terraform-aws-github-runner/aws-powertools-util": "npm:*" + "@terraform-aws-github-runner/aws-ssm-util": "npm:*" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.142" + "@types/express": "npm:^4.17.21" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.0.0" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:0.38.1" + aws-lambda: "npm:^1.0.7" + body-parser: "npm:^1.20.2" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + express: "npm:^4.19.2" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.3" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@trivago/prettier-plugin-sort-imports@npm:^4.3.0": + version: 4.3.0 + resolution: "@trivago/prettier-plugin-sort-imports@npm:4.3.0" + dependencies: + "@babel/generator": "npm:7.17.7" + "@babel/parser": "npm:^7.20.5" + "@babel/traverse": "npm:7.23.2" + "@babel/types": "npm:7.17.0" + javascript-natural-sort: "npm:0.7.1" + lodash: "npm:^4.17.21" + peerDependencies: + "@vue/compiler-sfc": 3.x + prettier: 2.x - 3.x + peerDependenciesMeta: + "@vue/compiler-sfc": + optional: true + checksum: 10c0/42270fb9c89e54a3f8b6ac8c43e6d0e03350e2857e902cdad4de22c78ef1864da600525595311bc7e94e51c16c7dd3882c2e048a162fdab59761ffa893756aa2 + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.9 + resolution: "@tsconfig/node10@npm:1.0.9" + checksum: 10c0/c176a2c1e1b16be120c328300ea910df15fb9a5277010116d26818272341a11483c5a80059389d04edacf6fd2d03d4687ad3660870fdd1cc0b7109e160adb220 + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.3 + resolution: "@tsconfig/node16@npm:1.0.3" + checksum: 10c0/451a0d4b2bc35c2cdb30a49b6c699d797b8bbac99b883237659698678076d4193050d90e2ee36016ccbca57075cdb073cadab38cedc45119bac68ab331958cbc + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.9.0": + version: 0.9.0 + resolution: "@tybys/wasm-util@npm:0.9.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/f9fde5c554455019f33af6c8215f1a1435028803dc2a2825b077d812bed4209a1a64444a4ca0ce2ea7e1175c8d88e2f9173a36a33c199e8a5c671aa31de8242d + languageName: node + linkType: hard + +"@types/aws-lambda@npm:^8.10.142": + version: 8.10.142 + resolution: "@types/aws-lambda@npm:8.10.142" + checksum: 10c0/9c9544d0f93bb8e1c044cd9d991c5c11d04c4a98d3b2dfade7d420df56270288baa254ec2d9782144ec7291d154c0dd550862f133ba81cca12a28af9f5349414 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.20.0 + resolution: "@types/babel__core@npm:7.20.0" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/75dcd39258bc008b6fd4db7de2c8bfeb29b5cd2c726f54407f70243ddea1d8ce9e7082281557614c4a5f9f30d478387ca6ab6cc576fc829cebeb159bfaa8799f + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.4 + resolution: "@types/babel__generator@npm:7.6.4" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/e0051b450e4ba2df0a7e386f08df902a4e920f6f8d6f185d69ddbe9b0e2e2d3ae434bb51e437bc0fca2a9a0f5dc4ca44d3a1941ef75e74371e8be5bf64416fe4 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.1 + resolution: "@types/babel__template@npm:7.4.1" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/6f180e96c39765487f27e861d43eebed341ec7a2fc06cdf5a52c22872fae67f474ca165d149c708f4fd9d5482beb66c0a92f77411b234bb30262ed2303e50b1a + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.18.4 + resolution: "@types/babel__traverse@npm:7.18.4" + dependencies: + "@babel/types": "npm:^7.3.0" + checksum: 10c0/ea249027e00dd45137377b84f47b82b89f72ff05b8895fa118d81f6f0d99b13bdd2f3bddb1551dd71e82dfcc50415fd4efc491d0003b2231d3254479f8a003aa + languageName: node + linkType: hard + +"@types/body-parser@npm:*": + version: 1.19.2 + resolution: "@types/body-parser@npm:1.19.2" + dependencies: + "@types/connect": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/c2dd533e1d4af958d656bdba7f376df68437d8dfb7e4522c88b6f3e6f827549e4be5bf0be68a5f1878accf5752ea37fba7e8a4b6dda53d0d122d77e27b69c750 + languageName: node + linkType: hard + +"@types/btoa-lite@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/btoa-lite@npm:1.0.0" + checksum: 10c0/ab354cfa11b683fcc97c66cd2199b0a630b771dc13e3f98783c9f15beba3bdf031b9925c924252473888da3737a07dec93971226e0310354e58f9e64a03a102f + languageName: node + linkType: hard + +"@types/caseless@npm:*": + version: 0.12.2 + resolution: "@types/caseless@npm:0.12.2" + checksum: 10c0/9d35e36439266b1d2593469fcb67cead3be1bba541bf71661063cd5751a6d497375dcda063f818dda8433041193c1d74e2c868e96c4fe0e344b5beaba487348e + languageName: node + linkType: hard + +"@types/cls-hooked@npm:^4.3.3": + version: 4.3.8 + resolution: "@types/cls-hooked@npm:4.3.8" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f7492cbc1baa0965890d02b3b12f8b235f6c9221ca2fa5e7ba5fcab5a47e1aa6abedec08901f283fd82c1eb604e3d66ace76fb00638c22676fe5a4d8a2b7e355 + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.35 + resolution: "@types/connect@npm:3.4.35" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f11a1ccfed540723dddd7cb496543ad40a2f663f22ff825e9b220f0bae86db8b1ced2184ee41d3fb358b019ad6519e39481b06386db91ebb859003ad1d54fe6a + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:^4.17.33": + version: 4.17.33 + resolution: "@types/express-serve-static-core@npm:4.17.33" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + checksum: 10c0/68f21adeb8cb7085014692daa8fd75b33be2cbb91f954f42fef4804e04cb34abbe8020918d7656243afec4882949ce0c4e8074eaf5a5f8dfbef704690799724a + languageName: node + linkType: hard + +"@types/express@npm:^4.17.21": + version: 4.17.21 + resolution: "@types/express@npm:4.17.21" + dependencies: + "@types/body-parser": "npm:*" + "@types/express-serve-static-core": "npm:^4.17.33" + "@types/qs": "npm:*" + "@types/serve-static": "npm:*" + checksum: 10c0/12e562c4571da50c7d239e117e688dc434db1bac8be55613294762f84fd77fbd0658ccd553c7d3ab02408f385bc93980992369dd30e2ecd2c68c358e6af8fabf + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.6 + resolution: "@types/graceful-fs@npm:4.1.6" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/b1d32c5ae7bd52cf60e29df20407904c4312a39612e7ec2ee23c1e3731c1cfe31d97c6941bf6cb52f5f929d50d86d92dd506436b63fafa833181d439b628885e + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.4 + resolution: "@types/istanbul-lib-coverage@npm:2.0.4" + checksum: 10c0/af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.3 + resolution: "@types/istanbul-lib-report@npm:3.0.3" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + languageName: node + linkType: hard + +"@types/jest@npm:^29.5.12": + version: 29.5.12 + resolution: "@types/jest@npm:29.5.12" + dependencies: + expect: "npm:^29.0.0" + pretty-format: "npm:^29.0.0" + checksum: 10c0/25fc8e4c611fa6c4421e631432e9f0a6865a8cb07c9815ec9ac90d630271cad773b2ee5fe08066f7b95bebd18bb967f8ce05d018ee9ab0430f9dfd1d84665b6f + languageName: node + linkType: hard + +"@types/jsonwebtoken@npm:^9.0.0": + version: 9.0.1 + resolution: "@types/jsonwebtoken@npm:9.0.1" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/e603f206c91dac01f23096c6d2aaba014ab60357fc270afef4c68449c335643d76dc1c21cc6464c89d0fb8f7e471d14a03a4ffb13b62d7133c97f61e75d2fcdd + languageName: node + linkType: hard + +"@types/mime@npm:*": + version: 3.0.1 + resolution: "@types/mime@npm:3.0.1" + checksum: 10c0/c4c0fc89042822a3b5ffd6ef0da7006513454ee8376ffa492372d17d2925a4e4b1b194c977b718c711df38b33eb9d06deb5dbf9f851bcfb7e5e65f06b2a87f97 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 20.14.9 + resolution: "@types/node@npm:20.14.9" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/911ffa444dc032897f4a23ed580c67903bd38ea1c5ec99b1d00fa10b83537a3adddef8e1f29710cbdd8e556a61407ed008e06537d834e48caf449ce59f87d387 + languageName: node + linkType: hard + +"@types/node@npm:^22.0.0": + version: 22.0.0 + resolution: "@types/node@npm:22.0.0" + dependencies: + undici-types: "npm:~6.11.1" + checksum: 10c0/af26a8ec7266c857b0ced75dc3a93c6b65280d1fa40d1b4488c814d30831c5c752489c99ecb5698daec1376145b1a9ddd08350882dc2e07769917a5f22a460bc + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.2 + resolution: "@types/parse-json@npm:4.0.2" + checksum: 10c0/b1b863ac34a2c2172fbe0807a1ec4d5cb684e48d422d15ec95980b81475fac4fdb3768a8b13eef39130203a7c04340fc167bae057c7ebcafd7dec9fe6c36aeb1 + languageName: node + linkType: hard + +"@types/qs@npm:*": + version: 6.9.7 + resolution: "@types/qs@npm:6.9.7" + checksum: 10c0/157eb05f4c75790b0ebdcf7b0547ff117feabc8cda03c3cac3d3ea82bb19a1912e76a411df3eb0bdd01026a9770f07bc0e7e3fbe39ebb31c1be4564c16be35f1 + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.4 + resolution: "@types/range-parser@npm:1.2.4" + checksum: 10c0/8e3c3cda88675efd9145241bcb454449715b7d015a7fb80d018dcb3d441fa1938b302242cc0dfa6b02c5d014dd8bc082ae90091e62b1e816cae3ec36c2a7dbcb + languageName: node + linkType: hard + +"@types/request@npm:^2.48.12": + version: 2.48.12 + resolution: "@types/request@npm:2.48.12" + dependencies: + "@types/caseless": "npm:*" + "@types/node": "npm:*" + "@types/tough-cookie": "npm:*" + form-data: "npm:^2.5.0" + checksum: 10c0/dd3d03d68af95b1e1961dc51efc63023543a91a74afd481dafb441521a31baa58c42f80d3bdd0d5d4633aa777e31b17f7ff7bed5606ad3f5eb175a65148adbce + languageName: node + linkType: hard + +"@types/serve-static@npm:*": + version: 1.15.1 + resolution: "@types/serve-static@npm:1.15.1" + dependencies: + "@types/mime": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/dc934e2adce730480af5af6081b99f50be4dfb7f44537893444bcf1dc97f5d5ffb16b38350ecd89dd114184d751ba3271500631fa56cf1faa35be56f8e45971b + languageName: node + linkType: hard + +"@types/sinon@npm:^10.0.10": + version: 10.0.20 + resolution: "@types/sinon@npm:10.0.20" + dependencies: + "@types/sinonjs__fake-timers": "npm:*" + checksum: 10c0/8c523a3ac2bf5bd48a481cb340b3db0176b65d1190a9dfac41044ad47ae7e2c3f6ad40a564dc831c5adf3b4ab4d983cc4993b4053217afe11b3985875b9f3fee + languageName: node + linkType: hard + +"@types/sinonjs__fake-timers@npm:*": + version: 8.1.5 + resolution: "@types/sinonjs__fake-timers@npm:8.1.5" + checksum: 10c0/2b8bdc246365518fc1b08f5720445093cce586183acca19a560be6ef81f824bd9a96c090e462f622af4d206406dadf2033c5daf99a51c1096da6494e5c8dc32e + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c + languageName: node + linkType: hard + +"@types/strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/strip-bom@npm:3.0.0" + checksum: 10c0/6638635fb52dc1f7a4aa596445170ffc731f3bea307d25d79709dcce14f80870128a6f0304032863b9d1a86b4b5f45d48bcaf96abe81f42e61f0a3eb18a1b996 + languageName: node + linkType: hard + +"@types/strip-json-comments@npm:0.0.30": + version: 0.0.30 + resolution: "@types/strip-json-comments@npm:0.0.30" + checksum: 10c0/90509e345ac16c79f7aa7d7ef52e388e5be923f3456cf8052d36ee0eb4abc5ec4080c5f010f78cf01f5599546577eb3724256bc698663e86f0fe08a5a3fb7f68 + languageName: node + linkType: hard + +"@types/tough-cookie@npm:*": + version: 4.0.2 + resolution: "@types/tough-cookie@npm:4.0.2" + checksum: 10c0/38d01fc79a9a87166253b8c548bb401599424c57a818bea1b47a68be6dcd37fc3bff381f978354e00221f284937d5066bb92d58bf79952f9d21deb934e8ec9a7 + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 21.0.3 + resolution: "@types/yargs-parser@npm:21.0.3" + checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.32 + resolution: "@types/yargs@npm:17.0.32" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.18.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/type-utils": "npm:7.18.0" + "@typescript-eslint/utils": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + "@typescript-eslint/parser": ^7.0.0 + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/2b37948fa1b0dab77138909dabef242a4d49ab93e4019d4ef930626f0a7d96b03e696cd027fa0087881c20e73be7be77c942606b4a76fa599e6b37f6985304c3 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/parser@npm:7.18.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/scope-manager@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + checksum: 10c0/038cd58c2271de146b3a594afe2c99290034033326d57ff1f902976022c8b0138ffd3cb893ae439ae41003b5e4bcc00cabf6b244ce40e8668f9412cc96d97b8e + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/type-utils@npm:7.18.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:7.18.0" + "@typescript-eslint/utils": "npm:7.18.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.3.0" + peerDependencies: + eslint: ^8.56.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/ad92a38007be620f3f7036f10e234abdc2fdc518787b5a7227e55fd12896dacf56e8b34578723fbf9bea8128df2510ba8eb6739439a3879eda9519476d5783fd + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 10c0/eb7371ac55ca77db8e59ba0310b41a74523f17e06f485a0ef819491bc3dd8909bb930120ff7d30aaf54e888167e0005aa1337011f3663dc90fb19203ce478054 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/0c7f109a2e460ec8a1524339479cf78ff17814d23c83aa5112c77fb345e87b3642616291908dcddea1e671da63686403dfb712e4a4435104f92abdfddf9aba81 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/utils@npm:7.18.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:7.18.0" + peerDependencies: + eslint: ^8.56.0 + checksum: 10c0/a25a6d50eb45c514469a01ff01f215115a4725fb18401055a847ddf20d1b681409c4027f349033a95c4ff7138d28c3b0a70253dfe8262eb732df4b87c547bd1e + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/538b645f8ff1d9debf264865c69a317074eaff0255e63d7407046176b0f6a6beba34a6c51d511f12444bae12a98c69891eb6f403c9f54c6c2e2849d1c1cb73c0 + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + languageName: node + linkType: hard + +"@vercel/ncc@npm:0.38.1, @vercel/ncc@npm:^0.38.1": + version: 0.38.1 + resolution: "@vercel/ncc@npm:0.38.1" + dependencies: + node-gyp: "npm:latest" + bin: + ncc: dist/ncc/cli.js + checksum: 10c0/3e6c08251ccc8c6c7ca6523f223e326c70950af787259252c8a19ef04a7f8cc4c42d4c1ddb94f227a9d0d1c5429f71e303daf6a356948b4f81bcd38d075c9b24 + languageName: node + linkType: hard + +"@yarnpkg/lockfile@npm:^1.1.0": + version: 1.1.0 + resolution: "@yarnpkg/lockfile@npm:1.1.0" + checksum: 10c0/0bfa50a3d756623d1f3409bc23f225a1d069424dbc77c6fd2f14fb377390cd57ec703dc70286e081c564be9051ead9ba85d81d66a3e68eeb6eb506d4e0c0fbda + languageName: node + linkType: hard + +"@yarnpkg/parsers@npm:3.0.0-rc.46": + version: 3.0.0-rc.46 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.46" + dependencies: + js-yaml: "npm:^3.10.0" + tslib: "npm:^2.4.0" + checksum: 10c0/c7f421c6885142f351459031c093fb2e79abcce6f4a89765a10e600bb7ab122949c54bcea2b23de9572a2b34ba29f822b17831c1c43ba50373ceb8cb5b336667 + languageName: node + linkType: hard + +"@zkochan/js-yaml@npm:0.0.7": + version: 0.0.7 + resolution: "@zkochan/js-yaml@npm:0.0.7" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/c8b3525717912811f9422ed50e94c5751ed6f771eb1b7e5cde097f14835654931e2bdaecb1e5fc37b51cf8d822410a307f16dd1581d46149398c30215f3f9bac + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.2.0 + resolution: "acorn-walk@npm:8.2.0" + checksum: 10c0/dbe92f5b2452c93e960c5594e666dd1fae141b965ff2cb4a1e1d0381e3e4db4274c5ce4ffa3d681a86ca2a8d4e29d5efc0670a08e23fd2800051ea387df56ca2 + languageName: node + linkType: hard + +"acorn@npm:^8.4.1": + version: 8.10.0 + resolution: "acorn@npm:8.10.0" + bin: + acorn: bin/acorn + checksum: 10c0/deaeebfbea6e40f6c0e1070e9b0e16e76ba484de54cbd735914d1d41d19169a450de8630b7a3a0c4e271a3b0c0b075a3427ad1a40d8a69f8747c0e8cb02ee3e2 + languageName: node + linkType: hard + +"acorn@npm:^8.9.0": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + languageName: node + linkType: hard + +"address@npm:^1.0.1": + version: 1.2.2 + resolution: "address@npm:1.2.2" + checksum: 10c0/1c8056b77fb124456997b78ed682ecc19d2fd7ea8bd5850a2aa8c3e3134c913847c57bcae418622efd32ba858fa1e242a40a251ac31da0515664fc0ac03a047d + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0, aggregate-error@npm:^3.1.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3, anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"async-hook-jl@npm:^1.7.6": + version: 1.7.6 + resolution: "async-hook-jl@npm:1.7.6" + dependencies: + stack-chain: "npm:^1.3.7" + checksum: 10c0/4bd9aee5181fef66e58711c615f9be1e4575848c977ed1a5eff62046b64a6ff5641951a0ea70344c2026d7944674a6e8c1d888f9865e421e9587610e7a3be301 + languageName: node + linkType: hard + +"async@npm:^3.2.3": + version: 3.2.4 + resolution: "async@npm:3.2.4" + checksum: 10c0/b5d02fed64717edf49e35b2b156debd9cf524934ea670108fa5528e7615ed66a5e0bf6c65f832c9483b63aa7f0bffe3e588ebe8d58a539b833798d324516e1c9 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"atomic-batcher@npm:^1.0.2": + version: 1.0.2 + resolution: "atomic-batcher@npm:1.0.2" + checksum: 10c0/6511385b61eca9ba1feedd85b78ba601818aba6fffc65ba3ba1b361d32f4a36b2e735c4d65a316568163beeb76bae7a21d3b043c1a1e5e2b5fa116048f5f7d2b + languageName: node + linkType: hard + +"available-typed-arrays@npm:^1.0.5": + version: 1.0.5 + resolution: "available-typed-arrays@npm:1.0.5" + checksum: 10c0/c4df567ca72d2754a6cbad20088f5f98b1065b3360178169fa9b44ea101af62c0f423fc3854fa820fd6895b6b9171b8386e71558203103ff8fc2ad503fdcc660 + languageName: node + linkType: hard + +"aws-lambda@npm:^1.0.7": + version: 1.0.7 + resolution: "aws-lambda@npm:1.0.7" + dependencies: + aws-sdk: "npm:^2.814.0" + commander: "npm:^3.0.2" + js-yaml: "npm:^3.14.1" + watchpack: "npm:^2.0.0-beta.10" + bin: + lambda: bin/lambda + checksum: 10c0/cf017d4a0b92e14c7361afde48f40a77523fd8f9d911bbd951b65a453bc0aa54219a03d95c11fcad0f707994b67f691c6764215497f13178688e9efd17212b91 + languageName: node + linkType: hard + +"aws-sdk-client-mock-jest@npm:^3.1.0": + version: 3.1.0 + resolution: "aws-sdk-client-mock-jest@npm:3.1.0" + dependencies: + expect: "npm:>28.1.3" + tslib: "npm:^2.1.0" + peerDependencies: + aws-sdk-client-mock: 3.1.0 + checksum: 10c0/000c4a6f1b5c8d2e741a5db2a09af4a8120bd68cbe92a2ff8c81fac02c71d6361b0e3622f1731c4d2afe935935d88dd4b01205358069e257a22727b3127069d6 + languageName: node + linkType: hard + +"aws-sdk-client-mock@npm:^3.1.0": + version: 3.1.0 + resolution: "aws-sdk-client-mock@npm:3.1.0" + dependencies: + "@types/sinon": "npm:^10.0.10" + sinon: "npm:^16.1.3" + tslib: "npm:^2.1.0" + checksum: 10c0/e4c9cfc999afd4d23b086dcb00c2d94599bedd80572d7a66985cf730a8d0afc534e930d5513fbc13d1130a63fb1cf7b467ef0a57f0874dd22eb3651a48742f4a + languageName: node + linkType: hard + +"aws-sdk@npm:^2.814.0": + version: 2.1365.0 + resolution: "aws-sdk@npm:2.1365.0" + dependencies: + buffer: "npm:4.9.2" + events: "npm:1.1.1" + ieee754: "npm:1.1.13" + jmespath: "npm:0.16.0" + querystring: "npm:0.2.0" + sax: "npm:1.2.1" + url: "npm:0.10.3" + util: "npm:^0.12.4" + uuid: "npm:8.0.0" + xml2js: "npm:0.5.0" + checksum: 10c0/b48997d720c5f3fa1482758b6f8f7eb74f13a89eb874c660632241bedbc2f99e02bb95aac465b4e31810859137fdd32b3e05f9c743eb46a2bbe8063de6ebbfcd + languageName: node + linkType: hard + +"aws-xray-sdk-core@npm:^3.5.3": + version: 3.9.0 + resolution: "aws-xray-sdk-core@npm:3.9.0" + dependencies: + "@aws-sdk/types": "npm:^3.4.1" + "@smithy/service-error-classification": "npm:^2.0.4" + "@types/cls-hooked": "npm:^4.3.3" + atomic-batcher: "npm:^1.0.2" + cls-hooked: "npm:^4.2.2" + semver: "npm:^7.5.3" + checksum: 10c0/b54a1690f0bdf3d0b980d199bc96b3b912ee8c24876c4db1bdfdc5285fc36c661df1792881477f9ac5ceb91e55a74fd5179d6369e6f3779a7d5670cd5dfc5e08 + languageName: node + linkType: hard + +"axios@npm:^1.7.2": + version: 1.7.2 + resolution: "axios@npm:1.7.2" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/cbd47ce380fe045313364e740bb03b936420b8b5558c7ea36a4563db1258c658f05e40feb5ddd41f6633fdd96d37ac2a76f884dad599c5b0224b4c451b3fa7ae + languageName: node + linkType: hard + +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" + dependencies: + "@jest/transform": "npm:^29.7.0" + "@types/babel__core": "npm:^7.1.14" + babel-plugin-istanbul: "npm:^6.1.1" + babel-preset-jest: "npm:^29.6.3" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + slash: "npm:^3.0.0" + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 + languageName: node + linkType: hard + +"babel-plugin-const-enum@npm:^1.0.1": + version: 1.2.0 + resolution: "babel-plugin-const-enum@npm:1.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-typescript": "npm:^7.3.3" + "@babel/traverse": "npm:^7.16.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/53fef408995add80e615773ff3609169c327bd671990c5ff3b59d275595aad0caa269ac7fdf1b1f691fa13f0d7c03c7fa3d3552cfbf4573912f0eef0bd52f751 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@istanbuljs/load-nyc-config": "npm:^1.0.0" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-instrument: "npm:^5.0.4" + test-exclude: "npm:^6.0.0" + checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" + dependencies: + "@babel/template": "npm:^7.3.3" + "@babel/types": "npm:^7.3.3" + "@types/babel__core": "npm:^7.1.14" + "@types/babel__traverse": "npm:^7.0.6" + checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e + languageName: node + linkType: hard + +"babel-plugin-macros@npm:^2.8.0": + version: 2.8.0 + resolution: "babel-plugin-macros@npm:2.8.0" + dependencies: + "@babel/runtime": "npm:^7.7.2" + cosmiconfig: "npm:^6.0.0" + resolve: "npm:^1.12.0" + checksum: 10c0/9a101e2844a800e65662b2a8d0758bdbbe500ae02d68ef6f3466ead7eaa1350e3872b97014b20bf6f3a1a46b3c9613dfac7578af6f6ae6d4eccbd68ad7b6f228 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs2@npm:^0.4.8": + version: 0.4.8 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.8" + dependencies: + "@babel/compat-data": "npm:^7.22.6" + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/843e7528de0e03a31a6f3837896a95f75b0b24b0294a077246282372279e974400b0bdd82399e8f9cbfe42c87ed56540fd71c33eafb7c8e8b9adac546ecc5fe5 + languageName: node + linkType: hard + +"babel-plugin-polyfill-corejs3@npm:^0.9.0": + version: 0.9.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.9.0" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + core-js-compat: "npm:^3.34.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/b857010736c5e42e20b683973dae862448a42082fcc95b3ef188305a6864a4f94b5cbd568e49e4cd7172c6b2eace7bc403c3ba0984fbe5479474ade01126d559 + languageName: node + linkType: hard + +"babel-plugin-polyfill-regenerator@npm:^0.5.5": + version: 0.5.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.5.5" + dependencies: + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10c0/2aab692582082d54e0df9f9373dca1b223e65b4e7e96440160f27ed8803d417a1fa08da550f08aa3820d2010329ca91b68e2b6e9bd7aed51c93d46dfe79629bb + languageName: node + linkType: hard + +"babel-plugin-transform-typescript-metadata@npm:^0.3.1": + version: 0.3.2 + resolution: "babel-plugin-transform-typescript-metadata@npm:0.3.2" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + checksum: 10c0/3a44874122e696416e4bc01a7973f38b07cf6bfd2e366026960a16f85d64ab41b735f408a045cbcfe651dadda52802c9fb992ee8229b1d7731fad56cc4346f57 + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.0.1 + resolution: "babel-preset-current-node-syntax@npm:1.0.1" + dependencies: + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-bigint": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.8.3" + "@babel/plugin-syntax-import-meta": "npm:^7.8.3" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.8.3" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-top-level-await": "npm:^7.8.3" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/5ba39a3a0e6c37d25e56a4fb843be632dac98d54706d8a0933f9bcb1a07987a96d55c2b5a6c11788a74063fb2534fe68c1f1dbb6c93626850c785e0938495627 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" + dependencies: + babel-plugin-jest-hoist: "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base64-js@npm:^1.0.2": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"before-after-hook@npm:^2.2.0": + version: 2.2.3 + resolution: "before-after-hook@npm:2.2.3" + checksum: 10c0/0488c4ae12df758ca9d49b3bb27b47fd559677965c52cae7b335784724fb8bf96c42b6e5ba7d7afcbc31facb0e294c3ef717cc41c5bc2f7bd9e76f8b90acd31c + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.2.0 + resolution: "binary-extensions@npm:2.2.0" + checksum: 10c0/d73d8b897238a2d3ffa5f59c0241870043aa7471335e89ea5e1ff48edb7c2d0bb471517a3e4c5c3f4c043615caa2717b5f80a5e61e07503d51dc85cb848e665d + languageName: node + linkType: hard + +"bl@npm:^4.0.3": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: "npm:^5.5.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f + languageName: node + linkType: hard + +"body-parser@npm:1.20.2, body-parser@npm:^1.20.2": + version: 1.20.2 + resolution: "body-parser@npm:1.20.2" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.11.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/06f1438fff388a2e2354c96aa3ea8147b79bfcb1262dfcc2aae68ec13723d01d5781680657b74e9f83c808266d5baf52804032fbde2b7382b89bd8cdb273ace9 + languageName: node + linkType: hard + +"bottleneck@npm:^2.15.3": + version: 2.19.5 + resolution: "bottleneck@npm:2.19.5" + checksum: 10c0/b0f72e45b2e0f56a21ba720183f16bef8e693452fb0495d997fa354e42904353a94bd8fd429868e6751bc85e54b6755190519eed5a0ae0a94a5185209ae7c6d0 + languageName: node + linkType: hard + +"bowser@npm:^2.11.0": + version: 2.11.0 + resolution: "bowser@npm:2.11.0" + checksum: 10c0/04efeecc7927a9ec33c667fa0965dea19f4ac60b3fea60793c2e6cf06c1dcd2f7ae1dbc656f450c5f50783b1c75cf9dc173ba6f3b7db2feee01f8c4b793e1bd3 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.22.2, browserslist@npm:^4.22.3": + version: 4.22.3 + resolution: "browserslist@npm:4.22.3" + dependencies: + caniuse-lite: "npm:^1.0.30001580" + electron-to-chromium: "npm:^1.4.648" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.0.13" + bin: + browserslist: cli.js + checksum: 10c0/5a1f673ce0d6e61a68369835a6b66e199669bde02c3bed5ec51e77598d8daafd91719dba55b15af2021b9ad0bbaa94951fd702eb71087449eb28be8002815ece + languageName: node + linkType: hard + +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: "npm:2.x" + checksum: 10c0/80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0 + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: "npm:^0.4.0" + checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 + languageName: node + linkType: hard + +"btoa-lite@npm:^1.0.0": + version: 1.0.0 + resolution: "btoa-lite@npm:1.0.0" + checksum: 10c0/7a4f0568ae3c915464650f98fde7901ae07b13a333a614515a0c86876b3528670fafece28dfef9745d971a613bb83341823afb0c20c6f318b384c1e364b9eb95 + languageName: node + linkType: hard + +"buffer-equal-constant-time@npm:1.0.1": + version: 1.0.1 + resolution: "buffer-equal-constant-time@npm:1.0.1" + checksum: 10c0/fb2294e64d23c573d0dd1f1e7a466c3e978fe94a4e0f8183937912ca374619773bef8e2aceb854129d2efecbbc515bbd0cc78d2734a3e3031edb0888531bbc8e + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer@npm:4.9.2": + version: 4.9.2 + resolution: "buffer@npm:4.9.2" + dependencies: + base64-js: "npm:^1.0.2" + ieee754: "npm:^1.1.4" + isarray: "npm:^1.0.0" + checksum: 10c0/dc443d7e7caab23816b58aacdde710b72f525ad6eecd7d738fcaa29f6d6c12e8d9c13fed7219fd502be51ecf0615f5c077d4bdc6f9308dde2e53f8e5393c5b21 + languageName: node + linkType: hard + +"buffer@npm:5.6.0, buffer@npm:^5.5.0": + version: 5.6.0 + resolution: "buffer@npm:5.6.0" + dependencies: + base64-js: "npm:^1.0.2" + ieee754: "npm:^1.1.4" + checksum: 10c0/07037a0278b07fbc779920f1ba1b473933ffb4a2e2f7b387c55daf6ac64a05b58c27da9e85730a4046e8f97a49f8acd9f7bf89605c0a4dfda88ebfb7e08bfe4a + languageName: node + linkType: hard + +"builtins@npm:^5.0.0": + version: 5.0.1 + resolution: "builtins@npm:5.0.1" + dependencies: + semver: "npm:^7.0.0" + checksum: 10c0/9390a51a9abbc0233dac79c66715f927508b9d0c62cb7a42448fe8c52def60c707e6e9eb2cc4c9b7aba11601899935bca4e4064ae5e19c04c7e1bb9309e69134 + languageName: node + linkType: hard + +"bytes@npm:3.1.2": + version: 3.1.2 + resolution: "bytes@npm:3.1.2" + checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.4 + resolution: "cacache@npm:18.0.4" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f + languageName: node + linkType: hard + +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": + version: 1.0.2 + resolution: "call-bind@npm:1.0.2" + dependencies: + function-bind: "npm:^1.1.1" + get-intrinsic: "npm:^1.0.2" + checksum: 10c0/74ba3f31e715456e22e451d8d098779b861eba3c7cac0d9b510049aced70d75c231ba05071f97e1812c98e34e2bee734c0c6126653e0088c2d9819ca047f4073 + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001580": + version: 1.0.30001587 + resolution: "caniuse-lite@npm:1.0.30001587" + checksum: 10c0/c7a34cb758a24fa1d948e164de3c5873e7e607b46db0e530ba160a281cb619c9d6a1b85bb334894bc8e629a59db99f3de4521593b08142d317a529e80a856385 + languageName: node + linkType: hard + +"chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e + languageName: node + linkType: hard + +"chokidar@npm:^3.5.1": + version: 3.5.3 + resolution: "chokidar@npm:3.5.3" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/1076953093e0707c882a92c66c0f56ba6187831aa51bb4de878c1fec59ae611a3bf02898f190efec8e77a086b8df61c2b2a3ea324642a0558bdf8ee6c5dc9ca1 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.2.2 + resolution: "cjs-module-lexer@npm:1.2.2" + checksum: 10c0/83330e1feda2e3699b8c305bfa8f841b41822049393f5eefeb574e60bde556e2a251ee9b7971cde0cb47ac4f7823bf4ab4a6005b8471f86ad9f5509eefb66cbd + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-cursor@npm:3.1.0, cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: "npm:^3.1.0" + checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 + languageName: node + linkType: hard + +"cli-spinners@npm:2.6.1, cli-spinners@npm:^2.5.0": + version: 2.6.1 + resolution: "cli-spinners@npm:2.6.1" + checksum: 10c0/6abcdfef59aa68e6b51376d87d257f9120a0a7120a39dd21633702d24797decb6dc747dff2217c88732710db892b5053c5c672d221b6c4d13bbcb5372e203596 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b + languageName: node + linkType: hard + +"cls-hooked@npm:^4.2.2": + version: 4.2.2 + resolution: "cls-hooked@npm:4.2.2" + dependencies: + async-hook-jl: "npm:^1.7.6" + emitter-listener: "npm:^1.0.1" + semver: "npm:^5.4.1" + checksum: 10c0/ee6c0c837f00aeea0ed6c05f67f64bc3f6d9e2055fbad703e571a588e47fdefc11034a2f99d1657880b000ec4e9657dd752f8be8bc2b55bac8c5ec092afb1b4e + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.1 + resolution: "collect-v8-coverage@npm:1.0.1" + checksum: 10c0/df8192811a773d10978fd25060124e4228d9a86bab40de3f18df5ce1a3730832351a52ba1c0e3915d5bd638298fc7bc9723760d25f534462746e269a6f0ac91c + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"colorette@npm:^2.0.20": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"columnify@npm:^1.6.0": + version: 1.6.0 + resolution: "columnify@npm:1.6.0" + dependencies: + strip-ansi: "npm:^6.0.1" + wcwidth: "npm:^1.0.0" + checksum: 10c0/25b90b59129331bbb8b0c838f8df69924349b83e8eab9549f431062a20a39094b8d744bb83265be38fd5d03140ce4bfbd85837c293f618925e83157ae9535f1d + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:^3.0.2": + version: 3.0.2 + resolution: "commander@npm:3.0.2" + checksum: 10c0/8a279b4bacde68f03664086260ccb623122d2bdae6f380a41c9e06b646e830372c30a4b88261238550e0ad69d53f7af8883cb705d8237fdd22947e84913b149c + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af + languageName: node + linkType: hard + +"convert-source-map@npm:^1.6.0": + version: 1.9.0 + resolution: "convert-source-map@npm:1.9.0" + checksum: 10c0/281da55454bf8126cbc6625385928c43479f2060984180c42f3a86c8b8c12720a24eac260624a7d1e090004028d2dee78602330578ceec1a08e27cb8bb0a8a5b + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 + languageName: node + linkType: hard + +"cookie@npm:0.6.0": + version: 0.6.0 + resolution: "cookie@npm:0.6.0" + checksum: 10c0/f2318b31af7a31b4ddb4a678d024514df5e705f9be5909a192d7f116cfb6d45cbacf96a473fa733faa95050e7cff26e7832bb3ef94751592f1387b71c8956686 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.34.0": + version: 3.36.0 + resolution: "core-js-compat@npm:3.36.0" + dependencies: + browserslist: "npm:^4.22.3" + checksum: 10c0/5ce2ad0ece8379883c01958e196575abc015692fc0394b8917f132b6b32e5c2bfb2612902c3f98f270cfa2d9d6522c28d36665038f3726796f1f4b436e4f863e + languageName: node + linkType: hard + +"cosmiconfig@npm:^6.0.0": + version: 6.0.0 + resolution: "cosmiconfig@npm:6.0.0" + dependencies: + "@types/parse-json": "npm:^4.0.0" + import-fresh: "npm:^3.1.0" + parse-json: "npm:^5.0.0" + path-type: "npm:^4.0.0" + yaml: "npm:^1.7.2" + checksum: 10c0/666ed8732d0bf7d7fe6f8516c8ee6041e0622032e8fa26201577b883d2767ad105d03f38b34b93d1f02f26b22a89e7bab4443b9d2e7f931f48d0e944ffa038b5 + languageName: node + linkType: hard + +"create-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "create-jest@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + prompts: "npm:^2.0.1" + bin: + create-jest: bin/create-jest.js + checksum: 10c0/e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 + languageName: node + linkType: hard + +"cron-parser@npm:^4.9.0": + version: 4.9.0 + resolution: "cron-parser@npm:4.9.0" + dependencies: + luxon: "npm:^3.2.1" + checksum: 10c0/348622bdcd1a15695b61fc33af8a60133e5913a85cf99f6344367579e7002896514ba3b0a9d6bb569b02667d6b06836722bf2295fcd101b3de378f71d37bed0b + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"debug@npm:2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5": + version: 4.3.5 + resolution: "debug@npm:4.3.5" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/082c375a2bdc4f4469c99f325ff458adad62a3fc2c482d59923c260cb08152f34e2659f72b3767db8bb2f21ca81a60a42d1019605a412132d7b9f59363a005cc + languageName: node + linkType: hard + +"dedent@npm:^1.0.0": + version: 1.5.1 + resolution: "dedent@npm:1.5.1" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10c0/f8612cd5b00aab58b18bb95572dca08dc2d49720bfa7201a444c3dae430291e8a06d4928614a6ec8764d713927f44bce9c990d3b8238fca2f430990ddc17c070 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.4 + resolution: "defaults@npm:1.0.4" + dependencies: + clone: "npm:^1.0.2" + checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"deprecation@npm:^2.0.0, deprecation@npm:^2.3.1": + version: 2.3.1 + resolution: "deprecation@npm:2.3.1" + checksum: 10c0/23d688ba66b74d09b908c40a76179418acbeeb0bfdf218c8075c58ad8d0c315130cb91aa3dffb623aa3a411a3569ce56c6460de6c8d69071c17fe6dd2442f032 + languageName: node + linkType: hard + +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d + languageName: node + linkType: hard + +"detect-port@npm:^1.5.1": + version: 1.5.1 + resolution: "detect-port@npm:1.5.1" + dependencies: + address: "npm:^1.0.1" + debug: "npm:4" + bin: + detect: bin/detect-port.js + detect-port: bin/detect-port.js + checksum: 10c0/f2b204ad3a9f8e8b53fea35fcc97469f31a8e3e786a2f59fbc886397e33b5f130c5f964bf001b9a64d990047c3824f6a439308461ff19801df04ab48a754639e + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 + languageName: node + linkType: hard + +"diff@npm:^5.1.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"dotenv-expand@npm:~11.0.6": + version: 11.0.6 + resolution: "dotenv-expand@npm:11.0.6" + dependencies: + dotenv: "npm:^16.4.4" + checksum: 10c0/e22891ec72cb926d46d9a26290ef77f9cc9ddcba92d2f83d5e6f3a803d1590887be68e25b559415d080053000441b6f63f5b36093a565bb8c5c994b992ae49f2 + languageName: node + linkType: hard + +"dotenv@npm:^16.4.4, dotenv@npm:~16.4.5": + version: 16.4.5 + resolution: "dotenv@npm:16.4.5" + checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f + languageName: node + linkType: hard + +"duplexer@npm:^0.1.1": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 + languageName: node + linkType: hard + +"dynamic-dedupe@npm:^0.3.0": + version: 0.3.0 + resolution: "dynamic-dedupe@npm:0.3.0" + dependencies: + xtend: "npm:^4.0.0" + checksum: 10c0/505a79f05221daaa5b6d4b6dddc30881809a136810acea138bf56e784b15c237077864ae18824b5dfb0f836a321d14cec0b7cec004e6abf31c38a1e9862af22b + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"ecdsa-sig-formatter@npm:1.0.11": + version: 1.0.11 + resolution: "ecdsa-sig-formatter@npm:1.0.11" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/ebfbf19d4b8be938f4dd4a83b8788385da353d63307ede301a9252f9f7f88672e76f2191618fd8edfc2f24679236064176fab0b78131b161ee73daa37125408c + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 + languageName: node + linkType: hard + +"ejs@npm:^3.1.10, ejs@npm:^3.1.7": + version: 3.1.10 + resolution: "ejs@npm:3.1.10" + dependencies: + jake: "npm:^10.8.5" + bin: + ejs: bin/cli.js + checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.4.648": + version: 1.4.668 + resolution: "electron-to-chromium@npm:1.4.668" + checksum: 10c0/7b67ecb7a2e5f2c129714f3efe1fcc61fe5233c0b5edd43cfdd70189364aef22d7fccdb2e6c6521ad223d3c02c175246c7d0af63486cd7595915a1817cbd8f74 + languageName: node + linkType: hard + +"emitter-listener@npm:^1.0.1": + version: 1.1.2 + resolution: "emitter-listener@npm:1.1.2" + dependencies: + shimmer: "npm:^1.2.0" + checksum: 10c0/d16f4f2da4b46cee09c900260d8527c58b32b6e1288c734a561f867dac8bf4da7f6aa429b6db1e5a90f688d754d86456bd22ee99f2fac4d9d955ef6ef8c19e55 + languageName: node + linkType: hard + +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.4.1": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + languageName: node + linkType: hard + +"enquirer@npm:~2.3.6": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: "npm:^4.1.1" + checksum: 10c0/8e070e052c2c64326a2803db9084d21c8aaa8c688327f133bf65c4a712586beb126fd98c8a01cfb0433e82a4bd3b6262705c55a63e0f7fb91d06b9cedbde9a11 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.1 + resolution: "escalade@npm:3.1.1" + checksum: 10c0/afd02e6ca91ffa813e1108b5e7756566173d6bc0d1eb951cb44d6b21702ec17c1cf116cfe75d4a2b02e05acb0b808a7a9387d0d1ca5cf9c04ad03a8445c3e46d + languageName: node + linkType: hard + +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:5.2.1": + version: 5.2.1 + resolution: "eslint-plugin-prettier@npm:5.2.1" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.9.1" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/4bc8bbaf5bb556c9c501dcdff369137763c49ccaf544f9fa91400360ed5e3a3f1234ab59690e06beca5b1b7e6f6356978cdd3b02af6aba3edea2ffe69ca6e8b2 + languageName: node + linkType: hard + +"eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint@npm:^8.57.0": + version: 8.57.0 + resolution: "eslint@npm:8.57.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.57.0" + "@humanwhocodes/config-array": "npm:^0.11.14" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/00bb96fd2471039a312435a6776fe1fd557c056755eaa2b96093ef3a8508c92c8775d5f754768be6b1dddd09fdd3379ddb231eeb9b6c579ee17ea7d68000a529 + languageName: node + linkType: hard + +"espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0, esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 + languageName: node + linkType: hard + +"events@npm:1.1.1": + version: 1.1.1 + resolution: "events@npm:1.1.1" + checksum: 10c0/29ba5a4c7d03dd2f4a2d3d9d4dfd8332225256f666cd69f490975d2eff8d7c73f1fb4872877b2c1f3b485e8fb42462153d65e5a21ea994eb928c3bec9e0c826e + languageName: node + linkType: hard + +"events@npm:3.3.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.0.0 + resolution: "execa@npm:5.0.0" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/e110add7ca0de63aea415385ebad7236c8de281d5d9a916dbd69f59009dac3d5d631e6252c2ea5d0258220b0d22acf25649b2caf05fa162eaa1401339fc69ba4 + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 + languageName: node + linkType: hard + +"expect@npm:>28.1.3, expect@npm:^29.0.0, expect@npm:^29.7.0": + version: 29.7.0 + resolution: "expect@npm:29.7.0" + dependencies: + "@jest/expect-utils": "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"express@npm:^4.19.2": + version: 4.19.2 + resolution: "express@npm:4.19.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.2" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.6.0" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.2.0" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.1" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.7" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.11.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.18.0" + serve-static: "npm:1.15.0" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10c0/e82e2662ea9971c1407aea9fc3c16d6b963e55e3830cd0ef5e00b533feda8b770af4e3be630488ef8a752d7c75c4fcefb15892868eeaafe7353cb9e3e269fdcb + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.2.0 + resolution: "fast-diff@npm:1.2.0" + checksum: 10c0/2fbcb23957fb0bc920832a94ba627b860400f9cce45e1594e931dabf62e858369a58c6c2603e2ecc4f7679580f710b5b5b6e698a355a9a9bfcfd93c06c7c4350 + languageName: node + linkType: hard + +"fast-glob@npm:3.2.7": + version: 3.2.7 + resolution: "fast-glob@npm:3.2.7" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/cc820a9acbd99c51267d525ed3c0c368b57d273f8d34e2401eef824390ff38ff419af3c0308d4ec1aef3dae0e24d1ac1dfe3156e5c702d63416a4c877ab7e0c4 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-xml-parser@npm:4.4.1": + version: 4.4.1 + resolution: "fast-xml-parser@npm:4.4.1" + dependencies: + strnum: "npm:^1.0.5" + bin: + fxparser: src/cli/cli.js + checksum: 10c0/7f334841fe41bfb0bf5d920904ccad09cefc4b5e61eaf4c225bf1e1bb69ee77ef2147d8942f783ee8249e154d1ca8a858e10bda78a5d78b8bed3f48dcee9bf33 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.2 + resolution: "fb-watchman@npm:2.0.2" + dependencies: + bser: "npm:2.1.1" + checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 + languageName: node + linkType: hard + +"figures@npm:3.2.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: "npm:^3.0.4" + checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + languageName: node + linkType: hard + +"filelist@npm:^1.0.1": + version: 1.0.4 + resolution: "filelist@npm:1.0.4" + dependencies: + minimatch: "npm:^5.0.1" + checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"finalhandler@npm:1.2.0": + version: 1.2.0 + resolution: "finalhandler@npm:1.2.0" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10c0/64b7e5ff2ad1fcb14931cd012651631b721ce657da24aedb5650ddde9378bf8e95daa451da43398123f5de161a81e79ff5affe4f9f2a6d2df4a813d6d3e254b7 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf + languageName: node + linkType: hard + +"follow-redirects@npm:^1.15.6": + version: 1.15.6 + resolution: "follow-redirects@npm:1.15.6" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/9ff767f0d7be6aa6870c82ac79cf0368cd73e01bbc00e9eb1c2a16fbb198ec105e3c9b6628bb98e9f3ac66fe29a957b9645bcb9a490bb7aa0d35f908b6b85071 + languageName: node + linkType: hard + +"for-each@npm:^0.3.3": + version: 0.3.3 + resolution: "for-each@npm:0.3.3" + dependencies: + is-callable: "npm:^1.1.3" + checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.2.1 + resolution: "foreground-child@npm:3.2.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/9a53a33dbd87090e9576bef65fb4a71de60f6863a8062a7b11bc1cbe3cc86d428677d7c0b9ef61cdac11007ac580006f78bd5638618d564cfd5e6fd713d6878f + languageName: node + linkType: hard + +"form-data@npm:^2.5.0": + version: 2.5.1 + resolution: "form-data@npm:2.5.1" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.6" + mime-types: "npm:^2.1.12" + checksum: 10c0/7e8fb913b84a7ac04074781a18d0f94735bbe82815ff35348803331f6480956ff0035db5bcf15826edee09fe01e665cfac664678f1526646a6374ee13f960e56 + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + languageName: node + linkType: hard + +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a + languageName: node + linkType: hard + +"front-matter@npm:^4.0.2": + version: 4.0.2 + resolution: "front-matter@npm:4.0.2" + dependencies: + js-yaml: "npm:^3.13.1" + checksum: 10c0/7a0df5ca37428dd563c057bc17a8940481fe53876609bcdc443a02ce463c70f1842c7cb4628b80916de46a253732794b36fb6a31105db0f185698a93acee4011 + languageName: node + linkType: hard + +"fs-constants@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-constants@npm:1.0.0" + checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 + languageName: node + linkType: hard + +"fs-extra@npm:^11.1.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: 10c0/60b74b2407e1942e1ed7f8c284f8ef714d0689dcfce5319985a5b7da3fc727f40b4a59ec72dc55aa83365ad7b8fa4fac3a30d93c850a2b452f29ae03dbc10a1e + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.3": + version: 1.2.0 + resolution: "get-intrinsic@npm:1.2.0" + dependencies: + function-bind: "npm:^1.1.1" + has: "npm:^1.0.3" + has-symbols: "npm:^1.0.3" + checksum: 10c0/7c564f6b1061e6ca9eb1abab424a2cf80b93e75dcde65229d504e4055aa0ea54f88330e9b75d10e41c72bca881a947e84193b3549a4692d836f304239a178d63 + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob-to-regexp@npm:^0.4.1": + version: 0.4.1 + resolution: "glob-to-regexp@npm:0.4.1" + checksum: 10c0/0486925072d7a916f052842772b61c3e86247f0a80cc0deb9b5a3e8a1a9faad5b04fb6f58986a09f34d3e96cd2a22a24b7e9882fb1cf904c31e9a310de96c429 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"harmony-reflect@npm:^1.4.6": + version: 1.6.2 + resolution: "harmony-reflect@npm:1.6.2" + checksum: 10c0/fa5b251fbeff0e2d925f0bfb5ffe39e0627639e998c453562d6a39e41789c15499649dc022178c807cf99bfb97e7b974bbbc031ba82078a26be7b098b9bc2b1a + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + +"has-tostringtag@npm:^1.0.0": + version: 1.0.0 + resolution: "has-tostringtag@npm:1.0.0" + dependencies: + has-symbols: "npm:^1.0.2" + checksum: 10c0/1cdba76b7d13f65198a92b8ca1560ba40edfa09e85d182bf436d928f3588a9ebd260451d569f0ed1b849c4bf54f49c862aa0d0a77f9552b1855bb6deb526c011 + languageName: node + linkType: hard + +"has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: "npm:^1.1.1" + checksum: 10c0/e1da0d2bd109f116b632f27782cf23182b42f14972ca9540e4c5aa7e52647407a0a4a76937334fddcb56befe94a3494825ec22b19b51f5e5507c3153fd1a5e1b + languageName: node + linkType: hard + +"hasown@npm:^2.0.0": + version: 2.0.1 + resolution: "hasown@npm:2.0.1" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/9e27e70e8e4204f4124c8f99950d1ba2b1f5174864fd39ff26da190f9ea6488c1b3927dcc64981c26d1f637a971783c9489d62c829d393ea509e6f1ba20370bb + languageName: node + linkType: hard + +"hosted-git-info@npm:^7.0.0": + version: 7.0.1 + resolution: "hosted-git-info@npm:7.0.1" + dependencies: + lru-cache: "npm:^10.0.1" + checksum: 10c0/361c4254f717f06d581a5a90aa0156a945e662e05ebbb533c1fa9935f10886d8247db48cbbcf9667f02e519e6479bf16dcdcf3124c3030e76c4c3ca2c88ee9d3 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-errors@npm:2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"identity-obj-proxy@npm:3.0.0": + version: 3.0.0 + resolution: "identity-obj-proxy@npm:3.0.0" + dependencies: + harmony-reflect: "npm:^1.4.6" + checksum: 10c0/a3fc4de0042d7b45bf8652d5596c80b42139d8625c9cd6a8834e29e1b6dce8fccabd1228e08744b78677a19ceed7201a32fed8ca3dc3e4852e8fee24360a6cfc + languageName: node + linkType: hard + +"ieee754@npm:1.1.13": + version: 1.1.13 + resolution: "ieee754@npm:1.1.13" + checksum: 10c0/eaf8c87e014282bfb5b13670991a2ed086eaef35ccc3fb713833863f2e7213041b2c29246adbc5f6561d51d53861c3b11f3b82b28fc6fa1352edeff381f056e5 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.4": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.0.4, ignore@npm:^5.2.0, ignore@npm:^5.3.1": + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + languageName: node + linkType: hard + +"import-fresh@npm:^3.1.0, import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.1.0 + resolution: "import-local@npm:3.1.0" + dependencies: + pkg-dir: "npm:^4.2.0" + resolve-cwd: "npm:^3.0.0" + bin: + import-local-fixture: fixtures/cli.js + checksum: 10c0/c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a + languageName: node + linkType: hard + +"is-arguments@npm:^1.0.4": + version: 1.1.1 + resolution: "is-arguments@npm:1.1.1" + dependencies: + call-bind: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/5ff1f341ee4475350adfc14b2328b38962564b7c2076be2f5bac7bd9b61779efba99b9f844a7b82ba7654adccf8e8eb19d1bb0cc6d1c1a085e498f6793d4328f + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.3": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f + languageName: node + linkType: hard + +"is-core-module@npm:^2.11.0": + version: 2.12.0 + resolution: "is-core-module@npm:2.12.0" + dependencies: + has: "npm:^1.0.3" + checksum: 10c0/21f78f05de2f261339c10da0a68a25f7671a1864bc4e19fbfb7aeb9486a8ced98f5192f3226af8f696c6c1b545029307df850e384799a574953d6676ae20fefc + languageName: node + linkType: hard + +"is-core-module@npm:^2.13.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" + dependencies: + hasown: "npm:^2.0.0" + checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518 + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.7": + version: 1.0.10 + resolution: "is-generator-function@npm:1.0.10" + dependencies: + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: 10c0/687f6bbd2b995573d33e6b40b2cbc8b9186a751aa3151c23e6fd2c4ca352e323a6dc010b09103f89c9ca0bf5c8c38f3fa8b74d5d9acd1c44f1499874d7e844f9 + languageName: node + linkType: hard + +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3": + version: 1.1.10 + resolution: "is-typed-array@npm:1.1.10" + dependencies: + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.0" + checksum: 10c0/b71268a2e5f493f2b95af4cbfe7a65254a822f07d57f20c18f084347cd45f11810915fe37d7a6831fe4b81def24621a042fd1169ec558c50f830b591bc8c1f66 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"isarray@npm:^1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: 10c0/10ecb00a50cac2f506af8231ce523ffa1ac1310db0435c8ffaabb50c1d72539906583aa13c84f8835dc103998b9989edc3c1de989d2e2a96a91a9ba44e5db6b9 + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4": + version: 5.2.1 + resolution: "istanbul-lib-instrument@npm:5.2.1" + dependencies: + "@babel/core": "npm:^7.12.3" + "@babel/parser": "npm:^7.14.7" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^6.3.0" + checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^6.0.0": + version: 6.0.0 + resolution: "istanbul-lib-instrument@npm:6.0.0" + dependencies: + "@babel/core": "npm:^7.12.3" + "@babel/parser": "npm:^7.14.7" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^7.5.4" + checksum: 10c0/ee86777f3692f95c3ae35c5cbc9aa979b551241da2de1284f75c507a2bdef948cc56ca90214c3bb47b5dc2ebe748610eb4f7c4d39b304f24a933bcd0867a05e8 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-report@npm:3.0.0" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^3.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/81b0d5187c7603ed71bdea0b701a7329f8146549ca19aa26d91b4a163aea756f9d55c1a6dc1dcd087e24dfcb99baa69e266a68644fbfd5dc98107d6f6f5948d2 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + source-map: "npm:^0.6.1" + checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.3": + version: 3.1.5 + resolution: "istanbul-reports@npm:3.1.5" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/3a147171bffdbd3034856410b6ec81637871d17d10986513328fec23df6b666f66bd08ea480f5b7a5b9f7e8abc30f3e3c2e7d1b661fc57cdc479aaaa677b1011 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jake@npm:^10.8.5": + version: 10.8.5 + resolution: "jake@npm:10.8.5" + dependencies: + async: "npm:^3.2.3" + chalk: "npm:^4.0.2" + filelist: "npm:^1.0.1" + minimatch: "npm:^3.0.4" + bin: + jake: ./bin/cli.js + checksum: 10c0/fc1f59c291b1c5bafad8ccde0e5d97f5f22ceb857f204f15634011e642b9cdf652dae2943b5ffe5ab037fe2f77b263653911ed2a408b2887a6dee31873e5c3d8 + languageName: node + linkType: hard + +"javascript-natural-sort@npm:0.7.1": + version: 0.7.1 + resolution: "javascript-natural-sort@npm:0.7.1" + checksum: 10c0/340f8ffc5d30fb516e06dc540e8fa9e0b93c865cf49d791fed3eac3bdc5fc71f0066fc81d44ec1433edc87caecaf9f13eec4a1fce8c5beafc709a71eaedae6fe + languageName: node + linkType: hard + +"jest-changed-files@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-changed-files@npm:29.7.0" + dependencies: + execa: "npm:^5.0.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + checksum: 10c0/e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b + languageName: node + linkType: hard + +"jest-circus@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-circus@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + co: "npm:^4.6.0" + dedent: "npm:^1.0.0" + is-generator-fn: "npm:^2.0.0" + jest-each: "npm:^29.7.0" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + pure-rand: "npm:^6.0.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e + languageName: node + linkType: hard + +"jest-cli@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-cli@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + create-jest: "npm:^29.7.0" + exit: "npm:^0.1.2" + import-local: "npm:^3.0.2" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + yargs: "npm:^17.3.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10c0/a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a + languageName: node + linkType: hard + +"jest-config@npm:^29.4.1, jest-config@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-config@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/test-sequencer": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-jest: "npm:^29.7.0" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + deepmerge: "npm:^4.2.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-circus: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + parse-json: "npm:^5.2.0" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-json-comments: "npm:^3.1.1" + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 + languageName: node + linkType: hard + +"jest-diff@npm:^29.4.1, jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + +"jest-docblock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-docblock@npm:29.7.0" + dependencies: + detect-newline: "npm:^3.0.0" + checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 + languageName: node + linkType: hard + +"jest-each@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-each@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 + languageName: node + linkType: hard + +"jest-environment-node@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-node@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/graceful-fs": "npm:^4.1.3" + "@types/node": "npm:*" + anymatch: "npm:^3.0.3" + fb-watchman: "npm:^2.0.0" + fsevents: "npm:^2.3.2" + graceful-fs: "npm:^4.2.9" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c + languageName: node + linkType: hard + +"jest-leak-detector@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-leak-detector@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-matcher-utils@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e + languageName: node + linkType: hard + +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" + dependencies: + "@babel/code-frame": "npm:^7.12.13" + "@jest/types": "npm:^29.6.3" + "@types/stack-utils": "npm:^2.0.0" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 + languageName: node + linkType: hard + +"jest-mock-extended@npm:^3.0.7": + version: 3.0.7 + resolution: "jest-mock-extended@npm:3.0.7" + dependencies: + ts-essentials: "npm:^10.0.0" + peerDependencies: + jest: ^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0 + typescript: ^3.0.0 || ^4.0.0 || ^5.0.0 + checksum: 10c0/17d2e816eae8e95933817102987ba9f700890c4b1223495012bca2ec76644cd203336843a4c381a662e03bde0b637767ad8e2c13b490e9a5eaeb87d211994647 + languageName: node + linkType: hard + +"jest-mock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-mock@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.3 + resolution: "jest-pnp-resolver@npm:1.2.3" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: 10c0/86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac + languageName: node + linkType: hard + +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve-dependencies@npm:29.7.0" + dependencies: + jest-regex-util: "npm:^29.6.3" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d + languageName: node + linkType: hard + +"jest-resolve@npm:^29.4.1, jest-resolve@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-pnp-resolver: "npm:^1.2.2" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + resolve: "npm:^1.20.0" + resolve.exports: "npm:^2.0.0" + slash: "npm:^3.0.0" + checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 + languageName: node + linkType: hard + +"jest-runner@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runner@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/environment": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + graceful-fs: "npm:^4.2.9" + jest-docblock: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-leak-detector: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-resolve: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + source-map-support: "npm:0.5.13" + checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 + languageName: node + linkType: hard + +"jest-runtime@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runtime@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/globals": "npm:^29.7.0" + "@jest/source-map": "npm:^29.6.3" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + cjs-module-lexer: "npm:^1.0.0" + collect-v8-coverage: "npm:^1.0.0" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-bom: "npm:^4.0.0" + checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 + languageName: node + linkType: hard + +"jest-snapshot@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-snapshot@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@babel/generator": "npm:^7.7.2" + "@babel/plugin-syntax-jsx": "npm:^7.7.2" + "@babel/plugin-syntax-typescript": "npm:^7.7.2" + "@babel/types": "npm:^7.3.3" + "@jest/expect-utils": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + chalk: "npm:^4.0.0" + expect: "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + natural-compare: "npm:^1.4.0" + pretty-format: "npm:^29.7.0" + semver: "npm:^7.5.3" + checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 + languageName: node + linkType: hard + +"jest-util@npm:^29.0.0, jest-util@npm:^29.4.1, jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + languageName: node + linkType: hard + +"jest-validate@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-validate@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + leven: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 + languageName: node + linkType: hard + +"jest-watcher@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-watcher@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + jest-util: "npm:^29.7.0" + string-length: "npm:^4.0.1" + checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 + languageName: node + linkType: hard + +"jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + languageName: node + linkType: hard + +"jest@npm:^29.7.0": + version: 29.7.0 + resolution: "jest@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + import-local: "npm:^3.0.2" + jest-cli: "npm:^29.7.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10c0/f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b + languageName: node + linkType: hard + +"jmespath@npm:0.16.0": + version: 0.16.0 + resolution: "jmespath@npm:0.16.0" + checksum: 10c0/84cdca62c4a3d339701f01cc53decf16581c76ce49e6455119be1c5f6ab09a19e6788372536bd261d348d21cd817981605f8debae67affadba966219a2bac1c5 + languageName: node + linkType: hard + +"js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json5@npm:^2.2.2, json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonc-parser@npm:3.2.0": + version: 3.2.0 + resolution: "jsonc-parser@npm:3.2.0" + checksum: 10c0/5a12d4d04dad381852476872a29dcee03a57439574e4181d91dca71904fcdcc5e8e4706c0a68a2c61ad9810e1e1c5806b5100d52d3e727b78f5cdc595401045b + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jsonwebtoken@npm:^9.0.2": + version: 9.0.2 + resolution: "jsonwebtoken@npm:9.0.2" + dependencies: + jws: "npm:^3.2.2" + lodash.includes: "npm:^4.3.0" + lodash.isboolean: "npm:^3.0.3" + lodash.isinteger: "npm:^4.0.4" + lodash.isnumber: "npm:^3.0.3" + lodash.isplainobject: "npm:^4.0.6" + lodash.isstring: "npm:^4.0.1" + lodash.once: "npm:^4.0.0" + ms: "npm:^2.1.1" + semver: "npm:^7.5.4" + checksum: 10c0/d287a29814895e866db2e5a0209ce730cbc158441a0e5a70d5e940eb0d28ab7498c6bf45029cc8b479639bca94056e9a7f254e2cdb92a2f5750c7f358657a131 + languageName: node + linkType: hard + +"just-extend@npm:^6.2.0": + version: 6.2.0 + resolution: "just-extend@npm:6.2.0" + checksum: 10c0/d41cbdb6d85b986d4deaf2144d81d4f7266cd408fc95189d046d63f610c2dc486b141aeb6ef319c2d76fe904d45a6bb31f19b098ff0427c35688e0c383fc0511 + languageName: node + linkType: hard + +"jwa@npm:^1.4.1": + version: 1.4.1 + resolution: "jwa@npm:1.4.1" + dependencies: + buffer-equal-constant-time: "npm:1.0.1" + ecdsa-sig-formatter: "npm:1.0.11" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/5c533540bf38702e73cf14765805a94027c66a0aa8b16bc3e89d8d905e61a4ce2791e87e21be97d1293a5ee9d4f3e5e47737e671768265ca4f25706db551d5e9 + languageName: node + linkType: hard + +"jws@npm:^3.2.2": + version: 3.2.2 + resolution: "jws@npm:3.2.2" + dependencies: + jwa: "npm:^1.4.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/e770704533d92df358adad7d1261fdecad4d7b66fa153ba80d047e03ca0f1f73007ce5ed3fbc04d2eba09ba6e7e6e645f351e08e5ab51614df1b0aa4f384dfff + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"lambdas@workspace:.": + version: 0.0.0-use.local + resolution: "lambdas@workspace:." + dependencies: + "@nx/eslint": "npm:19.5.4" + "@nx/jest": "npm:19.5.4" + "@nx/js": "npm:^19.5.4" + "@swc-node/register": "npm:~1.10.9" + "@swc/core": "npm:~1.7.3" + "@swc/helpers": "npm:~0.5.12" + eslint: "npm:^8.57.0" + jest: "npm:^29.7.0" + nx: "npm:19.5.4" + prettier: "npm:^3.3.3" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"lines-and-columns@npm:~2.0.3": + version: 2.0.3 + resolution: "lines-and-columns@npm:2.0.3" + checksum: 10c0/09525c10010a925b7efe858f1dd3184eeac34f0a9bc34993075ec490efad71e948147746b18e9540279cc87cd44085b038f986903db3de65ffe96d38a7b91c4c + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.debounce@npm:^4.0.8": + version: 4.0.8 + resolution: "lodash.debounce@npm:4.0.8" + checksum: 10c0/762998a63e095412b6099b8290903e0a8ddcb353ac6e2e0f2d7e7d03abd4275fe3c689d88960eb90b0dde4f177554d51a690f22a343932ecbc50a5d111849987 + languageName: node + linkType: hard + +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e + languageName: node + linkType: hard + +"lodash.includes@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.includes@npm:4.3.0" + checksum: 10c0/7ca498b9b75bf602d04e48c0adb842dfc7d90f77bcb2a91a2b2be34a723ad24bc1c8b3683ec6b2552a90f216c723cdea530ddb11a3320e08fa38265703978f4b + languageName: node + linkType: hard + +"lodash.isboolean@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isboolean@npm:3.0.3" + checksum: 10c0/0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 + languageName: node + linkType: hard + +"lodash.isinteger@npm:^4.0.4": + version: 4.0.4 + resolution: "lodash.isinteger@npm:4.0.4" + checksum: 10c0/4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 + languageName: node + linkType: hard + +"lodash.isnumber@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isnumber@npm:3.0.3" + checksum: 10c0/2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb + languageName: node + linkType: hard + +"lodash.isstring@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.isstring@npm:4.0.1" + checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 + languageName: node + linkType: hard + +"lodash.memoize@npm:4.x": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.once@npm:^4.0.0": + version: 4.1.1 + resolution: "lodash.once@npm:4.1.1" + checksum: 10c0/46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 + languageName: node + linkType: hard + +"lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"log-symbols@npm:^4.0.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.0, lru-cache@npm:^10.0.1": + version: 10.1.0 + resolution: "lru-cache@npm:10.1.0" + checksum: 10c0/778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e + languageName: node + linkType: hard + +"lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"luxon@npm:^3.2.1": + version: 3.3.0 + resolution: "luxon@npm:3.3.0" + checksum: 10c0/47f8e1e96b25441c799b8aa833b3f007fb1854713bcffc8c3384eda8e61fc9af1f038474d137274d2d386492f341c8a8c992fc78c213adfb3143780feba2776c + languageName: node + linkType: hard + +"make-dir@npm:^3.0.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: "npm:^6.0.0" + checksum: 10c0/56aaafefc49c2dfef02c5c95f9b196c4eb6988040cf2c712185c7fe5c99b4091591a7fc4d4eafaaefa70ff763a26f6ab8c3ff60b9e75ea19876f49b18667ecaa + languageName: node + linkType: hard + +"make-error@npm:1.x, make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: "npm:1.0.5" + checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 10c0/b67d07bd44cfc45cebdec349bb6e1f7b077ee2fd5beb15d1f7af073849208cb6f144fe403e29a36571baf3f4e86469ac39acf13c318381e958e186b2766f54ec + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.7 + resolution: "micromatch@npm:4.0.7" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"minimatch@npm:9.0.3": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"moment-timezone@npm:^0.5.45": + version: 0.5.45 + resolution: "moment-timezone@npm:0.5.45" + dependencies: + moment: "npm:^2.29.4" + checksum: 10c0/7497f23c4b8c875dbf07c03f9a1253f79edaeedc29d5732e36bfd3c5577e25aed1924fbd84cbb713ce1920dbe822be0e21bd487851a7d13907226f289a5e568b + languageName: node + linkType: hard + +"moment@npm:^2.29.4": + version: 2.29.4 + resolution: "moment@npm:2.29.4" + checksum: 10c0/844c6f3ce42862ac9467c8ca4f5e48a00750078682cc5bda1bc0e50cc7ca88e2115a0f932d65a06e4a90e26cb78892be9b3ca3dd6546ca2c4d994cebb787fc2b + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:2.1.2, ms@npm:^2.1.1": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:0.6.3, negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"nise@npm:^5.1.4": + version: 5.1.9 + resolution: "nise@npm:5.1.9" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + "@sinonjs/fake-timers": "npm:^11.2.2" + "@sinonjs/text-encoding": "npm:^0.7.2" + just-extend: "npm:^6.2.0" + path-to-regexp: "npm:^6.2.1" + checksum: 10c0/a44318e6de738b34a1f51b4b478f97f5b40a5a27175be4bf13f6e5b8e67aa70d0b3f51c77a966d6617fccdc3b436c675a89be57424833e6d8a290367faa66b28 + languageName: node + linkType: hard + +"nock@npm:^13.5.4": + version: 13.5.4 + resolution: "nock@npm:13.5.4" + dependencies: + debug: "npm:^4.1.0" + json-stringify-safe: "npm:^5.0.1" + propagate: "npm:^2.0.0" + checksum: 10c0/9ca47d9d7e4b1f4adf871d7ca12722f8ef1dc7d2b9610b2568f5d9264eae9f424baa24fd9d91da9920b360d641b4243e89de198bd22c061813254a99cc6252af + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^4.1.0" + semver: "npm:^7.3.5" + tar: "npm:^6.2.1" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a + languageName: node + linkType: hard + +"node-machine-id@npm:1.1.12": + version: 1.1.12 + resolution: "node-machine-id@npm:1.1.12" + checksum: 10c0/ab2fea5f75a6f1ce3c76c5e0ae3903b631230e0a99b003d176568fff8ddbdf7b2943be96cd8d220c497ca0f6149411831f8a450601929f326781cb1b59bab7f8 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.14": + version: 2.0.14 + resolution: "node-releases@npm:2.0.14" + checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"npm-package-arg@npm:11.0.1": + version: 11.0.1 + resolution: "npm-package-arg@npm:11.0.1" + dependencies: + hosted-git-info: "npm:^7.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10c0/f5bc4056ffe46497847fb31e349c834efe01d36d170926d1032443e183219d5e6ce75a49c1d398caf2236d3a69180597d255bff685c68d6a81f2eac96262b94d + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"nx@npm:19.5.4": + version: 19.5.4 + resolution: "nx@npm:19.5.4" + dependencies: + "@napi-rs/wasm-runtime": "npm:0.2.4" + "@nrwl/tao": "npm:19.5.4" + "@nx/nx-darwin-arm64": "npm:19.5.4" + "@nx/nx-darwin-x64": "npm:19.5.4" + "@nx/nx-freebsd-x64": "npm:19.5.4" + "@nx/nx-linux-arm-gnueabihf": "npm:19.5.4" + "@nx/nx-linux-arm64-gnu": "npm:19.5.4" + "@nx/nx-linux-arm64-musl": "npm:19.5.4" + "@nx/nx-linux-x64-gnu": "npm:19.5.4" + "@nx/nx-linux-x64-musl": "npm:19.5.4" + "@nx/nx-win32-arm64-msvc": "npm:19.5.4" + "@nx/nx-win32-x64-msvc": "npm:19.5.4" + "@yarnpkg/lockfile": "npm:^1.1.0" + "@yarnpkg/parsers": "npm:3.0.0-rc.46" + "@zkochan/js-yaml": "npm:0.0.7" + axios: "npm:^1.7.2" + chalk: "npm:^4.1.0" + cli-cursor: "npm:3.1.0" + cli-spinners: "npm:2.6.1" + cliui: "npm:^8.0.1" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + enquirer: "npm:~2.3.6" + figures: "npm:3.2.0" + flat: "npm:^5.0.2" + front-matter: "npm:^4.0.2" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + jest-diff: "npm:^29.4.1" + jsonc-parser: "npm:3.2.0" + lines-and-columns: "npm:~2.0.3" + minimatch: "npm:9.0.3" + node-machine-id: "npm:1.1.12" + npm-run-path: "npm:^4.0.1" + open: "npm:^8.4.0" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + string-width: "npm:^4.2.3" + strong-log-transformer: "npm:^2.1.0" + tar-stream: "npm:~2.2.0" + tmp: "npm:~0.2.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + yargs: "npm:^17.6.2" + yargs-parser: "npm:21.1.1" + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + dependenciesMeta: + "@nx/nx-darwin-arm64": + optional: true + "@nx/nx-darwin-x64": + optional: true + "@nx/nx-freebsd-x64": + optional: true + "@nx/nx-linux-arm-gnueabihf": + optional: true + "@nx/nx-linux-arm64-gnu": + optional: true + "@nx/nx-linux-arm64-musl": + optional: true + "@nx/nx-linux-x64-gnu": + optional: true + "@nx/nx-linux-x64-musl": + optional: true + "@nx/nx-win32-arm64-msvc": + optional: true + "@nx/nx-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + nx-cloud: bin/nx-cloud.js + checksum: 10c0/2f2426c111e88a1879781c40f686a275a4695d59c66d117aaf9c10c98ec5c64fd9b9de45e25c7165e4cfb90fb818d5d3200e998f2060aedd8dc8f6ae40cd87e8 + languageName: node + linkType: hard + +"object-inspect@npm:^1.9.0": + version: 1.12.3 + resolution: "object-inspect@npm:1.12.3" + checksum: 10c0/752bb5f4dc595e214157ea8f442adb77bdb850ace762b078d151d8b6486331ab12364997a89ee6509be1023b15adf2b3774437a7105f8a5043dfda11ed622411 + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0, onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.4 + resolution: "optionator@npm:0.9.4" + dependencies: + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 + languageName: node + linkType: hard + +"ora@npm:5.3.0": + version: 5.3.0 + resolution: "ora@npm:5.3.0" + dependencies: + bl: "npm:^4.0.3" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-spinners: "npm:^2.5.0" + is-interactive: "npm:^1.0.0" + log-symbols: "npm:^4.0.0" + strip-ansi: "npm:^6.0.0" + wcwidth: "npm:^1.0.1" + checksum: 10c0/30d5f3218eb75b0a2028c5fb9aa88e83e38a2f1745ab56839abb06c3ba31bae35f768f4e72c4f9e04e2a66be6a898e9312e8cf85c9333e1e3613eabb8c7cdf57 + languageName: node + linkType: hard + +"oxc-resolver@npm:^1.10.2": + version: 1.10.2 + resolution: "oxc-resolver@npm:1.10.2" + dependencies: + "@oxc-resolver/binding-darwin-arm64": "npm:1.10.2" + "@oxc-resolver/binding-darwin-x64": "npm:1.10.2" + "@oxc-resolver/binding-freebsd-x64": "npm:1.10.2" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:1.10.2" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:1.10.2" + "@oxc-resolver/binding-linux-arm64-musl": "npm:1.10.2" + "@oxc-resolver/binding-linux-x64-gnu": "npm:1.10.2" + "@oxc-resolver/binding-linux-x64-musl": "npm:1.10.2" + "@oxc-resolver/binding-wasm32-wasi": "npm:1.10.2" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:1.10.2" + "@oxc-resolver/binding-win32-x64-msvc": "npm:1.10.2" + dependenciesMeta: + "@oxc-resolver/binding-darwin-arm64": + optional: true + "@oxc-resolver/binding-darwin-x64": + optional: true + "@oxc-resolver/binding-freebsd-x64": + optional: true + "@oxc-resolver/binding-linux-arm-gnueabihf": + optional: true + "@oxc-resolver/binding-linux-arm64-gnu": + optional: true + "@oxc-resolver/binding-linux-arm64-musl": + optional: true + "@oxc-resolver/binding-linux-x64-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-musl": + optional: true + "@oxc-resolver/binding-wasm32-wasi": + optional: true + "@oxc-resolver/binding-win32-arm64-msvc": + optional: true + "@oxc-resolver/binding-win32-x64-msvc": + optional: true + checksum: 10c0/8e3fa7439c777a44130417612816e98cc8f71d8ed015f84588ec4fbe9ac19846c0c91e3f1a6cb0d9c1cde08afd5892f1e6abe4c4a693b2230aaafc1e884b3e31 + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: 10c0/e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 10c0/50a1ddb1af41a9e68bd67ca8e331a705899d16fb720a1ea3a41e310480948387daf603abb14d7b0826c58f10146d49050a1291ba6a82b78a382d1c02c0b8f905 + languageName: node + linkType: hard + +"path-to-regexp@npm:^6.2.1": + version: 6.2.2 + resolution: "path-to-regexp@npm:6.2.2" + checksum: 10c0/4b60852d3501fd05ca9dd08c70033d73844e5eca14e41f499f069afa8364f780f15c5098002f93bd42af8b3514de62ac6e82a53b5662de881d2b08c9ef21ea6b + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.1 + resolution: "picocolors@npm:1.0.1" + checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pirates@npm:^4.0.4, pirates@npm:^4.0.6": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: "npm:^4.0.0" + checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + +"prettier@npm:3.3.3, prettier@npm:^3.3.3": + version: 3.3.3 + resolution: "prettier@npm:3.3.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/b85828b08e7505716324e4245549b9205c0cacb25342a030ba8885aba2039a115dbcf75a0b7ca3b37bc9d101ee61fab8113fc69ca3359f2a226f1ecc07ad2e26 + languageName: node + linkType: hard + +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc + languageName: node + linkType: hard + +"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.4.2 + resolution: "prompts@npm:2.4.2" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.5" + checksum: 10c0/16f1ac2977b19fe2cf53f8411cc98db7a3c8b115c479b2ca5c82b5527cd937aa405fa04f9a5960abeb9daef53191b53b4d13e35c1f5d50e8718c76917c5f1ea4 + languageName: node + linkType: hard + +"propagate@npm:^2.0.0": + version: 2.0.1 + resolution: "propagate@npm:2.0.1" + checksum: 10c0/01e1023b60ae4050d1a2783f976d7db702022dbdb70dba797cceedad8cfc01b3939c41e77032f8c32aa9d93192fe937ebba1345e8604e5ce61fd3b62ee3003b8 + languageName: node + linkType: hard + +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"punycode@npm:1.3.2": + version: 1.3.2 + resolution: "punycode@npm:1.3.2" + checksum: 10c0/281fd20eaf4704f79d80cb0dc65065bf6452ee67989b3e8941aed6360a5a9a8a01d3e2ed71d0bde3cd74fb5a5dd9db4160bed5a8c20bed4b6764c24ce4c7d2d2 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"pure-rand@npm:^6.0.0": + version: 6.0.2 + resolution: "pure-rand@npm:6.0.2" + checksum: 10c0/0556bee2e16a8d081a2b7630d9cb4e5dafd4e6bd6e4c61de1cf1ef5974f127847523e3d0e62884f6f5d64b66a5e93b05bd8f37ed009f3a4fe5089899e05914aa + languageName: node + linkType: hard + +"qs@npm:6.11.0": + version: 6.11.0 + resolution: "qs@npm:6.11.0" + dependencies: + side-channel: "npm:^1.0.4" + checksum: 10c0/4e4875e4d7c7c31c233d07a448e7e4650f456178b9dd3766b7cfa13158fdb24ecb8c4f059fa91e820dc6ab9f2d243721d071c9c0378892dcdad86e9e9a27c68f + languageName: node + linkType: hard + +"querystring@npm:0.2.0": + version: 0.2.0 + resolution: "querystring@npm:0.2.0" + checksum: 10c0/2036c9424beaacd3978bac9e4ba514331cc73163bea7bf3ad7e2c7355e55501938ec195312c607753f9c6e70b1bf9dfcda38db6241bd299c034e27ac639d64ed + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" + dependencies: + bytes: "npm:3.1.2" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + unpipe: "npm:1.0.0" + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.5.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^10.1.0": + version: 10.1.1 + resolution: "regenerate-unicode-properties@npm:10.1.1" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10c0/89adb5ee5ba081380c78f9057c02e156a8181969f6fcca72451efc45612e0c3df767b4333f8d8479c274d9c6fe52ec4854f0d8a22ef95dccbe87da8e5f2ac77d + languageName: node + linkType: hard + +"regenerate@npm:^1.4.2": + version: 1.4.2 + resolution: "regenerate@npm:1.4.2" + checksum: 10c0/f73c9eba5d398c818edc71d1c6979eaa05af7a808682749dd079f8df2a6d91a9b913db216c2c9b03e0a8ba2bba8701244a93f45211afbff691c32c7b275db1b8 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.15.2": + version: 0.15.2 + resolution: "regenerator-transform@npm:0.15.2" + dependencies: + "@babel/runtime": "npm:^7.8.4" + checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 + languageName: node + linkType: hard + +"regexpu-core@npm:^5.3.1": + version: 5.3.2 + resolution: "regexpu-core@npm:5.3.2" + dependencies: + "@babel/regjsgen": "npm:^0.8.0" + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.1.0" + regjsparser: "npm:^0.9.1" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10c0/7945d5ab10c8bbed3ca383d4274687ea825aee4ab93a9c51c6e31e1365edd5ea807f6908f800ba017b66c462944ba68011164e7055207747ab651f8111ef3770 + languageName: node + linkType: hard + +"regjsparser@npm:^0.9.1": + version: 0.9.1 + resolution: "regjsparser@npm:0.9.1" + dependencies: + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: 10c0/fe44fcf19a99fe4f92809b0b6179530e5ef313ff7f87df143b08ce9a2eb3c4b6189b43735d645be6e8f4033bfb015ed1ca54f0583bc7561bed53fd379feb8225 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: "npm:^5.0.0" + checksum: 10c0/e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve.exports@npm:1.1.0": + version: 1.1.0 + resolution: "resolve.exports@npm:1.1.0" + checksum: 10c0/7e21c22ad129b934d5cc0b6aefd07f377a92e0b9699f49ac33eac1736a85e3aeb9270c85aac47f7070b5975739623ed007aac318d6bc5f036504b2b7a407fd31 + languageName: node + linkType: hard + +"resolve.exports@npm:^2.0.0": + version: 2.0.2 + resolution: "resolve.exports@npm:2.0.2" + checksum: 10c0/cc4cffdc25447cf34730f388dca5021156ba9302a3bad3d7f168e790dc74b2827dff603f1bc6ad3d299bac269828dca96dd77e036dc9fba6a2a1807c47ab5c98 + languageName: node + linkType: hard + +"resolve@npm:^1.0.0, resolve@npm:^1.20.0": + version: 1.22.2 + resolution: "resolve@npm:1.22.2" + dependencies: + is-core-module: "npm:^2.11.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/f9f424a8117d1c68371b4fbc64e6ac045115a3beacc4bd3617b751f7624b69ad40c47dc995585c7f13d4a09723a8f167847defb7d39fad70b0d43bbba05ff851 + languageName: node + linkType: hard + +"resolve@npm:^1.12.0, resolve@npm:^1.14.2": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": + version: 1.22.2 + resolution: "resolve@patch:resolve@npm%3A1.22.2#optional!builtin::version=1.22.2&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.11.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/dcf068c4391941734efda06b6f778c013fd349cd4340f126de17c265a7b006c67de7e80e7aa06ecd29f3922e49f5561622b9faf98531f16aa9a896d22148c661 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.13.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729 + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rimraf@npm:^2.6.1": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10c0/4eef73d406c6940927479a3a9dee551e14a54faf54b31ef861250ac815172bade86cc6f7d64a4dc5e98b65e4b18a2e1c9ff3b68d296be0c748413f092bb0dd40 + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sax@npm:1.2.1, sax@npm:>=0.6.0": + version: 1.2.1 + resolution: "sax@npm:1.2.1" + checksum: 10c0/1ae269cfde0b3774b4c92eb744452b6740bde5c5744fe5cadef6f496e42d9b632f483fb6aff9a23c0749c94c6951b06b0c5a90a5e99c879d3401cfd5ba61dc02 + languageName: node + linkType: hard + +"semver@npm:^5.4.1": + version: 5.7.2 + resolution: "semver@npm:5.7.2" + bin: + semver: bin/semver + checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.0.0, semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c + languageName: node + linkType: hard + +"send@npm:0.18.0": + version: 0.18.0 + resolution: "send@npm:0.18.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10c0/0eb134d6a51fc13bbcb976a1f4214ea1e33f242fae046efc311e80aff66c7a43603e26a79d9d06670283a13000e51be6e0a2cb80ff0942eaf9f1cd30b7ae736a + languageName: node + linkType: hard + +"serve-static@npm:1.15.0": + version: 1.15.0 + resolution: "serve-static@npm:1.15.0" + dependencies: + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.18.0" + checksum: 10c0/fa9f0e21a540a28f301258dfe1e57bb4f81cd460d28f0e973860477dd4acef946a1f41748b5bd41c73b621bea2029569c935faa38578fd34cd42a9b4947088ba + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shimmer@npm:^1.2.0": + version: 1.2.1 + resolution: "shimmer@npm:1.2.1" + checksum: 10c0/ae8b27c389db2a00acfc8da90240f11577685a8f3e40008f826a3bea8b4f3b3ecd305c26be024b4a0fd3b123d132c1569d6e238097960a9a543b6c60760fb46a + languageName: node + linkType: hard + +"side-channel@npm:^1.0.4": + version: 1.0.4 + resolution: "side-channel@npm:1.0.4" + dependencies: + call-bind: "npm:^1.0.0" + get-intrinsic: "npm:^1.0.2" + object-inspect: "npm:^1.9.0" + checksum: 10c0/054a5d23ee35054b2c4609b9fd2a0587760737782b5d765a9c7852264710cc39c6dcb56a9bbd6c12cd84071648aea3edb2359d2f6e560677eedadce511ac1da5 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"sinon@npm:^16.1.3": + version: 16.1.3 + resolution: "sinon@npm:16.1.3" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + "@sinonjs/fake-timers": "npm:^10.3.0" + "@sinonjs/samsam": "npm:^8.0.0" + diff: "npm:^5.1.0" + nise: "npm:^5.1.4" + supports-color: "npm:^7.2.0" + checksum: 10c0/a30e80cb9293cc2954074a461349ac7df1fd0c1ed746c6828b65ea908711b8b4b6598182252c3971bf60bba134a492dc1c294b54919f073f3b29acced76de411 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.5": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 10c0/230ac975cca485b7f6fe2b96a711aa62a6a26ead3e6fb8ba17c5a00d61b8bed0d7adc21f5626b70d7c33c62ff4e63933017a6462942c719d1980bb0b1207ad46 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.4 + resolution: "socks-proxy-agent@npm:8.0.4" + dependencies: + agent-base: "npm:^7.1.1" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e + languageName: node + linkType: hard + +"source-map-support@npm:0.5.19": + version: 0.5.19 + resolution: "source-map-support@npm:0.5.19" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/a232cb02dc5c2c048460dff3ca1a4c2aa44488822028932daff99b8707c8e4f87d2535dae319d65691c905096f2c06a2517793472634efb01f8a095661b9aa93 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.12, source-map-support@npm:^0.5.21": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.5.0": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 10c0/904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + languageName: node + linkType: hard + +"stack-chain@npm:^1.3.7": + version: 1.3.7 + resolution: "stack-chain@npm:1.3.7" + checksum: 10c0/3a8693834646c2007d74d3466d6972dc2cfe137cbec40552ded9e3b99607e0037d893b3cbf631f1ff3035ec125772e195f2e0bea2c3d7f126d0e3171db69dc19 + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: "npm:^2.0.0" + checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"stream-browserify@npm:3.0.0": + version: 3.0.0 + resolution: "stream-browserify@npm:3.0.0" + dependencies: + inherits: "npm:~2.0.4" + readable-stream: "npm:^3.5.0" + checksum: 10c0/ec3b975a4e0aa4b3dc5e70ffae3fc8fd29ac725353a14e72f213dff477b00330140ad014b163a8cbb9922dfe90803f81a5ea2b269e1bbfd8bd71511b88f889ad + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" + dependencies: + char-regex: "npm:^1.0.2" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"strip-json-comments@npm:^2.0.0": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strnum@npm:^1.0.5": + version: 1.0.5 + resolution: "strnum@npm:1.0.5" + checksum: 10c0/64fb8cc2effbd585a6821faa73ad97d4b553c8927e49086a162ffd2cc818787643390b89d567460a8e74300148d11ac052e21c921ef2049f2987f4b1b89a7ff1 + languageName: node + linkType: hard + +"strong-log-transformer@npm:^2.1.0": + version: 2.1.0 + resolution: "strong-log-transformer@npm:2.1.0" + dependencies: + duplexer: "npm:^0.1.1" + minimist: "npm:^1.2.0" + through: "npm:^2.3.4" + bin: + sl-log-transformer: bin/sl-log-transformer.js + checksum: 10c0/3c3b8aa8f34d661910563ff996412e2f527fc814e699a376854b554d4a4294ab7e285b4e2c08a080a7b19c5600a9b93a98798d3ac600fe3de545ca6605c07829 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"synckit@npm:^0.9.1": + version: 0.9.1 + resolution: "synckit@npm:0.9.1" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/d8b89e1bf30ba3ffb469d8418c836ad9c0c062bf47028406b4d06548bc66af97155ea2303b96c93bf5c7c0f0d66153a6fbd6924c76521b434e6a9898982abc2e + languageName: node + linkType: hard + +"tar-stream@npm:~2.2.0": + version: 2.2.0 + resolution: "tar-stream@npm:2.2.0" + dependencies: + bl: "npm:^4.0.3" + end-of-stream: "npm:^1.4.1" + fs-constants: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.1.1" + checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.2.1": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"through@npm:^2.3.4": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc + languageName: node + linkType: hard + +"tmp@npm:~0.2.1": + version: 0.2.1 + resolution: "tmp@npm:0.2.1" + dependencies: + rimraf: "npm:^3.0.0" + checksum: 10c0/67607aa012059c9ce697bee820ee51bc0f39b29a8766def4f92d3f764d67c7cf9205d537d24e0cb1ce9685c40d4c628ead010910118ea18348666b5c46ed9123 + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c + languageName: node + linkType: hard + +"ts-essentials@npm:^10.0.0": + version: 10.0.1 + resolution: "ts-essentials@npm:10.0.1" + peerDependencies: + typescript: ">=4.5.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/bc412ae9dafc97a7ab51c63743628d58cc9e7f4f7449d8c89ccb04f50502d04c3dd35a6dea94dbaab2845b856f198a8eb2e8d93e897218d1eb810ca826c1b080 + languageName: node + linkType: hard + +"ts-jest@npm:^29.2.3": + version: 29.2.3 + resolution: "ts-jest@npm:29.2.3" + dependencies: + bs-logger: "npm:0.x" + ejs: "npm:^3.1.10" + fast-json-stable-stringify: "npm:2.x" + jest-util: "npm:^29.0.0" + json5: "npm:^2.2.3" + lodash.memoize: "npm:4.x" + make-error: "npm:1.x" + semver: "npm:^7.5.3" + yargs-parser: "npm:^21.0.1" + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@jest/transform": ^29.0.0 + "@jest/types": ^29.0.0 + babel-jest: ^29.0.0 + jest: ^29.0.0 + typescript: ">=4.3 <6" + peerDependenciesMeta: + "@babel/core": + optional: true + "@jest/transform": + optional: true + "@jest/types": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + bin: + ts-jest: cli.js + checksum: 10c0/3be57a9f0e9cf0d0de235f5543dc1f2a33da4380bf46e660f79d050a15a6e7bab71a7a80ba9559761ce1203248b40d0f9386c19356718165575f32192e32140e + languageName: node + linkType: hard + +"ts-node-dev@npm:^2.0.0": + version: 2.0.0 + resolution: "ts-node-dev@npm:2.0.0" + dependencies: + chokidar: "npm:^3.5.1" + dynamic-dedupe: "npm:^0.3.0" + minimist: "npm:^1.2.6" + mkdirp: "npm:^1.0.4" + resolve: "npm:^1.0.0" + rimraf: "npm:^2.6.1" + source-map-support: "npm:^0.5.12" + tree-kill: "npm:^1.2.2" + ts-node: "npm:^10.4.0" + tsconfig: "npm:^7.0.0" + peerDependencies: + node-notifier: "*" + typescript: "*" + peerDependenciesMeta: + node-notifier: + optional: true + bin: + ts-node-dev: lib/bin.js + tsnd: lib/bin.js + checksum: 10c0/34f81407ede9284eccf47139e22bc85511c6d70e2b8dfae91c917ababc09ba947cc0791549ee7b2e5a69d26de40eedb23c6bdb4fac689ed07a302813bf966faa + languageName: node + linkType: hard + +"ts-node@npm:10.9.1": + version: 10.9.1 + resolution: "ts-node@npm:10.9.1" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10c0/95187932fb83f3901e22546bd2feeac7d2feb4f412f42ac3a595f049a23e8dcf70516dffb51866391228ea2dbcfaea039e250fb2bb334d48a86ab2b6aea0ae2d + languageName: node + linkType: hard + +"ts-node@npm:^10.4.0, ts-node@npm:^10.9.2": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^4.1.2": + version: 4.2.0 + resolution: "tsconfig-paths@npm:4.2.0" + dependencies: + json5: "npm:^2.2.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/09a5877402d082bb1134930c10249edeebc0211f36150c35e1c542e5b91f1047b1ccf7da1e59babca1ef1f014c525510f4f870de7c9bda470c73bb4e2721b3ea + languageName: node + linkType: hard + +"tsconfig@npm:^7.0.0": + version: 7.0.0 + resolution: "tsconfig@npm:7.0.0" + dependencies: + "@types/strip-bom": "npm:^3.0.0" + "@types/strip-json-comments": "npm:0.0.30" + strip-bom: "npm:^3.0.0" + strip-json-comments: "npm:^2.0.0" + checksum: 10c0/7a5dec94b9e42017d93041b1962c174afde00fd8f3066eea81a5e5b743065e95f3bedebff0edbe215b2517f8cdace8c9f15651a78d5eb7409cad2fc107e5eb98 + languageName: node + linkType: hard + +"tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3": + version: 2.6.3 + resolution: "tslib@npm:2.6.3" + checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8, type-detect@npm:^4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"typescript@npm:^5.5.4": + version: 5.5.4 + resolution: "typescript@npm:5.5.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c + languageName: node + linkType: hard + +"typescript@npm:~5.4.2": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/2954022ada340fd3d6a9e2b8e534f65d57c92d5f3989a263754a78aba549f7e6529acc1921913560a4b816c46dce7df4a4d29f9f11a3dc0d4213bb76d043251e + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": + version: 5.5.4 + resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/73409d7b9196a5a1217b3aaad929bf76294d3ce7d6e9766dd880ece296ee91cf7d7db6b16c6c6c630ee5096eccde726c0ef17c7dfa52b01a243e57ae1f09ef07 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A~5.4.2#optional!builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=5adc0c" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9 + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"undici-types@npm:~6.11.1": + version: 6.11.1 + resolution: "undici-types@npm:6.11.1" + checksum: 10c0/d8f5739a8e6c779d72336c82deb49c56d5ac9f9f6e0eb2e8dd4d3f6929ae9db7cde370d2e46516fe6cad04ea53e790c5e16c4c75eed7cd0f9bd31b0763bb2fa3 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" + checksum: 10c0/0fe812641bcfa3ae433025178a64afb5d9afebc21a922dafa7cba971deebb5e4a37350423890750132a85c936c290fb988146d0b1bd86838ad4897f4fc5bd0de + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-match-property-ecmascript@npm:2.0.0" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^2.0.0" + unicode-property-aliases-ecmascript: "npm:^2.0.0" + checksum: 10c0/4d05252cecaf5c8e36d78dc5332e03b334c6242faf7cf16b3658525441386c0a03b5f603d42cbec0f09bb63b9fd25c9b3b09667aee75463cac3efadae2cd17ec + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^2.1.0": + version: 2.1.0 + resolution: "unicode-match-property-value-ecmascript@npm:2.1.0" + checksum: 10c0/f5b9499b9e0ffdc6027b744d528f17ec27dd7c15da03254ed06851feec47e0531f20d410910c8a49af4a6a190f4978413794c8d75ce112950b56d583b5d5c7f2 + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^2.0.0": + version: 2.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:2.1.0" + checksum: 10c0/50ded3f8c963c7785e48c510a3b7c6bc4e08a579551489aa0349680a35b1ceceec122e33b2b6c1b579d0be2250f34bb163ac35f5f8695fe10bbc67fb757f0af8 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"universal-github-app-jwt@npm:^1.1.2": + version: 1.1.2 + resolution: "universal-github-app-jwt@npm:1.1.2" + dependencies: + "@types/jsonwebtoken": "npm:^9.0.0" + jsonwebtoken: "npm:^9.0.2" + checksum: 10c0/061d2a52c25f0a09a5ae40167e6006ba89510df9934070996d8ca3019afd34f7f28fbb74a93d1627beb4209faf04ec9173f0dc9ff351ee2ec42ab76cff389a80 + languageName: node + linkType: hard + +"universal-user-agent@npm:^6.0.0": + version: 6.0.0 + resolution: "universal-user-agent@npm:6.0.0" + checksum: 10c0/ebeb0206963666c13bcf9ebc86d0577c7daed5870c05cd34d4972ee7a43b9ef20679baf2a8c83bf1b71d899bae67243ac4982d84ddaf9ba0355ff76595819961 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.0 + resolution: "universalify@npm:2.0.0" + checksum: 10c0/07092b9f46df61b823d8ab5e57f0ee5120c178b39609a95e4a15a98c42f6b0b8e834e66fbb47ff92831786193be42f1fd36347169b88ce8639d0f9670af24a71 + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.0.13": + version: 1.0.13 + resolution: "update-browserslist-db@npm:1.0.13" + dependencies: + escalade: "npm:^3.1.1" + picocolors: "npm:^1.0.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"url@npm:0.10.3": + version: 0.10.3 + resolution: "url@npm:0.10.3" + dependencies: + punycode: "npm:1.3.2" + querystring: "npm:0.2.0" + checksum: 10c0/f0a1c7d99ac35dd68a8962bc7b3dd38f08d457387fc686f0669ff881b00a68eabd9cb3aded09dfbe25401d7b632fc4a9c074cb373f6a4bd1d8b5324d1d442a0d + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"util@npm:^0.12.4": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: "npm:^2.0.3" + is-arguments: "npm:^1.0.4" + is-generator-function: "npm:^1.0.7" + is-typed-array: "npm:^1.1.3" + which-typed-array: "npm:^1.1.2" + checksum: 10c0/c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 + languageName: node + linkType: hard + +"uuid@npm:8.0.0": + version: 8.0.0 + resolution: "uuid@npm:8.0.0" + bin: + uuid: dist/bin/uuid + checksum: 10c0/e62301a1c6102da5ce9a147b492a4b5cfa14d2e8fdf4a6ebfda7929cb72d186f84173815ec18fa4160a03bf9724b16ece3737b3ac6701815bc965f8fa4279298 + languageName: node + linkType: hard + +"uuid@npm:^9.0.1": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 10c0/1607dd32ac7fc22f2d8f77051e6a64845c9bce5cd3dd8aa0070c074ec73e666a1f63c7b4e0f4bf2bc8b9d59dc85a15e17807446d9d2b17c8485fbc2147b27f9b + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.0.1": + version: 9.1.0 + resolution: "v8-to-istanbul@npm:9.1.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^1.6.0" + checksum: 10c0/657ef7c52a514c1a0769663f96dd6f2cd11d2d3f6c8272d1035f4a543dca0b52c84b005beb7f0ca215eb98425c8bc4aa92a62826b1fc76abc1f7228d33ccbc60 + languageName: node + linkType: hard + +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.0 + resolution: "validate-npm-package-name@npm:5.0.0" + dependencies: + builtins: "npm:^5.0.0" + checksum: 10c0/36a9067650f5b90c573a0d394b89ddffb08fe58a60507d7938ad7c38f25055cc5c6bf4a10fbd604abe1f4a31062cbe0dfa8e7ccad37b249da32e7b71889c079e + languageName: node + linkType: hard + +"vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"walker@npm:^1.0.8": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: "npm:1.0.12" + checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e + languageName: node + linkType: hard + +"watchpack@npm:^2.0.0-beta.10": + version: 2.4.0 + resolution: "watchpack@npm:2.4.0" + dependencies: + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.1.2" + checksum: 10c0/c5e35f9fb9338d31d2141d9835643c0f49b5f9c521440bb648181059e5940d93dd8ed856aa8a33fbcdd4e121dad63c7e8c15c063cf485429cd9d427be197fe62 + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.0, wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: "npm:^1.0.3" + checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + languageName: node + linkType: hard + +"which-typed-array@npm:^1.1.2": + version: 1.1.9 + resolution: "which-typed-array@npm:1.1.9" + dependencies: + available-typed-arrays: "npm:^1.0.5" + call-bind: "npm:^1.0.2" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.0" + is-typed-array: "npm:^1.1.10" + checksum: 10c0/7edb12cfd04bfe2e2d3ec3e6046417c59e6a8c72209e4fe41fe1a1a40a3b196626c2ca63dac2a0fa2491d5c37c065dfabd2fcf7c0c15f1d19f5640fef88f6368 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:^4.0.2": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.7" + checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 + languageName: node + linkType: hard + +"xml2js@npm:0.5.0": + version: 0.5.0 + resolution: "xml2js@npm:0.5.0" + dependencies: + sax: "npm:>=0.6.0" + xmlbuilder: "npm:~11.0.0" + checksum: 10c0/c9cd07cd19c5e41c740913bbbf16999a37a204488e11f86eddc2999707d43967197e257014d7ed72c8fc4348c192fa47eb352d1d9d05637cefd0d2e24e9aa4c8 + languageName: node + linkType: hard + +"xmlbuilder@npm:~11.0.0": + version: 11.0.1 + resolution: "xmlbuilder@npm:11.0.1" + checksum: 10c0/74b979f89a0a129926bc786b913459bdbcefa809afaa551c5ab83f89b1915bdaea14c11c759284bb9b931e3b53004dbc2181e21d3ca9553eeb0b2a7b4e40c35b + languageName: node + linkType: hard + +"xtend@npm:^4.0.0": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yaml@npm:^1.7.2": + version: 1.10.2 + resolution: "yaml@npm:1.10.2" + checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f + languageName: node + linkType: hard + +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:^17.3.1, yargs@npm:^17.6.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From b78ccde771f6c24b736e046cd41acb72308baac0 Mon Sep 17 00:00:00 2001 From: SSW-SCIENTIFIC Date: Thu, 1 Aug 2024 22:33:51 +0900 Subject: [PATCH 02/90] feat(webhook): Enable authorizer assignment to webhook (#4000) We want to add a lambda authenticator to webhook API endpoint to restrict requests by source IP address. To achieve this, the following two options are possible: 1. add attributes to pass authorizer resource information to this module, 2. or simply ignores changes related to authorizer of `aws_apigatewayv2_route` resource, However, 1. requires all informations to create `aws_apigatewayv2_authorizer` and `aws_lambda_permission`, this is little bit need consideration. Option 2. is, of cource, needs resouce update by hand, however, the very simple to achieve by ignoring attribute changes. This PR aims to implement option 2. --------- Co-authored-by: Niek Palm --- modules/webhook/main.tf | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/webhook/main.tf b/modules/webhook/main.tf index 777972f826..71fc36fea1 100644 --- a/modules/webhook/main.tf +++ b/modules/webhook/main.tf @@ -14,6 +14,16 @@ resource "aws_apigatewayv2_route" "webhook" { api_id = aws_apigatewayv2_api.webhook.id route_key = "POST /${local.webhook_endpoint}" target = "integrations/${aws_apigatewayv2_integration.webhook.id}" + + lifecycle { + ignore_changes = [ + # Ignore authorization related attributes to enable authenticator assignment to API route. + # NOTE: We consider the ignores as a system intenral. Future changes will not trigger a breakig change. + authorizer_id, + authorization_type, + authorization_scopes, + ] + } } resource "aws_apigatewayv2_stage" "webhook" { From 2d2318be4a53c378b486209ccca347b51fed0eb1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:34:13 +0200 Subject: [PATCH 03/90] chore(lambda): bump @swc/core from 1.7.3 to 1.7.4 in /lambdas (#4024) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@swc/core](https://github.com/swc-project/swc) from 1.7.3 to 1.7.4.
Changelog

Sourced from @​swc/core's changelog.

[1.7.4] - 2024-07-31

Bug Fixes

  • (es/codegen) Emit question token for class methods (#9342) (636585b)

  • (es/minifier) Fix detection of this (#9339) (77da7cf)

  • (es/minifier) Fix analysis of for-in/of (#9340) (1454ab5)

  • (es/minifier) Preserve flags while dropping elements of SeqExpr (#8907) (24e8798)

  • (es/typescript) Fix ASI in expression for fast strip (#9358) (3ee82e2)

Documentation

  • (contributing) Add warning for test --all (#9338) (234bb97)

Miscellaneous Tasks

  • (deps) Update rust crate toml to v0.8.16 (#9327) (67aadfa)

  • (deps) Update dependency magic-string to v0.30.11 (#9345) (ced06e2)

  • (deps) Update rust crate toml to v0.8.17 (#9349) (d5472cc)

Commits
  • 6d5ac54 chore: Publish 1.7.4 with swc_core v0.99.5
  • 0ad789f chore: Update changelog
  • c979849 chore: Publish 1.7.4-nightly-20240731.1 with swc_core v0.99.5
  • 845c401 chore: Publish crates
  • 3ee82e2 fix(es/typescript): Fix ASI in expression for fast strip (#9358)
  • 24e8798 fix(es/minifier): Preserve flags while dropping elements of SeqExpr (#8907)
  • 81d7d9d chore: Typo in typescript_wasm README (#9354)
  • e0da957 chore: Revert action upgrade
  • 0257359 chore: Disable nissuer
  • d5472cc chore(deps): update rust crate toml to v0.8.17 (#9349)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@swc/core&package-manager=npm_and_yarn&previous-version=1.7.3&new-version=1.7.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/package.json | 2 +- lambdas/yarn.lock | 90 ++++++++++++++++++++++---------------------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/lambdas/package.json b/lambdas/package.json index 31bb489779..d0d4c6cfee 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -25,7 +25,7 @@ "@nx/jest": "19.5.4", "@nx/js": "^19.5.4", "@swc-node/register": "~1.10.9", - "@swc/core": "~1.7.3", + "@swc/core": "~1.7.4", "@swc/helpers": "~0.5.12", "eslint": "^8.57.0", "jest": "^29.7.0", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index be2f6edf02..086213644b 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4452,90 +4452,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-darwin-arm64@npm:1.7.3" +"@swc/core-darwin-arm64@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-darwin-arm64@npm:1.7.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-darwin-x64@npm:1.7.3" +"@swc/core-darwin-x64@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-darwin-x64@npm:1.7.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.3" +"@swc/core-linux-arm-gnueabihf@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.4" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.3" +"@swc/core-linux-arm64-gnu@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.4" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.3" +"@swc/core-linux-arm64-musl@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.4" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.3" +"@swc/core-linux-x64-gnu@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.4" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-linux-x64-musl@npm:1.7.3" +"@swc/core-linux-x64-musl@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-linux-x64-musl@npm:1.7.4" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.3" +"@swc/core-win32-arm64-msvc@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.3" +"@swc/core-win32-ia32-msvc@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.4" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.3": - version: 1.7.3 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.3" +"@swc/core-win32-x64-msvc@npm:1.7.4": + version: 1.7.4 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:~1.7.3": - version: 1.7.3 - resolution: "@swc/core@npm:1.7.3" +"@swc/core@npm:~1.7.4": + version: 1.7.4 + resolution: "@swc/core@npm:1.7.4" dependencies: - "@swc/core-darwin-arm64": "npm:1.7.3" - "@swc/core-darwin-x64": "npm:1.7.3" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.3" - "@swc/core-linux-arm64-gnu": "npm:1.7.3" - "@swc/core-linux-arm64-musl": "npm:1.7.3" - "@swc/core-linux-x64-gnu": "npm:1.7.3" - "@swc/core-linux-x64-musl": "npm:1.7.3" - "@swc/core-win32-arm64-msvc": "npm:1.7.3" - "@swc/core-win32-ia32-msvc": "npm:1.7.3" - "@swc/core-win32-x64-msvc": "npm:1.7.3" + "@swc/core-darwin-arm64": "npm:1.7.4" + "@swc/core-darwin-x64": "npm:1.7.4" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.4" + "@swc/core-linux-arm64-gnu": "npm:1.7.4" + "@swc/core-linux-arm64-musl": "npm:1.7.4" + "@swc/core-linux-x64-gnu": "npm:1.7.4" + "@swc/core-linux-x64-musl": "npm:1.7.4" + "@swc/core-win32-arm64-msvc": "npm:1.7.4" + "@swc/core-win32-ia32-msvc": "npm:1.7.4" + "@swc/core-win32-x64-msvc": "npm:1.7.4" "@swc/counter": "npm:^0.1.3" "@swc/types": "npm:^0.1.12" peerDependencies: @@ -4564,7 +4564,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/daf1dc187bc3482488fe3e5b6f1fb2778f18f594e974061f5f1dd406ba96f8c3277969e7d1fcc2b5942f5b6da4111ca41c51a5c70a69852647953ff24e22b5b4 + checksum: 10c0/a091ddee46ef9d1da12368e4a9d5b0f6fd0b8460ce3f1a93f986c371366d19eff3884d3d1b56e6e67d70ec4691672e4bb6033dd5f80bb19932156cf67cae2301 languageName: node linkType: hard @@ -8607,7 +8607,7 @@ __metadata: "@nx/jest": "npm:19.5.4" "@nx/js": "npm:^19.5.4" "@swc-node/register": "npm:~1.10.9" - "@swc/core": "npm:~1.7.3" + "@swc/core": "npm:~1.7.4" "@swc/helpers": "npm:~0.5.12" eslint: "npm:^8.57.0" jest: "npm:^29.7.0" From 58dc3d495d53cd229569c3f55fece167ae427520 Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:38:00 +0200 Subject: [PATCH 04/90] chore(main): release 5.13.0 (#3999) :robot: I have created a release *beep* *boop* --- ## [5.13.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.12.2...v5.13.0) (2024-08-01) ### Features * **webhook:** Enable authorizer assignment to webhook ([#4000](https://github.com/philips-labs/terraform-aws-github-runner/issues/4000)) ([b78ccde](https://github.com/philips-labs/terraform-aws-github-runner/commit/b78ccde771f6c24b736e046cd41acb72308baac0)) @SSW-SCIENTIFIC ### Bug Fixes * add warnings to log for GitHub rate limits ([#3988](https://github.com/philips-labs/terraform-aws-github-runner/issues/3988)) ([2ed0b29](https://github.com/philips-labs/terraform-aws-github-runner/commit/2ed0b29960a7eb932090cdd3612680c9efc3a5b8)) * bump node dependencies and cleanup ([#4020](https://github.com/philips-labs/terraform-aws-github-runner/issues/4020)) ([221958b](https://github.com/philips-labs/terraform-aws-github-runner/commit/221958bccb56642ae654d0a27eb2b27a17013700)) * **lambda:** bump the aws group across 1 directory with 5 updates ([#4005](https://github.com/philips-labs/terraform-aws-github-runner/issues/4005)) ([4ca422d](https://github.com/philips-labs/terraform-aws-github-runner/commit/4ca422d95da447416f0bc1b53e6e0fea70cca4bd)) * **lambda:** bump the aws group across 1 directory with 5 updates ([#4017](https://github.com/philips-labs/terraform-aws-github-runner/issues/4017)) ([0cd6a85](https://github.com/philips-labs/terraform-aws-github-runner/commit/0cd6a854ee54b36b2ede20145a2e8a77f5ed534f)) * mark github_app variable as sensitive ([#4013](https://github.com/philips-labs/terraform-aws-github-runner/issues/4013)) ([08be669](https://github.com/philips-labs/terraform-aws-github-runner/commit/08be669a9d04bb8c5930b69d17f12748720e6148)) @jizi --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20067a82ae..00f002ab4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## [5.13.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.12.2...v5.13.0) (2024-08-01) + + +### Features + +* **webhook:** Enable authorizer assignment to webhook ([#4000](https://github.com/philips-labs/terraform-aws-github-runner/issues/4000)) ([b78ccde](https://github.com/philips-labs/terraform-aws-github-runner/commit/b78ccde771f6c24b736e046cd41acb72308baac0)) + + +### Bug Fixes + +* add warnings to log for GitHub rate limits ([#3988](https://github.com/philips-labs/terraform-aws-github-runner/issues/3988)) ([2ed0b29](https://github.com/philips-labs/terraform-aws-github-runner/commit/2ed0b29960a7eb932090cdd3612680c9efc3a5b8)) +* bump node dependencies and cleanup ([#4020](https://github.com/philips-labs/terraform-aws-github-runner/issues/4020)) ([221958b](https://github.com/philips-labs/terraform-aws-github-runner/commit/221958bccb56642ae654d0a27eb2b27a17013700)) +* **lambda:** bump the aws group across 1 directory with 5 updates ([#4005](https://github.com/philips-labs/terraform-aws-github-runner/issues/4005)) ([4ca422d](https://github.com/philips-labs/terraform-aws-github-runner/commit/4ca422d95da447416f0bc1b53e6e0fea70cca4bd)) +* **lambda:** bump the aws group across 1 directory with 5 updates ([#4017](https://github.com/philips-labs/terraform-aws-github-runner/issues/4017)) ([0cd6a85](https://github.com/philips-labs/terraform-aws-github-runner/commit/0cd6a854ee54b36b2ede20145a2e8a77f5ed534f)) +* mark github_app variable as sensitive ([#4013](https://github.com/philips-labs/terraform-aws-github-runner/issues/4013)) ([08be669](https://github.com/philips-labs/terraform-aws-github-runner/commit/08be669a9d04bb8c5930b69d17f12748720e6148)) + ## [5.12.2](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.12.1...v5.12.2) (2024-07-12) From 900217bd81cb5cabcc8c38e12b8fd380315319e8 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Thu, 1 Aug 2024 16:43:29 +0200 Subject: [PATCH 05/90] fix: upgrade aws powertools to v2 (#4027) ## Problem AWS powetertools v1 will be end of life on Sept 1st 2024. Secondly upgrade to v2 is required to move to ESM See https://docs.powertools.aws.dev/lambda/typescript/latest/upgrade/ --- .github/dependabot.yml | 8 +-- .../termination-watcher/src/lambda.ts | 2 +- .../src/termination-warning.test.ts | 4 +- .../src/termination-warning.ts | 4 +- lambdas/libs/aws-powertools-util/package.json | 6 +-- .../aws-powertools-util/src/metrics/index.ts | 4 +- .../src/metrics/metrics.test.ts | 6 +-- .../aws-powertools-util/src/tracer/index.ts | 3 +- lambdas/yarn.lock | 54 +++++++++---------- 9 files changed, 46 insertions(+), 45 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 7f1b848a21..b839b5c6f2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -27,11 +27,11 @@ updates: octokit: patterns: - "@octokit/*" + aws-powertools: + patterns: + - "@aws-lambda-powertools/*" + ignore: - - dependency-name: "aws-sdk*" - update-types: ["version-update:semver-major"] - - dependency-name: "aws-lambda-powertools/*" - update-types: ["version-update:semver-major"] - dependency-name: "@middy/core" update-types: ["version-update:semver-major"] - dependency-name: "@octokit/*" diff --git a/lambdas/functions/termination-watcher/src/lambda.ts b/lambdas/functions/termination-watcher/src/lambda.ts index d07249f572..f805c2109a 100644 --- a/lambdas/functions/termination-watcher/src/lambda.ts +++ b/lambdas/functions/termination-watcher/src/lambda.ts @@ -6,7 +6,7 @@ import { setContext, tracer, } from '@terraform-aws-github-runner/aws-powertools-util'; -import { logMetrics } from '@aws-lambda-powertools/metrics'; +import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import { Context } from 'aws-lambda'; import { handle as handleTerminationWarning } from './termination-warning'; diff --git a/lambdas/functions/termination-watcher/src/termination-warning.test.ts b/lambdas/functions/termination-watcher/src/termination-warning.test.ts index b1069598b2..0404e13f53 100644 --- a/lambdas/functions/termination-watcher/src/termination-warning.test.ts +++ b/lambdas/functions/termination-watcher/src/termination-warning.test.ts @@ -4,7 +4,7 @@ import 'aws-sdk-client-mock-jest'; import { handle } from './termination-warning'; import { SpotInterruptionWarning, SpotTerminationDetail } from './types'; import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util'; -import { MetricUnits } from '@aws-lambda-powertools/metrics'; +import { MetricUnit } from '@aws-lambda-powertools/metrics'; jest.mock('@terraform-aws-github-runner/aws-powertools-util', () => ({ ...jest.requireActual('@terraform-aws-github-runner/aws-powertools-util'), @@ -63,7 +63,7 @@ describe('handle termination warning', () => { await handle(event, config); expect(createSingleMetric).toHaveBeenCalled(); - expect(createSingleMetric).toHaveBeenCalledWith('SpotInterruptionWarning', MetricUnits.Count, 1, { + expect(createSingleMetric).toHaveBeenCalledWith('SpotInterruptionWarning', MetricUnit.Count, 1, { InstanceType: instance.InstanceType ? instance.InstanceType : '_FAIL_', Environment: instance.Tags?.find((tag) => tag.Key === 'ghr:environment')?.Value ?? '_FAIL_', }); diff --git a/lambdas/functions/termination-watcher/src/termination-warning.ts b/lambdas/functions/termination-watcher/src/termination-warning.ts index 8a9fad5af6..628e46439b 100644 --- a/lambdas/functions/termination-watcher/src/termination-warning.ts +++ b/lambdas/functions/termination-watcher/src/termination-warning.ts @@ -6,7 +6,7 @@ import { import { SpotInterruptionWarning, SpotTerminationDetail } from './types'; import { DescribeInstancesCommand, EC2Client } from '@aws-sdk/client-ec2'; import { Config } from './ConfigResolver'; -import { MetricUnits } from '@aws-lambda-powertools/metrics'; +import { MetricUnit } from '@aws-lambda-powertools/metrics'; const logger = createChildLogger('termination-warning'); @@ -37,7 +37,7 @@ async function handle(event: SpotInterruptionWarning, con tags: instance.Tags, }); if (config.createSpotWarningMetric) { - const metric = createSingleMetric('SpotInterruptionWarning', MetricUnits.Count, 1, { + const metric = createSingleMetric('SpotInterruptionWarning', MetricUnit.Count, 1, { InstanceType: instance.InstanceType ? instance.InstanceType : 'unknown', Environment: instance.Tags?.find((tag) => tag.Key === 'ghr:environment')?.Value ?? 'unknown', }); diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index c38d93098e..25315db016 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -35,9 +35,9 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-lambda-powertools/logger": "^1.18.1", - "@aws-lambda-powertools/metrics": "^1.18.1", - "@aws-lambda-powertools/tracer": "^1.18.1", + "@aws-lambda-powertools/logger": "^2.6.0", + "@aws-lambda-powertools/metrics": "^2.6.0", + "@aws-lambda-powertools/tracer": "^2.6.0", "aws-lambda": "^1.0.7" }, "nx": { diff --git a/lambdas/libs/aws-powertools-util/src/metrics/index.ts b/lambdas/libs/aws-powertools-util/src/metrics/index.ts index d5fd47d531..b5acc6e959 100644 --- a/lambdas/libs/aws-powertools-util/src/metrics/index.ts +++ b/lambdas/libs/aws-powertools-util/src/metrics/index.ts @@ -1,5 +1,5 @@ import { Metrics } from '@aws-lambda-powertools/metrics'; -import { MetricUnits } from '@aws-lambda-powertools/metrics/lib/types'; +import { MetricUnit } from '@aws-lambda-powertools/metrics/types'; export const metrics = new Metrics({ defaultDimensions: {}, @@ -7,7 +7,7 @@ export const metrics = new Metrics({ export function createSingleMetric( name: string, - unit: MetricUnits, + unit: MetricUnit, value: number, dimensions: Record = {}, ): ReturnType { diff --git a/lambdas/libs/aws-powertools-util/src/metrics/metrics.test.ts b/lambdas/libs/aws-powertools-util/src/metrics/metrics.test.ts index 064b0faa4b..932af730ba 100644 --- a/lambdas/libs/aws-powertools-util/src/metrics/metrics.test.ts +++ b/lambdas/libs/aws-powertools-util/src/metrics/metrics.test.ts @@ -1,4 +1,4 @@ -import { MetricUnits, Metrics } from '@aws-lambda-powertools/metrics'; +import { MetricUnit, Metrics } from '@aws-lambda-powertools/metrics'; import { createSingleMetric } from '../'; process.env.POWERTOOLS_METRICS_NAMESPACE = 'test'; @@ -10,13 +10,13 @@ describe('A root tracer.', () => { it('should create a single metric without dimensions', () => { const spy = jest.spyOn(Metrics.prototype, 'singleMetric'); - createSingleMetric('test', MetricUnits.Count, 1); + createSingleMetric('test', MetricUnit.Count, 1); expect(spy).toHaveBeenCalled(); }); test('should create a single metric', () => { const spy = jest.spyOn(Metrics.prototype, 'singleMetric'); - createSingleMetric('test', MetricUnits.Count, 1, { test: 'test' }); + createSingleMetric('test', MetricUnit.Count, 1, { test: 'test' }); expect(spy).toHaveBeenCalled(); }); }); diff --git a/lambdas/libs/aws-powertools-util/src/tracer/index.ts b/lambdas/libs/aws-powertools-util/src/tracer/index.ts index 6a5757a77e..81317920eb 100644 --- a/lambdas/libs/aws-powertools-util/src/tracer/index.ts +++ b/lambdas/libs/aws-powertools-util/src/tracer/index.ts @@ -1,4 +1,5 @@ -import { Tracer, captureLambdaHandler } from '@aws-lambda-powertools/tracer'; +import { Tracer } from '@aws-lambda-powertools/tracer'; +import { captureLambdaHandler } from '@aws-lambda-powertools/tracer/middleware'; const tracer = new Tracer(); diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 086213644b..e6b3053bc5 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -97,54 +97,54 @@ __metadata: languageName: node linkType: hard -"@aws-lambda-powertools/commons@npm:^1.18.1": - version: 1.18.1 - resolution: "@aws-lambda-powertools/commons@npm:1.18.1" - checksum: 10c0/5c5b748b03f166cf3efce99e3e5029cb4615d2e31b0593586479f0101b61de34f35ad380ea058fc3ba4c11444c0701daad2f833405db79ee6a69979bfaf14d50 +"@aws-lambda-powertools/commons@npm:^2.6.0": + version: 2.6.0 + resolution: "@aws-lambda-powertools/commons@npm:2.6.0" + checksum: 10c0/e236e5d02b66b824916bb7626008ebf4e884b517afb4ef79caea58e58bbb61455e17f5b95522c21784372de2912d05c7cc69001d9009bad3057f6ec7cf005aab languageName: node linkType: hard -"@aws-lambda-powertools/logger@npm:^1.18.1": - version: 1.18.1 - resolution: "@aws-lambda-powertools/logger@npm:1.18.1" +"@aws-lambda-powertools/logger@npm:^2.6.0": + version: 2.6.0 + resolution: "@aws-lambda-powertools/logger@npm:2.6.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^1.18.1" + "@aws-lambda-powertools/commons": "npm:^2.6.0" lodash.merge: "npm:^4.6.2" peerDependencies: - "@middy/core": ">=3.x" + "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/3d9c43bd2d68b47bd4eb0e96268382bd2b40e6009c8faf4072ff8e673fddd25a2f113a65f6fd319839680478f03c34abe3cca1acf4b76e101807e587cad61dfc + checksum: 10c0/b6f89363d8f635fd8429f156e02c9eb0e8f2cfbe37cc774075262666e9a67f91af84a5a28fcb34197616e3fb85f62243746381a61b3a638169401307f18e84e6 languageName: node linkType: hard -"@aws-lambda-powertools/metrics@npm:^1.18.1": - version: 1.18.1 - resolution: "@aws-lambda-powertools/metrics@npm:1.18.1" +"@aws-lambda-powertools/metrics@npm:^2.6.0": + version: 2.6.0 + resolution: "@aws-lambda-powertools/metrics@npm:2.6.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^1.18.1" + "@aws-lambda-powertools/commons": "npm:^2.6.0" peerDependencies: - "@middy/core": ">=3.x" + "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/1e4bacc5069140ff84ceca2d27b104b0d6ee862eccd8bd8180e18459ae2bc6d753649d1b5d4579fdfd26ac74f6406a37be2d8ce662150795beb2ffd6063799da + checksum: 10c0/270913878d7e6703c47414fa22af15463814cd971eeeb32fc673d1e24f72dce950e5879f10c190286d7ea8dbe82d5de82b901bf49faf3bc1da5e2c6f52ca124e languageName: node linkType: hard -"@aws-lambda-powertools/tracer@npm:^1.18.1": - version: 1.18.1 - resolution: "@aws-lambda-powertools/tracer@npm:1.18.1" +"@aws-lambda-powertools/tracer@npm:^2.6.0": + version: 2.6.0 + resolution: "@aws-lambda-powertools/tracer@npm:2.6.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^1.18.1" - aws-xray-sdk-core: "npm:^3.5.3" + "@aws-lambda-powertools/commons": "npm:^2.6.0" + aws-xray-sdk-core: "npm:^3.9.0" peerDependencies: - "@middy/core": ">=3.x" + "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/3b2932608f93cb5ceb2ceb9a0d861b26f231d9739e9869748515cbea30b31d7ecb388c7915cff7b74ac9a2649360024b930b3697d530a0b5e19b5383b080f79b + checksum: 10c0/e3e5c2fa47a9784c4e99f5e72498756d30895215237bf9fa4b24db98522510144710264b317bd01c2f8bba52b631d9bc6de00347b4ea5e47f9f8e328debbb616 languageName: node linkType: hard @@ -4630,9 +4630,9 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util" dependencies: - "@aws-lambda-powertools/logger": "npm:^1.18.1" - "@aws-lambda-powertools/metrics": "npm:^1.18.1" - "@aws-lambda-powertools/tracer": "npm:^1.18.1" + "@aws-lambda-powertools/logger": "npm:^2.6.0" + "@aws-lambda-powertools/metrics": "npm:^2.6.0" + "@aws-lambda-powertools/tracer": "npm:^2.6.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.142" "@types/express": "npm:^4.17.21" @@ -5634,7 +5634,7 @@ __metadata: languageName: node linkType: hard -"aws-xray-sdk-core@npm:^3.5.3": +"aws-xray-sdk-core@npm:^3.9.0": version: 3.9.0 resolution: "aws-xray-sdk-core@npm:3.9.0" dependencies: From bd6cd40a377c763bcdda9f4fda1fbc6a15d794c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:52:08 +0200 Subject: [PATCH 06/90] chore(lambda): bump aws-sdk-client-mock-jest from 3.1.0 to 4.0.1 in /lambdas (#4029) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [aws-sdk-client-mock-jest](https://github.com/m-radzikowski/aws-sdk-client-mock/tree/HEAD/packages/aws-sdk-client-mock-jest) from 3.1.0 to 4.0.1.
Release notes

Sourced from aws-sdk-client-mock-jest's releases.

v4.0.1

4.0.1 (2024-06-01)

v4.0.1-beta.0

4.0.1-beta.0 (2024-06-01)

Bug Fixes

  • jest: match input type accepting @​jest/globals asymmetric matchers (644a603)

v4.0.0

4.0.0 (2024-03-17)

v4.0.0-beta.0

4.0.0-beta.0 (2024-03-17)

⚠ BREAKING CHANGES

  • Correct expect.assertions() count on CommandWith commands (#209)

Bug Fixes

  • Correct expect.assertions() count on CommandWith commands (#209) (65d53a7)
Changelog

Sourced from aws-sdk-client-mock-jest's changelog.

4.0.1 (2024-06-01)

4.0.1-beta.0 (2024-06-01)

Bug Fixes

  • jest: match input type accepting @​jest/globals asymmetric matchers (644a603)

4.0.0 (2024-03-17)

4.0.0-beta.0 (2024-03-17)

⚠ BREAKING CHANGES

  • Correct expect.assertions() count on CommandWith commands (#209)

Bug Fixes

  • Correct expect.assertions() count on CommandWith commands (#209) (65d53a7)
Commits
  • 19f041a chore(release): 4.0.1
  • c2e1d86 chore(release): 4.0.1-beta.0
  • 644a603 fix(jest): match input type accepting @​jest/globals asymmetric matchers
  • 7acde27 docs: add code examples for Jest matchers including asymmetric matchers
  • e0486cc chore(release): 4.0.0
  • f2ec44b chore(release): 4.0.0-beta.0
  • 65d53a7 fix!: Correct expect.assertions() count on CommandWith commands (#209)
  • See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-sdk-client-mock-jest&package-manager=npm_and_yarn&previous-version=3.1.0&new-version=4.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- lambdas/functions/gh-agent-syncer/package.json | 2 +- .../functions/termination-watcher/package.json | 2 +- lambdas/yarn.lock | 18 +++++++++--------- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index b56fdaaaf7..8d4304f441 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -24,7 +24,7 @@ "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^3.1.0", - "aws-sdk-client-mock-jest": "^3.1.0", + "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", "jest": "^29.7.0", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 73cca23a32..a518a7562a 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -24,7 +24,7 @@ "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^3.1.0", - "aws-sdk-client-mock-jest": "^3.1.0", + "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", "jest": "^29.7.0", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index c482cf7cdd..a4346054e1 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -25,7 +25,7 @@ "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^3.1.0", - "aws-sdk-client-mock-jest": "^3.1.0", + "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", "jest": "^29.7.0", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 3fdee3174f..1cfafa2735 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -22,7 +22,7 @@ "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^3.1.0", - "aws-sdk-client-mock-jest": "^3.1.0", + "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", "jest": "^29.7.0", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index e6b3053bc5..806ef93b4e 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4610,7 +4610,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^3.1.0" - aws-sdk-client-mock-jest: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^4.0.1" cron-parser: "npm:^4.9.0" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" @@ -4707,7 +4707,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^3.1.0" - aws-sdk-client-mock-jest: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^4.0.1" axios: "npm:^1.7.2" cron-parser: "npm:^4.9.0" eslint: "npm:^8.57.0" @@ -4744,7 +4744,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^3.1.0" - aws-sdk-client-mock-jest: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^4.0.1" axios: "npm:^1.7.2" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" @@ -4773,7 +4773,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^3.1.0" - aws-sdk-client-mock-jest: "npm:^3.1.0" + aws-sdk-client-mock-jest: "npm:^4.0.1" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" jest: "npm:^29.7.0" @@ -5593,15 +5593,15 @@ __metadata: languageName: node linkType: hard -"aws-sdk-client-mock-jest@npm:^3.1.0": - version: 3.1.0 - resolution: "aws-sdk-client-mock-jest@npm:3.1.0" +"aws-sdk-client-mock-jest@npm:^4.0.1": + version: 4.0.1 + resolution: "aws-sdk-client-mock-jest@npm:4.0.1" dependencies: expect: "npm:>28.1.3" tslib: "npm:^2.1.0" peerDependencies: - aws-sdk-client-mock: 3.1.0 - checksum: 10c0/000c4a6f1b5c8d2e741a5db2a09af4a8120bd68cbe92a2ff8c81fac02c71d6361b0e3622f1731c4d2afe935935d88dd4b01205358069e257a22727b3127069d6 + aws-sdk-client-mock: 4.0.1 + checksum: 10c0/9832cc132e3cd33f85b882e646ee63ea10500d59c94340c1425a46bd6ace85d07122070ba7eea5100b6729a8f4f6ab0a4df042b919681a7cbb719f9e5a13d3b1 languageName: node linkType: hard From 6d4aab828d099285e8b6763550ca9c2709d4260f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:52:29 +0200 Subject: [PATCH 07/90] chore(lambda): bump @types/node from 22.0.0 to 22.0.2 in /lambdas (#4030) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.0.0 to 22.0.2.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.0.0&new-version=22.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 22 +++++++++---------- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 8d4304f441..54242abac8 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.142", "@types/jest": "^29.5.12", - "@types/node": "^22.0.0", + "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index a518a7562a..e9b3c51841 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.142", "@types/jest": "^29.5.12", - "@types/node": "^22.0.0", + "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index a4346054e1..5ebaded70f 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.142", "@types/jest": "^29.5.12", - "@types/node": "^22.0.0", + "@types/node": "^22.0.2", "@types/request": "^2.48.12", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 1cfafa2735..09918c9bc4 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -17,7 +17,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.142", "@types/jest": "^29.5.12", - "@types/node": "^22.0.0", + "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index b208fd2cc7..8d9429d744 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -20,7 +20,7 @@ "@types/aws-lambda": "^8.10.142", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.0.0", + "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 25315db016..0516922fbb 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.142", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.0.0", + "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 1c037a326a..a6d1b423e3 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.142", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.0.0", + "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 806ef93b4e..d4dee4e2fa 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4605,7 +4605,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.142" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.0" + "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -4637,7 +4637,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.142" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.0" + "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -4667,7 +4667,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.142" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.0" + "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -4702,7 +4702,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.142" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.0" + "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -4738,7 +4738,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.142" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.0" + "@types/node": "npm:^22.0.2" "@types/request": "npm:^2.48.12" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" @@ -4768,7 +4768,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.142" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.0" + "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -4803,7 +4803,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.142" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.0" + "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -5068,12 +5068,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22.0.0": - version: 22.0.0 - resolution: "@types/node@npm:22.0.0" +"@types/node@npm:^22.0.2": + version: 22.0.2 + resolution: "@types/node@npm:22.0.2" dependencies: undici-types: "npm:~6.11.1" - checksum: 10c0/af26a8ec7266c857b0ced75dc3a93c6b65280d1fa40d1b4488c814d30831c5c752489c99ecb5698daec1376145b1a9ddd08350882dc2e07769917a5f22a460bc + checksum: 10c0/59ee26fb1104674b2e23981d7569ad113aa8ee23c8449af8e4312aa9352ac738c5ffd0ae4d8077db0467704a3b9ccc662048e39716cb5ad51cdb24d106c7871b languageName: node linkType: hard From 3dbd40cce99bbd0b3b96c19c2fb1d9ef9f9c6be9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:52:48 +0200 Subject: [PATCH 08/90] chore(lambda): bump ts-jest from 29.2.3 to 29.2.4 in /lambdas (#4028) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.2.3 to 29.2.4.
Release notes

Sourced from ts-jest's releases.

v29.2.4

Please refer to CHANGELOG.md for details.

Changelog

Sourced from ts-jest's changelog.

29.2.4 (2024-08-01)

Bug Fixes

  • fix: revert support implementation for Node16/NodeNext (70b9530), closes #4468 #4473
Commits
  • 0977789 chore(release): 29.2.4
  • 70b9530 fix: revert support implementation for Node16/NodeNext
  • 86398c7 build(deps): Update dependency @​babel/preset-env to ^7.25.3
  • 2b07e2b build(deps): Update dependency eslint-plugin-jsdoc to ^48.10.2
  • 5cc1333 build(deps): Update babel monorepo to ^7.25.2
  • 46fa736 build(deps): Update ESLint packages to ^7.18.0
  • e1aad14 build(deps): Update dependency eslint-plugin-jsdoc to ^48.9.2
  • 19473a2 build(deps): Update dependency eslint-plugin-jsdoc to ^48.9.1
  • a40a791 build(deps): Update dependency eslint-plugin-jsdoc to ^48.9.0
  • 6d8063a test: refactor example apps to be in one project
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ts-jest&package-manager=npm_and_yarn&previous-version=29.2.3&new-version=29.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 22 +++++++++---------- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 54242abac8..364a2804ed 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -32,7 +32,7 @@ "jest-mock-extended": "^3.0.7", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.3", + "ts-jest": "^29.2.4", "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index e9b3c51841..3d5017a6e8 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -33,7 +33,7 @@ "moment-timezone": "^0.5.45", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.3", + "ts-jest": "^29.2.4", "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 5ebaded70f..2ffe19cd27 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -31,7 +31,7 @@ "jest": "^29.7.0", "jest-mock": "^29.7.0", "prettier": "3.3.3", - "ts-jest": "^29.2.3", + "ts-jest": "^29.2.4", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 09918c9bc4..e193c33fa9 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -30,7 +30,7 @@ "jest-mock-extended": "^3.0.7", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.3", + "ts-jest": "^29.2.4", "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 8d9429d744..117c2807ad 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -32,7 +32,7 @@ "jest-mock": "^29.7.0", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.3", + "ts-jest": "^29.2.4", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 0516922fbb..eb1bd6ed21 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -30,7 +30,7 @@ "jest-mock": "^29.7.0", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.3", + "ts-jest": "^29.2.4", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index a6d1b423e3..70a3189eb4 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -30,7 +30,7 @@ "jest-mock": "^29.7.0", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.3", + "ts-jest": "^29.2.4", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index d4dee4e2fa..12dcb48607 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4619,7 +4619,7 @@ __metadata: jest-mock-extended: "npm:^3.0.7" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.3" + ts-jest: "npm:^29.2.4" ts-node: "npm:^10.9.2" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" @@ -4650,7 +4650,7 @@ __metadata: jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.3" + ts-jest: "npm:^29.2.4" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -4679,7 +4679,7 @@ __metadata: jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.3" + ts-jest: "npm:^29.2.4" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -4718,7 +4718,7 @@ __metadata: moment-timezone: "npm:^0.5.45" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.3" + ts-jest: "npm:^29.2.4" ts-node: "npm:^10.9.2" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" @@ -4751,7 +4751,7 @@ __metadata: jest: "npm:^29.7.0" jest-mock: "npm:^29.7.0" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.3" + ts-jest: "npm:^29.2.4" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -4781,7 +4781,7 @@ __metadata: jest-mock-extended: "npm:^3.0.7" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.3" + ts-jest: "npm:^29.2.4" ts-node: "npm:^10.9.2" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" @@ -4816,7 +4816,7 @@ __metadata: jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.3" + ts-jest: "npm:^29.2.4" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -10544,9 +10544,9 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.2.3": - version: 29.2.3 - resolution: "ts-jest@npm:29.2.3" +"ts-jest@npm:^29.2.4": + version: 29.2.4 + resolution: "ts-jest@npm:29.2.4" dependencies: bs-logger: "npm:0.x" ejs: "npm:^3.1.10" @@ -10577,7 +10577,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 10c0/3be57a9f0e9cf0d0de235f5543dc1f2a33da4380bf46e660f79d050a15a6e7bab71a7a80ba9559761ce1203248b40d0f9386c19356718165575f32192e32140e + checksum: 10c0/43be1d5625d44bc48815d91810e796d74682757b4f64677b54aae1f4da855476e50c01b92d54add4b02976ecf2cbb2f318d7c7788844328de44f145b95185fac languageName: node linkType: hard From 6cde62c8c1d6d5eafae01bf9770bd12bb423d779 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Thu, 1 Aug 2024 16:59:09 +0200 Subject: [PATCH 09/90] feat: mark orphan runners before removing them (#4001) ## Problem Orphan runners are deleted right after detection. This can be clash with self termination (ephemeral) runners. Typically the runner is waiting a few sseconds before exectuing a self termination. ## Solution In this solution we first mark a runner orphan, but not delete the runner. In a next cycle of the scale down function. First all orphan runners are terminated. ## Improvements - Improved logging, only logging the main flow once at info. All other logs moved to debug - Scale-down write permissions limitted to the envirnoment ## Todo - [x] Update docs - [x] Test default runner deployment - [x] Test mult runner deployment ## Example of log - Two instances - One made orphan by removing the runner from GitHub - In the log - Idle runner got removed - Orphan get marked as orphan - Next cycle orphan terminated. image --- docs/index.md | 4 +- .../functions/control-plane/jest.config.ts | 8 +- lambdas/functions/control-plane/package.json | 2 +- .../control-plane/src/aws/runners.d.ts | 2 + .../control-plane/src/aws/runners.test.ts | 57 ++++++++- .../control-plane/src/aws/runners.ts | 16 ++- .../src/scale-runners/scale-down.test.ts | 108 ++++++++++++++---- .../src/scale-runners/scale-down.ts | 45 +++++--- .../runners/policies/lambda-scale-down.json | 8 +- modules/runners/scale-down.tf | 1 + 10 files changed, 204 insertions(+), 47 deletions(-) diff --git a/docs/index.md b/docs/index.md index 38d7d8cb95..77a248f737 100644 --- a/docs/index.md +++ b/docs/index.md @@ -46,7 +46,7 @@ The "Scale Up Runner" Lambda actively monitors the SQS queue, processing incomin The Lambda first requests a JIT configuration or registration token from GitHub, which is needed later by the runner to register itself. This avoids the case that the EC2 instance, which later in the process will install the agent, needs administration permissions to register the runner. Next, the EC2 spot instance is created via the launch template. The launch template defines the specifications of the required instance and contains a [`user_data`](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) script. This script will install the required software and configure it. The configuration for the runner is shared via EC2 tags and the parameter store (SSM), from which the user data script will fetch it and delete it once it has been retrieved. Once the user data script is finished, the action runner should be online, and the workflow will start in seconds. -The current method for scaling down runners employs a straightforward approach: at predefined intervals, the Lambda conducts a thorough examination of each runner (instance) to assess its activity. If a runner is found to be idle, it is deregistered from GitHub, and the associated AWS instance is terminated. For ephemeral runners the the instance is terminated immediately after the workflow is finished. To avoid orphaned runners the scale down lambda is active in this cae as well. +The current method for scaling down runners employs a straightforward approach: at predefined intervals, the Lambda conducts a thorough examination of each runner (instance) to assess its activity. If a runner is found to be idle, it is deregistered from GitHub, and the associated AWS instance is terminated. For ephemeral runners the the instance is terminated immediately after the workflow is finished. Instances not registered in GitHub as a runner after a minimal boot time will be marked orphan and removed in a next cycle. To avoid orphaned runners the scale down lambda is active in this cae as well. ### Pool @@ -68,7 +68,7 @@ The AMI cleaner is a lambda that will clean up AMIs that are older than a config > This feature is Beta, changes will not trigger a major release as long in beta. -The Instance Termination Watcher is creating log and optional metrics for termination of instances. Currently only spot termination warnings are watched. See [configuration](configuration/) for more details. +The Instance Termination Watcher is creating log and optional metrics for termination of instances. Currently only spot termination warnings are watched. See [configuration](configuration/) for more details. ### Security diff --git a/lambdas/functions/control-plane/jest.config.ts b/lambdas/functions/control-plane/jest.config.ts index e96f2cbc3d..dd8ac50414 100644 --- a/lambdas/functions/control-plane/jest.config.ts +++ b/lambdas/functions/control-plane/jest.config.ts @@ -6,10 +6,10 @@ const config: Config = { ...defaultConfig, coverageThreshold: { global: { - statements: 97.79, - branches: 96.13, - functions: 95.4, - lines: 98.06, + statements: 98.01, + branches: 97.28, + functions: 95.6, + lines: 97.94, }, }, }; diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 3d5017a6e8..b32075c98d 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -8,7 +8,7 @@ "test": "NODE_ENV=test nx test", "test:watch": "NODE_ENV=test nx test --watch", "lint": "yarn eslint src", - "watch": "ts-node-dev --respawn --exit-child --files src/local.ts", + "watch": "ts-node-dev --respawn --exit-child --files src/local-down.ts", "build": "ncc build src/lambda.ts -o dist", "dist": "yarn build && cd dist && zip ../runners.zip index.js", "format": "prettier --write \"**/*.ts\"", diff --git a/lambdas/functions/control-plane/src/aws/runners.d.ts b/lambdas/functions/control-plane/src/aws/runners.d.ts index ea1f86b735..3a1b31b1cf 100644 --- a/lambdas/functions/control-plane/src/aws/runners.d.ts +++ b/lambdas/functions/control-plane/src/aws/runners.d.ts @@ -9,6 +9,7 @@ export interface RunnerList { type?: string; repo?: string; org?: string; + orphan?: boolean; } export interface RunnerInfo { @@ -22,6 +23,7 @@ export interface ListRunnerFilters { runnerType?: RunnerType; runnerOwner?: string; environment?: string; + orphan?: boolean; statuses?: string[]; } diff --git a/lambdas/functions/control-plane/src/aws/runners.test.ts b/lambdas/functions/control-plane/src/aws/runners.test.ts index d233b16a69..09a0e8b710 100644 --- a/lambdas/functions/control-plane/src/aws/runners.test.ts +++ b/lambdas/functions/control-plane/src/aws/runners.test.ts @@ -3,6 +3,7 @@ import { CreateFleetCommandInput, CreateFleetInstance, CreateFleetResult, + CreateTagsCommand, DefaultTargetCapacityType, DescribeInstancesCommand, DescribeInstancesResult, @@ -16,7 +17,7 @@ import { mockClient } from 'aws-sdk-client-mock'; import 'aws-sdk-client-mock-jest'; import ScaleError from './../scale-runners/ScaleError'; -import { createRunner, listEC2Runners, terminateRunner } from './runners'; +import { createRunner, listEC2Runners, tag, terminateRunner } from './runners'; import { RunnerInfo, RunnerInputParameters, RunnerType } from './runners.d'; process.env.AWS_REGION = 'eu-east-1'; @@ -67,6 +68,23 @@ describe('list instances', () => { launchTime: new Date('2020-10-10T14:48:00.000+09:00'), type: 'Org', owner: 'CoderToCat', + orphan: false, + }); + }); + + it('check orphan tag.', async () => { + const instances: DescribeInstancesResult = mockRunningInstances; + instances.Reservations![0].Instances![0].Tags!.push({ Key: 'ghr:orphan', Value: 'true' }); + mockEC2Client.on(DescribeInstancesCommand).resolves(instances); + + const resp = await listEC2Runners(); + expect(resp.length).toBe(1); + expect(resp).toContainEqual({ + instanceId: instances.Reservations![0].Instances![0].InstanceId!, + launchTime: instances.Reservations![0].Instances![0].LaunchTime!, + type: 'Org', + owner: 'CoderToCat', + orphan: true, }); }); @@ -114,6 +132,23 @@ describe('list instances', () => { }); }); + it('filters instances on environment and orphan', async () => { + mockRunningInstances.Reservations![0].Instances![0].Tags!.push({ + Key: 'ghr:orphan', + Value: 'true', + }); + mockEC2Client.on(DescribeInstancesCommand).resolves(mockRunningInstances); + await listEC2Runners({ environment: ENVIRONMENT, orphan: true }); + expect(mockEC2Client).toHaveReceivedCommandWith(DescribeInstancesCommand, { + Filters: [ + { Name: 'instance-state-name', Values: ['running', 'pending'] }, + { Name: 'tag:ghr:environment', Values: [ENVIRONMENT] }, + { Name: 'tag:ghr:orphan', Values: ['true'] }, + { Name: 'tag:ghr:Application', Values: ['github-action-runner'] }, + ], + }); + }); + it('No instances, undefined reservations list.', async () => { const noInstances: DescribeInstancesResult = { Reservations: undefined, @@ -182,6 +217,26 @@ describe('terminate runner', () => { }); }); +describe('tag runner', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + it('adding extra tag', async () => { + mockEC2Client.on(CreateTagsCommand).resolves({}); + const runner: RunnerInfo = { + instanceId: 'instance-2', + owner: 'owner-2', + type: 'Repo', + }; + await tag(runner.instanceId, [{ Key: 'ghr:orphan', Value: 'truer' }]); + + expect(mockEC2Client).toHaveReceivedCommandWith(CreateTagsCommand, { + Resources: [runner.instanceId], + Tags: [{ Key: 'ghr:orphan', Value: 'truer' }], + }); + }); +}); + describe('create runner', () => { const defaultRunnerConfig: RunnerConfig = { allocationStrategy: SpotAllocationStrategy.CAPACITY_OPTIMIZED, diff --git a/lambdas/functions/control-plane/src/aws/runners.ts b/lambdas/functions/control-plane/src/aws/runners.ts index 889d3c5f8a..346013b0d1 100644 --- a/lambdas/functions/control-plane/src/aws/runners.ts +++ b/lambdas/functions/control-plane/src/aws/runners.ts @@ -1,10 +1,12 @@ import { CreateFleetCommand, CreateFleetResult, + CreateTagsCommand, DescribeInstancesCommand, DescribeInstancesResult, EC2Client, FleetLaunchTemplateOverridesRequest, + Tag, TerminateInstancesCommand, _InstanceType, } from '@aws-sdk/client-ec2'; @@ -46,6 +48,9 @@ function constructFilters(filters?: Runners.ListRunnerFilters): Ec2Filter[][] { ec2FiltersBase.push({ Name: `tag:ghr:Type`, Values: [filters.runnerType] }); ec2FiltersBase.push({ Name: `tag:ghr:Owner`, Values: [filters.runnerOwner] }); } + if (filters.orphan) { + ec2FiltersBase.push({ Name: 'tag:ghr:orphan', Values: ['true'] }); + } } for (const key of ['tag:ghr:Application']) { @@ -85,6 +90,7 @@ function getRunnerInfo(runningInstances: DescribeInstancesResult) { type: i.Tags?.find((e) => e.Key === 'ghr:Type')?.Value as string, repo: i.Tags?.find((e) => e.Key === 'ghr:Repo')?.Value as string, org: i.Tags?.find((e) => e.Key === 'ghr:Org')?.Value as string, + orphan: i.Tags?.find((e) => e.Key === 'ghr:orphan')?.Value === 'true', }); } } @@ -94,10 +100,16 @@ function getRunnerInfo(runningInstances: DescribeInstancesResult) { } export async function terminateRunner(instanceId: string): Promise { - logger.info(`Runner '${instanceId}' will be terminated.`); + logger.debug(`Runner '${instanceId}' will be terminated.`); const ec2 = getTracedAWSV3Client(new EC2Client({ region: process.env.AWS_REGION })); await ec2.send(new TerminateInstancesCommand({ InstanceIds: [instanceId] })); - logger.info(`Runner ${instanceId} has been terminated.`); + logger.debug(`Runner ${instanceId} has been terminated.`); +} + +export async function tag(instanceId: string, tags: Tag[]): Promise { + logger.debug(`Tagging '${instanceId}'`, { tags }); + const ec2 = getTracedAWSV3Client(new EC2Client({ region: process.env.AWS_REGION })); + await ec2.send(new CreateTagsCommand({ Resources: [instanceId], Tags: tags })); } function generateFleetOverrides( diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts index b3c7de9072..925e4e4b10 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts @@ -5,7 +5,7 @@ import nock from 'nock'; import { RunnerInfo, RunnerList } from '../aws/runners.d'; import * as ghAuth from '../gh-auth/gh-auth'; -import { listEC2Runners, terminateRunner } from './../aws/runners'; +import { listEC2Runners, terminateRunner, tag } from './../aws/runners'; import { githubCache } from './cache'; import { newestFirstStrategy, oldestFirstStrategy, scaleDown } from './scale-down'; @@ -42,6 +42,7 @@ const mockedAppAuth = mocked(ghAuth.createGithubAppAuth, { shallow: false }); const mockedInstallationAuth = mocked(ghAuth.createGithubInstallationAuth, { shallow: false }); const mockCreateClient = mocked(ghAuth.createOctoClient, { shallow: false }); const mockListRunners = mocked(listEC2Runners); +const mockTagRunners = mocked(tag); const mockTerminateRunners = mocked(terminateRunner); export interface TestData { @@ -172,7 +173,7 @@ describe('Scale down runners', () => { describe.each(runnerTypes)('For %s runners.', (type) => { it('Should not call terminate when no runners online.', async () => { // setup - mockListRunners.mockResolvedValue([]); + mockAwsRunners([]); // act await scaleDown(); @@ -197,7 +198,8 @@ describe('Scale down runners', () => { mockGitHubRunners(runners); mockListRunners.mockResolvedValue(runners); - // act + mockAwsRunners(runners); + await scaleDown(); // assert @@ -220,7 +222,7 @@ describe('Scale down runners', () => { const runners = [createRunnerTestData('idle-1', type, MINIMUM_TIME_RUNNING_IN_MINUTES - 1, true, false, false)]; mockGitHubRunners(runners); - mockListRunners.mockResolvedValue(runners); + mockAwsRunners(runners); // act await scaleDown(); @@ -235,7 +237,7 @@ describe('Scale down runners', () => { const runners = [createRunnerTestData('booting-1', type, MINIMUM_BOOT_TIME - 1, false, false, false)]; mockGitHubRunners(runners); - mockListRunners.mockResolvedValue(runners); + mockAwsRunners(runners); // act await scaleDown(); @@ -250,7 +252,7 @@ describe('Scale down runners', () => { const runners = [createRunnerTestData('busy-1', type, MINIMUM_TIME_RUNNING_IN_MINUTES + 1, true, false, false)]; mockGitHubRunners(runners); - mockListRunners.mockResolvedValue(runners); + mockAwsRunners(runners); // act await scaleDown(); @@ -274,7 +276,7 @@ describe('Scale down runners', () => { ]; mockGitHubRunners(runners); - mockListRunners.mockResolvedValue(runners); + mockAwsRunners(runners); mockOctokit.actions.deleteSelfHostedRunnerFromRepo.mockImplementation(() => { return { status: 500 }; }); @@ -293,10 +295,31 @@ describe('Scale down runners', () => { it(`Should terminate orphan.`, async () => { // setup - const runners = [createRunnerTestData('orphan-1', type, MINIMUM_BOOT_TIME + 1, false, true, true)]; + const orphanRunner = createRunnerTestData('orphan-1', type, MINIMUM_BOOT_TIME + 1, false, false, false); + const idleRunner = createRunnerTestData('idle-1', type, MINIMUM_BOOT_TIME + 1, true, false, false); + const runners = [orphanRunner, idleRunner]; - mockGitHubRunners([]); - mockListRunners.mockResolvedValue(runners); + mockGitHubRunners([idleRunner]); + mockAwsRunners(runners); + + // act + await scaleDown(); + + // assert + checkTerminated(runners); + checkNonTerminated(runners); + + expect(mockTagRunners).toHaveBeenCalledWith(orphanRunner.instanceId, [ + { + Key: 'ghr:orphan', + Value: 'true', + }, + ]); + expect(mockTagRunners).not.toHaveBeenCalledWith(idleRunner.instanceId, expect.anything()); + + // next cycle, update test data set orphan to true and terminate should be true + orphanRunner.orphan = true; + orphanRunner.shouldBeTerminated = true; // act await scaleDown(); @@ -306,21 +329,60 @@ describe('Scale down runners', () => { checkNonTerminated(runners); }); - it(`Should orphan termination failure is not resulting in an exception..`, async () => { + it(`Should ignore errors when termination orphan fails.`, async () => { // setup - const runners = [createRunnerTestData('orphan-1', type, MINIMUM_BOOT_TIME + 1, false, true, true)]; + const orphanRunner = createRunnerTestData('orphan-1', type, MINIMUM_BOOT_TIME + 1, false, true, true); + const runners = [orphanRunner]; mockGitHubRunners([]); - mockListRunners.mockResolvedValue(runners); - mockTerminateRunners.mockRejectedValue(new Error('Termination failed')); + mockAwsRunners(runners); + mockTerminateRunners.mockImplementation(() => { + throw new Error('Failed to terminate'); + }); - // act and ensure no exception is thrown - await expect(scaleDown()).resolves.not.toThrow(); + // act + await scaleDown(); + + // assert + checkTerminated(runners); + checkNonTerminated(runners); + }); + + describe('When orphan termination fails', () => { + it(`Should not throw in case of list runner exception.`, async () => { + // setup + const runners = [createRunnerTestData('orphan-1', type, MINIMUM_BOOT_TIME + 1, false, true, true)]; + + mockGitHubRunners([]); + mockListRunners.mockRejectedValueOnce(new Error('Failed to list runners')); + mockAwsRunners(runners); + + // ac + await scaleDown(); + + // assert + checkNonTerminated(runners); + }); + + it(`Should not throw in case of terminate runner exception.`, async () => { + // setup + const runners = [createRunnerTestData('orphan-1', type, MINIMUM_BOOT_TIME + 1, false, true, true)]; + + mockGitHubRunners([]); + mockAwsRunners(runners); + mockTerminateRunners.mockRejectedValue(new Error('Failed to terminate')); + + // act and ensure no exception is thrown + await scaleDown(); + + // assert + checkNonTerminated(runners); + }); }); it(`Should not terminate instance in case de-register fails.`, async () => { // setup - const runners = [createRunnerTestData('idle-1', type, MINIMUM_TIME_RUNNING_IN_MINUTES + 1, true, true, false)]; + const runners = [createRunnerTestData('idle-1', type, MINIMUM_TIME_RUNNING_IN_MINUTES + 1, true, false, false)]; mockOctokit.actions.deleteSelfHostedRunnerFromOrg.mockImplementation(() => { return { status: 500 }; @@ -330,7 +392,7 @@ describe('Scale down runners', () => { }); mockGitHubRunners(runners); - mockListRunners.mockResolvedValue(runners); + mockAwsRunners(runners); // act and should resolve await expect(scaleDown()).resolves.not.toThrow(); @@ -352,7 +414,7 @@ describe('Scale down runners', () => { }); mockGitHubRunners(runners); - mockListRunners.mockResolvedValue(runners); + mockAwsRunners(runners); // act await expect(scaleDown()).resolves.not.toThrow(); @@ -383,7 +445,7 @@ describe('Scale down runners', () => { ]; mockGitHubRunners(runners); - mockListRunners.mockResolvedValue(runners); + mockAwsRunners(runners); // act await scaleDown(); @@ -502,6 +564,12 @@ describe('Scale down runners', () => { }); }); +function mockAwsRunners(runners: RunnerTestItem[]) { + mockListRunners.mockImplementation(async (filter) => { + return runners.filter((r) => !filter?.orphan || filter?.orphan === r.orphan); + }); +} + function checkNonTerminated(runners: RunnerTestItem[]) { const notTerminated = runners.filter((r) => !r.shouldBeTerminated); for (const toTerminate of notTerminated) { diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts index 96b4dd4c76..eeef81d5d5 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts @@ -3,7 +3,7 @@ import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-u import moment from 'moment'; import { createGithubAppAuth, createGithubInstallationAuth, createOctoClient } from '../gh-auth/gh-auth'; -import { bootTimeExceeded, listEC2Runners, terminateRunner } from './../aws/runners'; +import { bootTimeExceeded, listEC2Runners, tag, terminateRunner } from './../aws/runners'; import { RunnerInfo, RunnerList } from './../aws/runners.d'; import { GhRunners, githubCache } from './cache'; import { ScalingDownConfig, getEvictionStrategy, getIdleRunnerCount } from './scale-down-config'; @@ -130,7 +130,7 @@ async function removeRunner(ec2runner: RunnerInfo, ghRunnerIds: number[]): Promi if (statuses.every((status) => status == 204)) { await terminateRunner(ec2runner.instanceId); - logger.info(`AWS runner instance '${ec2runner.instanceId}' is terminated and GitHub runner is de-registered.`); + logger.debug(`AWS runner instance '${ec2runner.instanceId}' is terminated and GitHub runner is de-registered.`); } else { logger.error(`Failed to de-register GitHub runner: ${statuses}`); } @@ -175,30 +175,43 @@ async function evaluateAndRemoveRunners( idleCounter--; logger.info(`Runner '${ec2Runner.instanceId}' will be kept idle.`); } else { - logger.info(`Will try to terminate runners that are not busy`); + logger.info(`Terminating all non busy runners.`); await removeRunner( ec2Runner, ghRunnersFiltered.map((runner: { id: number }) => runner.id), ); } } + } else if (bootTimeExceeded(ec2Runner)) { + await markOrphan(ec2Runner.instanceId); } else { - if (bootTimeExceeded(ec2Runner)) { - logger.info(`Runner '${ec2Runner.instanceId}' is orphaned and will be removed.`); - terminateOrphan(ec2Runner.instanceId); - } else { - logger.debug(`Runner ${ec2Runner.instanceId} has not yet booted.`); - } + logger.debug(`Runner ${ec2Runner.instanceId} has not yet booted.`); } } } } -async function terminateOrphan(instanceId: string): Promise { +async function markOrphan(instanceId: string): Promise { try { - await terminateRunner(instanceId); + await tag(instanceId, [{ Key: 'ghr:orphan', Value: 'true' }]); + logger.info(`Runner '${instanceId}' marked as orphan.`); } catch (e) { - logger.debug(`Orphan runner '${instanceId}' cannot be removed.`); + logger.error(`Failed to mark runner '${instanceId}' as orphan.`, { error: e }); + } +} + +async function terminateOrphan(environment: string): Promise { + try { + const orphanRunners = await listEC2Runners({ environment, orphan: true }); + + for (const runner of orphanRunners) { + logger.info(`Terminating orphan runner '${runner.instanceId}'`); + await terminateRunner(runner.instanceId).catch((e) => { + logger.error(`Failed to terminate orphan runner '${runner.instanceId}'`, { error: e }); + }); + } + } catch (e) { + logger.warn(`Failure during orphan runner termination.`, { error: e }); } } @@ -221,14 +234,18 @@ async function listRunners(environment: string) { } function filterRunners(ec2runners: RunnerList[]): RunnerInfo[] { - return ec2runners.filter((ec2Runner) => ec2Runner.type) as RunnerInfo[]; + return ec2runners.filter((ec2Runner) => ec2Runner.type && !ec2Runner.orphan) as RunnerInfo[]; } export async function scaleDown(): Promise { githubCache.reset(); - const scaleDownConfigs = JSON.parse(process.env.SCALE_DOWN_CONFIG) as [ScalingDownConfig]; const environment = process.env.ENVIRONMENT; + const scaleDownConfigs = JSON.parse(process.env.SCALE_DOWN_CONFIG) as [ScalingDownConfig]; + + // first runners marked to be orphan. + await terminateOrphan(environment); + // next scale down idle runners with respect to config and mark potential orphans const ec2Runners = await listRunners(environment); const activeEc2RunnersCount = ec2Runners.length; logger.info(`Found: '${activeEc2RunnersCount}' active GitHub EC2 runner instances before clean-up.`); diff --git a/modules/runners/policies/lambda-scale-down.json b/modules/runners/policies/lambda-scale-down.json index f745ba52bf..0f73aeacf1 100644 --- a/modules/runners/policies/lambda-scale-down.json +++ b/modules/runners/policies/lambda-scale-down.json @@ -14,7 +14,8 @@ { "Effect": "Allow", "Action": [ - "ec2:TerminateInstances" + "ec2:TerminateInstances", + "ec2:CreateTags" ], "Resource": [ "*" @@ -28,14 +29,15 @@ { "Effect": "Allow", "Action": [ - "ec2:TerminateInstances" + "ec2:TerminateInstances", + "ec2:CreateTags" ], "Resource": [ "*" ], "Condition": { "StringEquals": { - "ec2:ResourceTag/Application": "github-action-runner" + "ec2:ResourceTag/gh:environment": "${environment}" } } }, diff --git a/modules/runners/scale-down.tf b/modules/runners/scale-down.tf index c74f88e387..5fc9c02ee0 100644 --- a/modules/runners/scale-down.tf +++ b/modules/runners/scale-down.tf @@ -93,6 +93,7 @@ resource "aws_iam_role_policy" "scale_down" { name = "${var.prefix}-lambda-scale-down-policy" role = aws_iam_role.scale_down.name policy = templatefile("${path.module}/policies/lambda-scale-down.json", { + environment = var.prefix github_app_id_arn = var.github_app_parameters.id.arn github_app_key_base64_arn = var.github_app_parameters.key_base64.arn kms_key_arn = local.kms_key_arn From cf267046467091f5bfb006c45d6ec3fd6dc61d6f Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:14:18 +0200 Subject: [PATCH 10/90] chore(main): release 5.14.0 (#4031) :robot: I have created a release *beep* *boop* --- ## [5.14.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.13.0...v5.14.0) (2024-08-01) ### Features * mark orphan runners before removing them ([#4001](https://github.com/philips-labs/terraform-aws-github-runner/issues/4001)) ([6cde62c](https://github.com/philips-labs/terraform-aws-github-runner/commit/6cde62c8c1d6d5eafae01bf9770bd12bb423d779)) ### Bug Fixes * upgrade aws powertools to v2 ([#4027](https://github.com/philips-labs/terraform-aws-github-runner/issues/4027)) ([900217b](https://github.com/philips-labs/terraform-aws-github-runner/commit/900217bd81cb5cabcc8c38e12b8fd380315319e8)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00f002ab4b..3f0eda64d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [5.14.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.13.0...v5.14.0) (2024-08-01) + + +### Features + +* mark orphan runners before removing them ([#4001](https://github.com/philips-labs/terraform-aws-github-runner/issues/4001)) ([6cde62c](https://github.com/philips-labs/terraform-aws-github-runner/commit/6cde62c8c1d6d5eafae01bf9770bd12bb423d779)) + + +### Bug Fixes + +* upgrade aws powertools to v2 ([#4027](https://github.com/philips-labs/terraform-aws-github-runner/issues/4027)) ([900217b](https://github.com/philips-labs/terraform-aws-github-runner/commit/900217bd81cb5cabcc8c38e12b8fd380315319e8)) + ## [5.13.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.12.2...v5.13.0) (2024-08-01) From fb40ab6a2bb667a463fa55c3701733ec795a41d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 19:22:07 +0200 Subject: [PATCH 11/90] chore(deps): bump actions/upload-artifact from 4.3.4 to 4.3.5 (#4040) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.4 to 4.3.5.
Release notes

Sourced from actions/upload-artifact's releases.

v4.3.5

What's Changed

Full Changelog: https://github.com/actions/upload-artifact/compare/v4.3.4...v4.3.5

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=4.3.4&new-version=4.3.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lambda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lambda.yml b/.github/workflows/lambda.yml index c802c8522b..8347176920 100644 --- a/.github/workflows/lambda.yml +++ b/.github/workflows/lambda.yml @@ -32,7 +32,7 @@ jobs: - name: Build distribution run: yarn build - name: Upload coverage report - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v31.2 + uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v31.2 if: ${{ failure() }} with: name: coverage-reports From da6ae16736356d6c010946760feed84f43827954 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 19:22:36 +0200 Subject: [PATCH 12/90] chore(lambda): bump @nx/eslint from 19.5.4 to 19.5.6 in /lambdas (#4036) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@nx/eslint](https://github.com/nrwl/nx/tree/HEAD/packages/eslint) from 19.5.4 to 19.5.6.
Release notes

Sourced from @​nx/eslint's releases.

19.5.6 (2024-08-01)

🩹 Fixes

  • misc: add cloud token during new workspace like expected (#27265)

❤️ Thank You

19.5.5 (2024-08-01)

🚀 Features

  • misc: add more logging while running migrations (#27063)
  • nx-dev: add contact us button (#27248)

🩹 Fixes

  • core: show target description, add metadata to schema, and docum… (#27131)
  • linter: allow undefined options in eslint plugin (#27232)
  • misc: hide git not a repository error (#27237)
  • nx-dev: OG image meta tag (#27195)
  • nx-dev: plugin-registry title style (fb423e58af)
  • nx-dev: adjust scroll offset for headings on docs and blog container (c4674f4a3b)

❤️ Thank You

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@nx/eslint&package-manager=npm_and_yarn&previous-version=19.5.4&new-version=19.5.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/package.json | 2 +- lambdas/yarn.lock | 296 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 284 insertions(+), 14 deletions(-) diff --git a/lambdas/package.json b/lambdas/package.json index d0d4c6cfee..aaa2b8257a 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -21,7 +21,7 @@ "@octokit/types": "^13.0.0" }, "devDependencies": { - "@nx/eslint": "19.5.4", + "@nx/eslint": "19.5.6", "@nx/jest": "19.5.4", "@nx/js": "^19.5.4", "@swc-node/register": "~1.10.9", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 12dcb48607..5f8c2add11 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -3109,6 +3109,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/devkit@npm:19.5.6": + version: 19.5.6 + resolution: "@nrwl/devkit@npm:19.5.6" + dependencies: + "@nx/devkit": "npm:19.5.6" + checksum: 10c0/3ef7efed315f6c1544616f4f645516cad8516d848261bff85463c42212ece678e3c9af94774bdbef3016fe744c9ae66dcd1d48b1719f93e6a0eea9a0407c226b + languageName: node + linkType: hard + "@nrwl/jest@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/jest@npm:19.5.4" @@ -3127,6 +3136,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/js@npm:19.5.6": + version: 19.5.6 + resolution: "@nrwl/js@npm:19.5.6" + dependencies: + "@nx/js": "npm:19.5.6" + checksum: 10c0/adddba088706b1bc25fa846179f8b83764e66bb3f17659505bfc073d23b833327e0a8adf0897bb96a694b9e34aa8ca46b4b8cf32dfa93d9891e712596ed094b7 + languageName: node + linkType: hard + "@nrwl/tao@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/tao@npm:19.5.4" @@ -3139,6 +3157,18 @@ __metadata: languageName: node linkType: hard +"@nrwl/tao@npm:19.5.6": + version: 19.5.6 + resolution: "@nrwl/tao@npm:19.5.6" + dependencies: + nx: "npm:19.5.6" + tslib: "npm:^2.3.0" + bin: + tao: index.js + checksum: 10c0/31d698d408e12e84b392c71ff82eea288ba0a15582d413460efac3bed932555b72d4812aa5783fe7e8eaee44777be472702403eb662551e33279e807dafb5484 + languageName: node + linkType: hard + "@nrwl/workspace@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/workspace@npm:19.5.4" @@ -3148,6 +3178,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/workspace@npm:19.5.6": + version: 19.5.6 + resolution: "@nrwl/workspace@npm:19.5.6" + dependencies: + "@nx/workspace": "npm:19.5.6" + checksum: 10c0/92969c911c370ae1df5fe49febe86cfd94a9a4d2265b6dffddae10ef100f7e336c0391be9ece1dc7ee5de068064973fd75ff1823127c78d3d8465e27a9356de8 + languageName: node + linkType: hard + "@nx/devkit@npm:19.5.4": version: 19.5.4 resolution: "@nx/devkit@npm:19.5.4" @@ -3167,13 +3206,32 @@ __metadata: languageName: node linkType: hard -"@nx/eslint@npm:19.5.4": - version: 19.5.4 - resolution: "@nx/eslint@npm:19.5.4" +"@nx/devkit@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/devkit@npm:19.5.6" dependencies: - "@nx/devkit": "npm:19.5.4" - "@nx/js": "npm:19.5.4" - "@nx/linter": "npm:19.5.4" + "@nrwl/devkit": "npm:19.5.6" + ejs: "npm:^3.1.7" + enquirer: "npm:~2.3.6" + ignore: "npm:^5.0.4" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.3" + tmp: "npm:~0.2.1" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + peerDependencies: + nx: ">= 17 <= 20" + checksum: 10c0/1c132cead5b3d6ce47dc234a0660717997ebd3d54764a8840a34e70e33319adbb0a8d0ea2af8a160f185165f1af046af755cb8711abe79f9f993943de2332790 + languageName: node + linkType: hard + +"@nx/eslint@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/eslint@npm:19.5.6" + dependencies: + "@nx/devkit": "npm:19.5.6" + "@nx/js": "npm:19.5.6" + "@nx/linter": "npm:19.5.6" semver: "npm:^7.5.3" tslib: "npm:^2.3.0" typescript: "npm:~5.4.2" @@ -3183,7 +3241,7 @@ __metadata: peerDependenciesMeta: "@zkochan/js-yaml": optional: true - checksum: 10c0/fc6d587375d40d415fdcf2f8ca4f7d1564fc2be183f86896dd210b09f6fa1a45051609f2d31eb3bf0670cf1ac81b30b28e876c30cf1484d35610061ed9fc0851 + checksum: 10c0/e28b02a9dcef255d30f47b8d36582c3cf0448ac5374af91ae6a9819bb5566408c9a51977c461a2e6702a3bd9fec77b59f1d4b0d1b2b173619bfb6a6a92eb17fe languageName: node linkType: hard @@ -3252,12 +3310,54 @@ __metadata: languageName: node linkType: hard -"@nx/linter@npm:19.5.4": - version: 19.5.4 - resolution: "@nx/linter@npm:19.5.4" +"@nx/js@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/js@npm:19.5.6" dependencies: - "@nx/eslint": "npm:19.5.4" - checksum: 10c0/1e8d31f415e3277dd00ce27fe6fa02ae22980f19d1b115ccbe471f10871071fc9e4ec78d88e7adc5ef67386b77045c4d66e81760b490c57901c0a4fa171fa9a8 + "@babel/core": "npm:^7.23.2" + "@babel/plugin-proposal-decorators": "npm:^7.22.7" + "@babel/plugin-transform-class-properties": "npm:^7.22.5" + "@babel/plugin-transform-runtime": "npm:^7.23.2" + "@babel/preset-env": "npm:^7.23.2" + "@babel/preset-typescript": "npm:^7.22.5" + "@babel/runtime": "npm:^7.22.6" + "@nrwl/js": "npm:19.5.6" + "@nx/devkit": "npm:19.5.6" + "@nx/workspace": "npm:19.5.6" + babel-plugin-const-enum: "npm:^1.0.1" + babel-plugin-macros: "npm:^2.8.0" + babel-plugin-transform-typescript-metadata: "npm:^0.3.1" + chalk: "npm:^4.1.0" + columnify: "npm:^1.6.0" + detect-port: "npm:^1.5.1" + fast-glob: "npm:3.2.7" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + js-tokens: "npm:^4.0.0" + minimatch: "npm:9.0.3" + npm-package-arg: "npm:11.0.1" + npm-run-path: "npm:^4.0.1" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + source-map-support: "npm:0.5.19" + ts-node: "npm:10.9.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + peerDependencies: + verdaccio: ^5.0.4 + peerDependenciesMeta: + verdaccio: + optional: true + checksum: 10c0/6526781657c5625f4b3ffcd2034c0a4a08982d8aa9d1f2ab5fde5025cf93e0a2ca9aca73b6172d0fbb89552f1e4177071f7167556dc6eacc63edfe401806d0b7 + languageName: node + linkType: hard + +"@nx/linter@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/linter@npm:19.5.6" + dependencies: + "@nx/eslint": "npm:19.5.6" + checksum: 10c0/31730963b06d66e462d815f382146d2869e3d8d28535688c2c85e5282cc4b71e1724586de527456bbf7d79c9a7fba5a250e2c0ab7478cbc5327df1b5a76eca96 languageName: node linkType: hard @@ -3268,6 +3368,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-darwin-arm64@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-darwin-arm64@npm:19.5.6" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@nx/nx-darwin-x64@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-darwin-x64@npm:19.5.4" @@ -3275,6 +3382,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-darwin-x64@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-darwin-x64@npm:19.5.6" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@nx/nx-freebsd-x64@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-freebsd-x64@npm:19.5.4" @@ -3282,6 +3396,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-freebsd-x64@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-freebsd-x64@npm:19.5.6" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@nx/nx-linux-arm-gnueabihf@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.4" @@ -3289,6 +3410,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm-gnueabihf@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.6" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@nx/nx-linux-arm64-gnu@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.4" @@ -3296,6 +3424,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm64-gnu@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.6" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@nx/nx-linux-arm64-musl@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm64-musl@npm:19.5.4" @@ -3303,6 +3438,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm64-musl@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-arm64-musl@npm:19.5.6" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@nx/nx-linux-x64-gnu@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-x64-gnu@npm:19.5.4" @@ -3310,6 +3452,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-x64-gnu@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-x64-gnu@npm:19.5.6" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@nx/nx-linux-x64-musl@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-x64-musl@npm:19.5.4" @@ -3317,6 +3466,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-x64-musl@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-x64-musl@npm:19.5.6" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@nx/nx-win32-arm64-msvc@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.4" @@ -3324,6 +3480,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-win32-arm64-msvc@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.6" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@nx/nx-win32-x64-msvc@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-win32-x64-msvc@npm:19.5.4" @@ -3331,6 +3494,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-win32-x64-msvc@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-win32-x64-msvc@npm:19.5.6" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@nx/workspace@npm:19.5.4": version: 19.5.4 resolution: "@nx/workspace@npm:19.5.4" @@ -3346,6 +3516,21 @@ __metadata: languageName: node linkType: hard +"@nx/workspace@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/workspace@npm:19.5.6" + dependencies: + "@nrwl/workspace": "npm:19.5.6" + "@nx/devkit": "npm:19.5.6" + chalk: "npm:^4.1.0" + enquirer: "npm:~2.3.6" + nx: "npm:19.5.6" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + checksum: 10c0/be5a122d9bfacdcb2b340d10ae4721c5d681e7ff9e06e17a86dc375a56a6cf6680ea93a9c50cc7a4c8fa48fdc82e6902cde3af0ad3a5cf74dd0f08ddab0af742 + languageName: node + linkType: hard + "@octokit/auth-app@npm:6.0.3": version: 6.0.3 resolution: "@octokit/auth-app@npm:6.0.3" @@ -8603,7 +8788,7 @@ __metadata: version: 0.0.0-use.local resolution: "lambdas@workspace:." dependencies: - "@nx/eslint": "npm:19.5.4" + "@nx/eslint": "npm:19.5.6" "@nx/jest": "npm:19.5.4" "@nx/js": "npm:^19.5.4" "@swc-node/register": "npm:~1.10.9" @@ -9288,6 +9473,91 @@ __metadata: languageName: node linkType: hard +"nx@npm:19.5.6": + version: 19.5.6 + resolution: "nx@npm:19.5.6" + dependencies: + "@napi-rs/wasm-runtime": "npm:0.2.4" + "@nrwl/tao": "npm:19.5.6" + "@nx/nx-darwin-arm64": "npm:19.5.6" + "@nx/nx-darwin-x64": "npm:19.5.6" + "@nx/nx-freebsd-x64": "npm:19.5.6" + "@nx/nx-linux-arm-gnueabihf": "npm:19.5.6" + "@nx/nx-linux-arm64-gnu": "npm:19.5.6" + "@nx/nx-linux-arm64-musl": "npm:19.5.6" + "@nx/nx-linux-x64-gnu": "npm:19.5.6" + "@nx/nx-linux-x64-musl": "npm:19.5.6" + "@nx/nx-win32-arm64-msvc": "npm:19.5.6" + "@nx/nx-win32-x64-msvc": "npm:19.5.6" + "@yarnpkg/lockfile": "npm:^1.1.0" + "@yarnpkg/parsers": "npm:3.0.0-rc.46" + "@zkochan/js-yaml": "npm:0.0.7" + axios: "npm:^1.7.2" + chalk: "npm:^4.1.0" + cli-cursor: "npm:3.1.0" + cli-spinners: "npm:2.6.1" + cliui: "npm:^8.0.1" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + enquirer: "npm:~2.3.6" + figures: "npm:3.2.0" + flat: "npm:^5.0.2" + front-matter: "npm:^4.0.2" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + jest-diff: "npm:^29.4.1" + jsonc-parser: "npm:3.2.0" + lines-and-columns: "npm:~2.0.3" + minimatch: "npm:9.0.3" + node-machine-id: "npm:1.1.12" + npm-run-path: "npm:^4.0.1" + open: "npm:^8.4.0" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + string-width: "npm:^4.2.3" + strong-log-transformer: "npm:^2.1.0" + tar-stream: "npm:~2.2.0" + tmp: "npm:~0.2.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + yargs: "npm:^17.6.2" + yargs-parser: "npm:21.1.1" + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + dependenciesMeta: + "@nx/nx-darwin-arm64": + optional: true + "@nx/nx-darwin-x64": + optional: true + "@nx/nx-freebsd-x64": + optional: true + "@nx/nx-linux-arm-gnueabihf": + optional: true + "@nx/nx-linux-arm64-gnu": + optional: true + "@nx/nx-linux-arm64-musl": + optional: true + "@nx/nx-linux-x64-gnu": + optional: true + "@nx/nx-linux-x64-musl": + optional: true + "@nx/nx-win32-arm64-msvc": + optional: true + "@nx/nx-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + nx-cloud: bin/nx-cloud.js + checksum: 10c0/3008a43300560284fc4dc4c7a06047882f7d5fff54c6fc700587c1d58ccca74fbd64cd2cbf5483d27c30f0f9ee187f100e999a1aef85c2fd4796317953dcd11d + languageName: node + linkType: hard + "object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" From c15c99db84132b11f886f6f8e5291af5e357b41e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Aug 2024 19:22:53 +0200 Subject: [PATCH 13/90] fix(lambda): bump the aws group in /lambdas with 5 updates (#4035) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 5 updates: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.621.0` | `3.624.0` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.621.0` | `3.623.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.621.0` | `3.623.0` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.621.0` | `3.623.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.621.0` | `3.623.0` | Updates `@aws-sdk/client-ec2` from 3.621.0 to 3.624.0
Release notes

Sourced from @​aws-sdk/client-ec2's releases.

v3.624.0

3.624.0(2024-08-05)

Chores
  • id-auth-sra: S3 Express compatibility with ID & Auth SRA (#6346) (253d329e)
  • codegen: make hasEventStreamInput utilities public (#6351) (7bf2e59e)
Documentation Changes
  • client-pi: Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page. (4078ba5a)
New Features
  • clients: update client endpoints as of 2024-08-05 (7cd8b7cf)
  • client-datazone: This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers. (91b25612)
  • client-kinesis-video-webrtc-storage: Add JoinStorageSessionAsViewer API (36c7cddb)
  • client-ecr: Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry. (6da42523)
Tests
  • karma-credential-loader: set credential expiration as date (#6353) (80cb0547)

For list of updated packages, view updated-packages.md in assets-3.624.0.zip

v3.623.0

3.623.0(2024-08-02)

Chores
  • id-auth-sra: sigv4a compatibility for id-auth sra (#6342) (9836a09e)
  • lib-dynamodb: use pagination factory from core (#6345) (922292b6)
New Features
  • client-ivschat: updates cloudtrail event source for SDKs (deeea907)
  • client-ecs: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (21bdf2a9)
  • client-cloudwatch: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (51a8423c)
  • client-glue: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (be78cf63)
  • client-route-53: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (39096d9a)
  • client-ivs-realtime: updates cloudtrail event source for SDKs (6e9c35b3)
  • client-ssm: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (ae83e779)
  • client-kinesis: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (86c28e0e)
  • client-waf-regional: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (52b9cf43)
  • client-resiliencehub: Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents. (b8d8c647)
  • client-ivs: updates cloudtrail event source for SDKs (00374d58)

... (truncated)

Changelog

Sourced from @​aws-sdk/client-ec2's changelog.

3.624.0 (2024-08-05)

Note: Version bump only for package @​aws-sdk/client-ec2

3.623.0 (2024-08-02)

Note: Version bump only for package @​aws-sdk/client-ec2

3.622.0 (2024-08-01)

Note: Version bump only for package @​aws-sdk/client-ec2

Commits

Updates `@aws-sdk/client-ssm` from 3.621.0 to 3.623.0
Release notes

Sourced from @​aws-sdk/client-ssm's releases.

v3.623.0

3.623.0(2024-08-02)

Chores
  • id-auth-sra: sigv4a compatibility for id-auth sra (#6342) (9836a09e)
  • lib-dynamodb: use pagination factory from core (#6345) (922292b6)
New Features
  • client-ivschat: updates cloudtrail event source for SDKs (deeea907)
  • client-ecs: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (21bdf2a9)
  • client-cloudwatch: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (51a8423c)
  • client-glue: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (be78cf63)
  • client-route-53: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (39096d9a)
  • client-ivs-realtime: updates cloudtrail event source for SDKs (6e9c35b3)
  • client-ssm: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (ae83e779)
  • client-kinesis: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (86c28e0e)
  • client-waf-regional: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (52b9cf43)
  • client-resiliencehub: Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents. (b8d8c647)
  • client-ivs: updates cloudtrail event source for SDKs (00374d58)
Bug Fixes
  • client-transcribe-streaming: add plugin only for operations with streaming trait (#6349) (6043d799)

For list of updated packages, view updated-packages.md in assets-3.623.0.zip

v3.622.0

3.622.0(2024-08-01)

Chores
Documentation Changes
  • client-memorydb: Doc only update for changes to deletion API. (bd90490b)
  • client-support: Doc only updates to CaseDetails (c28e9390)
  • client-controltower: Updated Control Tower service documentation for controlcatalog control ARN support with existing Control Tower public APIs (2f7a9651)
  • supplemental-docs: add documentation for using queue names with SQS Client (#6337) (9f4b6df4)
New Features

... (truncated)

Changelog

Sourced from @​aws-sdk/client-ssm's changelog.

3.623.0 (2024-08-02)

Note: Version bump only for package @​aws-sdk/client-ssm

3.622.0 (2024-08-01)

Note: Version bump only for package @​aws-sdk/client-ssm

Commits

Updates `@aws-sdk/client-s3` from 3.621.0 to 3.623.0
Release notes

Sourced from @​aws-sdk/client-s3's releases.

v3.623.0

3.623.0(2024-08-02)

Chores
  • id-auth-sra: sigv4a compatibility for id-auth sra (#6342) (9836a09e)
  • lib-dynamodb: use pagination factory from core (#6345) (922292b6)
New Features
  • client-ivschat: updates cloudtrail event source for SDKs (deeea907)
  • client-ecs: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (21bdf2a9)
  • client-cloudwatch: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (51a8423c)
  • client-glue: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (be78cf63)
  • client-route-53: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (39096d9a)
  • client-ivs-realtime: updates cloudtrail event source for SDKs (6e9c35b3)
  • client-ssm: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (ae83e779)
  • client-kinesis: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (86c28e0e)
  • client-waf-regional: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (52b9cf43)
  • client-resiliencehub: Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents. (b8d8c647)
  • client-ivs: updates cloudtrail event source for SDKs (00374d58)
Bug Fixes
  • client-transcribe-streaming: add plugin only for operations with streaming trait (#6349) (6043d799)

For list of updated packages, view updated-packages.md in assets-3.623.0.zip

v3.622.0

3.622.0(2024-08-01)

Chores
Documentation Changes
  • client-memorydb: Doc only update for changes to deletion API. (bd90490b)
  • client-support: Doc only updates to CaseDetails (c28e9390)
  • client-controltower: Updated Control Tower service documentation for controlcatalog control ARN support with existing Control Tower public APIs (2f7a9651)
  • supplemental-docs: add documentation for using queue names with SQS Client (#6337) (9f4b6df4)
New Features

... (truncated)

Changelog

Sourced from @​aws-sdk/client-s3's changelog.

3.623.0 (2024-08-02)

Note: Version bump only for package @​aws-sdk/client-s3

3.622.0 (2024-08-01)

Note: Version bump only for package @​aws-sdk/client-s3

Commits

Updates `@aws-sdk/lib-storage` from 3.621.0 to 3.623.0
Release notes

Sourced from @​aws-sdk/lib-storage's releases.

v3.623.0

3.623.0(2024-08-02)

Chores
  • id-auth-sra: sigv4a compatibility for id-auth sra (#6342) (9836a09e)
  • lib-dynamodb: use pagination factory from core (#6345) (922292b6)
New Features
  • client-ivschat: updates cloudtrail event source for SDKs (deeea907)
  • client-ecs: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (21bdf2a9)
  • client-cloudwatch: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (51a8423c)
  • client-glue: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (be78cf63)
  • client-route-53: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (39096d9a)
  • client-ivs-realtime: updates cloudtrail event source for SDKs (6e9c35b3)
  • client-ssm: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (ae83e779)
  • client-kinesis: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (86c28e0e)
  • client-waf-regional: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (52b9cf43)
  • client-resiliencehub: Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents. (b8d8c647)
  • client-ivs: updates cloudtrail event source for SDKs (00374d58)
Bug Fixes
  • client-transcribe-streaming: add plugin only for operations with streaming trait (#6349) (6043d799)

For list of updated packages, view updated-packages.md in assets-3.623.0.zip

v3.622.0

3.622.0(2024-08-01)

Chores
Documentation Changes
  • client-memorydb: Doc only update for changes to deletion API. (bd90490b)
  • client-support: Doc only updates to CaseDetails (c28e9390)
  • client-controltower: Updated Control Tower service documentation for controlcatalog control ARN support with existing Control Tower public APIs (2f7a9651)
  • supplemental-docs: add documentation for using queue names with SQS Client (#6337) (9f4b6df4)
New Features

... (truncated)

Changelog

Sourced from @​aws-sdk/lib-storage's changelog.

3.623.0 (2024-08-02)

Note: Version bump only for package @​aws-sdk/lib-storage

3.622.0 (2024-08-01)

Note: Version bump only for package @​aws-sdk/lib-storage

Commits

Updates `@aws-sdk/client-sqs` from 3.621.0 to 3.623.0
Release notes

Sourced from @​aws-sdk/client-sqs's releases.

v3.623.0

3.623.0(2024-08-02)

Chores
  • id-auth-sra: sigv4a compatibility for id-auth sra (#6342) (9836a09e)
  • lib-dynamodb: use pagination factory from core (#6345) (922292b6)
New Features
  • client-ivschat: updates cloudtrail event source for SDKs (deeea907)
  • client-ecs: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (21bdf2a9)
  • client-cloudwatch: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (51a8423c)
  • client-glue: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (be78cf63)
  • client-route-53: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (39096d9a)
  • client-ivs-realtime: updates cloudtrail event source for SDKs (6e9c35b3)
  • client-ssm: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (ae83e779)
  • client-kinesis: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (86c28e0e)
  • client-waf-regional: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (52b9cf43)
  • client-resiliencehub: Customers are presented with the grouping recommendations and can determine if the recommendations are accurate and apply to their case. This feature simplifies onboarding by organizing resources into appropriate AppComponents. (b8d8c647)
  • client-ivs: updates cloudtrail event source for SDKs (00374d58)
Bug Fixes
  • client-transcribe-streaming: add plugin only for operations with streaming trait (#6349) (6043d799)

For list of updated packages, view updated-packages.md in assets-3.623.0.zip

v3.622.0

3.622.0(2024-08-01)

Chores
Documentation Changes
  • client-memorydb: Doc only update for changes to deletion API. (bd90490b)
  • client-support: Doc only updates to CaseDetails (c28e9390)
  • client-controltower: Updated Control Tower service documentation for controlcatalog control ARN support with existing Control Tower public APIs (2f7a9651)
  • supplemental-docs: add documentation for using queue names with SQS Client (#6337) (9f4b6df4)
New Features

... (truncated)

Changelog

Sourced from @​aws-sdk/client-sqs's changelog.

3.623.0 (2024-08-02)

Note: Version bump only for package @​aws-sdk/client-sqs

3.622.0 (2024-08-01)

Note: Version bump only for package @​aws-sdk/client-sqs

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 4 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 4 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 574 ++++++++++++------ 7 files changed, 403 insertions(+), 187 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 364a2804ed..33496152d1 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -37,8 +37,8 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.621.0", - "@aws-sdk/client-ssm": "^3.621.0", + "@aws-sdk/client-ec2": "^3.624.0", + "@aws-sdk/client-ssm": "^3.623.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index b32075c98d..9bbf89ac48 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -38,7 +38,7 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.621.0", + "@aws-sdk/client-ec2": "^3.624.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.0.3", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 2ffe19cd27..db2461dc46 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -36,8 +36,8 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-s3": "^3.621.0", - "@aws-sdk/lib-storage": "^3.621.0", + "@aws-sdk/client-s3": "^3.623.0", + "@aws-sdk/lib-storage": "^3.623.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.0.2", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index e193c33fa9..71c024bd2b 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -35,7 +35,7 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.621.0", + "@aws-sdk/client-ec2": "^3.624.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@terraform-aws-github-runner/aws-powertools-util": "*", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 117c2807ad..501bc5d5a6 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -37,7 +37,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-sqs": "^3.621.0", + "@aws-sdk/client-sqs": "^3.623.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.0.2", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 70a3189eb4..5d4fada4f3 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -35,7 +35,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-ssm": "^3.621.0", + "@aws-sdk/client-ssm": "^3.623.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 5f8c2add11..c51d0702c2 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -148,20 +148,20 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-ec2@npm:3.621.0" +"@aws-sdk/client-ec2@npm:^3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/client-ec2@npm:3.624.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.621.0" - "@aws-sdk/client-sts": "npm:3.621.0" - "@aws-sdk/core": "npm:3.621.0" - "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/client-sso-oidc": "npm:3.624.0" + "@aws-sdk/client-sts": "npm:3.624.0" + "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/credential-provider-node": "npm:3.624.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-ec2": "npm:3.621.0" + "@aws-sdk/middleware-sdk-ec2": "npm:3.622.0" "@aws-sdk/middleware-user-agent": "npm:3.620.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" @@ -169,26 +169,26 @@ __metadata: "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.13" - "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" @@ -196,21 +196,21 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/7ece3e8b7d007fde3fafb9d4ea3a5f2211da1611dce84118a0783dc93bbc855e0ece0d5868b0f22421dca913623c5fb50b854e6d9b36302b685d8b317bbb9aa1 + checksum: 10c0/9f2ff60eafc8751a2459e27254d133078b3598cf61b12cedca4d6fd5dd4d66488ea332f8bf0293c0182ac42524d1b0bd03ce5dbefbdcd0515231ef877ca3e228 languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-s3@npm:3.621.0" +"@aws-sdk/client-s3@npm:^3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/client-s3@npm:3.623.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.621.0" - "@aws-sdk/client-sts": "npm:3.621.0" - "@aws-sdk/core": "npm:3.621.0" - "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/client-sso-oidc": "npm:3.623.0" + "@aws-sdk/client-sts": "npm:3.623.0" + "@aws-sdk/core": "npm:3.623.0" + "@aws-sdk/credential-provider-node": "npm:3.623.0" "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" "@aws-sdk/middleware-expect-continue": "npm:3.620.0" "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" @@ -218,19 +218,19 @@ __metadata: "@aws-sdk/middleware-location-constraint": "npm:3.609.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.621.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.622.0" "@aws-sdk/middleware-signing": "npm:3.620.0" "@aws-sdk/middleware-ssec": "npm:3.609.0" "@aws-sdk/middleware-user-agent": "npm:3.620.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.621.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.622.0" "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-endpoints": "npm:3.614.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@aws-sdk/xml-builder": "npm:3.609.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/eventstream-serde-browser": "npm:^3.0.5" "@smithy/eventstream-serde-config-resolver": "npm:^3.0.3" "@smithy/eventstream-serde-node": "npm:^3.0.4" @@ -242,44 +242,44 @@ __metadata: "@smithy/md5-js": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.13" - "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-stream": "npm:^3.1.3" "@smithy/util-utf8": "npm:^3.0.0" "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" - checksum: 10c0/3c29b0b8ed9251383c5c3139492dde9c73b555e5e87771492660a82c9394f38db10576860b225839ac8e80b99bc00be6fa0b5866e753b12e1db78734a1043e4a + checksum: 10c0/fce3f98136b7b50651ac72a5a61e32848fd6b3c4a7b5d803667aae056a39405de337da50aaba35e72e32ae9f877bd7d1a9a50a7ecdd34bff6dc733486cf09cf8 languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-sqs@npm:3.621.0" +"@aws-sdk/client-sqs@npm:^3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/client-sqs@npm:3.623.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.621.0" - "@aws-sdk/client-sts": "npm:3.621.0" - "@aws-sdk/core": "npm:3.621.0" - "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/client-sso-oidc": "npm:3.623.0" + "@aws-sdk/client-sts": "npm:3.623.0" + "@aws-sdk/core": "npm:3.623.0" + "@aws-sdk/credential-provider-node": "npm:3.623.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-sqs": "npm:3.621.0" + "@aws-sdk/middleware-sdk-sqs": "npm:3.622.0" "@aws-sdk/middleware-user-agent": "npm:3.620.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" @@ -287,46 +287,46 @@ __metadata: "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/md5-js": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.13" - "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/95c8f0c3ec330829f96fcfc92240d119bdb13ec2e235add78f28bf9f6e1862d15f2821d8d1ea437b077973f7ccd4e3adc57fe5e1827199f94839f27eca902edb + checksum: 10c0/e39cabd2a7da7679b74f365fb798e984a6f33d0fd015267826b993d30b92a62d25f8841cbf27cef8c734cf06b84c3f951387f6d8aa101ed321e492cefe7a7a35 languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-ssm@npm:3.621.0" +"@aws-sdk/client-ssm@npm:^3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/client-ssm@npm:3.623.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.621.0" - "@aws-sdk/client-sts": "npm:3.621.0" - "@aws-sdk/core": "npm:3.621.0" - "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/client-sso-oidc": "npm:3.623.0" + "@aws-sdk/client-sts": "npm:3.623.0" + "@aws-sdk/core": "npm:3.623.0" + "@aws-sdk/credential-provider-node": "npm:3.623.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -337,26 +337,26 @@ __metadata: "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.13" - "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" @@ -364,18 +364,18 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/ee15ab19c992669cf2769d667f661eab84bca915e0b214688e8712391a18182901699713c79c35b675f7c7944159bd41c9bab85cb8f333e45e417cb10def4732 + checksum: 10c0/da243cd7251b04a18209c25f32f8b612fc783973f49db99684789d7521836b4e7db34bf9d4d8255f2d1d33586e826ad5a95464d0ddb33afa91f481d20fa9a2d7 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.621.0" +"@aws-sdk/client-sso-oidc@npm:3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.623.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.621.0" - "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/core": "npm:3.623.0" + "@aws-sdk/credential-provider-node": "npm:3.623.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -386,44 +386,45 @@ __metadata: "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.13" - "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.621.0 - checksum: 10c0/600a196da24da566d2cc126fbba47c013724c91d399911614c13d0ebf4af33f4d0553da0da40ac7146d8e593cd4c46ebd4d7313a61a6c1d2dc9fb03948a98796 + "@aws-sdk/client-sts": ^3.623.0 + checksum: 10c0/024469b75856b5233d51568b08678166d19028b484212a2e8c29ba2364a608e72d2a55b46287e707ca4f3256bfaf5b0b13f143ba41a9ed21562dc7c3399b4de5 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-sso@npm:3.621.0" +"@aws-sdk/client-sso-oidc@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.624.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.621.0" + "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/credential-provider-node": "npm:3.624.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -434,44 +435,44 @@ __metadata: "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.13" - "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/6a276bcd6bbb32849504124bd7fe63dcb151b4a978cef9207909b24ce82bdec8dd8df39f3175530e2633ed056c4abab460a594b180765f3078ca7c3646728c9c + peerDependencies: + "@aws-sdk/client-sts": ^3.624.0 + checksum: 10c0/cc7dc73b69025eabf5a0f9c7a924beaf393794c2477e4e8c508bfe59f5cca71b7ca7bb01288b90237f082f7e19f850e2d797b151182006f043118f4135c814b9 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/client-sts@npm:3.621.0" +"@aws-sdk/client-sso@npm:3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/client-sso@npm:3.623.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.621.0" - "@aws-sdk/core": "npm:3.621.0" - "@aws-sdk/credential-provider-node": "npm:3.621.0" + "@aws-sdk/core": "npm:3.623.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -482,49 +483,208 @@ __metadata: "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.13" - "@smithy/util-defaults-mode-node": "npm:^3.0.13" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/bfee49ac83b2167c3da1eab7a2d55f8e7e2bc5c0cc5914e0ca46e109cca682a29d9149b0bb5880dd9e7cc6ed1aed3c1c2a2299a4c2c099f9c222cb74f320564c + checksum: 10c0/38a33e66625b780362128298322c15fb3c024fd5d57acedb38d6699928344a0318dbe08ecc3c8811ec8d6eb9af4861007acba80f5c1141d1d27bc8b8018bf597 languageName: node linkType: hard -"@aws-sdk/core@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/core@npm:3.621.0" +"@aws-sdk/client-sso@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/client-sso@npm:3.624.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.2" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/94ad5bc973407b024c2e66aafb360bac6c4056bb4ea868244bd2eddce1d2407ea66de894d14ce4211c471fe649c2a2a0315af6e4332fbea826098a0c769420da + languageName: node + linkType: hard + +"@aws-sdk/client-sts@npm:3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/client-sts@npm:3.623.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/client-sso-oidc": "npm:3.623.0" + "@aws-sdk/core": "npm:3.623.0" + "@aws-sdk/credential-provider-node": "npm:3.623.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.2" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/b0eebc2834744bb8fdceb9e12fb7bea7779d673186f9a4e6e24c722e015528e26bf15f9cb946bb120656d0c5180b225f42a01236f97f4f908cc2eaf9fd6948da + languageName: node + linkType: hard + +"@aws-sdk/client-sts@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/client-sts@npm:3.624.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/client-sso-oidc": "npm:3.624.0" + "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/credential-provider-node": "npm:3.624.0" + "@aws-sdk/middleware-host-header": "npm:3.620.0" + "@aws-sdk/middleware-logger": "npm:3.609.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/region-config-resolver": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-user-agent-browser": "npm:3.609.0" + "@aws-sdk/util-user-agent-node": "npm:3.614.0" + "@smithy/config-resolver": "npm:^3.0.5" + "@smithy/core": "npm:^2.3.2" + "@smithy/fetch-http-handler": "npm:^3.2.4" + "@smithy/hash-node": "npm:^3.0.3" + "@smithy/invalid-dependency": "npm:^3.0.3" + "@smithy/middleware-content-length": "npm:^3.0.5" + "@smithy/middleware-endpoint": "npm:^3.1.0" + "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-serde": "npm:^3.0.3" + "@smithy/middleware-stack": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/node-http-handler": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/types": "npm:^3.3.0" + "@smithy/url-parser": "npm:^3.0.3" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" + "@smithy/util-body-length-node": "npm:^3.0.0" + "@smithy/util-defaults-mode-browser": "npm:^3.0.14" + "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/4b7279bdc9fb8e90652d09322ffadf7897824dc69951030ea454c135c2e91f09bedd52249c39e66fa2751c8610fd0a0848693fec690e1868e7d848f08bcfa647 + languageName: node + linkType: hard + +"@aws-sdk/core@npm:3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/core@npm:3.623.0" + dependencies: + "@smithy/core": "npm:^2.3.2" + "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.0" + "@smithy/signature-v4": "npm:^4.1.0" + "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/types": "npm:^3.3.0" + "@smithy/util-middleware": "npm:^3.0.3" + fast-xml-parser: "npm:4.4.1" + tslib: "npm:^2.6.2" + checksum: 10c0/4a12e3abbbdc28997b6858c819a816a91b2c477d82e00ec122e0ec8334b599591184a0fd08d14a000d333abea24342c7e09b30572239dcec117ef126b1970605 + languageName: node + linkType: hard + +"@aws-sdk/core@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/core@npm:3.624.0" dependencies: - "@smithy/core": "npm:^2.3.1" + "@smithy/core": "npm:^2.3.2" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/util-middleware": "npm:^3.0.3" fast-xml-parser: "npm:4.4.1" tslib: "npm:^2.6.2" - checksum: 10c0/7c23da79289b73b6e34eca04eb28200c3e800ca360ed4dc7cd0c2b17839cc6bc9f151589eb78fe3dc71632800bea540529ec8f6d26ac909ddebc30b6bc7a6c65 + checksum: 10c0/c0c915985ee8e52c9eb1484664d6dbfc81c815f25e0c78841a29cf90a4f165f685bae7455c6f285f282387670e97e81ff36132751a4b8fff4b40ecdcd0965d8b languageName: node linkType: hard @@ -540,31 +700,31 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.621.0" +"@aws-sdk/credential-provider-http@npm:3.622.0": + version: 3.622.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.622.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/property-provider": "npm:^3.1.3" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/util-stream": "npm:^3.1.3" tslib: "npm:^2.6.2" - checksum: 10c0/d92dfea07d432059189f61735a6504439804463a4a3ff2b0ed22f9ce70ffbfa003f3137236b18c268a4a63b9d25d358110fc9d566a56936d71cd2f31fc2a2286 + checksum: 10c0/fa6b24991532dddcf1e688ab08fd831e5df189b4a5f2d560f41f3f870b9c940c00411a62e05f4a02e808edcab52f49b4255c8fba8fe07152224676e54eb6bbdb languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.621.0" +"@aws-sdk/credential-provider-ini@npm:3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.623.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.621.0" + "@aws-sdk/credential-provider-http": "npm:3.622.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.621.0" + "@aws-sdk/credential-provider-sso": "npm:3.623.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -573,20 +733,19 @@ __metadata: "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.621.0 - checksum: 10c0/01b6c8a7a045422dd0826aed3e7fa3a9584bd28d3ce6abee322e5114b03adc362a6b1ea27c226371d76e6f671cf6593fb8d604054f126c40fb3df8f7abb9076b + "@aws-sdk/client-sts": ^3.623.0 + checksum: 10c0/00d3521a7b203153de92baa77fe0b3588be4f345d503b9f08c115e01e63cd92a442cbf6ccd8cce6ecf0e783a654b2f9945b04172a278e0d98912b3c453bab7b5 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.621.0" +"@aws-sdk/credential-provider-ini@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.624.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.621.0" - "@aws-sdk/credential-provider-ini": "npm:3.621.0" + "@aws-sdk/credential-provider-http": "npm:3.622.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.621.0" + "@aws-sdk/credential-provider-sso": "npm:3.624.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -594,7 +753,49 @@ __metadata: "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/284c3140a615fdaf76f7a965e9bb9a1e60b43b68c69a095c758d10a82978a32e3fe39962a4491c64066cfd53c11188045ab183d34f90e1152bae95ebaf1ce290 + peerDependencies: + "@aws-sdk/client-sts": ^3.624.0 + checksum: 10c0/d21788b622fdb4b86403af10eaf22704b9e7cd520a4dbb18cc258da6dda2c032b3235ab76834ea08c959b0cf534962cf0b8baad813e1e73cfddfb1c243a4caca + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-node@npm:3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.623.0" + dependencies: + "@aws-sdk/credential-provider-env": "npm:3.620.1" + "@aws-sdk/credential-provider-http": "npm:3.622.0" + "@aws-sdk/credential-provider-ini": "npm:3.623.0" + "@aws-sdk/credential-provider-process": "npm:3.620.1" + "@aws-sdk/credential-provider-sso": "npm:3.623.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/credential-provider-imds": "npm:^3.2.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/f13beb0a64fac4b76306cb8ef0689c17c99997c3264f3ae0fb4a81767d8acc1bb3fe59ac6463da9226758372b8d9768923909e40f48d2f606389dbdbb32509bc + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-node@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.624.0" + dependencies: + "@aws-sdk/credential-provider-env": "npm:3.620.1" + "@aws-sdk/credential-provider-http": "npm:3.622.0" + "@aws-sdk/credential-provider-ini": "npm:3.624.0" + "@aws-sdk/credential-provider-process": "npm:3.620.1" + "@aws-sdk/credential-provider-sso": "npm:3.624.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/credential-provider-imds": "npm:^3.2.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1f1b9fd4bb28bb042bab07b892a94dcb78f2149e6e56b5bb3138e9da29269039cc6d61c27f1a3273b63db521bb4fc5352931cbe38207d4b18b64f43538f73591 languageName: node linkType: hard @@ -611,18 +812,33 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.621.0" +"@aws-sdk/credential-provider-sso@npm:3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.623.0" + dependencies: + "@aws-sdk/client-sso": "npm:3.623.0" + "@aws-sdk/token-providers": "npm:3.614.0" + "@aws-sdk/types": "npm:3.609.0" + "@smithy/property-provider": "npm:^3.1.3" + "@smithy/shared-ini-file-loader": "npm:^3.1.4" + "@smithy/types": "npm:^3.3.0" + tslib: "npm:^2.6.2" + checksum: 10c0/3858cbcb30896f6b75132d6fde9157ca69939bb4c9a7e49748e2ee6b0e10d4f09890f1c32d0d7ebb67d2c576c7c4e3f39e664a5a4d974fdc3cc263bd0f29384a + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-sso@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.624.0" dependencies: - "@aws-sdk/client-sso": "npm:3.621.0" + "@aws-sdk/client-sso": "npm:3.624.0" "@aws-sdk/token-providers": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/property-provider": "npm:^3.1.3" "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/dca9c793136ca2113f675b641a537bed6ce1a1fa004747cc5320aefd0caebc9dbc48ca176390cca4feed09316ca3790bcaf63383d58902fd0f6d9ab3406d7e85 + checksum: 10c0/454e1e1817f8c9ca1b34f6370489520a4858a9e83c4e44ea75afff334a848fa0b9042e7cc13c701ddde114abc551da29f08d6319c76a87ddd3f1d85768d04f33 languageName: node linkType: hard @@ -640,20 +856,20 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/lib-storage@npm:3.621.0" +"@aws-sdk/lib-storage@npm:^3.623.0": + version: 3.623.0 + resolution: "@aws-sdk/lib-storage@npm:3.623.0" dependencies: "@smithy/abort-controller": "npm:^3.1.1" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" buffer: "npm:5.6.0" events: "npm:3.3.0" stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.621.0 - checksum: 10c0/7a07981d2773a631c5eea3ae4e8ba51c4173893025b4483f2294c572113c612ab56a575de91a136ac827081038b77547e6f4169b5566379a20dc6317f3a178b9 + "@aws-sdk/client-s3": ^3.623.0 + checksum: 10c0/c190510235d1f5ee7a5631cb57036012af6498be35dae429c0f90ef6e2ed8ef00f29a342b3350e2e40bcff26a3119bc727bc0e4e1fc9efc3e5221ae4ba95a2b3 languageName: node linkType: hard @@ -746,52 +962,52 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-sdk-ec2@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.621.0" +"@aws-sdk/middleware-sdk-ec2@npm:3.622.0": + version: 3.622.0 + resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.622.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-format-url": "npm:3.609.0" "@smithy/middleware-endpoint": "npm:^3.1.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/a1abc258773d0af1bc4e8d066c43153e9b4707e17f52d928a96dd2aeef7322fc6c34d1d7d1b5d676f06d912da191706f4cac402be4817dcd2f8c42211f7fcbf3 + checksum: 10c0/a26118e329c2181267551aa5d7a9d32c191d2f05166ab6d15aa3f888c9da315b01ba34b59cbb383b0d356aa9b40d8fb6d40c7fc48a3b249490c81ee0becb1eed languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.621.0" +"@aws-sdk/middleware-sdk-s3@npm:3.622.0": + version: 3.622.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.622.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/util-config-provider": "npm:^3.0.0" "@smithy/util-stream": "npm:^3.1.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/942ffb6577dcf6509dac9d88630200eeb53936a110ea5d2e11c2fba5ff41a8a2b7b743b581708ec74b49336835c6c4502072b3c377da895b57b560db06dc3862 + checksum: 10c0/c395aba08c4414499e3c90a151e688a0dc2202eddbfe8659b121c935d4c01c40028f54b08b7fb0d9164250dbff5d60c583509ecdef58f3290edaae570bea2297 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sqs@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.621.0" +"@aws-sdk/middleware-sdk-sqs@npm:3.622.0": + version: 3.622.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.622.0" dependencies: "@aws-sdk/types": "npm:3.609.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/util-hex-encoding": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/248813b18bd2d4f2ab0cb38ff2279b54265919fd2c76b300f9a67b945f5150c65f0c2758036891030e165c360afd06b3d3763b6ccc06a1b70779692f641c2169 + checksum: 10c0/1b9e2aec6708d3499fc90806f66de7b46b0ca2aec684e27f402a86876c6901ec68e25a5811820263a7f87ed100f01bf9681b6af967823d90ac52d5460d7b6a8d languageName: node linkType: hard @@ -848,17 +1064,17 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.621.0" +"@aws-sdk/signature-v4-multi-region@npm:3.622.0": + version: 3.622.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.622.0" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.621.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.622.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/f3f038c6a65a021e63fa2a73eee99b858d789d37f1758e9ea0a2e3a422c6a8ed1cd818132437613f9a6201df8723624fdb4e8d67075a7f1bed565f56d48598c0 + checksum: 10c0/1acdadf6ea3c5193d9154cff3ec8fd2ac2361d131c29ff663f7a6522e6e2d6682dda4139d1dee3950e6d8adc8ca6b9c1442a319815a3d5533fba399641c6f01f languageName: node linkType: hard @@ -4029,19 +4245,19 @@ __metadata: languageName: node linkType: hard -"@smithy/core@npm:^2.3.1": - version: 2.3.1 - resolution: "@smithy/core@npm:2.3.1" +"@smithy/core@npm:^2.3.2": + version: 2.3.2 + resolution: "@smithy/core@npm:2.3.2" dependencies: "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.13" + "@smithy/middleware-retry": "npm:^3.0.14" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/util-middleware": "npm:^3.0.3" tslib: "npm:^2.6.2" - checksum: 10c0/2ba270a7e2e582a3db48169458d0a2abdc4f154b271abf941b37fc7159601e8504ca0908a99821465a546233f1a89d2d7dff2fb42cdf04bd91b4a4e3550d7f65 + checksum: 10c0/94174b9e049568172d8d46989ecb85e16929c216259a9f185aa8eef671a381ff183979f382a308f22f44965a70930ce289cc913155672c6d4bec12751df93075 languageName: node linkType: hard @@ -4226,20 +4442,20 @@ __metadata: languageName: node linkType: hard -"@smithy/middleware-retry@npm:^3.0.13": - version: 3.0.13 - resolution: "@smithy/middleware-retry@npm:3.0.13" +"@smithy/middleware-retry@npm:^3.0.14": + version: 3.0.14 + resolution: "@smithy/middleware-retry@npm:3.0.14" dependencies: "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/service-error-classification": "npm:^3.0.3" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/634b86febb063e777da5d6cc696ee40b440a9d39cf6babfc1422ca6b46eec36ca006a4a7fd50374c5c07e85bf9022d2849cc09202ae895873742b53b622794f1 + checksum: 10c0/8fc86ef6e7c455b09e8226da4e7401fd9b4248e47a20d9682ffea48db25710cc4b40978b6774405abebfaf1fbf4d8cb130c9585e53ef20edd10b37dad876e23b languageName: node linkType: hard @@ -4373,9 +4589,9 @@ __metadata: languageName: node linkType: hard -"@smithy/smithy-client@npm:^3.1.11": - version: 3.1.11 - resolution: "@smithy/smithy-client@npm:3.1.11" +"@smithy/smithy-client@npm:^3.1.12": + version: 3.1.12 + resolution: "@smithy/smithy-client@npm:3.1.12" dependencies: "@smithy/middleware-endpoint": "npm:^3.1.0" "@smithy/middleware-stack": "npm:^3.0.3" @@ -4383,7 +4599,7 @@ __metadata: "@smithy/types": "npm:^3.3.0" "@smithy/util-stream": "npm:^3.1.3" tslib: "npm:^2.6.2" - checksum: 10c0/83e9884b6a91d2e2b2a5dd32bbe2f03b664a1e048c9a1a24695d50947528d13f818dfd0934123ed7ea145bd80535aad0d5bbc13bcfba7ac8e9417d962f978639 + checksum: 10c0/da7300f35d197b16fc7d72060b40bdbfc72b3c903fc95e46c97898b6bc2a3c703618499bc7cf262971f116cc363bdfa62eac299f85f4fc078ae6f0c4353adfa3 languageName: node linkType: hard @@ -4474,31 +4690,31 @@ __metadata: languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^3.0.13": - version: 3.0.13 - resolution: "@smithy/util-defaults-mode-browser@npm:3.0.13" +"@smithy/util-defaults-mode-browser@npm:^3.0.14": + version: 3.0.14 + resolution: "@smithy/util-defaults-mode-browser@npm:3.0.14" dependencies: "@smithy/property-provider": "npm:^3.1.3" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/7daa7972a01d67edc23137cb01c7265048b03d026e0524aef3184b7da5d00bd0ace5cdb38319b7369a85c5bd9323161b8f3e7647aa3dbdbda2ade2060496fe99 + checksum: 10c0/d76af727a69d3c6ae7b99478c09eae25270741bcc63152dd5d9c113b79230e5ebfb83ebbb171da740e1f98c0369e76547807419042abefe86d867af5c2643b01 languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^3.0.13": - version: 3.0.13 - resolution: "@smithy/util-defaults-mode-node@npm:3.0.13" +"@smithy/util-defaults-mode-node@npm:^3.0.14": + version: 3.0.14 + resolution: "@smithy/util-defaults-mode-node@npm:3.0.14" dependencies: "@smithy/config-resolver": "npm:^3.0.5" "@smithy/credential-provider-imds": "npm:^3.2.0" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/property-provider": "npm:^3.1.3" - "@smithy/smithy-client": "npm:^3.1.11" + "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/6036c208246deca4b3ad95f69b2529a132f5790755eaacc1daa01ad661f9b8b22282c35d8e0fa64dcc50e9ebe94c58e7a4dc60ac18ff7b8398f5b489e9fa3392 + checksum: 10c0/ce0091fde6d3679b9dfcd8e4cf87c51a3d11b9ab20e1ee924fa99bb4f1cccd5beaf51e5016f501b569109640ff57355b7f235f49a9c73f616d23a5fe9c9668b5 languageName: node linkType: hard @@ -4782,8 +4998,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" dependencies: - "@aws-sdk/client-ec2": "npm:^3.621.0" - "@aws-sdk/client-ssm": "npm:^3.621.0" + "@aws-sdk/client-ec2": "npm:^3.624.0" + "@aws-sdk/client-ssm": "npm:^3.623.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" @@ -4845,7 +5061,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: - "@aws-sdk/client-ssm": "npm:^3.621.0" + "@aws-sdk/client-ssm": "npm:^3.623.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -4874,7 +5090,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" dependencies: - "@aws-sdk/client-ec2": "npm:^3.621.0" + "@aws-sdk/client-ec2": "npm:^3.624.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.0.3" @@ -4914,8 +5130,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: - "@aws-sdk/client-s3": "npm:^3.621.0" - "@aws-sdk/lib-storage": "npm:^3.621.0" + "@aws-sdk/client-s3": "npm:^3.623.0" + "@aws-sdk/lib-storage": "npm:^3.623.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.0.2" @@ -4946,7 +5162,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: - "@aws-sdk/client-ec2": "npm:^3.621.0" + "@aws-sdk/client-ec2": "npm:^3.624.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" @@ -4977,7 +5193,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/webhook@workspace:functions/webhook" dependencies: - "@aws-sdk/client-sqs": "npm:^3.621.0" + "@aws-sdk/client-sqs": "npm:^3.623.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.0.2" "@octokit/types": "npm:^13.5.0" From 6ac19e6e4aa3a950d26fcaf496d08fe5508d8992 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Wed, 7 Aug 2024 15:01:55 +0200 Subject: [PATCH 14/90] fix: remove fetch override for octokit and versions (#4042) ## Problem Updating octkit auth app to 6.1.1. fails runtime. Not in our tests due to most of the SDK layer is mocked. Only information we catch is a generic Error. ``` HttpError: response.json(...).catch is not a function ``` Via [issue](https://github.com/octokit/auth-app.js/issues/634) @wolfy1339 provides feedback that the cause could be related to overriding the fetch in octokit. In PR #3554 where tracing was introduced also the fetch command was overriden, this due the fact the node fetch was not working properly for tracing HTTP calls, which are in our case the cals to GitHub. This problem seems now to be fixed in the [AWS xray sdk](https://github.com/aws/aws-xray-sdk-node/blob/master/CHANGELOG.md#370). ## Solution The solution is quite simple. Just remove axios as fetch implementation (override) and use the default provide by octokit. ## Testing The problem was not detected in the unit tests. Reason is that the unit test mocking the octokit SDK. In case of an ovrride we have doen. We hsould have added a test using nock to mock the HTTP calls and not the full SDK to catch problems like this in the unit test. By removing the override, we can relay again on the test efforts done by octokit. ## References - fix #3966 --- .github/dependabot.yml | 2 - .../functions/control-plane/jest.config.ts | 8 +- lambdas/functions/control-plane/package.json | 5 +- .../src/axios/fetch-override.test.ts | 31 -- .../control-plane/src/axios/fetch-override.ts | 19 - .../control-plane/src/gh-auth/gh-auth.test.ts | 4 +- .../control-plane/src/gh-auth/gh-auth.ts | 13 +- .../functions/gh-agent-syncer/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/yarn.lock | 490 +++--------------- 10 files changed, 96 insertions(+), 480 deletions(-) delete mode 100644 lambdas/functions/control-plane/src/axios/fetch-override.test.ts delete mode 100644 lambdas/functions/control-plane/src/axios/fetch-override.ts diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b839b5c6f2..918fe2a8dd 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -36,8 +36,6 @@ updates: update-types: ["version-update:semver-major"] - dependency-name: "@octokit/*" update-types: ["version-update:semver-major"] - - dependency-name: "@octokit/rest" - - dependency-name: "@octokit/auth-app" - dependency-name: "eslint" update-types: ["version-update:semver-major"] commit-message: diff --git a/lambdas/functions/control-plane/jest.config.ts b/lambdas/functions/control-plane/jest.config.ts index dd8ac50414..43f5c85284 100644 --- a/lambdas/functions/control-plane/jest.config.ts +++ b/lambdas/functions/control-plane/jest.config.ts @@ -6,10 +6,10 @@ const config: Config = { ...defaultConfig, coverageThreshold: { global: { - statements: 98.01, - branches: 97.28, - functions: 95.6, - lines: 97.94, + statements: 97.99, + branches: 97.26, + functions: 95.45, + lines: 97.92, }, }, }; diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 9bbf89ac48..486e2cd006 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -41,14 +41,13 @@ "@aws-sdk/client-ec2": "^3.624.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", - "@octokit/auth-app": "6.0.3", + "@octokit/auth-app": "6.1.1", "@octokit/core": "5.2.0", "@octokit/plugin-throttling": "8.2.0", - "@octokit/rest": "20.0.2", + "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", - "axios": "^1.7.2", "cron-parser": "^4.9.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/control-plane/src/axios/fetch-override.test.ts b/lambdas/functions/control-plane/src/axios/fetch-override.test.ts deleted file mode 100644 index e19c0c1f89..0000000000 --- a/lambdas/functions/control-plane/src/axios/fetch-override.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import axios, { AxiosResponse } from 'axios'; - -import { axiosFetch } from './fetch-override'; - -jest.mock('axios'); -type FetchResponse = AxiosResponse & { json: () => string }; - -describe('axiosFetch', () => { - beforeEach(() => { - jest.clearAllMocks(); - }); - it('should return a promise that resolves with the response data', async () => { - // Arrange - const url = 'https://example.com'; - const options = { body: { foo: 'bar' } }; - const responseData = { data: { baz: 'qux' } }; - const mockedAxios = axios as unknown as jest.Mock; - mockedAxios.mockResolvedValue(responseData); - - // Act - const result = (await axiosFetch(url, options)) as FetchResponse; - - // Assert - expect(axios).toHaveBeenCalledWith(url, { ...options, data: options.body }); - expect(result).toEqual({ - ...responseData, - json: expect.any(Function), - }); - expect(result.json()).toEqual(responseData.data); - }); -}); diff --git a/lambdas/functions/control-plane/src/axios/fetch-override.ts b/lambdas/functions/control-plane/src/axios/fetch-override.ts deleted file mode 100644 index fe15054d20..0000000000 --- a/lambdas/functions/control-plane/src/axios/fetch-override.ts +++ /dev/null @@ -1,19 +0,0 @@ -import axios, { AxiosRequestConfig, AxiosResponse } from 'axios'; - -type FetchResponse = AxiosResponse & { json: () => string }; - -type FetchOptions = AxiosRequestConfig & { body?: object }; - -// Fetch is not covered to be traced by xray so we need to override it with axios -// https://github.com/aws/aws-xray-sdk-node/issues/531 -export const axiosFetch = async (url: string, options: FetchOptions): Promise => { - const response = await axios(url, { ...options, data: options.body }); - return new Promise((resolve) => { - resolve({ - ...response, - json: () => { - return response.data; - }, - }); - }); -}; diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts b/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts index 584f0d6b8d..3ac5b3e834 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts +++ b/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts @@ -95,7 +95,7 @@ ${decryptedValue}`, // Assert expect(mockedCreatAppAuth).toBeCalledTimes(1); - expect(mockedCreatAppAuth).toBeCalledWith({ ...authOptions, request: expect.anything() }); + expect(mockedCreatAppAuth).toBeCalledWith({ ...authOptions }); }); test('Creates auth object for public GitHub', async () => { @@ -121,7 +121,7 @@ ${decryptedValue}`, expect(getParameter).toBeCalledWith(PARAMETER_GITHUB_APP_KEY_BASE64_NAME); expect(mockedCreatAppAuth).toBeCalledTimes(1); - expect(mockedCreatAppAuth).toBeCalledWith({ ...authOptions, request: expect.anything() }); + expect(mockedCreatAppAuth).toBeCalledWith({ ...authOptions }); expect(mockedAuth).toBeCalledWith({ type: authType }); expect(result.token).toBe(token); }); diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts b/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts index 09d275d801..143527aee1 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts +++ b/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts @@ -13,8 +13,7 @@ import { Octokit } from '@octokit/rest'; import { throttling } from '@octokit/plugin-throttling'; import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; - -import { axiosFetch } from '../axios/fetch-override'; +import { EndpointDefaults } from '@octokit/types'; const logger = createChildLogger('gh-auth'); @@ -22,7 +21,6 @@ export async function createOctoClient(token: string, ghesApiUrl = ''): Promise< const CustomOctokit = Octokit.plugin(throttling); const ocktokitOptions: OctokitOptions = { auth: token, - request: { fetch: axiosFetch }, }; if (ghesApiUrl) { ocktokitOptions.baseUrl = ghesApiUrl; @@ -32,12 +30,12 @@ export async function createOctoClient(token: string, ghesApiUrl = ''): Promise< return new CustomOctokit({ ...ocktokitOptions, throttle: { - onRateLimit: (options: { method: string; url: string }) => { + onRateLimit: (retryAfter: number, options: Required) => { logger.warn( `GitHub rate limit: Request quota exhausted for request ${options.method} ${options.url}. Requested `, ); }, - onSecondaryRateLimit: (options: { method: string; url: string }) => { + onSecondaryRateLimit: (retryAfter: number, options: Required) => { logger.warn(`GitHub rate limit: SecondaryRateLimit detected for request ${options.method} ${options.url}`); }, }, @@ -82,12 +80,7 @@ async function createAuth(installationId: number | undefined, ghesApiUrl: string if (ghesApiUrl) { authOptions.request = request.defaults({ baseUrl: ghesApiUrl, - request: { - fetch: axiosFetch, - }, }); - } else { - authOptions.request = request.defaults({ request: { fetch: axiosFetch } }); } return createAppAuth(authOptions); } diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index db2461dc46..fdd8cbbe14 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -40,7 +40,7 @@ "@aws-sdk/lib-storage": "^3.623.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", - "@octokit/rest": "20.0.2", + "@octokit/rest": "20.1.1", "@terraform-aws-github-runner/aws-powertools-util": "*", "axios": "^1.7.2" }, diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 501bc5d5a6..e95458ec23 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -39,7 +39,7 @@ "dependencies": { "@aws-sdk/client-sqs": "^3.623.0", "@middy/core": "^4.7.0", - "@octokit/rest": "20.0.2", + "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", "@octokit/webhooks": "^12.2.0", "@terraform-aws-github-runner/aws-powertools-util": "*", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index c51d0702c2..2442ff46b7 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -1184,16 +1184,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.18.6": - version: 7.21.4 - resolution: "@babel/code-frame@npm:7.21.4" - dependencies: - "@babel/highlight": "npm:^7.18.6" - checksum: 10c0/c357e4b3b7a56927cb26fcb057166fef3cc701a4e35b2fa8a87402c31be0fd41d0144c61c87bf7d3b2a8f1c4d9ef00592dc0c7e8b9500dae43340a1e9f1096de - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.12.13": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": version: 7.24.7 resolution: "@babel/code-frame@npm:7.24.7" dependencies: @@ -1203,26 +1194,6 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.22.13": - version: 7.22.13 - resolution: "@babel/code-frame@npm:7.22.13" - dependencies: - "@babel/highlight": "npm:^7.22.13" - chalk: "npm:^2.4.2" - checksum: 10c0/f4cc8ae1000265677daf4845083b72f88d00d311adb1a93c94eb4b07bf0ed6828a81ae4ac43ee7d476775000b93a28a9cddec18fbdc5796212d8dcccd5de72bd - languageName: node - linkType: hard - -"@babel/code-frame@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/code-frame@npm:7.23.5" - dependencies: - "@babel/highlight": "npm:^7.23.4" - chalk: "npm:^2.4.2" - checksum: 10c0/a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 - languageName: node - linkType: hard - "@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.3, @babel/compat-data@npm:^7.23.5": version: 7.23.5 resolution: "@babel/compat-data@npm:7.23.5" @@ -1264,19 +1235,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.7.2": - version: 7.23.0 - resolution: "@babel/generator@npm:7.23.0" - dependencies: - "@babel/types": "npm:^7.23.0" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 10c0/b7d8727c574119b5ef06e5d5d0d8d939527d51537db4b08273caebb18f3f2b1d4517b874776085e161fd47d28f26b22c08e7f270b64f43b2afd4a60c5936d6cd - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.6": +"@babel/generator@npm:^7.23.0, @babel/generator@npm:^7.23.6, @babel/generator@npm:^7.7.2": version: 7.23.6 resolution: "@babel/generator@npm:7.23.6" dependencies: @@ -1434,14 +1393,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.20.2 - resolution: "@babel/helper-plugin-utils@npm:7.20.2" - checksum: 10c0/bf4de040e57b7ddff36ea599e963c391eb246d5a95207bb9ef3e33073c451bcc0821e3a9cc08dfede862a6dcc110d7e6e7d9a483482f852be358c5b60add499c - languageName: node - linkType: hard - -"@babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.22.5 resolution: "@babel/helper-plugin-utils@npm:7.22.5" checksum: 10c0/d2c4bfe2fa91058bcdee4f4e57a3f4933aed7af843acfd169cd6179fab8d13c1d636474ecabb2af107dc77462c7e893199aa26632bac1c6d7e025a17cbb9d20d @@ -1501,20 +1453,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-string-parser@npm:7.22.5" - checksum: 10c0/6b0ff8af724377ec41e5587fffa7605198da74cb8e7d8d48a36826df0c0ba210eb9fedb3d9bef4d541156e0bd11040f021945a6cbb731ccec4aefb4affa17aa4 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/helper-string-parser@npm:7.23.4" - checksum: 10c0/f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac - languageName: node - linkType: hard - "@babel/helper-string-parser@npm:^7.24.8": version: 7.24.8 resolution: "@babel/helper-string-parser@npm:7.24.8" @@ -1522,21 +1460,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.16.7": - version: 7.19.1 - resolution: "@babel/helper-validator-identifier@npm:7.19.1" - checksum: 10c0/f978ecfea840f65b64ab9e17fac380625a45f4fe1361eeb29867fcfd1c9eaa72abd7023f2f40ac3168587d7e5153660d16cfccb352a557be2efd347a051b4b20 - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.24.5, @babel/helper-validator-identifier@npm:^7.24.7": +"@babel/helper-validator-identifier@npm:^7.16.7, @babel/helper-validator-identifier@npm:^7.22.20, @babel/helper-validator-identifier@npm:^7.24.7": version: 7.24.7 resolution: "@babel/helper-validator-identifier@npm:7.24.7" checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 @@ -1572,40 +1496,6 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.18.6": - version: 7.24.5 - resolution: "@babel/highlight@npm:7.24.5" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.5" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/e98047d3ad24608bfa596d000c861a2cc875af897427f2833b91a4e0d4cead07301a7ec15fa26093dcd61e036e2eed2db338ae54f93016fe0dc785fadc4159db - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.22.13": - version: 7.22.20 - resolution: "@babel/highlight@npm:7.22.20" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - checksum: 10c0/f3c3a193afad23434297d88e81d1d6c0c2cf02423de2139ada7ce0a7fc62d8559abf4cc996533c1a9beca7fc990010eb8d544097f75e818ac113bf39ed810aa2 - languageName: node - linkType: hard - -"@babel/highlight@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/highlight@npm:7.23.4" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - checksum: 10c0/fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 - languageName: node - linkType: hard - "@babel/highlight@npm:^7.24.7": version: 7.24.7 resolution: "@babel/highlight@npm:7.24.7" @@ -1618,16 +1508,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/parser@npm:7.23.0" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/ab4ea9360ed4ba3c728c5a9bf33035103ebde20a7e943c4ae1d42becb02a313d731d12a93c795c5a19777031e4022e64b92a52262eda902522a1a18649826283 - languageName: node - linkType: hard - -"@babel/parser@npm:^7.23.9": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.5, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.0, @babel/parser@npm:^7.23.9": version: 7.23.9 resolution: "@babel/parser@npm:7.23.9" bin: @@ -1815,7 +1696,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.23.3": +"@babel/plugin-syntax-jsx@npm:^7.23.3, @babel/plugin-syntax-jsx@npm:^7.7.2": version: 7.23.3 resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" dependencies: @@ -1826,17 +1707,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.21.4 - resolution: "@babel/plugin-syntax-jsx@npm:7.21.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.20.2" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e5dbec5e1c53f114413dc3cc71f43b483d2f0784d5efdcd92c95a55b148d0f1987d136236ace24778d3365dc3d37b0b4d8cc1e0594267860f9f131ef5f5dfc73 - languageName: node - linkType: hard - "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -1925,7 +1795,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.23.3, @babel/plugin-syntax-typescript@npm:^7.3.3": +"@babel/plugin-syntax-typescript@npm:^7.23.3, @babel/plugin-syntax-typescript@npm:^7.3.3, @babel/plugin-syntax-typescript@npm:^7.7.2": version: 7.23.3 resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" dependencies: @@ -1936,17 +1806,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.21.4 - resolution: "@babel/plugin-syntax-typescript@npm:7.21.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.20.2" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/a4561a8ff7833e3644b8cb50482a405403ef8216271f6b53ad2c35bd0689323b32a1f4cc52569b5120df2c577f1a80c5795cac474ede6334268f42faf389d56f - languageName: node - linkType: hard - "@babel/plugin-syntax-unicode-sets-regex@npm:^7.18.6": version: 7.18.6 resolution: "@babel/plugin-syntax-unicode-sets-regex@npm:7.18.6" @@ -2703,18 +2562,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/template@npm:7.22.15" - dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/parser": "npm:^7.22.15" - "@babel/types": "npm:^7.22.15" - checksum: 10c0/9312edd37cf1311d738907003f2aa321a88a42ba223c69209abe4d7111db019d321805504f606c7fd75f21c6cf9d24d0a8223104cd21ebd207e241b6c551f454 - languageName: node - linkType: hard - -"@babel/template@npm:^7.23.9": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3": version: 7.23.9 resolution: "@babel/template@npm:7.23.9" dependencies: @@ -2725,17 +2573,6 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.3.3": - version: 7.20.7 - resolution: "@babel/template@npm:7.20.7" - dependencies: - "@babel/code-frame": "npm:^7.18.6" - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - checksum: 10c0/1c6dcf9ac92769e6ab5e3d9048975537d26ab00b869646462ab4583d45e419c01db5144715ec0d70548835a3098c5d5416148c4a0b996a95e8e0b9dc8d042dd3 - languageName: node - linkType: hard - "@babel/traverse@npm:7.23.2": version: 7.23.2 resolution: "@babel/traverse@npm:7.23.2" @@ -2782,29 +2619,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3": - version: 7.23.0 - resolution: "@babel/types@npm:7.23.0" - dependencies: - "@babel/helper-string-parser": "npm:^7.22.5" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/70e4db41acb6793d0eb8d81a2fa88f19ee661219b84bd5f703dbdb54eb3a4d3c0dfc55e69034c945b479df9f43fd4b1376480aaccfc19797ce5af1c5d2576b36 - languageName: node - linkType: hard - -"@babel/types@npm:^7.22.19, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.4.4": - version: 7.23.9 - resolution: "@babel/types@npm:7.23.9" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 - languageName: node - linkType: hard - -"@babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.25.2 resolution: "@babel/types@npm:7.25.2" dependencies: @@ -3484,7 +3299,7 @@ __metadata: languageName: node linkType: hard -"@nx/js@npm:19.5.4, @nx/js@npm:^19.5.4": +"@nx/js@npm:19.5.4": version: 19.5.4 resolution: "@nx/js@npm:19.5.4" dependencies: @@ -3526,7 +3341,7 @@ __metadata: languageName: node linkType: hard -"@nx/js@npm:19.5.6": +"@nx/js@npm:19.5.6, @nx/js@npm:^19.5.4": version: 19.5.6 resolution: "@nx/js@npm:19.5.6" dependencies: @@ -3747,61 +3562,61 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-app@npm:6.0.3": - version: 6.0.3 - resolution: "@octokit/auth-app@npm:6.0.3" +"@octokit/auth-app@npm:6.1.1": + version: 6.1.1 + resolution: "@octokit/auth-app@npm:6.1.1" dependencies: - "@octokit/auth-oauth-app": "npm:^7.0.0" - "@octokit/auth-oauth-user": "npm:^4.0.0" - "@octokit/request": "npm:^8.0.2" - "@octokit/request-error": "npm:^5.0.0" - "@octokit/types": "npm:^12.0.0" + "@octokit/auth-oauth-app": "npm:^7.1.0" + "@octokit/auth-oauth-user": "npm:^4.1.0" + "@octokit/request": "npm:^8.3.1" + "@octokit/request-error": "npm:^5.1.0" + "@octokit/types": "npm:^13.1.0" deprecation: "npm:^2.3.1" lru-cache: "npm:^10.0.0" universal-github-app-jwt: "npm:^1.1.2" universal-user-agent: "npm:^6.0.0" - checksum: 10c0/fba541abcc35e05cd0adf49b4c0174a2bc8e5b44d702259e074640332578ce7fb03392523e64f64abafc266adbf6dda0a537ce0fa0bd265275793e81d7949244 + checksum: 10c0/633fa49ef1d688f1db050fd359d224f5529f0df20e2a5f8f7e78d5f81f33d18cbcde735ea5222b0bcf058b5b93bff88d1dd6f614b9c9443bda5fa0921757cf4f languageName: node linkType: hard -"@octokit/auth-oauth-app@npm:^7.0.0": - version: 7.0.0 - resolution: "@octokit/auth-oauth-app@npm:7.0.0" +"@octokit/auth-oauth-app@npm:^7.1.0": + version: 7.1.0 + resolution: "@octokit/auth-oauth-app@npm:7.1.0" dependencies: - "@octokit/auth-oauth-device": "npm:^6.0.0" - "@octokit/auth-oauth-user": "npm:^4.0.0" - "@octokit/request": "npm:^8.0.2" - "@octokit/types": "npm:^11.0.0" + "@octokit/auth-oauth-device": "npm:^6.1.0" + "@octokit/auth-oauth-user": "npm:^4.1.0" + "@octokit/request": "npm:^8.3.1" + "@octokit/types": "npm:^13.0.0" "@types/btoa-lite": "npm:^1.0.0" btoa-lite: "npm:^1.0.0" universal-user-agent: "npm:^6.0.0" - checksum: 10c0/cdfc7aea9f04962eeeec5b2fc2ff19491c2663ba71408403956450d5f4a0ef75ef6c451dab168f6d57b40dcf31b0a89bbbdcf9c0b951df738401451508ccf292 + checksum: 10c0/e23c5968426949181beea3ca89bb193885f4ec481b194a0c3bb252b02b1ff3f78908541f4ee6381563cfe6f23ed07e0c0eb33a842b1a6f85301a8266d4d46649 languageName: node linkType: hard -"@octokit/auth-oauth-device@npm:^6.0.0": - version: 6.0.0 - resolution: "@octokit/auth-oauth-device@npm:6.0.0" +"@octokit/auth-oauth-device@npm:^6.1.0": + version: 6.1.0 + resolution: "@octokit/auth-oauth-device@npm:6.1.0" dependencies: - "@octokit/oauth-methods": "npm:^4.0.0" - "@octokit/request": "npm:^8.0.0" - "@octokit/types": "npm:^11.0.0" + "@octokit/oauth-methods": "npm:^4.1.0" + "@octokit/request": "npm:^8.3.1" + "@octokit/types": "npm:^13.0.0" universal-user-agent: "npm:^6.0.0" - checksum: 10c0/8955d38067ad0f4faa040b9cb48f064929df238b540e2b188270b3fe7096defa28767088acdcfe43668bc30a13c1cdd28872c469f6dc256d6496549e74c5a18e + checksum: 10c0/74e17b76f55c8503dc1b4d95e4f52ee49900f7f720983d1725ad29361c9f413d22aa7621e8809ea644bb225686b3ee70f147a9e5944f3c1c1cccba55fa414422 languageName: node linkType: hard -"@octokit/auth-oauth-user@npm:^4.0.0": - version: 4.0.0 - resolution: "@octokit/auth-oauth-user@npm:4.0.0" +"@octokit/auth-oauth-user@npm:^4.1.0": + version: 4.1.0 + resolution: "@octokit/auth-oauth-user@npm:4.1.0" dependencies: - "@octokit/auth-oauth-device": "npm:^6.0.0" - "@octokit/oauth-methods": "npm:^4.0.0" - "@octokit/request": "npm:^8.0.2" - "@octokit/types": "npm:^11.0.0" + "@octokit/auth-oauth-device": "npm:^6.1.0" + "@octokit/oauth-methods": "npm:^4.1.0" + "@octokit/request": "npm:^8.3.1" + "@octokit/types": "npm:^13.0.0" btoa-lite: "npm:^1.0.0" universal-user-agent: "npm:^6.0.0" - checksum: 10c0/7749ea89bffb983af626449c0b7ee3a8cb1485e4a25d036c89a318debb7876b85c47c0bf5ebb5f231cb34bbd71c67a87c4a2d0ab69ed79c9e3cc672f0941dae9 + checksum: 10c0/5d17d1e86ca89d4f2c440de4e5a648a1646818f0683a6230558279d71151a6b01f1228ccc4fc6e3ae24da92fa18810fac7b2bb6e019646f1f46be3928f522e7f languageName: node linkType: hard @@ -3812,7 +3627,7 @@ __metadata: languageName: node linkType: hard -"@octokit/core@npm:5.2.0": +"@octokit/core@npm:5.2.0, @octokit/core@npm:^5.0.2": version: 5.2.0 resolution: "@octokit/core@npm:5.2.0" dependencies: @@ -3827,32 +3642,6 @@ __metadata: languageName: node linkType: hard -"@octokit/core@npm:^5.0.0": - version: 5.0.0 - resolution: "@octokit/core@npm:5.0.0" - dependencies: - "@octokit/auth-token": "npm:^4.0.0" - "@octokit/graphql": "npm:^7.0.0" - "@octokit/request": "npm:^8.0.2" - "@octokit/request-error": "npm:^5.0.0" - "@octokit/types": "npm:^11.0.0" - before-after-hook: "npm:^2.2.0" - universal-user-agent: "npm:^6.0.0" - checksum: 10c0/b963c197af88b2b461c564d94ddb330a8a0b7f88e09b1986ca46cb3d63c95d98b338e1b548ad547131c2ffa2af3525d69ab492a74cd23fc4abc357d529c1e1d4 - languageName: node - linkType: hard - -"@octokit/endpoint@npm:^9.0.0": - version: 9.0.0 - resolution: "@octokit/endpoint@npm:9.0.0" - dependencies: - "@octokit/types": "npm:^11.0.0" - is-plain-object: "npm:^5.0.0" - universal-user-agent: "npm:^6.0.0" - checksum: 10c0/8291a4378320ea4c9fe6878fbf7281be4dd96c4d6b4317b5eeec119c430c3ede5b53f6983b1c7dc3e7056bb60748186dfa1d674e00fc65cea26f7a62f21dc7b2 - languageName: node - linkType: hard - "@octokit/endpoint@npm:^9.0.1": version: 9.0.5 resolution: "@octokit/endpoint@npm:9.0.5" @@ -3863,17 +3652,6 @@ __metadata: languageName: node linkType: hard -"@octokit/graphql@npm:^7.0.0": - version: 7.0.1 - resolution: "@octokit/graphql@npm:7.0.1" - dependencies: - "@octokit/request": "npm:^8.0.1" - "@octokit/types": "npm:^11.0.0" - universal-user-agent: "npm:^6.0.0" - checksum: 10c0/bfc79dff1a96210afcd27051a7b5fcacfc20d549f3d8bf1ac162ebe5a825d429d3b4f217a73169f8d5549fed535582e303a89b65f5a356557a91319326d80605 - languageName: node - linkType: hard - "@octokit/graphql@npm:^7.1.0": version: 7.1.0 resolution: "@octokit/graphql@npm:7.1.0" @@ -3892,16 +3670,16 @@ __metadata: languageName: node linkType: hard -"@octokit/oauth-methods@npm:^4.0.0": - version: 4.0.0 - resolution: "@octokit/oauth-methods@npm:4.0.0" +"@octokit/oauth-methods@npm:^4.1.0": + version: 4.1.0 + resolution: "@octokit/oauth-methods@npm:4.1.0" dependencies: "@octokit/oauth-authorization-url": "npm:^6.0.2" - "@octokit/request": "npm:^8.0.2" - "@octokit/request-error": "npm:^5.0.0" - "@octokit/types": "npm:^11.0.0" + "@octokit/request": "npm:^8.3.1" + "@octokit/request-error": "npm:^5.1.0" + "@octokit/types": "npm:^13.0.0" btoa-lite: "npm:^1.0.0" - checksum: 10c0/11e6f4ffd599785c4a9072e28c3e4e44cf0ab2d7714aa967ce3e2082810f15575ead8c55bfd21131d21005a597470baf5dfbabbd52ba52db7f6e47c40a92695b + checksum: 10c0/3ab7ab41e82faebb662bfc4cc20756f008adb37b447386c29ddb09cbac5d1867b1b23f2f8dd268e06dca5ff1c874162e01d475f15634b42e6ab0a95471dcc365 languageName: node linkType: hard @@ -3912,14 +3690,14 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^9.0.0": - version: 9.0.0 - resolution: "@octokit/plugin-paginate-rest@npm:9.0.0" +"@octokit/plugin-paginate-rest@npm:11.3.1": + version: 11.3.1 + resolution: "@octokit/plugin-paginate-rest@npm:11.3.1" dependencies: - "@octokit/types": "npm:^12.0.0" + "@octokit/types": "npm:^13.5.0" peerDependencies: - "@octokit/core": ">=5" - checksum: 10c0/050861368f71a4ad337c2f242c3878e8ad95331e2ed549732fca916ee4a67ef18477bedd78afb32b2d4229b80083097551671b14c51bd2b2b85c7f101b6ba02d + "@octokit/core": 5 + checksum: 10c0/72107ff7e459c49d1f13bbe44ac07b073497692eba28cb5ac6dbfa41e0ebc059ad7bccfa3dd45d3165348adcc2ede8ac159f8a9b637389b8e335af16aaa01469 languageName: node linkType: hard @@ -3932,14 +3710,14 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-rest-endpoint-methods@npm:^10.0.0": - version: 10.0.0 - resolution: "@octokit/plugin-rest-endpoint-methods@npm:10.0.0" +"@octokit/plugin-rest-endpoint-methods@npm:13.2.2": + version: 13.2.2 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:13.2.2" dependencies: - "@octokit/types": "npm:^12.0.0" + "@octokit/types": "npm:^13.5.0" peerDependencies: - "@octokit/core": ">=5" - checksum: 10c0/7c31baf6e4078a5942b06466d6c6e2ba26a45c936dc783acb98a00815375fd0b65ee08e52d3770a7b79b0cef0744c0c2c7fa9020aa4a3c9f33fad4f010c67733 + "@octokit/core": ^5 + checksum: 10c0/0f2b14b7a185b49908bcc01bcae9849aae2da46c88f500c143d230caa3cd35540839b916e88a4642c60a5499d33e7a37faf1aa42c5bab270cefc10f5d6202893 languageName: node linkType: hard @@ -3966,19 +3744,6 @@ __metadata: languageName: node linkType: hard -"@octokit/request@npm:^8.0.0, @octokit/request@npm:^8.0.1, @octokit/request@npm:^8.0.2": - version: 8.1.1 - resolution: "@octokit/request@npm:8.1.1" - dependencies: - "@octokit/endpoint": "npm:^9.0.0" - "@octokit/request-error": "npm:^5.0.0" - "@octokit/types": "npm:^11.1.0" - is-plain-object: "npm:^5.0.0" - universal-user-agent: "npm:^6.0.0" - checksum: 10c0/07fa47fff16be4ff36599752e31d54713137e140fe5e4604cb77da6b466b1e5c2eb093a3151112637aac5d341922685de10f5a6589881177a1559d7597a63e15 - languageName: node - linkType: hard - "@octokit/request@npm:^8.3.0, @octokit/request@npm:^8.3.1": version: 8.4.0 resolution: "@octokit/request@npm:8.4.0" @@ -3991,15 +3756,15 @@ __metadata: languageName: node linkType: hard -"@octokit/rest@npm:20.0.2": - version: 20.0.2 - resolution: "@octokit/rest@npm:20.0.2" +"@octokit/rest@npm:20.1.1": + version: 20.1.1 + resolution: "@octokit/rest@npm:20.1.1" dependencies: - "@octokit/core": "npm:^5.0.0" - "@octokit/plugin-paginate-rest": "npm:^9.0.0" + "@octokit/core": "npm:^5.0.2" + "@octokit/plugin-paginate-rest": "npm:11.3.1" "@octokit/plugin-request-log": "npm:^4.0.0" - "@octokit/plugin-rest-endpoint-methods": "npm:^10.0.0" - checksum: 10c0/e9bfc617d0e0bfb0ba9dea3d1e0a19167c5a255beac622dd34280e1754dfab7688323b3251f8e8c85494b39548ecc52385e8b84e21ce0627f58176562a6e2fae + "@octokit/plugin-rest-endpoint-methods": "npm:13.2.2" + checksum: 10c0/9b62e0372381b548806edbd9e32059ebaec315ddf90e9c3df7e0f2bfab2fc938ca5c3b939035e082e245315b2359947f52f853027a8ca2510fddb79ff5cc9e8a languageName: node linkType: hard @@ -5093,10 +4858,10 @@ __metadata: "@aws-sdk/client-ec2": "npm:^3.624.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" - "@octokit/auth-app": "npm:6.0.3" + "@octokit/auth-app": "npm:6.1.1" "@octokit/core": "npm:5.2.0" "@octokit/plugin-throttling": "npm:8.2.0" - "@octokit/rest": "npm:20.0.2" + "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" @@ -5109,7 +4874,6 @@ __metadata: "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^3.1.0" aws-sdk-client-mock-jest: "npm:^4.0.1" - axios: "npm:^1.7.2" cron-parser: "npm:^4.9.0" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" @@ -5134,7 +4898,7 @@ __metadata: "@aws-sdk/lib-storage": "npm:^3.623.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" - "@octokit/rest": "npm:20.0.2" + "@octokit/rest": "npm:20.1.1" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.142" @@ -5195,7 +4959,7 @@ __metadata: dependencies: "@aws-sdk/client-sqs": "npm:^3.623.0" "@middy/core": "npm:^4.7.0" - "@octokit/rest": "npm:20.0.2" + "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" "@octokit/webhooks": "npm:^12.2.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" @@ -5402,20 +5166,13 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.4 - resolution: "@types/istanbul-lib-coverage@npm:2.0.4" - checksum: 10c0/af5f6b64e788331ed3f7b2e2613cb6ca659c58b8500be94bbda8c995ad3da9216c006f1cfe6f66b321c39392b1bda18b16e63cef090a77d24a00b4bd5ba3b018 - languageName: node - linkType: hard - "@types/istanbul-lib-report@npm:*": version: 3.0.3 resolution: "@types/istanbul-lib-report@npm:3.0.3" @@ -5460,16 +5217,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": - version: 20.14.9 - resolution: "@types/node@npm:20.14.9" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/911ffa444dc032897f4a23ed580c67903bd38ea1c5ec99b1d00fa10b83537a3adddef8e1f29710cbdd8e556a61407ed008e06537d834e48caf449ce59f87d387 - languageName: node - linkType: hard - -"@types/node@npm:^22.0.2": +"@types/node@npm:*, @types/node@npm:^22.0.2": version: 22.0.2 resolution: "@types/node@npm:22.0.2" dependencies: @@ -5778,16 +5526,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1": - version: 8.10.0 - resolution: "acorn@npm:8.10.0" - bin: - acorn: bin/acorn - checksum: 10c0/deaeebfbea6e40f6c0e1070e9b0e16e76ba484de54cbd735914d1d41d19169a450de8630b7a3a0c4e271a3b0c0b075a3427ad1a40d8a69f8747c0e8cb02ee3e2 - languageName: node - linkType: hard - -"acorn@npm:^8.9.0": +"acorn@npm:^8.4.1, acorn@npm:^8.9.0": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -7674,14 +7413,7 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: 10c0/60b74b2407e1942e1ed7f8c284f8ef714d0689dcfce5319985a5b7da3fc727f40b4a59ec72dc55aa83365ad7b8fa4fac3a30d93c850a2b452f29ae03dbc10a1e - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": version: 1.1.2 resolution: "function-bind@npm:1.1.2" checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 @@ -8104,15 +7836,6 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0": - version: 2.12.0 - resolution: "is-core-module@npm:2.12.0" - dependencies: - has: "npm:^1.0.3" - checksum: 10c0/21f78f05de2f261339c10da0a68a25f7671a1864bc4e19fbfb7aeb9486a8ced98f5192f3226af8f696c6c1b545029307df850e384799a574953d6676ae20fefc - languageName: node - linkType: hard - "is-core-module@npm:^2.13.0": version: 2.13.1 resolution: "is-core-module@npm:2.13.1" @@ -8198,13 +7921,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:^5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c - languageName: node - linkType: hard - "is-stream@npm:^2.0.0": version: 2.0.0 resolution: "is-stream@npm:2.0.0" @@ -9161,14 +8877,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.0, lru-cache@npm:^10.0.1": - version: 10.1.0 - resolution: "lru-cache@npm:10.1.0" - checksum: 10c0/778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e - languageName: node - linkType: hard - -"lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.0.0, lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb @@ -9472,14 +9181,14 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.2, ms@npm:^2.1.1": +"ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc languageName: node linkType: hard -"ms@npm:2.1.3": +"ms@npm:2.1.3, ms@npm:^2.1.1": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -10352,20 +10061,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.0.0, resolve@npm:^1.20.0": - version: 1.22.2 - resolution: "resolve@npm:1.22.2" - dependencies: - is-core-module: "npm:^2.11.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/f9f424a8117d1c68371b4fbc64e6ac045115a3beacc4bd3617b751f7624b69ad40c47dc995585c7f13d4a09723a8f167847defb7d39fad70b0d43bbba05ff851 - languageName: node - linkType: hard - -"resolve@npm:^1.12.0, resolve@npm:^1.14.2": +"resolve@npm:^1.0.0, resolve@npm:^1.12.0, resolve@npm:^1.14.2, resolve@npm:^1.20.0": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -10378,20 +10074,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": - version: 1.22.2 - resolution: "resolve@patch:resolve@npm%3A1.22.2#optional!builtin::version=1.22.2&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.11.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10c0/dcf068c4391941734efda06b6f778c013fd349cd4340f126de17c265a7b006c67de7e80e7aa06ecd29f3922e49f5561622b9faf98531f16aa9a896d22148c661 - languageName: node - linkType: hard - -"resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin": +"resolve@patch:resolve@npm%3A^1.0.0#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -11280,13 +10963,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - "undici-types@npm:~6.11.1": version: 6.11.1 resolution: "undici-types@npm:6.11.1" From b95a8ba8f04ae04982424bd97991c5c9443493e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:13:49 +0200 Subject: [PATCH 15/90] chore(lambda): bump @types/aws-lambda from 8.10.142 to 8.10.143 in /lambdas (#4049) Bumps [@types/aws-lambda](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/aws-lambda) from 8.10.142 to 8.10.143.
Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/aws-lambda&package-manager=npm_and_yarn&previous-version=8.10.142&new-version=8.10.143)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 22 +++++++++---------- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 33496152d1..1cce746c29 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/aws-lambda": "^8.10.142", + "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 486e2cd006..3dda110b31 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/aws-lambda": "^8.10.142", + "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index fdd8cbbe14..909f434db1 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/aws-lambda": "^8.10.142", + "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", "@types/node": "^22.0.2", "@types/request": "^2.48.12", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 71c024bd2b..1c79133b40 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/aws-lambda": "^8.10.142", + "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", "@types/node": "^22.0.2", "@typescript-eslint/eslint-plugin": "^7.18.0", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index e95458ec23..71f2d65d93 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/aws-lambda": "^8.10.142", + "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", "@types/node": "^22.0.2", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index eb1bd6ed21..134eb8eceb 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/aws-lambda": "^8.10.142", + "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", "@types/node": "^22.0.2", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 5d4fada4f3..db882f13fb 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@trivago/prettier-plugin-sort-imports": "^4.3.0", - "@types/aws-lambda": "^8.10.142", + "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", "@types/node": "^22.0.2", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 2442ff46b7..bfdcee21b3 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4769,7 +4769,7 @@ __metadata: "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.142" + "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" @@ -4800,7 +4800,7 @@ __metadata: "@aws-lambda-powertools/metrics": "npm:^2.6.0" "@aws-lambda-powertools/tracer": "npm:^2.6.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.142" + "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.0.2" @@ -4830,7 +4830,7 @@ __metadata: "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.142" + "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.0.2" @@ -4866,7 +4866,7 @@ __metadata: "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.142" + "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" @@ -4901,7 +4901,7 @@ __metadata: "@octokit/rest": "npm:20.1.1" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.142" + "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.0.2" "@types/request": "npm:^2.48.12" @@ -4931,7 +4931,7 @@ __metadata: "@middy/core": "npm:^4.7.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.142" + "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.0.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" @@ -4965,7 +4965,7 @@ __metadata: "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.142" + "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.0.2" @@ -5044,10 +5044,10 @@ __metadata: languageName: node linkType: hard -"@types/aws-lambda@npm:^8.10.142": - version: 8.10.142 - resolution: "@types/aws-lambda@npm:8.10.142" - checksum: 10c0/9c9544d0f93bb8e1c044cd9d991c5c11d04c4a98d3b2dfade7d420df56270288baa254ec2d9782144ec7291d154c0dd550862f133ba81cca12a28af9f5349414 +"@types/aws-lambda@npm:^8.10.143": + version: 8.10.143 + resolution: "@types/aws-lambda@npm:8.10.143" + checksum: 10c0/1a004c8dfc9f1f99cbf0e3dd75f2c578d5518a53fc6f278791b7a7445cce380dc56513daeb2b4959823d355fb2fb690271b210af538807422b337a2e14a9aa01 languageName: node linkType: hard From 89d45aed15e3e9c8b19e924e242a3b9546fc66ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:14:17 +0200 Subject: [PATCH 16/90] chore(deps): bump actions/upload-artifact from 4.3.5 to 4.3.6 (#4047) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.5 to 4.3.6.
Release notes

Sourced from actions/upload-artifact's releases.

v4.3.6

What's Changed

Full Changelog: https://github.com/actions/upload-artifact/compare/v4...v4.3.6

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=4.3.5&new-version=4.3.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lambda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lambda.yml b/.github/workflows/lambda.yml index 8347176920..6a07557c36 100644 --- a/.github/workflows/lambda.yml +++ b/.github/workflows/lambda.yml @@ -32,7 +32,7 @@ jobs: - name: Build distribution run: yarn build - name: Upload coverage report - uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v31.2 + uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v31.2 if: ${{ failure() }} with: name: coverage-reports From e32b14bc246463d50620c354ce84edc0751623c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 15:15:15 +0200 Subject: [PATCH 17/90] fix(lambda): bump the aws group in /lambdas with 4 updates (#4048) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 4 updates: [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm), [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3), [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) and [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs). Updates `@aws-sdk/client-ssm` from 3.623.0 to 3.624.0
Release notes

Sourced from @​aws-sdk/client-ssm's releases.

v3.624.0

3.624.0(2024-08-05)

Chores
  • id-auth-sra: S3 Express compatibility with ID & Auth SRA (#6346) (253d329e)
  • codegen: make hasEventStreamInput utilities public (#6351) (7bf2e59e)
Documentation Changes
  • client-pi: Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page. (4078ba5a)
New Features
  • clients: update client endpoints as of 2024-08-05 (7cd8b7cf)
  • client-datazone: This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers. (91b25612)
  • client-kinesis-video-webrtc-storage: Add JoinStorageSessionAsViewer API (36c7cddb)
  • client-ecr: Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry. (6da42523)
Tests
  • karma-credential-loader: set credential expiration as date (#6353) (80cb0547)

For list of updated packages, view updated-packages.md in assets-3.624.0.zip

Changelog

Sourced from @​aws-sdk/client-ssm's changelog.

3.624.0 (2024-08-05)

Note: Version bump only for package @​aws-sdk/client-ssm

Commits

Updates `@aws-sdk/client-s3` from 3.623.0 to 3.624.0
Release notes

Sourced from @​aws-sdk/client-s3's releases.

v3.624.0

3.624.0(2024-08-05)

Chores
  • id-auth-sra: S3 Express compatibility with ID & Auth SRA (#6346) (253d329e)
  • codegen: make hasEventStreamInput utilities public (#6351) (7bf2e59e)
Documentation Changes
  • client-pi: Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page. (4078ba5a)
New Features
  • clients: update client endpoints as of 2024-08-05 (7cd8b7cf)
  • client-datazone: This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers. (91b25612)
  • client-kinesis-video-webrtc-storage: Add JoinStorageSessionAsViewer API (36c7cddb)
  • client-ecr: Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry. (6da42523)
Tests
  • karma-credential-loader: set credential expiration as date (#6353) (80cb0547)

For list of updated packages, view updated-packages.md in assets-3.624.0.zip

Changelog

Sourced from @​aws-sdk/client-s3's changelog.

3.624.0 (2024-08-05)

Note: Version bump only for package @​aws-sdk/client-s3

Commits

Updates `@aws-sdk/lib-storage` from 3.623.0 to 3.624.0
Release notes

Sourced from @​aws-sdk/lib-storage's releases.

v3.624.0

3.624.0(2024-08-05)

Chores
  • id-auth-sra: S3 Express compatibility with ID & Auth SRA (#6346) (253d329e)
  • codegen: make hasEventStreamInput utilities public (#6351) (7bf2e59e)
Documentation Changes
  • client-pi: Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page. (4078ba5a)
New Features
  • clients: update client endpoints as of 2024-08-05 (7cd8b7cf)
  • client-datazone: This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers. (91b25612)
  • client-kinesis-video-webrtc-storage: Add JoinStorageSessionAsViewer API (36c7cddb)
  • client-ecr: Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry. (6da42523)
Tests
  • karma-credential-loader: set credential expiration as date (#6353) (80cb0547)

For list of updated packages, view updated-packages.md in assets-3.624.0.zip

Changelog

Sourced from @​aws-sdk/lib-storage's changelog.

3.624.0 (2024-08-05)

Note: Version bump only for package @​aws-sdk/lib-storage

Commits

Updates `@aws-sdk/client-sqs` from 3.623.0 to 3.624.0
Release notes

Sourced from @​aws-sdk/client-sqs's releases.

v3.624.0

3.624.0(2024-08-05)

Chores
  • id-auth-sra: S3 Express compatibility with ID & Auth SRA (#6346) (253d329e)
  • codegen: make hasEventStreamInput utilities public (#6351) (7bf2e59e)
Documentation Changes
  • client-pi: Added a description for the Dimension db.sql.tokenized_id on the DimensionGroup data type page. (4078ba5a)
New Features
  • clients: update client endpoints as of 2024-08-05 (7cd8b7cf)
  • client-datazone: This releases Data Product feature. Data Products allow grouping data assets into cohesive, self-contained units for ease of publishing for data producers, and ease of finding and accessing for data consumers. (91b25612)
  • client-kinesis-video-webrtc-storage: Add JoinStorageSessionAsViewer API (36c7cddb)
  • client-ecr: Released two new APIs along with documentation updates. The GetAccountSetting API is used to view the current basic scan type version setting for your registry, while the PutAccountSetting API is used to update the basic scan type version for your registry. (6da42523)
Tests
  • karma-credential-loader: set credential expiration as date (#6353) (80cb0547)

For list of updated packages, view updated-packages.md in assets-3.624.0.zip

Changelog

Sourced from @​aws-sdk/client-sqs's changelog.

3.624.0 (2024-08-05)

Note: Version bump only for package @​aws-sdk/client-sqs

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 4 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 326 +++--------------- 5 files changed, 54 insertions(+), 282 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 1cce746c29..b145114227 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -38,7 +38,7 @@ }, "dependencies": { "@aws-sdk/client-ec2": "^3.624.0", - "@aws-sdk/client-ssm": "^3.623.0", + "@aws-sdk/client-ssm": "^3.624.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 909f434db1..4bf7a99c9d 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -36,8 +36,8 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-s3": "^3.623.0", - "@aws-sdk/lib-storage": "^3.623.0", + "@aws-sdk/client-s3": "^3.624.0", + "@aws-sdk/lib-storage": "^3.624.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 71f2d65d93..1d9325461c 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -37,7 +37,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-sqs": "^3.623.0", + "@aws-sdk/client-sqs": "^3.624.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index db882f13fb..4515df4291 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -35,7 +35,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-ssm": "^3.623.0", + "@aws-sdk/client-ssm": "^3.624.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index bfdcee21b3..82c94666ee 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -200,17 +200,17 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/client-s3@npm:3.623.0" +"@aws-sdk/client-s3@npm:^3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/client-s3@npm:3.624.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.623.0" - "@aws-sdk/client-sts": "npm:3.623.0" - "@aws-sdk/core": "npm:3.623.0" - "@aws-sdk/credential-provider-node": "npm:3.623.0" + "@aws-sdk/client-sso-oidc": "npm:3.624.0" + "@aws-sdk/client-sts": "npm:3.624.0" + "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/credential-provider-node": "npm:3.624.0" "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" "@aws-sdk/middleware-expect-continue": "npm:3.620.0" "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" @@ -218,12 +218,11 @@ __metadata: "@aws-sdk/middleware-location-constraint": "npm:3.609.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.622.0" - "@aws-sdk/middleware-signing": "npm:3.620.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.624.0" "@aws-sdk/middleware-ssec": "npm:3.609.0" "@aws-sdk/middleware-user-agent": "npm:3.620.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.622.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.624.0" "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-endpoints": "npm:3.614.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" @@ -257,25 +256,26 @@ __metadata: "@smithy/util-defaults-mode-browser": "npm:^3.0.14" "@smithy/util-defaults-mode-node": "npm:^3.0.14" "@smithy/util-endpoints": "npm:^2.0.5" + "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-stream": "npm:^3.1.3" "@smithy/util-utf8": "npm:^3.0.0" "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" - checksum: 10c0/fce3f98136b7b50651ac72a5a61e32848fd6b3c4a7b5d803667aae056a39405de337da50aaba35e72e32ae9f877bd7d1a9a50a7ecdd34bff6dc733486cf09cf8 + checksum: 10c0/f40bd6c9fb0d87f8e154824089f97665110b4789bfee788d7a7faa93f122add57b48eb0d2f8616b11e4501825b8040fe9ecf04929e0c75234290fc77dfa0887e languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/client-sqs@npm:3.623.0" +"@aws-sdk/client-sqs@npm:^3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/client-sqs@npm:3.624.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.623.0" - "@aws-sdk/client-sts": "npm:3.623.0" - "@aws-sdk/core": "npm:3.623.0" - "@aws-sdk/credential-provider-node": "npm:3.623.0" + "@aws-sdk/client-sso-oidc": "npm:3.624.0" + "@aws-sdk/client-sts": "npm:3.624.0" + "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/credential-provider-node": "npm:3.624.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -313,20 +313,20 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/e39cabd2a7da7679b74f365fb798e984a6f33d0fd015267826b993d30b92a62d25f8841cbf27cef8c734cf06b84c3f951387f6d8aa101ed321e492cefe7a7a35 + checksum: 10c0/fd750c80bd3aaa480c0f8329b59bf2e964af7fa6f68dbfbd0efaf8d0ebad32fad80c9833b8f60b13ad3b4d8941d94aecc3a82a793e21f9ff7b31f0389292089e languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/client-ssm@npm:3.623.0" +"@aws-sdk/client-ssm@npm:^3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/client-ssm@npm:3.624.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.623.0" - "@aws-sdk/client-sts": "npm:3.623.0" - "@aws-sdk/core": "npm:3.623.0" - "@aws-sdk/credential-provider-node": "npm:3.623.0" + "@aws-sdk/client-sso-oidc": "npm:3.624.0" + "@aws-sdk/client-sts": "npm:3.624.0" + "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/credential-provider-node": "npm:3.624.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -364,56 +364,7 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/da243cd7251b04a18209c25f32f8b612fc783973f49db99684789d7521836b4e7db34bf9d4d8255f2d1d33586e826ad5a95464d0ddb33afa91f481d20fa9a2d7 - languageName: node - linkType: hard - -"@aws-sdk/client-sso-oidc@npm:3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.623.0" - dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.623.0" - "@aws-sdk/credential-provider-node": "npm:3.623.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" - "@smithy/util-base64": "npm:^3.0.0" - "@smithy/util-body-length-browser": "npm:^3.0.0" - "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" - "@smithy/util-utf8": "npm:^3.0.0" - tslib: "npm:^2.6.2" - peerDependencies: - "@aws-sdk/client-sts": ^3.623.0 - checksum: 10c0/024469b75856b5233d51568b08678166d19028b484212a2e8c29ba2364a608e72d2a55b46287e707ca4f3256bfaf5b0b13f143ba41a9ed21562dc7c3399b4de5 + checksum: 10c0/da1df3ad37c99c867b308e5c0b857c6a9660362c2db79787e705ba4ce7daffda981a0707d31c1ae6dbf998c75505db7ac0e2c0308c33476f54b0ffdfcd316983 languageName: node linkType: hard @@ -466,52 +417,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/client-sso@npm:3.623.0" - dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.623.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" - "@smithy/util-base64": "npm:^3.0.0" - "@smithy/util-body-length-browser": "npm:^3.0.0" - "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" - "@smithy/util-utf8": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/38a33e66625b780362128298322c15fb3c024fd5d57acedb38d6699928344a0318dbe08ecc3c8811ec8d6eb9af4861007acba80f5c1141d1d27bc8b8018bf597 - languageName: node - linkType: hard - "@aws-sdk/client-sso@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/client-sso@npm:3.624.0" @@ -558,54 +463,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/client-sts@npm:3.623.0" - dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.623.0" - "@aws-sdk/core": "npm:3.623.0" - "@aws-sdk/credential-provider-node": "npm:3.623.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" - "@smithy/util-base64": "npm:^3.0.0" - "@smithy/util-body-length-browser": "npm:^3.0.0" - "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" - "@smithy/util-utf8": "npm:^3.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/b0eebc2834744bb8fdceb9e12fb7bea7779d673186f9a4e6e24c722e015528e26bf15f9cb946bb120656d0c5180b225f42a01236f97f4f908cc2eaf9fd6948da - languageName: node - linkType: hard - "@aws-sdk/client-sts@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/client-sts@npm:3.624.0" @@ -654,23 +511,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/core@npm:3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/core@npm:3.623.0" - dependencies: - "@smithy/core": "npm:^2.3.2" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-middleware": "npm:^3.0.3" - fast-xml-parser: "npm:4.4.1" - tslib: "npm:^2.6.2" - checksum: 10c0/4a12e3abbbdc28997b6858c819a816a91b2c477d82e00ec122e0ec8334b599591184a0fd08d14a000d333abea24342c7e09b30572239dcec117ef126b1970605 - languageName: node - linkType: hard - "@aws-sdk/core@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/core@npm:3.624.0" @@ -717,27 +557,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.623.0" - dependencies: - "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.622.0" - "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.623.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/credential-provider-imds": "npm:^3.2.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - peerDependencies: - "@aws-sdk/client-sts": ^3.623.0 - checksum: 10c0/00d3521a7b203153de92baa77fe0b3588be4f345d503b9f08c115e01e63cd92a442cbf6ccd8cce6ecf0e783a654b2f9945b04172a278e0d98912b3c453bab7b5 - languageName: node - linkType: hard - "@aws-sdk/credential-provider-ini@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/credential-provider-ini@npm:3.624.0" @@ -759,26 +578,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.623.0" - dependencies: - "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.622.0" - "@aws-sdk/credential-provider-ini": "npm:3.623.0" - "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.623.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/credential-provider-imds": "npm:^3.2.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/f13beb0a64fac4b76306cb8ef0689c17c99997c3264f3ae0fb4a81767d8acc1bb3fe59ac6463da9226758372b8d9768923909e40f48d2f606389dbdbb32509bc - languageName: node - linkType: hard - "@aws-sdk/credential-provider-node@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/credential-provider-node@npm:3.624.0" @@ -812,21 +611,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.623.0" - dependencies: - "@aws-sdk/client-sso": "npm:3.623.0" - "@aws-sdk/token-providers": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" - tslib: "npm:^2.6.2" - checksum: 10c0/3858cbcb30896f6b75132d6fde9157ca69939bb4c9a7e49748e2ee6b0e10d4f09890f1c32d0d7ebb67d2c576c7c4e3f39e664a5a4d974fdc3cc263bd0f29384a - languageName: node - linkType: hard - "@aws-sdk/credential-provider-sso@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/credential-provider-sso@npm:3.624.0" @@ -856,9 +640,9 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.623.0": - version: 3.623.0 - resolution: "@aws-sdk/lib-storage@npm:3.623.0" +"@aws-sdk/lib-storage@npm:^3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/lib-storage@npm:3.624.0" dependencies: "@smithy/abort-controller": "npm:^3.1.1" "@smithy/middleware-endpoint": "npm:^3.1.0" @@ -868,8 +652,8 @@ __metadata: stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.623.0 - checksum: 10c0/c190510235d1f5ee7a5631cb57036012af6498be35dae429c0f90ef6e2ed8ef00f29a342b3350e2e40bcff26a3119bc727bc0e4e1fc9efc3e5221ae4ba95a2b3 + "@aws-sdk/client-s3": ^3.624.0 + checksum: 10c0/85d0b5d75b1f64a1bbe4a47e7b8afaad547373c31a6869de4e80795909baaaaea724cfc3d4b5ebf7c8e1d3db8e61bb3c4d39c23a1a19a0cb2797616fcf4816ec languageName: node linkType: hard @@ -978,22 +762,25 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.622.0": - version: 3.622.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.622.0" +"@aws-sdk/middleware-sdk-s3@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.624.0" dependencies: + "@aws-sdk/core": "npm:3.624.0" "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" + "@smithy/core": "npm:^2.3.2" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" "@smithy/smithy-client": "npm:^3.1.12" "@smithy/types": "npm:^3.3.0" "@smithy/util-config-provider": "npm:^3.0.0" + "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-stream": "npm:^3.1.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/c395aba08c4414499e3c90a151e688a0dc2202eddbfe8659b121c935d4c01c40028f54b08b7fb0d9164250dbff5d60c583509ecdef58f3290edaae570bea2297 + checksum: 10c0/b1301a583759b41c4385a893d2776a8fb1115fa41d070fae1673e7732d3d6b3e96785023a2006e78f0bb2b214a54e2c0a0aeee3165531336682f7c00a8f42645 languageName: node linkType: hard @@ -1011,21 +798,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-signing@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-signing@npm:3.620.0" - dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-middleware": "npm:^3.0.3" - tslib: "npm:^2.6.2" - checksum: 10c0/1900aea1d665e846022ad59112ef357ee44a65505937d263013811971827a2268689320f6af1c09088c473966942540d1c06c583e1bcc640c4afefdb0bad0681 - languageName: node - linkType: hard - "@aws-sdk/middleware-ssec@npm:3.609.0": version: 3.609.0 resolution: "@aws-sdk/middleware-ssec@npm:3.609.0" @@ -1064,17 +836,17 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.622.0": - version: 3.622.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.622.0" +"@aws-sdk/signature-v4-multi-region@npm:3.624.0": + version: 3.624.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.624.0" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.622.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.624.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/1acdadf6ea3c5193d9154cff3ec8fd2ac2361d131c29ff663f7a6522e6e2d6682dda4139d1dee3950e6d8adc8ca6b9c1442a319815a3d5533fba399641c6f01f + checksum: 10c0/cd6ee325bd7cafeab7aeb2c7bd65666d5f3137eac9164c2082e6776af2ce706be959d08e1244596a388b6ab13c9ab3448aa1c9e7b486ad00f07078e971f90b26 languageName: node linkType: hard @@ -4764,7 +4536,7 @@ __metadata: resolution: "@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" dependencies: "@aws-sdk/client-ec2": "npm:^3.624.0" - "@aws-sdk/client-ssm": "npm:^3.623.0" + "@aws-sdk/client-ssm": "npm:^3.624.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" @@ -4826,7 +4598,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: - "@aws-sdk/client-ssm": "npm:^3.623.0" + "@aws-sdk/client-ssm": "npm:^3.624.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -4894,8 +4666,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: - "@aws-sdk/client-s3": "npm:^3.623.0" - "@aws-sdk/lib-storage": "npm:^3.623.0" + "@aws-sdk/client-s3": "npm:^3.624.0" + "@aws-sdk/lib-storage": "npm:^3.624.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" @@ -4957,7 +4729,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/webhook@workspace:functions/webhook" dependencies: - "@aws-sdk/client-sqs": "npm:^3.623.0" + "@aws-sdk/client-sqs": "npm:^3.624.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" From 7235cdc40686f3218e1991ec9a8feeb900b719f1 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Wed, 7 Aug 2024 16:10:51 +0200 Subject: [PATCH 18/90] fix: align inlince policies (#4046) ## Description Most of the lambdas are defining inline policies in the dedicated role for the lambda. The naming of the inline policies is a bit chaotic. This PR aligns the naming removes redundant parts of the naming like the the lamba name or prefix. This is allready part of the role fix #4045 --- modules/ami-housekeeper/main.tf | 7 ++++--- modules/runner-binaries-syncer/runner-binaries-syncer.tf | 5 +++-- modules/runners/pool/main.tf | 5 +++-- modules/runners/scale-down.tf | 5 +++-- modules/runners/scale-up.tf | 7 ++++--- modules/runners/ssm-housekeeper.tf | 5 +++-- modules/webhook/webhook.tf | 9 +++++---- 7 files changed, 25 insertions(+), 18 deletions(-) diff --git a/modules/ami-housekeeper/main.tf b/modules/ami-housekeeper/main.tf index a1e66c24ef..9de45f592f 100644 --- a/modules/ami-housekeeper/main.tf +++ b/modules/ami-housekeeper/main.tf @@ -84,7 +84,7 @@ data "aws_iam_policy_document" "lambda_assume_role_policy" { } resource "aws_iam_role_policy" "lambda_logging" { - name = "${var.prefix}-lambda-logging-policy-ami-housekeeper" + name = "logging-policy" role = aws_iam_role.ami_housekeeper.id policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", { @@ -93,14 +93,14 @@ resource "aws_iam_role_policy" "lambda_logging" { } resource "aws_iam_role_policy" "ami_housekeeper" { - name = "${var.prefix}-lambda-ami-policy" + name = "lambda-ami-policy" role = aws_iam_role.ami_housekeeper.id policy = templatefile("${path.module}/policies/lambda-ami-housekeeper.json", {}) } resource "aws_cloudwatch_event_rule" "ami_housekeeper" { - name = "${var.prefix}-ami-housekeeper-rule" + name = "ami-housekeeper-rule" schedule_expression = var.lambda_schedule_expression tags = var.tags state = var.state_event_rule_ami_housekeeper @@ -127,6 +127,7 @@ resource "aws_lambda_permission" "ami_housekeeper" { resource "aws_iam_role_policy" "ami_housekeeper_xray" { count = var.tracing_config.mode != null ? 1 : 0 + name = "xray-policy" policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.ami_housekeeper.name } diff --git a/modules/runner-binaries-syncer/runner-binaries-syncer.tf b/modules/runner-binaries-syncer/runner-binaries-syncer.tf index 6be75c3332..d3f5f08efa 100644 --- a/modules/runner-binaries-syncer/runner-binaries-syncer.tf +++ b/modules/runner-binaries-syncer/runner-binaries-syncer.tf @@ -103,7 +103,7 @@ data "aws_iam_policy_document" "lambda_assume_role_policy" { } resource "aws_iam_role_policy" "lambda_logging" { - name = "${var.prefix}-lambda-logging-policy-syncer" + name = "logging-policys" role = aws_iam_role.syncer_lambda.id policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", { @@ -112,7 +112,7 @@ resource "aws_iam_role_policy" "lambda_logging" { } resource "aws_iam_role_policy" "syncer" { - name = "${var.prefix}-lambda-syncer-s3-policy" + name = "s3-policy" role = aws_iam_role.syncer_lambda.id policy = templatefile("${path.module}/policies/lambda-syncer.json", { @@ -186,6 +186,7 @@ resource "aws_lambda_permission" "on_deploy" { resource "aws_iam_role_policy" "syncer_lambda_xray" { count = var.tracing_config.mode != null ? 1 : 0 + name = "xray-policy" policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.syncer_lambda.name } diff --git a/modules/runners/pool/main.tf b/modules/runners/pool/main.tf index cd9b6e9c2b..e784886704 100644 --- a/modules/runners/pool/main.tf +++ b/modules/runners/pool/main.tf @@ -81,7 +81,7 @@ resource "aws_iam_role" "pool" { } resource "aws_iam_role_policy" "pool" { - name = "${var.config.prefix}-lambda-pool-policy" + name = "pool-policy" role = aws_iam_role.pool.name policy = templatefile("${path.module}/policies/lambda-pool.json", { arn_ssm_parameters_path_config = var.config.arn_ssm_parameters_path_config @@ -94,7 +94,7 @@ resource "aws_iam_role_policy" "pool" { } resource "aws_iam_role_policy" "pool_logging" { - name = "${var.config.prefix}-lambda-logging" + name = "logging-policy" role = aws_iam_role.pool.name policy = templatefile("${path.module}/../policies/lambda-cloudwatch.json", { log_group_arn = aws_cloudwatch_log_group.pool.arn @@ -174,6 +174,7 @@ data "aws_iam_policy_document" "lambda_xray" { resource "aws_iam_role_policy" "pool_xray" { count = var.tracing_config.mode != null ? 1 : 0 + name = "xray-policy" policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.pool.name } diff --git a/modules/runners/scale-down.tf b/modules/runners/scale-down.tf index 5fc9c02ee0..08138dcf3e 100644 --- a/modules/runners/scale-down.tf +++ b/modules/runners/scale-down.tf @@ -90,7 +90,7 @@ resource "aws_iam_role" "scale_down" { } resource "aws_iam_role_policy" "scale_down" { - name = "${var.prefix}-lambda-scale-down-policy" + name = "scale-down-policy" role = aws_iam_role.scale_down.name policy = templatefile("${path.module}/policies/lambda-scale-down.json", { environment = var.prefix @@ -101,7 +101,7 @@ resource "aws_iam_role_policy" "scale_down" { } resource "aws_iam_role_policy" "scale_down_logging" { - name = "${var.prefix}-lambda-logging" + name = "logging-policy" role = aws_iam_role.scale_down.name policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", { log_group_arn = aws_cloudwatch_log_group.scale_down.arn @@ -116,6 +116,7 @@ resource "aws_iam_role_policy_attachment" "scale_down_vpc_execution_role" { resource "aws_iam_role_policy" "scale_down_xray" { count = var.tracing_config.mode != null ? 1 : 0 + name = "xray-policy" policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.scale_down.name } diff --git a/modules/runners/scale-up.tf b/modules/runners/scale-up.tf index cd3fd2c9b5..0b6bf7b54f 100644 --- a/modules/runners/scale-up.tf +++ b/modules/runners/scale-up.tf @@ -95,7 +95,7 @@ resource "aws_iam_role" "scale_up" { } resource "aws_iam_role_policy" "scale_up" { - name = "${var.prefix}-lambda-scale-up-policy" + name = "scale-up-policy" role = aws_iam_role.scale_up.name policy = templatefile("${path.module}/policies/lambda-scale-up.json", { arn_runner_instance_role = aws_iam_role.runner.arn @@ -110,7 +110,7 @@ resource "aws_iam_role_policy" "scale_up" { resource "aws_iam_role_policy" "scale_up_logging" { - name = "${var.prefix}-lambda-logging" + name = "logging-policy" role = aws_iam_role.scale_up.name policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", { log_group_arn = aws_cloudwatch_log_group.scale_up.arn @@ -119,7 +119,7 @@ resource "aws_iam_role_policy" "scale_up_logging" { resource "aws_iam_role_policy" "service_linked_role" { count = var.create_service_linked_role_spot ? 1 : 0 - name = "${var.prefix}-service_linked_role" + name = "service_linked_role" role = aws_iam_role.scale_up.name policy = templatefile("${path.module}/policies/service-linked-role-create-policy.json", { aws_partition = var.aws_partition }) } @@ -138,6 +138,7 @@ resource "aws_iam_role_policy_attachment" "ami_id_ssm_parameter_read" { resource "aws_iam_role_policy" "scale_up_xray" { count = var.tracing_config.mode != null ? 1 : 0 + name = "xray-policy" policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.scale_up.name } diff --git a/modules/runners/ssm-housekeeper.tf b/modules/runners/ssm-housekeeper.tf index 64a63ed92d..e9c2a175ba 100644 --- a/modules/runners/ssm-housekeeper.tf +++ b/modules/runners/ssm-housekeeper.tf @@ -92,7 +92,7 @@ resource "aws_iam_role" "ssm_housekeeper" { } resource "aws_iam_role_policy" "ssm_housekeeper" { - name = "lambda-ssm" + name = "ssm-policy" role = aws_iam_role.ssm_housekeeper.name policy = templatefile("${path.module}/policies/lambda-ssm-housekeeper.json", { ssm_token_path = "arn:${var.aws_partition}:ssm:${var.aws_region}:${data.aws_caller_identity.current.account_id}:parameter${local.token_path}" @@ -100,7 +100,7 @@ resource "aws_iam_role_policy" "ssm_housekeeper" { } resource "aws_iam_role_policy" "ssm_housekeeper_logging" { - name = "lambda-logging" + name = "logging-policy" role = aws_iam_role.ssm_housekeeper.name policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", { log_group_arn = aws_cloudwatch_log_group.ssm_housekeeper.arn @@ -115,6 +115,7 @@ resource "aws_iam_role_policy_attachment" "ssm_housekeeper_vpc_execution_role" { resource "aws_iam_role_policy" "ssm_housekeeper_xray" { count = var.tracing_config.mode != null ? 1 : 0 + name = "xray-policy" policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.ssm_housekeeper.name } diff --git a/modules/webhook/webhook.tf b/modules/webhook/webhook.tf index 5c5759b51b..b141621a39 100644 --- a/modules/webhook/webhook.tf +++ b/modules/webhook/webhook.tf @@ -102,7 +102,7 @@ resource "aws_iam_role" "webhook_lambda" { } resource "aws_iam_role_policy" "webhook_logging" { - name = "${var.prefix}-lambda-logging-policy" + name = "logging-policy" role = aws_iam_role.webhook_lambda.name policy = templatefile("${path.module}/policies/lambda-cloudwatch.json", { log_group_arn = aws_cloudwatch_log_group.webhook.arn @@ -116,7 +116,7 @@ resource "aws_iam_role_policy_attachment" "webhook_vpc_execution_role" { } resource "aws_iam_role_policy" "webhook_sqs" { - name = "${var.prefix}-lambda-webhook-publish-sqs-policy" + name = "publish-sqs-policy" role = aws_iam_role.webhook_lambda.name policy = templatefile("${path.module}/policies/lambda-publish-sqs-policy.json", { @@ -127,7 +127,7 @@ resource "aws_iam_role_policy" "webhook_sqs" { resource "aws_iam_role_policy" "webhook_workflow_job_sqs" { count = var.sqs_workflow_job_queue != null ? 1 : 0 - name = "${var.prefix}-lambda-webhook-publish-workflow-job-sqs-policy" + name = "publish-workflow-job-sqs-policy" role = aws_iam_role.webhook_lambda.name policy = templatefile("${path.module}/policies/lambda-publish-sqs-policy.json", { @@ -137,7 +137,7 @@ resource "aws_iam_role_policy" "webhook_workflow_job_sqs" { } resource "aws_iam_role_policy" "webhook_ssm" { - name = "${var.prefix}-lambda-webhook-publish-ssm-policy" + name = "publish-ssm-policy" role = aws_iam_role.webhook_lambda.name policy = templatefile("${path.module}/policies/lambda-ssm.json", { @@ -148,6 +148,7 @@ resource "aws_iam_role_policy" "webhook_ssm" { resource "aws_iam_role_policy" "xray" { count = var.tracing_config.mode != null ? 1 : 0 + name = "xray-policy" policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.webhook_lambda.name } From 05f3f7b1aaa273ae6f3fb4367d933ddf15697b38 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 16:11:18 +0200 Subject: [PATCH 19/90] chore(lambda): bump aws-sdk-client-mock from 3.1.0 to 4.0.1 in /lambdas (#4037) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [aws-sdk-client-mock](https://github.com/m-radzikowski/aws-sdk-client-mock) from 3.1.0 to 4.0.1.
Release notes

Sourced from aws-sdk-client-mock's releases.

v4.0.1

4.0.1 (2024-06-01)

v4.0.1-beta.0

4.0.1-beta.0 (2024-06-01)

Bug Fixes

  • jest: match input type accepting @​jest/globals asymmetric matchers (644a603)

v4.0.0

4.0.0 (2024-03-17)

v4.0.0-beta.0

4.0.0-beta.0 (2024-03-17)

⚠ BREAKING CHANGES

  • Correct expect.assertions() count on CommandWith commands (#209)

Bug Fixes

  • Correct expect.assertions() count on CommandWith commands (#209) (65d53a7)
Changelog

Sourced from aws-sdk-client-mock's changelog.

4.0.1 (2024-06-01)

4.0.1-beta.0 (2024-06-01)

Bug Fixes

  • jest: match input type accepting @​jest/globals asymmetric matchers (644a603)

4.0.0 (2024-03-17)

4.0.0-beta.0 (2024-03-17)

⚠ BREAKING CHANGES

  • Correct expect.assertions() count on CommandWith commands (#209)

Bug Fixes

  • Correct expect.assertions() count on CommandWith commands (#209) (65d53a7)
Commits
  • 19f041a chore(release): 4.0.1
  • c2e1d86 chore(release): 4.0.1-beta.0
  • 583ae7a docs: update versions compatibility table
  • 12eb421 chore(deps): bump tar from 6.1.11 to 6.2.1 (#218)
  • 644a603 fix(jest): match input type accepting @​jest/globals asymmetric matchers
  • 7acde27 docs: add code examples for Jest matchers including asymmetric matchers
  • 776836a docs: add code examples to all mock functions
  • 178e72c docs: update docs website
  • e0486cc chore(release): 4.0.0
  • f2ec44b chore(release): 4.0.0-beta.0
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-sdk-client-mock&package-manager=npm_and_yarn&previous-version=3.1.0&new-version=4.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- lambdas/functions/gh-agent-syncer/package.json | 2 +- .../functions/termination-watcher/package.json | 2 +- lambdas/yarn.lock | 16 ++++++++-------- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index b145114227..51253139b3 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -23,7 +23,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock": "^4.0.1", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 3dda110b31..fa918005c2 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -23,7 +23,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock": "^4.0.1", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 4bf7a99c9d..08ad6598d7 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -24,7 +24,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock": "^4.0.1", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 1c79133b40..dd361af7ec 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -21,7 +21,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^3.1.0", + "aws-sdk-client-mock": "^4.0.1", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 82c94666ee..06f80beb9a 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4547,7 +4547,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock: "npm:^4.0.1" aws-sdk-client-mock-jest: "npm:^4.0.1" cron-parser: "npm:^4.9.0" eslint: "npm:^8.57.0" @@ -4644,7 +4644,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock: "npm:^4.0.1" aws-sdk-client-mock-jest: "npm:^4.0.1" cron-parser: "npm:^4.9.0" eslint: "npm:^8.57.0" @@ -4680,7 +4680,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock: "npm:^4.0.1" aws-sdk-client-mock-jest: "npm:^4.0.1" axios: "npm:^1.7.2" eslint: "npm:^8.57.0" @@ -4709,7 +4709,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^3.1.0" + aws-sdk-client-mock: "npm:^4.0.1" aws-sdk-client-mock-jest: "npm:^4.0.1" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" @@ -5517,14 +5517,14 @@ __metadata: languageName: node linkType: hard -"aws-sdk-client-mock@npm:^3.1.0": - version: 3.1.0 - resolution: "aws-sdk-client-mock@npm:3.1.0" +"aws-sdk-client-mock@npm:^4.0.1": + version: 4.0.1 + resolution: "aws-sdk-client-mock@npm:4.0.1" dependencies: "@types/sinon": "npm:^10.0.10" sinon: "npm:^16.1.3" tslib: "npm:^2.1.0" - checksum: 10c0/e4c9cfc999afd4d23b086dcb00c2d94599bedd80572d7a66985cf730a8d0afc534e930d5513fbc13d1130a63fb1cf7b467ef0a57f0874dd22eb3651a48742f4a + checksum: 10c0/e6baaf5bcec75d0e327ca02faef560254f27647d31f8a6bd595d4bff660c00bae61fa0b8825133557e6f87691a8ef1f1ae5c94fb2532340d17520d24f7d162bd languageName: node linkType: hard From 6d0fa399e6285a3c900e45b19360cde6dc3c49b1 Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 16:23:48 +0200 Subject: [PATCH 20/90] chore(main): release 5.14.1 (#4044) :robot: I have created a release *beep* *boop* --- ## [5.14.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.14.0...v5.14.1) (2024-08-07) ### Bug Fixes * align inlince policies ([#4046](https://github.com/philips-labs/terraform-aws-github-runner/issues/4046)) ([7235cdc](https://github.com/philips-labs/terraform-aws-github-runner/commit/7235cdc40686f3218e1991ec9a8feeb900b719f1)), closes [#4045](https://github.com/philips-labs/terraform-aws-github-runner/issues/4045) * **lambda:** bump the aws group in /lambdas with 4 updates ([#4048](https://github.com/philips-labs/terraform-aws-github-runner/issues/4048)) ([e32b14b](https://github.com/philips-labs/terraform-aws-github-runner/commit/e32b14bc246463d50620c354ce84edc0751623c0)) * **lambda:** bump the aws group in /lambdas with 5 updates ([#4035](https://github.com/philips-labs/terraform-aws-github-runner/issues/4035)) ([c15c99d](https://github.com/philips-labs/terraform-aws-github-runner/commit/c15c99db84132b11f886f6f8e5291af5e357b41e)) * remove fetch override for octokit and versions ([#4042](https://github.com/philips-labs/terraform-aws-github-runner/issues/4042)) ([6ac19e6](https://github.com/philips-labs/terraform-aws-github-runner/commit/6ac19e6e4aa3a950d26fcaf496d08fe5508d8992)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f0eda64d1..bfa341a497 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [5.14.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.14.0...v5.14.1) (2024-08-07) + + +### Bug Fixes + +* align inlince policies ([#4046](https://github.com/philips-labs/terraform-aws-github-runner/issues/4046)) ([7235cdc](https://github.com/philips-labs/terraform-aws-github-runner/commit/7235cdc40686f3218e1991ec9a8feeb900b719f1)), closes [#4045](https://github.com/philips-labs/terraform-aws-github-runner/issues/4045) +* **lambda:** bump the aws group in /lambdas with 4 updates ([#4048](https://github.com/philips-labs/terraform-aws-github-runner/issues/4048)) ([e32b14b](https://github.com/philips-labs/terraform-aws-github-runner/commit/e32b14bc246463d50620c354ce84edc0751623c0)) +* **lambda:** bump the aws group in /lambdas with 5 updates ([#4035](https://github.com/philips-labs/terraform-aws-github-runner/issues/4035)) ([c15c99d](https://github.com/philips-labs/terraform-aws-github-runner/commit/c15c99db84132b11f886f6f8e5291af5e357b41e)) +* remove fetch override for octokit and versions ([#4042](https://github.com/philips-labs/terraform-aws-github-runner/issues/4042)) ([6ac19e6](https://github.com/philips-labs/terraform-aws-github-runner/commit/6ac19e6e4aa3a950d26fcaf496d08fe5508d8992)) + ## [5.14.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.13.0...v5.14.0) (2024-08-01) From 5ecdbaddaf255043057e5427e5f62283b7d59be2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 09:53:25 +0200 Subject: [PATCH 21/90] fix(lambda): bump the aws group in /lambdas with 5 updates (#4057) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 5 updates: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.624.0` | `3.629.0` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.624.0` | `3.629.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.624.0` | `3.629.0` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.624.0` | `3.629.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.624.0` | `3.629.0` | Updates `@aws-sdk/client-ec2` from 3.624.0 to 3.629.0
Release notes

Sourced from @​aws-sdk/client-ec2's releases.

v3.629.0

3.629.0(2024-08-12)

Chores
Documentation Changes
  • client-compute-optimizer: Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications (933816fb)
  • client-groundstation: Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide (aee7efd6)
New Features
  • client-medialive: AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. (4f1db8e5)
  • client-config-service: Documentation update for the OrganizationConfigRuleName regex pattern. (032e287f)
  • client-ec2: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. (6e0db432)
  • client-eks: Added support for new AL2023 GPU AMIs to the supported AMITypes. (54703e47)
  • client-sagemaker: Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas. (014f34c3)
  • core/httpAuthSchemes: set configuration sources for sigv4a signingRegionSet (#6368) (03bb39fe)
Bug Fixes
  • core/httpAuthSchemes: default sigv4aSigningRegionSet to undefined (#6375) (8cccf59c)

For list of updated packages, view updated-packages.md in assets-3.629.0.zip

v3.628.0

3.628.0(2024-08-09)

Documentation Changes
  • client-ssm: Systems Manager doc-only updates for August 2024. (236fa87b)
  • client-cognito-identity-provider: Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration. (1172284c)
New Features
  • clients: update client endpoints as of 2024-08-09 (3189a4a4)
  • client-connect: This release supports adding RoutingCriteria via UpdateContactRoutingData public API. (1c86676e)
Tests
  • fix TypeScript errors in endpoints-integration.spec.ts (#6372) (61505ca8)

... (truncated)

Changelog

Sourced from @​aws-sdk/client-ec2's changelog.

3.629.0 (2024-08-12)

Features

  • client-ec2: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. (6e0db43)

3.627.0 (2024-08-08)

Features

  • client-ec2: Launch of private IPv6 addressing for VPCs and Subnets. VPC IPAM supports the planning and monitoring of private IPv6 usage. (94af5dd)
Commits
  • 31e78b5 Publish v3.629.0
  • 6e0db43 feat(client-ec2): This release adds new capabilities to manage On-Demand Capa...
  • 366c61d Publish v3.627.0
  • 94af5dd feat(client-ec2): Launch of private IPv6 addressing for VPCs and Subnets. VPC...
  • See full diff in compare view

Updates `@aws-sdk/client-ssm` from 3.624.0 to 3.629.0
Release notes

Sourced from @​aws-sdk/client-ssm's releases.

v3.629.0

3.629.0(2024-08-12)

Chores
Documentation Changes
  • client-compute-optimizer: Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications (933816fb)
  • client-groundstation: Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide (aee7efd6)
New Features
  • client-medialive: AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. (4f1db8e5)
  • client-config-service: Documentation update for the OrganizationConfigRuleName regex pattern. (032e287f)
  • client-ec2: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. (6e0db432)
  • client-eks: Added support for new AL2023 GPU AMIs to the supported AMITypes. (54703e47)
  • client-sagemaker: Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas. (014f34c3)
  • core/httpAuthSchemes: set configuration sources for sigv4a signingRegionSet (#6368) (03bb39fe)
Bug Fixes
  • core/httpAuthSchemes: default sigv4aSigningRegionSet to undefined (#6375) (8cccf59c)

For list of updated packages, view updated-packages.md in assets-3.629.0.zip

v3.628.0

3.628.0(2024-08-09)

Documentation Changes
  • client-ssm: Systems Manager doc-only updates for August 2024. (236fa87b)
  • client-cognito-identity-provider: Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration. (1172284c)
New Features
  • clients: update client endpoints as of 2024-08-09 (3189a4a4)
  • client-connect: This release supports adding RoutingCriteria via UpdateContactRoutingData public API. (1c86676e)
Tests
  • fix TypeScript errors in endpoints-integration.spec.ts (#6372) (61505ca8)

... (truncated)

Changelog

Sourced from @​aws-sdk/client-ssm's changelog.

3.629.0 (2024-08-12)

Note: Version bump only for package @​aws-sdk/client-ssm

3.628.0 (2024-08-09)

Note: Version bump only for package @​aws-sdk/client-ssm

Commits

Updates `@aws-sdk/client-s3` from 3.624.0 to 3.629.0
Release notes

Sourced from @​aws-sdk/client-s3's releases.

v3.629.0

3.629.0(2024-08-12)

Chores
Documentation Changes
  • client-compute-optimizer: Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications (933816fb)
  • client-groundstation: Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide (aee7efd6)
New Features
  • client-medialive: AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. (4f1db8e5)
  • client-config-service: Documentation update for the OrganizationConfigRuleName regex pattern. (032e287f)
  • client-ec2: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. (6e0db432)
  • client-eks: Added support for new AL2023 GPU AMIs to the supported AMITypes. (54703e47)
  • client-sagemaker: Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas. (014f34c3)
  • core/httpAuthSchemes: set configuration sources for sigv4a signingRegionSet (#6368) (03bb39fe)
Bug Fixes
  • core/httpAuthSchemes: default sigv4aSigningRegionSet to undefined (#6375) (8cccf59c)

For list of updated packages, view updated-packages.md in assets-3.629.0.zip

v3.628.0

3.628.0(2024-08-09)

Documentation Changes
  • client-ssm: Systems Manager doc-only updates for August 2024. (236fa87b)
  • client-cognito-identity-provider: Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration. (1172284c)
New Features
  • clients: update client endpoints as of 2024-08-09 (3189a4a4)
  • client-connect: This release supports adding RoutingCriteria via UpdateContactRoutingData public API. (1c86676e)
Tests
  • fix TypeScript errors in endpoints-integration.spec.ts (#6372) (61505ca8)

... (truncated)

Changelog

Sourced from @​aws-sdk/client-s3's changelog.

3.629.0 (2024-08-12)

Features

  • core/httpAuthSchemes: set configuration sources for sigv4a signingRegionSet (#6368) (03bb39f)

3.627.0 (2024-08-08)

Note: Version bump only for package @​aws-sdk/client-s3

3.626.0 (2024-08-07)

Note: Version bump only for package @​aws-sdk/client-s3

Commits

Updates `@aws-sdk/lib-storage` from 3.624.0 to 3.629.0
Release notes

Sourced from @​aws-sdk/lib-storage's releases.

v3.629.0

3.629.0(2024-08-12)

Chores
Documentation Changes
  • client-compute-optimizer: Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications (933816fb)
  • client-groundstation: Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide (aee7efd6)
New Features
  • client-medialive: AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. (4f1db8e5)
  • client-config-service: Documentation update for the OrganizationConfigRuleName regex pattern. (032e287f)
  • client-ec2: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. (6e0db432)
  • client-eks: Added support for new AL2023 GPU AMIs to the supported AMITypes. (54703e47)
  • client-sagemaker: Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas. (014f34c3)
  • core/httpAuthSchemes: set configuration sources for sigv4a signingRegionSet (#6368) (03bb39fe)
Bug Fixes
  • core/httpAuthSchemes: default sigv4aSigningRegionSet to undefined (#6375) (8cccf59c)

For list of updated packages, view updated-packages.md in assets-3.629.0.zip

v3.628.0

3.628.0(2024-08-09)

Documentation Changes
  • client-ssm: Systems Manager doc-only updates for August 2024. (236fa87b)
  • client-cognito-identity-provider: Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration. (1172284c)
New Features
  • clients: update client endpoints as of 2024-08-09 (3189a4a4)
  • client-connect: This release supports adding RoutingCriteria via UpdateContactRoutingData public API. (1c86676e)
Tests
  • fix TypeScript errors in endpoints-integration.spec.ts (#6372) (61505ca8)

... (truncated)

Changelog

Sourced from @​aws-sdk/lib-storage's changelog.

3.629.0 (2024-08-12)

Note: Version bump only for package @​aws-sdk/lib-storage

3.627.0 (2024-08-08)

Note: Version bump only for package @​aws-sdk/lib-storage

3.626.0 (2024-08-07)

Note: Version bump only for package @​aws-sdk/lib-storage

Commits

Updates `@aws-sdk/client-sqs` from 3.624.0 to 3.629.0
Release notes

Sourced from @​aws-sdk/client-sqs's releases.

v3.629.0

3.629.0(2024-08-12)

Chores
Documentation Changes
  • client-compute-optimizer: Doc only update for Compute Optimizer that fixes several customer-reported issues relating to ECS finding classifications (933816fb)
  • client-groundstation: Updating documentation for OEMEphemeris to link to AWS Ground Station User Guide (aee7efd6)
New Features
  • client-medialive: AWS Elemental MediaLive now supports now supports editing the PID values for a Multiplex. (4f1db8e5)
  • client-config-service: Documentation update for the OrganizationConfigRuleName regex pattern. (032e287f)
  • client-ec2: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation. (6e0db432)
  • client-eks: Added support for new AL2023 GPU AMIs to the supported AMITypes. (54703e47)
  • client-sagemaker: Releasing large data support as part of CreateAutoMLJobV2 in SageMaker Autopilot and CreateDomain API for SageMaker Canvas. (014f34c3)
  • core/httpAuthSchemes: set configuration sources for sigv4a signingRegionSet (#6368) (03bb39fe)
Bug Fixes
  • core/httpAuthSchemes: default sigv4aSigningRegionSet to undefined (#6375) (8cccf59c)

For list of updated packages, view updated-packages.md in assets-3.629.0.zip

v3.628.0

3.628.0(2024-08-09)

Documentation Changes
  • client-ssm: Systems Manager doc-only updates for August 2024. (236fa87b)
  • client-cognito-identity-provider: Fixed a description of AdvancedSecurityAdditionalFlows in Amazon Cognito user pool configuration. (1172284c)
New Features
  • clients: update client endpoints as of 2024-08-09 (3189a4a4)
  • client-connect: This release supports adding RoutingCriteria via UpdateContactRoutingData public API. (1c86676e)
Tests
  • fix TypeScript errors in endpoints-integration.spec.ts (#6372) (61505ca8)

... (truncated)

Changelog

Sourced from @​aws-sdk/client-sqs's changelog.

3.629.0 (2024-08-12)

Note: Version bump only for package @​aws-sdk/client-sqs

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 4 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 4 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 227 +++++++++--------- 7 files changed, 122 insertions(+), 121 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 51253139b3..e90a258116 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -37,8 +37,8 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.624.0", - "@aws-sdk/client-ssm": "^3.624.0", + "@aws-sdk/client-ec2": "^3.629.0", + "@aws-sdk/client-ssm": "^3.629.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index fa918005c2..eaea04ce8a 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -38,7 +38,7 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.624.0", + "@aws-sdk/client-ec2": "^3.629.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 08ad6598d7..d44c0270a3 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -36,8 +36,8 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-s3": "^3.624.0", - "@aws-sdk/lib-storage": "^3.624.0", + "@aws-sdk/client-s3": "^3.629.0", + "@aws-sdk/lib-storage": "^3.629.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index dd361af7ec..4ea93303f0 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -35,7 +35,7 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.624.0", + "@aws-sdk/client-ec2": "^3.629.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@terraform-aws-github-runner/aws-powertools-util": "*", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 1d9325461c..293a79c74d 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -37,7 +37,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-sqs": "^3.624.0", + "@aws-sdk/client-sqs": "^3.629.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 4515df4291..9b12090b14 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -35,7 +35,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-ssm": "^3.624.0", + "@aws-sdk/client-ssm": "^3.629.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 06f80beb9a..a9cb19fa64 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -148,16 +148,16 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/client-ec2@npm:3.624.0" +"@aws-sdk/client-ec2@npm:^3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/client-ec2@npm:3.629.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.624.0" - "@aws-sdk/client-sts": "npm:3.624.0" - "@aws-sdk/core": "npm:3.624.0" - "@aws-sdk/credential-provider-node": "npm:3.624.0" + "@aws-sdk/client-sso-oidc": "npm:3.629.0" + "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.629.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -196,21 +196,21 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/9f2ff60eafc8751a2459e27254d133078b3598cf61b12cedca4d6fd5dd4d66488ea332f8bf0293c0182ac42524d1b0bd03ce5dbefbdcd0515231ef877ca3e228 + checksum: 10c0/04c85d9e710f6efdf84e091809801ebb004fdd131eff6596ca4b9770c4a31634f2d70dfe97d3c1b8fd1e1574a56ae7297dfef1cf17339d4f6bc09d5553697fd8 languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/client-s3@npm:3.624.0" +"@aws-sdk/client-s3@npm:^3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/client-s3@npm:3.629.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.624.0" - "@aws-sdk/client-sts": "npm:3.624.0" - "@aws-sdk/core": "npm:3.624.0" - "@aws-sdk/credential-provider-node": "npm:3.624.0" + "@aws-sdk/client-sso-oidc": "npm:3.629.0" + "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.629.0" "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" "@aws-sdk/middleware-expect-continue": "npm:3.620.0" "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" @@ -218,11 +218,11 @@ __metadata: "@aws-sdk/middleware-location-constraint": "npm:3.609.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.624.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.629.0" "@aws-sdk/middleware-ssec": "npm:3.609.0" "@aws-sdk/middleware-user-agent": "npm:3.620.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.624.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.629.0" "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-endpoints": "npm:3.614.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" @@ -230,9 +230,9 @@ __metadata: "@aws-sdk/xml-builder": "npm:3.609.0" "@smithy/config-resolver": "npm:^3.0.5" "@smithy/core": "npm:^2.3.2" - "@smithy/eventstream-serde-browser": "npm:^3.0.5" + "@smithy/eventstream-serde-browser": "npm:^3.0.6" "@smithy/eventstream-serde-config-resolver": "npm:^3.0.3" - "@smithy/eventstream-serde-node": "npm:^3.0.4" + "@smithy/eventstream-serde-node": "npm:^3.0.5" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-blob-browser": "npm:^3.1.2" "@smithy/hash-node": "npm:^3.0.3" @@ -262,20 +262,20 @@ __metadata: "@smithy/util-utf8": "npm:^3.0.0" "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" - checksum: 10c0/f40bd6c9fb0d87f8e154824089f97665110b4789bfee788d7a7faa93f122add57b48eb0d2f8616b11e4501825b8040fe9ecf04929e0c75234290fc77dfa0887e + checksum: 10c0/55b36444f096d2bf4462c7ca6f5ddc78502870b34a8e113a97895303d5aa321d56926ae5c50ddca2eff1d136e70a68976c2bae59622789dd12fee40001833925 languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/client-sqs@npm:3.624.0" +"@aws-sdk/client-sqs@npm:^3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/client-sqs@npm:3.629.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.624.0" - "@aws-sdk/client-sts": "npm:3.624.0" - "@aws-sdk/core": "npm:3.624.0" - "@aws-sdk/credential-provider-node": "npm:3.624.0" + "@aws-sdk/client-sso-oidc": "npm:3.629.0" + "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.629.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -313,20 +313,20 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/fd750c80bd3aaa480c0f8329b59bf2e964af7fa6f68dbfbd0efaf8d0ebad32fad80c9833b8f60b13ad3b4d8941d94aecc3a82a793e21f9ff7b31f0389292089e + checksum: 10c0/c928d6b12ad8f382502a9b33c3e057abcc1e4615e83dc59d7da3146c51d9d643f53ddc9fbc3aa696b47de4bd4125688ac5c3a9a74e0955c2aa0b3872e918e6a6 languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/client-ssm@npm:3.624.0" +"@aws-sdk/client-ssm@npm:^3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/client-ssm@npm:3.629.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.624.0" - "@aws-sdk/client-sts": "npm:3.624.0" - "@aws-sdk/core": "npm:3.624.0" - "@aws-sdk/credential-provider-node": "npm:3.624.0" + "@aws-sdk/client-sso-oidc": "npm:3.629.0" + "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.629.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -364,18 +364,18 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/da1df3ad37c99c867b308e5c0b857c6a9660362c2db79787e705ba4ce7daffda981a0707d31c1ae6dbf998c75505db7ac0e2c0308c33476f54b0ffdfcd316983 + checksum: 10c0/45969110bd98e2662755e2f6a18c805c0108dd71bd71ed17e2504a45525391bc98bd5e946ed520a5454390d6442ed5b3f8c0e77b5cf37137c0cbc5fdd7b1cf73 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.624.0" +"@aws-sdk/client-sso-oidc@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.629.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.624.0" - "@aws-sdk/credential-provider-node": "npm:3.624.0" + "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.629.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -412,18 +412,18 @@ __metadata: "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.624.0 - checksum: 10c0/cc7dc73b69025eabf5a0f9c7a924beaf393794c2477e4e8c508bfe59f5cca71b7ca7bb01288b90237f082f7e19f850e2d797b151182006f043118f4135c814b9 + "@aws-sdk/client-sts": ^3.629.0 + checksum: 10c0/ec5396a8ec3e10cd0aee869d3301c2a10d3df54d6529753bdb5ecbab37b05b27b4c2bc6696b51b13371bdd82502d0f15649ce5709f5f7f6c0113b20140fdd41c languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/client-sso@npm:3.624.0" +"@aws-sdk/client-sso@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/client-sso@npm:3.629.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/core": "npm:3.629.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -459,19 +459,19 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/94ad5bc973407b024c2e66aafb360bac6c4056bb4ea868244bd2eddce1d2407ea66de894d14ce4211c471fe649c2a2a0315af6e4332fbea826098a0c769420da + checksum: 10c0/17687cf0210ea20395a54dda50bfdc0c931ff8b430ef315483d069036c5c05dfbdbf62cb3c33d443b3dedb6ecf6caeabbb72f9197506f3f40404bca7276d1fad languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/client-sts@npm:3.624.0" +"@aws-sdk/client-sts@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/client-sts@npm:3.629.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.624.0" - "@aws-sdk/core": "npm:3.624.0" - "@aws-sdk/credential-provider-node": "npm:3.624.0" + "@aws-sdk/client-sso-oidc": "npm:3.629.0" + "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.629.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" @@ -507,16 +507,17 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/4b7279bdc9fb8e90652d09322ffadf7897824dc69951030ea454c135c2e91f09bedd52249c39e66fa2751c8610fd0a0848693fec690e1868e7d848f08bcfa647 + checksum: 10c0/a13180ae2018f801276ad0c65dfb27fc27c762023ecdaf7e53657c58f92769ba8a413b67952e73142dcae8bec422741e459451f04bea19b807a77b3220748204 languageName: node linkType: hard -"@aws-sdk/core@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/core@npm:3.624.0" +"@aws-sdk/core@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/core@npm:3.629.0" dependencies: "@smithy/core": "npm:^2.3.2" "@smithy/node-config-provider": "npm:^3.1.4" + "@smithy/property-provider": "npm:^3.1.3" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" "@smithy/smithy-client": "npm:^3.1.12" @@ -524,7 +525,7 @@ __metadata: "@smithy/util-middleware": "npm:^3.0.3" fast-xml-parser: "npm:4.4.1" tslib: "npm:^2.6.2" - checksum: 10c0/c0c915985ee8e52c9eb1484664d6dbfc81c815f25e0c78841a29cf90a4f165f685bae7455c6f285f282387670e97e81ff36132751a4b8fff4b40ecdcd0965d8b + checksum: 10c0/2485a7074e55dd6477e3859aeb273df60c9fd87738a883a910cfeede35c15d10c27f34e6b6235227a228b2449926bed95d04f0fb8f28dfc6ce8bcd358ec196ee languageName: node linkType: hard @@ -557,14 +558,14 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.624.0" +"@aws-sdk/credential-provider-ini@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.629.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" "@aws-sdk/credential-provider-http": "npm:3.622.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.624.0" + "@aws-sdk/credential-provider-sso": "npm:3.629.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -573,20 +574,20 @@ __metadata: "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.624.0 - checksum: 10c0/d21788b622fdb4b86403af10eaf22704b9e7cd520a4dbb18cc258da6dda2c032b3235ab76834ea08c959b0cf534962cf0b8baad813e1e73cfddfb1c243a4caca + "@aws-sdk/client-sts": ^3.629.0 + checksum: 10c0/741895df4944af2f3d84198475ad0beb0bc4471f6b84c0d22513df9704ddcc3506219f2e7411f9632c105197e4aedf92fa97a37a5666e462f74b592fbeab3c3e languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.624.0" +"@aws-sdk/credential-provider-node@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.629.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" "@aws-sdk/credential-provider-http": "npm:3.622.0" - "@aws-sdk/credential-provider-ini": "npm:3.624.0" + "@aws-sdk/credential-provider-ini": "npm:3.629.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.624.0" + "@aws-sdk/credential-provider-sso": "npm:3.629.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -594,7 +595,7 @@ __metadata: "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/1f1b9fd4bb28bb042bab07b892a94dcb78f2149e6e56b5bb3138e9da29269039cc6d61c27f1a3273b63db521bb4fc5352931cbe38207d4b18b64f43538f73591 + checksum: 10c0/0c23e3562be3e64374c497e02bdef73dca7f43a487cf6f37b46a6e5380b9bc90401e541c4e338588ece1f45efd3b8eaf490e1b019f8e85fb79dbbe5a403e1b91 languageName: node linkType: hard @@ -611,18 +612,18 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.624.0" +"@aws-sdk/credential-provider-sso@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.629.0" dependencies: - "@aws-sdk/client-sso": "npm:3.624.0" + "@aws-sdk/client-sso": "npm:3.629.0" "@aws-sdk/token-providers": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/property-provider": "npm:^3.1.3" "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/454e1e1817f8c9ca1b34f6370489520a4858a9e83c4e44ea75afff334a848fa0b9042e7cc13c701ddde114abc551da29f08d6319c76a87ddd3f1d85768d04f33 + checksum: 10c0/72eddc12cc37aae8e1138e59180ea1e62490ef0da142672a122ddae80b428be9714e71e7fbab395511cddb640de030ad5dae12b5d54053ab1c48be198cb0e0b4 languageName: node linkType: hard @@ -640,9 +641,9 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/lib-storage@npm:3.624.0" +"@aws-sdk/lib-storage@npm:^3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/lib-storage@npm:3.629.0" dependencies: "@smithy/abort-controller": "npm:^3.1.1" "@smithy/middleware-endpoint": "npm:^3.1.0" @@ -652,8 +653,8 @@ __metadata: stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.624.0 - checksum: 10c0/85d0b5d75b1f64a1bbe4a47e7b8afaad547373c31a6869de4e80795909baaaaea724cfc3d4b5ebf7c8e1d3db8e61bb3c4d39c23a1a19a0cb2797616fcf4816ec + "@aws-sdk/client-s3": ^3.629.0 + checksum: 10c0/74ba80a8266db1083c13fb8f1f4a2f9ab9ec85019c570686968113805e041d38b3e7f1dd9a97b79261ca56ce433fa9f59ac212965d1faefc55cfa8576b22fa64 languageName: node linkType: hard @@ -762,11 +763,11 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.624.0" +"@aws-sdk/middleware-sdk-s3@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.629.0" dependencies: - "@aws-sdk/core": "npm:3.624.0" + "@aws-sdk/core": "npm:3.629.0" "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" "@smithy/core": "npm:^2.3.2" @@ -780,7 +781,7 @@ __metadata: "@smithy/util-stream": "npm:^3.1.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/b1301a583759b41c4385a893d2776a8fb1115fa41d070fae1673e7732d3d6b3e96785023a2006e78f0bb2b214a54e2c0a0aeee3165531336682f7c00a8f42645 + checksum: 10c0/b815c39ba84a9d5008742528970a412371df6de37c4217edb247b5679bffeebd7e62c777b6e3b6840cf1df68f1fddf37b27b7945c1adff4f1a229f95b3b0b3e6 languageName: node linkType: hard @@ -836,17 +837,17 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.624.0": - version: 3.624.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.624.0" +"@aws-sdk/signature-v4-multi-region@npm:3.629.0": + version: 3.629.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.629.0" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.624.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.629.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/cd6ee325bd7cafeab7aeb2c7bd65666d5f3137eac9164c2082e6776af2ce706be959d08e1244596a388b6ab13c9ab3448aa1c9e7b486ad00f07078e971f90b26 + checksum: 10c0/48ed70ed694d5eace065f92eba6d1bc54fc58b8d6e3d06a3c3469cdfeba3bf7d85bd56ff0ac2507aa0bc64cd4f42b45d793c64b2e6e1a562baceb362e0392004 languageName: node linkType: hard @@ -3823,14 +3824,14 @@ __metadata: languageName: node linkType: hard -"@smithy/eventstream-serde-browser@npm:^3.0.5": - version: 3.0.5 - resolution: "@smithy/eventstream-serde-browser@npm:3.0.5" +"@smithy/eventstream-serde-browser@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/eventstream-serde-browser@npm:3.0.6" dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.4" + "@smithy/eventstream-serde-universal": "npm:^3.0.5" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/de7255f22fef702cb24d92be7eaea6f1c1faeeac21e1c6d6865df77c5018045033bb66e4658cf74856d1c7f7d4ad2fbb52d3e341705a5907eeee15c0449c0fa0 + checksum: 10c0/0b70151fe310687b38bf6619992a0e1d687bd4fd3c52278581147e0962bd1fa2f4bd5bfef13711d7d03d68a73484e81e5da7f7755c0141e61b045b9c1a387d10 languageName: node linkType: hard @@ -3844,25 +3845,25 @@ __metadata: languageName: node linkType: hard -"@smithy/eventstream-serde-node@npm:^3.0.4": - version: 3.0.4 - resolution: "@smithy/eventstream-serde-node@npm:3.0.4" +"@smithy/eventstream-serde-node@npm:^3.0.5": + version: 3.0.5 + resolution: "@smithy/eventstream-serde-node@npm:3.0.5" dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.4" + "@smithy/eventstream-serde-universal": "npm:^3.0.5" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/11ff38048b1176625d4beb9ca245118aacaf867c90a94747e8cf0bb99e48c68aeedeab56c48a0238a27e35920c7074f3b6f71f8a8246a0d115962d728063a1f5 + checksum: 10c0/7f1dc63838f68b99a49051ce64f81f624d881e1ccbe363e2dcfa33709d9913fec3939e9e48f75e2e11cd7a21bcfc7b7d430d10ea1c867720e0d934b2c065b16a languageName: node linkType: hard -"@smithy/eventstream-serde-universal@npm:^3.0.4": - version: 3.0.4 - resolution: "@smithy/eventstream-serde-universal@npm:3.0.4" +"@smithy/eventstream-serde-universal@npm:^3.0.5": + version: 3.0.5 + resolution: "@smithy/eventstream-serde-universal@npm:3.0.5" dependencies: "@smithy/eventstream-codec": "npm:^3.1.2" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/99ab5f708fa4ebccea96b373395efc76b49c34ae8eb97aa33622ba82e93441a72010bb03693ec18d1517d9bb0a4a7e5c254179c22f38f411a6fecf8b3291c77f + checksum: 10c0/9d065a0fcb2de7b5d7a0ad7631949d5d972fc92e7edb66a695c61f98ab659b59e39d6375527e2a85af4a97ba4f8d998e99bd84a62ded2758c925f9fe3e4b2ab1 languageName: node linkType: hard @@ -4535,8 +4536,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" dependencies: - "@aws-sdk/client-ec2": "npm:^3.624.0" - "@aws-sdk/client-ssm": "npm:^3.624.0" + "@aws-sdk/client-ec2": "npm:^3.629.0" + "@aws-sdk/client-ssm": "npm:^3.629.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" @@ -4598,7 +4599,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: - "@aws-sdk/client-ssm": "npm:^3.624.0" + "@aws-sdk/client-ssm": "npm:^3.629.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -4627,7 +4628,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" dependencies: - "@aws-sdk/client-ec2": "npm:^3.624.0" + "@aws-sdk/client-ec2": "npm:^3.629.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.1" @@ -4666,8 +4667,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: - "@aws-sdk/client-s3": "npm:^3.624.0" - "@aws-sdk/lib-storage": "npm:^3.624.0" + "@aws-sdk/client-s3": "npm:^3.629.0" + "@aws-sdk/lib-storage": "npm:^3.629.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" @@ -4698,7 +4699,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: - "@aws-sdk/client-ec2": "npm:^3.624.0" + "@aws-sdk/client-ec2": "npm:^3.629.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" @@ -4729,7 +4730,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/webhook@workspace:functions/webhook" dependencies: - "@aws-sdk/client-sqs": "npm:^3.624.0" + "@aws-sdk/client-sqs": "npm:^3.629.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" From f9533f3423a060f232455aacaa8d4967025f6e2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:02:45 +0200 Subject: [PATCH 22/90] fix(lambda): bump the aws-powertools group in /lambdas with 3 updates (#4058) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws-powertools group in /lambdas with 3 updates: [@aws-lambda-powertools/logger](https://github.com/aws-powertools/powertools-lambda-typescript), [@aws-lambda-powertools/metrics](https://github.com/aws-powertools/powertools-lambda-typescript) and [@aws-lambda-powertools/tracer](https://github.com/aws-powertools/powertools-lambda-typescript). Updates `@aws-lambda-powertools/logger` from 2.6.0 to 2.7.0
Release notes

Sourced from @​aws-lambda-powertools/logger's releases.

v2.7.0

Summary

This release 1/ brings a new helper function to parse JSON stringified fields when using Parser, 2/ and improved Metrics, which now can emit metrics using the None unit.

⭐️ Thanks to @​daschaa for fixing Logger and making it default to :UTC when encountering an invalid time zone value.

Quickly parse JSON stringified fields

Docs

You can now parse and validate JSON stringified fields using Zod schemas without having to transform them first. This is useful when working with payloads coming from sources that stringify payloads like Amazon API Gateway, Amazon SQS, Amazon Application Load Balancer (ALB), etc.

Use the JSONStringified helper to extend your schemas or any of the built-in schemas in Parser:

carbon-2

Metrics without unit

Docs

You can now create metrics without a unit of measure, this is helpful when your business metrics are tied to an abstract concept or when none of the units supported by the Embedded metric format specification fit.

carbon-2

Changes

🌟New features and non-breaking changes

  • feat(metrics): add unit None for CloudWatch EMF Metrics (#2904) by @​am29d
  • feat(parser): add helper functions to transform JSON stringified payloads (#2901) by @​am29d

📜 Documentation updates

... (truncated)

Changelog

Sourced from @​aws-lambda-powertools/logger's changelog.

2.7.0 (2024-08-08)

Bug Fixes

  • logger: invalid time zone environment variables leads to error (#2865) (d55465f)

Features

  • metrics: add unit None for CloudWatch EMF Metrics (#2904) (fa27cba)
  • parser: add helper function to handle JSON stringified fields (#2901) (806b884)
Commits
  • 24c423c chore(ci): bump version to 2.7.0 (#2905)
  • fa27cba feat(metrics): add unit None for CloudWatch EMF Metrics (#2904)
  • 806b884 feat(parser): add helper function to handle JSON stringified fields (#2901)
  • b064408 chore(commons): extract lru-cache into commons (#2899)
  • a9d4a9c chore(deps-dev): bump lint-staged from 15.2.7 to 15.2.8 (#2885)
  • 13411dd chore(deps-dev): bump aws-sdk from 2.1667.0 to 2.1668.0 (#2890)
  • 4f7e33b chore(deps): bump the aws-cdk group across 1 directory with 2 updates (#2884)
  • b9b9ec6 chore(deps-dev): bump aws-sdk from 2.1666.0 to 2.1667.0 (#2886)
  • fae0fc9 chore(deps): bump typescript from 5.4.5 to 5.5.4 (#2820)
  • 3feba28 chore(ci): extract cached-node-modules action (#2876)
  • Additional commits viewable in compare view

Updates `@aws-lambda-powertools/metrics` from 2.6.0 to 2.7.0
Release notes

Sourced from @​aws-lambda-powertools/metrics's releases.

v2.7.0

Summary

This release 1/ brings a new helper function to parse JSON stringified fields when using Parser, 2/ and improved Metrics, which now can emit metrics using the None unit.

⭐️ Thanks to @​daschaa for fixing Logger and making it default to :UTC when encountering an invalid time zone value.

Quickly parse JSON stringified fields

Docs

You can now parse and validate JSON stringified fields using Zod schemas without having to transform them first. This is useful when working with payloads coming from sources that stringify payloads like Amazon API Gateway, Amazon SQS, Amazon Application Load Balancer (ALB), etc.

Use the JSONStringified helper to extend your schemas or any of the built-in schemas in Parser:

carbon-2

Metrics without unit

Docs

You can now create metrics without a unit of measure, this is helpful when your business metrics are tied to an abstract concept or when none of the units supported by the Embedded metric format specification fit.

carbon-2

Changes

🌟New features and non-breaking changes

  • feat(metrics): add unit None for CloudWatch EMF Metrics (#2904) by @​am29d
  • feat(parser): add helper functions to transform JSON stringified payloads (#2901) by @​am29d

📜 Documentation updates

... (truncated)

Changelog

Sourced from @​aws-lambda-powertools/metrics's changelog.

2.7.0 (2024-08-08)

Bug Fixes

  • logger: invalid time zone environment variables leads to error (#2865) (d55465f)

Features

  • metrics: add unit None for CloudWatch EMF Metrics (#2904) (fa27cba)
  • parser: add helper function to handle JSON stringified fields (#2901) (806b884)
Commits
  • 24c423c chore(ci): bump version to 2.7.0 (#2905)
  • fa27cba feat(metrics): add unit None for CloudWatch EMF Metrics (#2904)
  • 806b884 feat(parser): add helper function to handle JSON stringified fields (#2901)
  • b064408 chore(commons): extract lru-cache into commons (#2899)
  • a9d4a9c chore(deps-dev): bump lint-staged from 15.2.7 to 15.2.8 (#2885)
  • 13411dd chore(deps-dev): bump aws-sdk from 2.1667.0 to 2.1668.0 (#2890)
  • 4f7e33b chore(deps): bump the aws-cdk group across 1 directory with 2 updates (#2884)
  • b9b9ec6 chore(deps-dev): bump aws-sdk from 2.1666.0 to 2.1667.0 (#2886)
  • fae0fc9 chore(deps): bump typescript from 5.4.5 to 5.5.4 (#2820)
  • 3feba28 chore(ci): extract cached-node-modules action (#2876)
  • Additional commits viewable in compare view

Updates `@aws-lambda-powertools/tracer` from 2.6.0 to 2.7.0
Release notes

Sourced from @​aws-lambda-powertools/tracer's releases.

v2.7.0

Summary

This release 1/ brings a new helper function to parse JSON stringified fields when using Parser, 2/ and improved Metrics, which now can emit metrics using the None unit.

⭐️ Thanks to @​daschaa for fixing Logger and making it default to :UTC when encountering an invalid time zone value.

Quickly parse JSON stringified fields

Docs

You can now parse and validate JSON stringified fields using Zod schemas without having to transform them first. This is useful when working with payloads coming from sources that stringify payloads like Amazon API Gateway, Amazon SQS, Amazon Application Load Balancer (ALB), etc.

Use the JSONStringified helper to extend your schemas or any of the built-in schemas in Parser:

carbon-2

Metrics without unit

Docs

You can now create metrics without a unit of measure, this is helpful when your business metrics are tied to an abstract concept or when none of the units supported by the Embedded metric format specification fit.

carbon-2

Changes

🌟New features and non-breaking changes

  • feat(metrics): add unit None for CloudWatch EMF Metrics (#2904) by @​am29d
  • feat(parser): add helper functions to transform JSON stringified payloads (#2901) by @​am29d

📜 Documentation updates

... (truncated)

Changelog

Sourced from @​aws-lambda-powertools/tracer's changelog.

2.7.0 (2024-08-08)

Bug Fixes

  • logger: invalid time zone environment variables leads to error (#2865) (d55465f)

Features

  • metrics: add unit None for CloudWatch EMF Metrics (#2904) (fa27cba)
  • parser: add helper function to handle JSON stringified fields (#2901) (806b884)
Commits
  • 24c423c chore(ci): bump version to 2.7.0 (#2905)
  • fa27cba feat(metrics): add unit None for CloudWatch EMF Metrics (#2904)
  • 806b884 feat(parser): add helper function to handle JSON stringified fields (#2901)
  • b064408 chore(commons): extract lru-cache into commons (#2899)
  • a9d4a9c chore(deps-dev): bump lint-staged from 15.2.7 to 15.2.8 (#2885)
  • 13411dd chore(deps-dev): bump aws-sdk from 2.1667.0 to 2.1668.0 (#2890)
  • 4f7e33b chore(deps): bump the aws-cdk group across 1 directory with 2 updates (#2884)
  • b9b9ec6 chore(deps-dev): bump aws-sdk from 2.1666.0 to 2.1667.0 (#2886)
  • fae0fc9 chore(deps): bump typescript from 5.4.5 to 5.5.4 (#2820)
  • 3feba28 chore(ci): extract cached-node-modules action (#2876)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/libs/aws-powertools-util/package.json | 6 +-- lambdas/yarn.lock | 44 +++++++++---------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 134eb8eceb..f2eb3639c3 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -35,9 +35,9 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-lambda-powertools/logger": "^2.6.0", - "@aws-lambda-powertools/metrics": "^2.6.0", - "@aws-lambda-powertools/tracer": "^2.6.0", + "@aws-lambda-powertools/logger": "^2.7.0", + "@aws-lambda-powertools/metrics": "^2.7.0", + "@aws-lambda-powertools/tracer": "^2.7.0", "aws-lambda": "^1.0.7" }, "nx": { diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index a9cb19fa64..923dae1634 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -97,54 +97,54 @@ __metadata: languageName: node linkType: hard -"@aws-lambda-powertools/commons@npm:^2.6.0": - version: 2.6.0 - resolution: "@aws-lambda-powertools/commons@npm:2.6.0" - checksum: 10c0/e236e5d02b66b824916bb7626008ebf4e884b517afb4ef79caea58e58bbb61455e17f5b95522c21784372de2912d05c7cc69001d9009bad3057f6ec7cf005aab +"@aws-lambda-powertools/commons@npm:^2.7.0": + version: 2.7.0 + resolution: "@aws-lambda-powertools/commons@npm:2.7.0" + checksum: 10c0/21048f529739148203112cadd5cd6f2b3e628ba3f393a21a8e55e27e61e64e5ab2edb68984e44a3e3b4746463ef092b39c1a207baebfe8dac77d7e65a7867850 languageName: node linkType: hard -"@aws-lambda-powertools/logger@npm:^2.6.0": - version: 2.6.0 - resolution: "@aws-lambda-powertools/logger@npm:2.6.0" +"@aws-lambda-powertools/logger@npm:^2.7.0": + version: 2.7.0 + resolution: "@aws-lambda-powertools/logger@npm:2.7.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^2.6.0" + "@aws-lambda-powertools/commons": "npm:^2.7.0" lodash.merge: "npm:^4.6.2" peerDependencies: "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/b6f89363d8f635fd8429f156e02c9eb0e8f2cfbe37cc774075262666e9a67f91af84a5a28fcb34197616e3fb85f62243746381a61b3a638169401307f18e84e6 + checksum: 10c0/c63946976f8ae6c220fcb94a979d9854f394d42d2d332f1f31c2f37bcaec6ccd263e9fe818d75a4d11a0d06f16d4c194c84c6fee7e2d8b5322f0291b5eb6686d languageName: node linkType: hard -"@aws-lambda-powertools/metrics@npm:^2.6.0": - version: 2.6.0 - resolution: "@aws-lambda-powertools/metrics@npm:2.6.0" +"@aws-lambda-powertools/metrics@npm:^2.7.0": + version: 2.7.0 + resolution: "@aws-lambda-powertools/metrics@npm:2.7.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^2.6.0" + "@aws-lambda-powertools/commons": "npm:^2.7.0" peerDependencies: "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/270913878d7e6703c47414fa22af15463814cd971eeeb32fc673d1e24f72dce950e5879f10c190286d7ea8dbe82d5de82b901bf49faf3bc1da5e2c6f52ca124e + checksum: 10c0/163cc5cc5b12777ff65f36273a69ae1304784eba797ebe247e382f0dbacca5a9b187fd79e9526a3ca911cd4f17a8f925db9f631de996f53784baf7d69a30c8af languageName: node linkType: hard -"@aws-lambda-powertools/tracer@npm:^2.6.0": - version: 2.6.0 - resolution: "@aws-lambda-powertools/tracer@npm:2.6.0" +"@aws-lambda-powertools/tracer@npm:^2.7.0": + version: 2.7.0 + resolution: "@aws-lambda-powertools/tracer@npm:2.7.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^2.6.0" + "@aws-lambda-powertools/commons": "npm:^2.7.0" aws-xray-sdk-core: "npm:^3.9.0" peerDependencies: "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/e3e5c2fa47a9784c4e99f5e72498756d30895215237bf9fa4b24db98522510144710264b317bd01c2f8bba52b631d9bc6de00347b4ea5e47f9f8e328debbb616 + checksum: 10c0/67927edd4375cd473fe8a9079faaa37f591ae3c8fb5f58c70213907c2bb9e22a5ee80040300e29c3b3a8848fe49d3cc035825bc6cf23a002e02d74bddae84b9b languageName: node linkType: hard @@ -4569,9 +4569,9 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util" dependencies: - "@aws-lambda-powertools/logger": "npm:^2.6.0" - "@aws-lambda-powertools/metrics": "npm:^2.6.0" - "@aws-lambda-powertools/tracer": "npm:^2.6.0" + "@aws-lambda-powertools/logger": "npm:^2.7.0" + "@aws-lambda-powertools/metrics": "npm:^2.7.0" + "@aws-lambda-powertools/tracer": "npm:^2.7.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" From 7b911b2ea7ef70c99236e77e2122ef9833d327cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:06:47 +0200 Subject: [PATCH 23/90] chore(lambda): bump @nx/eslint from 19.5.6 to 19.5.7 in /lambdas (#4060) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@nx/eslint](https://github.com/nrwl/nx/tree/HEAD/packages/eslint) from 19.5.6 to 19.5.7.
Release notes

Sourced from @​nx/eslint's releases.

19.5.7 (2024-08-07)

🚀 Features

  • core: add nx-console installation source to nx connect (#27307)

🩹 Fixes

  • core: remove additional quotes around cache path while pruning (#27273)
  • core: move token generation into new (#27266)
  • core: script-based targets should be able to be modified in a project.json file (#27309)
  • core: don't cache full dependency configuration when expanding target name (#27308)
  • core: allow configuring plugin message timeout (#27315)
  • js: locate npm nodes correctly for aliased packages (#27124)
  • misc: fix cloud setup (#27281)
  • misc: end ab testing for onboarding message (#27316)
  • misc: track which CI providers being used (#27320)
  • nx-cloud: fix connect generator (#27314)
  • nx-dev: Turn off next.js cache for careers api (#27275)
  • nx-dev: clean up heading text (#27205)

❤️ Thank You

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@nx/eslint&package-manager=npm_and_yarn&previous-version=19.5.6&new-version=19.5.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/package.json | 2 +- lambdas/yarn.lock | 296 +++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 284 insertions(+), 14 deletions(-) diff --git a/lambdas/package.json b/lambdas/package.json index aaa2b8257a..2514e3566c 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -21,7 +21,7 @@ "@octokit/types": "^13.0.0" }, "devDependencies": { - "@nx/eslint": "19.5.6", + "@nx/eslint": "19.5.7", "@nx/jest": "19.5.4", "@nx/js": "^19.5.4", "@swc-node/register": "~1.10.9", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 923dae1634..450fc934d2 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -2922,6 +2922,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/devkit@npm:19.5.7": + version: 19.5.7 + resolution: "@nrwl/devkit@npm:19.5.7" + dependencies: + "@nx/devkit": "npm:19.5.7" + checksum: 10c0/573ac8116f444ea2a8f60edd0ce3dc6fb5d937a34ef1d308a68abd56f6b620aa12339f63d3e3af567031de5b4ae1988307be56ea7b744df4b724af30bfc4d6ea + languageName: node + linkType: hard + "@nrwl/jest@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/jest@npm:19.5.4" @@ -2949,6 +2958,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/js@npm:19.5.7": + version: 19.5.7 + resolution: "@nrwl/js@npm:19.5.7" + dependencies: + "@nx/js": "npm:19.5.7" + checksum: 10c0/7c8f225cde8872b2c564e93ac10a5aadfc1592ef35dfb7565b2398776b0fc9592b59d20c663661624929ad13735e31891c6f0edef0779cd38fcf2c9c4b8e7b21 + languageName: node + linkType: hard + "@nrwl/tao@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/tao@npm:19.5.4" @@ -2973,6 +2991,18 @@ __metadata: languageName: node linkType: hard +"@nrwl/tao@npm:19.5.7": + version: 19.5.7 + resolution: "@nrwl/tao@npm:19.5.7" + dependencies: + nx: "npm:19.5.7" + tslib: "npm:^2.3.0" + bin: + tao: index.js + checksum: 10c0/4a86e121688728cd78a41fbfada3248ae77e172bf2f7c63d06fecb9fb76972c13702beaf552d298130d8a2fdff17350b688ca62976ef11ee9169891d05329002 + languageName: node + linkType: hard + "@nrwl/workspace@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/workspace@npm:19.5.4" @@ -2991,6 +3021,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/workspace@npm:19.5.7": + version: 19.5.7 + resolution: "@nrwl/workspace@npm:19.5.7" + dependencies: + "@nx/workspace": "npm:19.5.7" + checksum: 10c0/9e048843d22767273c1d8a3f9c60a6219a36de8839ec517e32d9bf680d3ddf1e1d00f952b18de2e3ee5136c11b99c67f728908d507e49dc0b161ad7eaf7507aa + languageName: node + linkType: hard + "@nx/devkit@npm:19.5.4": version: 19.5.4 resolution: "@nx/devkit@npm:19.5.4" @@ -3029,13 +3068,32 @@ __metadata: languageName: node linkType: hard -"@nx/eslint@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/eslint@npm:19.5.6" +"@nx/devkit@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/devkit@npm:19.5.7" dependencies: - "@nx/devkit": "npm:19.5.6" - "@nx/js": "npm:19.5.6" - "@nx/linter": "npm:19.5.6" + "@nrwl/devkit": "npm:19.5.7" + ejs: "npm:^3.1.7" + enquirer: "npm:~2.3.6" + ignore: "npm:^5.0.4" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.3" + tmp: "npm:~0.2.1" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + peerDependencies: + nx: ">= 17 <= 20" + checksum: 10c0/a80c363f0afd8e43763299d8b3723d850833fa7b8c2e3922df363a4dc401f495b82d57dfffb052843c62b308a73930b1b8123c941f0d557e1daff273004873e7 + languageName: node + linkType: hard + +"@nx/eslint@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/eslint@npm:19.5.7" + dependencies: + "@nx/devkit": "npm:19.5.7" + "@nx/js": "npm:19.5.7" + "@nx/linter": "npm:19.5.7" semver: "npm:^7.5.3" tslib: "npm:^2.3.0" typescript: "npm:~5.4.2" @@ -3045,7 +3103,7 @@ __metadata: peerDependenciesMeta: "@zkochan/js-yaml": optional: true - checksum: 10c0/e28b02a9dcef255d30f47b8d36582c3cf0448ac5374af91ae6a9819bb5566408c9a51977c461a2e6702a3bd9fec77b59f1d4b0d1b2b173619bfb6a6a92eb17fe + checksum: 10c0/977f32ff023d1fd06139c3b3a3df31c7a63b9f10ca76ebc9ba2e1404bd4768be88d6f7f7ad469797389fbb3dc754ac5099ebb55a2478c1262ec2e3ff3bbddc9f languageName: node linkType: hard @@ -3156,12 +3214,54 @@ __metadata: languageName: node linkType: hard -"@nx/linter@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/linter@npm:19.5.6" +"@nx/js@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/js@npm:19.5.7" dependencies: - "@nx/eslint": "npm:19.5.6" - checksum: 10c0/31730963b06d66e462d815f382146d2869e3d8d28535688c2c85e5282cc4b71e1724586de527456bbf7d79c9a7fba5a250e2c0ab7478cbc5327df1b5a76eca96 + "@babel/core": "npm:^7.23.2" + "@babel/plugin-proposal-decorators": "npm:^7.22.7" + "@babel/plugin-transform-class-properties": "npm:^7.22.5" + "@babel/plugin-transform-runtime": "npm:^7.23.2" + "@babel/preset-env": "npm:^7.23.2" + "@babel/preset-typescript": "npm:^7.22.5" + "@babel/runtime": "npm:^7.22.6" + "@nrwl/js": "npm:19.5.7" + "@nx/devkit": "npm:19.5.7" + "@nx/workspace": "npm:19.5.7" + babel-plugin-const-enum: "npm:^1.0.1" + babel-plugin-macros: "npm:^2.8.0" + babel-plugin-transform-typescript-metadata: "npm:^0.3.1" + chalk: "npm:^4.1.0" + columnify: "npm:^1.6.0" + detect-port: "npm:^1.5.1" + fast-glob: "npm:3.2.7" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + js-tokens: "npm:^4.0.0" + minimatch: "npm:9.0.3" + npm-package-arg: "npm:11.0.1" + npm-run-path: "npm:^4.0.1" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + source-map-support: "npm:0.5.19" + ts-node: "npm:10.9.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + peerDependencies: + verdaccio: ^5.0.4 + peerDependenciesMeta: + verdaccio: + optional: true + checksum: 10c0/18c60958e66de619feb475bbde18ec2b02f1d58f138246eec35288c7523cd3a9d34edf111f8498ac49618b99ebef27fde0e8e0700bdd1687152907359fbf62ce + languageName: node + linkType: hard + +"@nx/linter@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/linter@npm:19.5.7" + dependencies: + "@nx/eslint": "npm:19.5.7" + checksum: 10c0/e91300243d2069d5ba07e186f6cb5616bcc46e5ed3e7cbfe99ba40bdaea607e257ada03587a2fb5a81006681d4cd3f120dff84340334fc314b4bab4cba061ae5 languageName: node linkType: hard @@ -3179,6 +3279,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-darwin-arm64@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-darwin-arm64@npm:19.5.7" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@nx/nx-darwin-x64@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-darwin-x64@npm:19.5.4" @@ -3193,6 +3300,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-darwin-x64@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-darwin-x64@npm:19.5.7" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@nx/nx-freebsd-x64@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-freebsd-x64@npm:19.5.4" @@ -3207,6 +3321,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-freebsd-x64@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-freebsd-x64@npm:19.5.7" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@nx/nx-linux-arm-gnueabihf@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.4" @@ -3221,6 +3342,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm-gnueabihf@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.7" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@nx/nx-linux-arm64-gnu@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.4" @@ -3235,6 +3363,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm64-gnu@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.7" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@nx/nx-linux-arm64-musl@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm64-musl@npm:19.5.4" @@ -3249,6 +3384,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm64-musl@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-linux-arm64-musl@npm:19.5.7" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@nx/nx-linux-x64-gnu@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-x64-gnu@npm:19.5.4" @@ -3263,6 +3405,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-x64-gnu@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-linux-x64-gnu@npm:19.5.7" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@nx/nx-linux-x64-musl@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-x64-musl@npm:19.5.4" @@ -3277,6 +3426,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-x64-musl@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-linux-x64-musl@npm:19.5.7" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@nx/nx-win32-arm64-msvc@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.4" @@ -3291,6 +3447,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-win32-arm64-msvc@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.7" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@nx/nx-win32-x64-msvc@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-win32-x64-msvc@npm:19.5.4" @@ -3305,6 +3468,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-win32-x64-msvc@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/nx-win32-x64-msvc@npm:19.5.7" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@nx/workspace@npm:19.5.4": version: 19.5.4 resolution: "@nx/workspace@npm:19.5.4" @@ -3335,6 +3505,21 @@ __metadata: languageName: node linkType: hard +"@nx/workspace@npm:19.5.7": + version: 19.5.7 + resolution: "@nx/workspace@npm:19.5.7" + dependencies: + "@nrwl/workspace": "npm:19.5.7" + "@nx/devkit": "npm:19.5.7" + chalk: "npm:^4.1.0" + enquirer: "npm:~2.3.6" + nx: "npm:19.5.7" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + checksum: 10c0/142f0718ff34490db661d059fbcc90519eed5ad146b471fcda96a91f15c96cec3d268e42bed9223cd5bb0704b0948486dc8f0c08457cbcb943c6ead26b0de30d + languageName: node + linkType: hard + "@octokit/auth-app@npm:6.1.1": version: 6.1.1 resolution: "@octokit/auth-app@npm:6.1.1" @@ -8493,7 +8678,7 @@ __metadata: version: 0.0.0-use.local resolution: "lambdas@workspace:." dependencies: - "@nx/eslint": "npm:19.5.6" + "@nx/eslint": "npm:19.5.7" "@nx/jest": "npm:19.5.4" "@nx/js": "npm:^19.5.4" "@swc-node/register": "npm:~1.10.9" @@ -9256,6 +9441,91 @@ __metadata: languageName: node linkType: hard +"nx@npm:19.5.7": + version: 19.5.7 + resolution: "nx@npm:19.5.7" + dependencies: + "@napi-rs/wasm-runtime": "npm:0.2.4" + "@nrwl/tao": "npm:19.5.7" + "@nx/nx-darwin-arm64": "npm:19.5.7" + "@nx/nx-darwin-x64": "npm:19.5.7" + "@nx/nx-freebsd-x64": "npm:19.5.7" + "@nx/nx-linux-arm-gnueabihf": "npm:19.5.7" + "@nx/nx-linux-arm64-gnu": "npm:19.5.7" + "@nx/nx-linux-arm64-musl": "npm:19.5.7" + "@nx/nx-linux-x64-gnu": "npm:19.5.7" + "@nx/nx-linux-x64-musl": "npm:19.5.7" + "@nx/nx-win32-arm64-msvc": "npm:19.5.7" + "@nx/nx-win32-x64-msvc": "npm:19.5.7" + "@yarnpkg/lockfile": "npm:^1.1.0" + "@yarnpkg/parsers": "npm:3.0.0-rc.46" + "@zkochan/js-yaml": "npm:0.0.7" + axios: "npm:^1.7.2" + chalk: "npm:^4.1.0" + cli-cursor: "npm:3.1.0" + cli-spinners: "npm:2.6.1" + cliui: "npm:^8.0.1" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + enquirer: "npm:~2.3.6" + figures: "npm:3.2.0" + flat: "npm:^5.0.2" + front-matter: "npm:^4.0.2" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + jest-diff: "npm:^29.4.1" + jsonc-parser: "npm:3.2.0" + lines-and-columns: "npm:~2.0.3" + minimatch: "npm:9.0.3" + node-machine-id: "npm:1.1.12" + npm-run-path: "npm:^4.0.1" + open: "npm:^8.4.0" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + string-width: "npm:^4.2.3" + strong-log-transformer: "npm:^2.1.0" + tar-stream: "npm:~2.2.0" + tmp: "npm:~0.2.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + yargs: "npm:^17.6.2" + yargs-parser: "npm:21.1.1" + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + dependenciesMeta: + "@nx/nx-darwin-arm64": + optional: true + "@nx/nx-darwin-x64": + optional: true + "@nx/nx-freebsd-x64": + optional: true + "@nx/nx-linux-arm-gnueabihf": + optional: true + "@nx/nx-linux-arm64-gnu": + optional: true + "@nx/nx-linux-arm64-musl": + optional: true + "@nx/nx-linux-x64-gnu": + optional: true + "@nx/nx-linux-x64-musl": + optional: true + "@nx/nx-win32-arm64-msvc": + optional: true + "@nx/nx-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + nx-cloud: bin/nx-cloud.js + checksum: 10c0/4d805c63021ee7b23ff97911cf1ee76f381d15893e8efdbe0b082590a85e6958e8a192bf7e90a1f90224a04b4a0abf8dabf4221e94d1c7e32c937f438d3eb512 + languageName: node + linkType: hard + "object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" From 984758419d6ce91317ecc6ede02e1d539a2057ad Mon Sep 17 00:00:00 2001 From: Kristof Wevers Date: Thu, 15 Aug 2024 12:02:10 +0200 Subject: [PATCH 24/90] docs: Correct multi-runner var description (#4055) `enable_runner_on_demand_failover_for_errors` isn't defined as an attribute for the var and isn't referenced anywhere either. --- modules/multi-runner/variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/multi-runner/variables.tf b/modules/multi-runner/variables.tf index b44731f382..00ed56c6ce 100644 --- a/modules/multi-runner/variables.tf +++ b/modules/multi-runner/variables.tf @@ -141,7 +141,7 @@ variable "multi_runner_config" { ebs_optimized: "The EC2 EBS optimized configuration." enable_ephemeral_runners: "Enable ephemeral runners, runners will only be used once." enable_job_queued_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners." - enable_runner_on_demand_failover_for_errors "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later." + enable_on_demand_failover_for_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later." enable_organization_runners: "Register runners to organization, instead of repo level" enable_runner_binaries_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI." enable_ssm_on_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances." From b0078172b1e791cc7909bb20139595917f11ec17 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 14:50:00 +0200 Subject: [PATCH 25/90] docs: Update Terraform docs (#4067) Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action Co-authored-by: npalm <11609620+npalm@users.noreply.github.com> --- modules/multi-runner/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/multi-runner/README.md b/modules/multi-runner/README.md index a8db4599bc..164d375d13 100644 --- a/modules/multi-runner/README.md +++ b/modules/multi-runner/README.md @@ -150,7 +150,7 @@ module "multi-runner" { | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | | [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `"GitHub Runners"` | no | -| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
runner\_config: {
runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
runner\_architecture: "The platform architecture of the runner instance\_type."
runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
ebs\_optimized: "The EC2 EBS optimized configuration."
enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
enable\_runner\_on\_demand\_failover\_for\_errors "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
enable\_organization\_runners: "Register runners to organization, instead of repo level"
enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
runner\_group\_name: "Name of the runner group."
runner\_name\_prefix: "Prefix for the GitHub runner name."
runner\_run\_as: "Run the GitHub actions agent as user."
runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1."
}
matcherConfig: {
labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
}
fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
} |
map(object({
runner_config = object({
runner_os = string
runner_architecture = string
runner_metadata_options = optional(map(any), {
instance_metadata_tags = "enabled"
http_endpoint = "enabled"
http_tokens = "required"
http_put_response_hop_limit = 1
})
ami_filter = optional(map(list(string)), { state = ["available"] })
ami_owners = optional(list(string), ["amazon"])
ami_id_ssm_parameter_name = optional(string, null)
ami_kms_key_arn = optional(string, "")
create_service_linked_role_spot = optional(bool, false)
credit_specification = optional(string, null)
delay_webhook_event = optional(number, 30)
disable_runner_autoupdate = optional(bool, false)
ebs_optimized = optional(bool, false)
enable_ephemeral_runners = optional(bool, false)
enable_job_queued_check = optional(bool, null)
enable_on_demand_failover_for_errors = optional(list(string), [])
enable_organization_runners = optional(bool, false)
enable_runner_binaries_syncer = optional(bool, true)
enable_ssm_on_runners = optional(bool, false)
enable_userdata = optional(bool, true)
instance_allocation_strategy = optional(string, "lowest-price")
instance_max_spot_price = optional(string, null)
instance_target_capacity_type = optional(string, "spot")
instance_types = list(string)
job_queue_retention_in_seconds = optional(number, 86400)
minimum_running_time_in_minutes = optional(number, null)
pool_runner_owner = optional(string, null)
runner_as_root = optional(bool, false)
runner_boot_time_in_minutes = optional(number, 5)
runner_extra_labels = optional(list(string), [])
runner_group_name = optional(string, "Default")
runner_name_prefix = optional(string, "")
runner_run_as = optional(string, "ec2-user")
runners_maximum_count = number
runner_additional_security_group_ids = optional(list(string), [])
scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
scale_up_reserved_concurrent_executions = optional(number, 1)
userdata_template = optional(string, null)
userdata_content = optional(string, null)
enable_jit_config = optional(bool, null)
enable_runner_detailed_monitoring = optional(bool, false)
enable_cloudwatch_agent = optional(bool, true)
cloudwatch_config = optional(string, null)
userdata_pre_install = optional(string, "")
userdata_post_install = optional(string, "")
runner_ec2_tags = optional(map(string), {})
runner_iam_role_managed_policy_arns = optional(list(string), [])
vpc_id = optional(string, null)
subnet_ids = optional(list(string), null)
idle_config = optional(list(object({
cron = string
timeZone = string
idleCount = number
evictionStrategy = optional(string, "oldest_first")
})), [])
runner_log_files = optional(list(object({
log_group_name = string
prefix_log_group = bool
file_path = string
log_stream_name = string
})), null)
block_device_mappings = optional(list(object({
delete_on_termination = optional(bool, true)
device_name = optional(string, "/dev/xvda")
encrypted = optional(bool, true)
iops = optional(number)
kms_key_id = optional(string)
snapshot_id = optional(string)
throughput = optional(number)
volume_size = number
volume_type = optional(string, "gp3")
})), [{
volume_size = 30
}])
pool_config = optional(list(object({
schedule_expression = string
size = number
})), [])
})

matcherConfig = object({
labelMatchers = list(list(string))
exactMatch = optional(bool, false)
priority = optional(number, 999)
})
fifo = optional(bool, false)
redrive_build_queue = optional(object({
enabled = bool
maxReceiveCount = number
}), {
enabled = false
maxReceiveCount = null
})
}))
| n/a | yes | +| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
runner\_config: {
runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
runner\_architecture: "The platform architecture of the runner instance\_type."
runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
ebs\_optimized: "The EC2 EBS optimized configuration."
enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
enable\_organization\_runners: "Register runners to organization, instead of repo level"
enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
runner\_group\_name: "Name of the runner group."
runner\_name\_prefix: "Prefix for the GitHub runner name."
runner\_run\_as: "Run the GitHub actions agent as user."
runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1."
}
matcherConfig: {
labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
}
fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
} |
map(object({
runner_config = object({
runner_os = string
runner_architecture = string
runner_metadata_options = optional(map(any), {
instance_metadata_tags = "enabled"
http_endpoint = "enabled"
http_tokens = "required"
http_put_response_hop_limit = 1
})
ami_filter = optional(map(list(string)), { state = ["available"] })
ami_owners = optional(list(string), ["amazon"])
ami_id_ssm_parameter_name = optional(string, null)
ami_kms_key_arn = optional(string, "")
create_service_linked_role_spot = optional(bool, false)
credit_specification = optional(string, null)
delay_webhook_event = optional(number, 30)
disable_runner_autoupdate = optional(bool, false)
ebs_optimized = optional(bool, false)
enable_ephemeral_runners = optional(bool, false)
enable_job_queued_check = optional(bool, null)
enable_on_demand_failover_for_errors = optional(list(string), [])
enable_organization_runners = optional(bool, false)
enable_runner_binaries_syncer = optional(bool, true)
enable_ssm_on_runners = optional(bool, false)
enable_userdata = optional(bool, true)
instance_allocation_strategy = optional(string, "lowest-price")
instance_max_spot_price = optional(string, null)
instance_target_capacity_type = optional(string, "spot")
instance_types = list(string)
job_queue_retention_in_seconds = optional(number, 86400)
minimum_running_time_in_minutes = optional(number, null)
pool_runner_owner = optional(string, null)
runner_as_root = optional(bool, false)
runner_boot_time_in_minutes = optional(number, 5)
runner_extra_labels = optional(list(string), [])
runner_group_name = optional(string, "Default")
runner_name_prefix = optional(string, "")
runner_run_as = optional(string, "ec2-user")
runners_maximum_count = number
runner_additional_security_group_ids = optional(list(string), [])
scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
scale_up_reserved_concurrent_executions = optional(number, 1)
userdata_template = optional(string, null)
userdata_content = optional(string, null)
enable_jit_config = optional(bool, null)
enable_runner_detailed_monitoring = optional(bool, false)
enable_cloudwatch_agent = optional(bool, true)
cloudwatch_config = optional(string, null)
userdata_pre_install = optional(string, "")
userdata_post_install = optional(string, "")
runner_ec2_tags = optional(map(string), {})
runner_iam_role_managed_policy_arns = optional(list(string), [])
vpc_id = optional(string, null)
subnet_ids = optional(list(string), null)
idle_config = optional(list(object({
cron = string
timeZone = string
idleCount = number
evictionStrategy = optional(string, "oldest_first")
})), [])
runner_log_files = optional(list(object({
log_group_name = string
prefix_log_group = bool
file_path = string
log_stream_name = string
})), null)
block_device_mappings = optional(list(object({
delete_on_termination = optional(bool, true)
device_name = optional(string, "/dev/xvda")
encrypted = optional(bool, true)
iops = optional(number)
kms_key_id = optional(string)
snapshot_id = optional(string)
throughput = optional(number)
volume_size = number
volume_type = optional(string, "gp3")
})), [{
volume_size = 30
}])
pool_config = optional(list(object({
schedule_expression = string
size = number
})), [])
})

matcherConfig = object({
labelMatchers = list(list(string))
exactMatch = optional(bool, false)
priority = optional(number, 999)
})
fifo = optional(bool, false)
redrive_build_queue = optional(object({
enabled = bool
maxReceiveCount = number
}), {
enabled = false
maxReceiveCount = null
})
}))
| n/a | yes | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | | [prefix](#input\_prefix) | The prefix used for naming resources | `string` | `"github-actions"` | no | From 01c15153433a5d6ce591d2b47c5d49e341de99f7 Mon Sep 17 00:00:00 2001 From: Jay Anslow Date: Thu, 15 Aug 2024 13:50:38 +0100 Subject: [PATCH 26/90] docs: Remove outdated instruction from contribution guide (#4065) The process of updating the Terraform module documentation is now run on the `main` branch ([example](https://github.com/philips-labs/terraform-aws-github-runner/pull/3919)), so it no longer needs to be run on forked repositories (it also requires credentials for the GitHub App). As per @npalm's [comment](https://github.com/philips-labs/terraform-aws-github-runner/pull/4063#issuecomment-2286734539), I'm removing this reference, to prevent any confusion for new contributors. --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7122f7d930..abad549adc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -71,7 +71,6 @@ Before you submit your pull request consider the following guidelines: terraform init ``` -* For updating docs, you have to enable GitHub actions on your forked repository. Simply go to the tab Actions and enable actions. * Commit your changes using a descriptive commit message: ```shell From 98b1560f86bb609110bfdbf3607eb19f23beab0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Gon=C3=A7alves?= Date: Fri, 16 Aug 2024 09:47:54 +0200 Subject: [PATCH 27/90] fix(lambda): Prevent scale-up lambda from starting runner for user repo if org level runners is enabled (#3909) We run a setup where we only have "Org Level Runners" (`enable_organization_runners: true`). When creating an action job in a repository that does not belong to an Organization (User level repository), that ScaleUp lambda will happily create a new VM for it. Well, this new VM in turn, will never be able to register itself in GitHub because it cannot register itself as a "Org Level Runner" as such concept does not exist at the user level. This VM will then become a "zombie" VM and will also cause issues with the ScaleDown lambda (described in `ToBeCreatedIssue`). In this PR, we will pass the "Repo Owner Type" all the way from the Webhook lambda to the ScaleUp lambda (by adding a new field in the SQS payload). Then, the ScaleUp lambda can decide to drop the request if the "Repo Owner Type" is not of the type `Organization` and `enable_organization_runners` is set to `true`. --------- Co-authored-by: Niek Palm Co-authored-by: Stuart Pearson <1926002+stuartp44@users.noreply.github.com> --- .../functions/control-plane/src/lambda.test.ts | 1 + .../src/scale-runners/scale-up.test.ts | 10 ++++++++++ .../control-plane/src/scale-runners/scale-up.ts | 15 +++++++++++++++ lambdas/functions/webhook/src/sqs/index.test.ts | 1 + lambdas/functions/webhook/src/sqs/index.ts | 1 + .../functions/webhook/src/webhook/index.test.ts | 3 +++ lambdas/functions/webhook/src/webhook/index.ts | 1 + 7 files changed, 32 insertions(+) diff --git a/lambdas/functions/control-plane/src/lambda.test.ts b/lambdas/functions/control-plane/src/lambda.test.ts index f4d28ccd79..ab87a5c968 100644 --- a/lambdas/functions/control-plane/src/lambda.test.ts +++ b/lambdas/functions/control-plane/src/lambda.test.ts @@ -15,6 +15,7 @@ const body: ActionRequestMessage = { installationId: 1, repositoryName: 'name', repositoryOwner: 'owner', + repoOwnerType: 'Organization', }; const sqsRecord: SQSRecord = { diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts index f14319a3b6..1382052baf 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts @@ -53,6 +53,7 @@ const TEST_DATA: scaleUpModule.ActionRequestMessage = { repositoryName: 'hello-world', repositoryOwner: 'Codertocat', installationId: 2, + repoOwnerType: 'Organization', }; // installationId 0 means no installationId is set. @@ -62,6 +63,7 @@ const TEST_DATA_WITH_ZERO_INSTALL_ID: scaleUpModule.ActionRequestMessage = { repositoryName: 'hello-world', repositoryOwner: 'Codertocat', installationId: 0, + repoOwnerType: 'Organization', }; const cleanEnv = process.env; @@ -305,6 +307,14 @@ describe('scaleUp with GHES', () => { expect(mockOctokit.paginate).toHaveBeenCalledTimes(1); }); + it('Discards event if it is a User repo and org level runners is enabled', async () => { + process.env.ENABLE_ORGANIZATION_RUNNERS = 'true'; + const USER_REPO_TEST_DATA = { ...TEST_DATA }; + USER_REPO_TEST_DATA.repoOwnerType = 'User'; + await scaleUpModule.scaleUp('aws:sqs', USER_REPO_TEST_DATA); + expect(createRunner).not.toHaveBeenCalled(); + }); + it('create SSM parameter for runner group id if it doesnt exist', async () => { mockSSMClient.on(GetParameterCommand).rejects(); await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts index c4a841ab28..26cb538445 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts @@ -27,6 +27,7 @@ export interface ActionRequestMessage { repositoryName: string; repositoryOwner: string; installationId: number; + repoOwnerType: string; } interface CreateGitHubRunnerConfig { @@ -250,6 +251,16 @@ export async function scaleUp(eventSource: string, payload: ActionRequestMessage `Please ensure you have enabled workflow_job events.`, ); } + + if (!isValidRepoOwnerTypeIfOrgLevelEnabled(payload, enableOrgLevel)) { + logger.warn( + `Repository ${payload.repositoryOwner}/${payload.repositoryName} does not belong to a GitHub` + + `organization and organization runners are enabled. This is not supported. Not scaling up for this event.` + + `Not throwing error to prevent re-queueing and just ignoring the event.`, + ); + return; + } + const ephemeral = ephemeralEnabled && payload.eventType === 'workflow_job'; const runnerType = enableOrgLevel ? 'Org' : 'Repo'; const runnerOwner = enableOrgLevel ? payload.repositoryOwner : `${payload.repositoryOwner}/${payload.repositoryName}`; @@ -341,6 +352,10 @@ async function createStartRunnerConfig( } } +function isValidRepoOwnerTypeIfOrgLevelEnabled(payload: ActionRequestMessage, enableOrgLevel: boolean): boolean { + return !(enableOrgLevel && payload.repoOwnerType !== 'Organization'); +} + function addDelay(instances: string[]) { const delay = async (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); const ssmParameterStoreMaxThroughput = 40; diff --git a/lambdas/functions/webhook/src/sqs/index.test.ts b/lambdas/functions/webhook/src/sqs/index.test.ts index c5c0839b36..0187ac433d 100644 --- a/lambdas/functions/webhook/src/sqs/index.test.ts +++ b/lambdas/functions/webhook/src/sqs/index.test.ts @@ -28,6 +28,7 @@ describe('Test sending message to SQS.', () => { repositoryOwner: 'owner', queueId: queueUrl, queueFifo: false, + repoOwnerType: 'Organization', }; afterEach(() => { diff --git a/lambdas/functions/webhook/src/sqs/index.ts b/lambdas/functions/webhook/src/sqs/index.ts index 03539ddbf6..d746bb40ff 100644 --- a/lambdas/functions/webhook/src/sqs/index.ts +++ b/lambdas/functions/webhook/src/sqs/index.ts @@ -13,6 +13,7 @@ export interface ActionRequestMessage { installationId: number; queueId: string; queueFifo: boolean; + repoOwnerType: string; } export interface MatcherConfig { diff --git a/lambdas/functions/webhook/src/webhook/index.test.ts b/lambdas/functions/webhook/src/webhook/index.test.ts index cacbde23f5..85e73e3e9b 100644 --- a/lambdas/functions/webhook/src/webhook/index.test.ts +++ b/lambdas/functions/webhook/src/webhook/index.test.ts @@ -450,6 +450,7 @@ describe('handler', () => { installationId: 0, queueId: 'ubuntu-queue-id', queueFifo: false, + repoOwnerType: 'Organization', }); }); it('Check webhook will accept jobs for latest labels if workflow labels are not specific', async () => { @@ -492,6 +493,7 @@ describe('handler', () => { installationId: 0, queueId: 'ubuntu-queue-id', queueFifo: false, + repoOwnerType: 'Organization', }); }); }); @@ -531,6 +533,7 @@ describe('handler', () => { installationId: 0, queueId: 'ubuntu-queue-id', queueFifo: false, + repoOwnerType: 'Organization', }); }); diff --git a/lambdas/functions/webhook/src/webhook/index.ts b/lambdas/functions/webhook/src/webhook/index.ts index 92daf8fea2..f9406ab7b8 100644 --- a/lambdas/functions/webhook/src/webhook/index.ts +++ b/lambdas/functions/webhook/src/webhook/index.ts @@ -53,6 +53,7 @@ async function handleWorkflowJob( installationId: installationId, queueId: queue.id, queueFifo: queue.fifo, + repoOwnerType: body.repository.owner.type, }); logger.info(`Successfully queued job for ${body.repository.full_name} to the queue ${queue.id}`); return { statusCode: 201 }; From b8f9eb4638efbb45a7e27ddb66b3a10eef2617a7 Mon Sep 17 00:00:00 2001 From: Jay Anslow Date: Fri, 16 Aug 2024 11:05:44 +0100 Subject: [PATCH 28/90] feat: add time zone support for pool schedules (#4063) Fixes #4056 The timezone can be set via the `schedule_expression_timezone` property via the main module or `multi-runners` module. Replaces the `aws_cloudwatch_event_rule` in the `pool` module (which only support UTC) with `aws_scheduler_schedule`, which supports arbitrary time zones via the `schedule_expression_timezone` attribute. In this situation AWS EventBridge Scheduler is a drop in replacement for schedule-based AWS EventBridge Rules ([see AWS blog post](https://aws.amazon.com/blogs/compute/introducing-amazon-eventbridge-scheduler/)), including the expression syntax and pricing. The main (internal) difference is that AWS Scheduler requires the use of an IAM Role, instead of Lambda permissions. --------- Co-authored-by: Niek Palm --- docs/configuration.md | 5 +- examples/ephemeral/main.tf | 6 +- modules/multi-runner/variables.tf | 7 ++- modules/runners/pool/main.tf | 99 +++++++++++++++++++++---------- modules/runners/pool/variables.tf | 5 +- modules/runners/variables.tf | 7 ++- variables.tf | 7 ++- 7 files changed, 91 insertions(+), 45 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 1a5af903f4..f7e936ee52 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -65,8 +65,9 @@ The pool is introduced in combination with the ephemeral runners and is primaril ```hcl pool_runner_owner = "my-org" # Org to which the runners are added pool_config = [{ - size = 20 # size of the pool - schedule_expression = "cron(* * * * ? *)" # cron expression to trigger the adjustment of the pool + size = 20 # size of the pool + schedule_expression = "cron(* * * * ? *)" # cron expression to trigger the adjustment of the pool + schedule_expression_timezone = "Australia/Sydney" # optional time zone (defaults to UTC) }] ``` diff --git a/examples/ephemeral/main.tf b/examples/ephemeral/main.tf index d7d0dacc14..239cd4e7bd 100644 --- a/examples/ephemeral/main.tf +++ b/examples/ephemeral/main.tf @@ -62,8 +62,10 @@ module "runners" { # # Example of simple pool usages # pool_runner_owner = "philips-test-runners" # pool_config = [{ - # size = 3 - # schedule_expression = "cron(* * * * ? *)" + # size = 3 + # schedule_expression = "cron(0/3 14 * * ? *)" # every 3 minutes between 14:00 and 15:00 + # schedule_expression_timezone = "Europe/Amsterdam" + # }] # # diff --git a/modules/multi-runner/variables.tf b/modules/multi-runner/variables.tf index 00ed56c6ce..5bd1f52bfd 100644 --- a/modules/multi-runner/variables.tf +++ b/modules/multi-runner/variables.tf @@ -107,8 +107,9 @@ variable "multi_runner_config" { volume_size = 30 }]) pool_config = optional(list(object({ - schedule_expression = string - size = number + schedule_expression = string + schedule_expression_timezone = optional(string) + size = number })), []) }) @@ -177,7 +178,7 @@ variable "multi_runner_config" { idle_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle." runner_log_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details." block_device_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`." - pool_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1." + pool_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)." } matcherConfig: { labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`" diff --git a/modules/runners/pool/main.tf b/modules/runners/pool/main.tf index e784886704..6c6dc82abe 100644 --- a/modules/runners/pool/main.tf +++ b/modules/runners/pool/main.tf @@ -118,36 +118,6 @@ data "aws_iam_policy_document" "lambda_assume_role_policy" { } } -# per config object one trigger is created to trigger the lambda. -resource "aws_cloudwatch_event_rule" "pool" { - count = length(var.config.pool) - - name = "${var.config.prefix}-pool-${count.index}-rule" - schedule_expression = var.config.pool[count.index].schedule_expression - tags = var.config.tags -} - -resource "aws_cloudwatch_event_target" "pool" { - count = length(var.config.pool) - - input = jsonencode({ - poolSize = var.config.pool[count.index].size - }) - - rule = aws_cloudwatch_event_rule.pool[count.index].name - arn = aws_lambda_function.pool.arn -} - -resource "aws_lambda_permission" "pool" { - count = length(var.config.pool) - - statement_id = "AllowExecutionFromCloudWatch-${count.index}" - action = "lambda:InvokeFunction" - function_name = aws_lambda_function.pool.function_name - principal = "events.amazonaws.com" - source_arn = aws_cloudwatch_event_rule.pool[count.index].arn -} - resource "aws_iam_role_policy_attachment" "ami_id_ssm_parameter_read" { count = var.config.ami_id_ssm_parameter_name != null ? 1 : 0 role = aws_iam_role.pool.name @@ -178,3 +148,72 @@ resource "aws_iam_role_policy" "pool_xray" { policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.pool.name } + +resource "aws_scheduler_schedule_group" "pool" { + name_prefix = "${var.config.prefix}-pool" + + tags = var.config.tags +} + +data "aws_iam_policy_document" "scheduler_assume" { + statement { + sid = "ScheduleGroupAssumeRole" + actions = ["sts:AssumeRole"] + principals { + type = "Service" + identifiers = ["scheduler.amazonaws.com"] + } + + condition { + test = "StringEquals" + variable = "aws:SourceArn" + values = [aws_scheduler_schedule_group.pool.arn] + } + } +} + +data "aws_iam_policy_document" "scheduler" { + statement { + sid = "InvokePoolLambda" + actions = ["lambda:InvokeFunction"] + resources = [aws_lambda_function.pool.arn] + } +} + +resource "aws_iam_role" "scheduler" { + name_prefix = "${var.config.prefix}-pool" + + path = var.config.role_path + permissions_boundary = var.config.role_permissions_boundary + + assume_role_policy = data.aws_iam_policy_document.scheduler_assume.json + + inline_policy { + name = "terraform" + policy = data.aws_iam_policy_document.scheduler.json + } + + tags = var.config.tags +} + +resource "aws_scheduler_schedule" "pool" { + for_each = { for i, v in var.config.pool : i => v } + + name_prefix = "${var.config.prefix}-pool-${each.key}-rule" + group_name = aws_scheduler_schedule_group.pool.name + + flexible_time_window { + mode = "OFF" + } + + schedule_expression = each.value.schedule_expression + schedule_expression_timezone = each.value.schedule_expression_timezone + + target { + arn = aws_lambda_function.pool.arn + role_arn = aws_iam_role.scheduler.arn + input = jsonencode({ + poolSize = each.value.size + }) + } +} diff --git a/modules/runners/pool/variables.tf b/modules/runners/pool/variables.tf index a60c002fd9..4ebcebcacf 100644 --- a/modules/runners/pool/variables.tf +++ b/modules/runners/pool/variables.tf @@ -50,8 +50,9 @@ variable "config" { instance_max_spot_price = string prefix = string pool = list(object({ - schedule_expression = string - size = number + schedule_expression = string + schedule_expression_timezone = string + size = number })) role_permissions_boundary = string kms_key_arn = string diff --git a/modules/runners/variables.tf b/modules/runners/variables.tf index d8683088cd..01da8d4de2 100644 --- a/modules/runners/variables.tf +++ b/modules/runners/variables.tf @@ -538,10 +538,11 @@ variable "pool_lambda_reserved_concurrent_executions" { } variable "pool_config" { - description = "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1." + description = "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone ` to override the schedule time zone (defaults to UTC)." type = list(object({ - schedule_expression = string - size = number + schedule_expression = string + schedule_expression_timezone = optional(string) + size = number })) default = [] } diff --git a/variables.tf b/variables.tf index 758d149a7d..ccfeac26f7 100644 --- a/variables.tf +++ b/variables.tf @@ -686,10 +686,11 @@ variable "pool_lambda_reserved_concurrent_executions" { } variable "pool_config" { - description = "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1." + description = "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)." type = list(object({ - schedule_expression = string - size = number + schedule_expression = string + schedule_expression_timezone = optional(string) + size = number })) default = [] } From 9086a298d984d1a469b996832fcd6546eed931b0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 16 Aug 2024 12:07:43 +0200 Subject: [PATCH 29/90] docs: Update Terraform docs (#4070) Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action Co-authored-by: npalm <11609620+npalm@users.noreply.github.com> --- README.md | 2 +- modules/multi-runner/README.md | 2 +- modules/runners/README.md | 2 +- modules/runners/pool/README.md | 10 ++++++---- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 67d658a6f0..8340178b74 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | | [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `"GitHub Runners"` | no | | [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes) | The time an ec2 action runner should be running at minimum before terminated, if not busy. | `number` | `null` | no | -| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. |
list(object({
schedule_expression = string
size = number
}))
| `[]` | no | +| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC). |
list(object({
schedule_expression = string
schedule_expression_timezone = optional(string)
size = number
}))
| `[]` | no | | [pool\_lambda\_memory\_size](#input\_pool\_lambda\_memory\_size) | Memory size limit for scale-up lambda. | `number` | `512` | no | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | diff --git a/modules/multi-runner/README.md b/modules/multi-runner/README.md index 164d375d13..839ee22801 100644 --- a/modules/multi-runner/README.md +++ b/modules/multi-runner/README.md @@ -150,7 +150,7 @@ module "multi-runner" { | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | | [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `"GitHub Runners"` | no | -| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
runner\_config: {
runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
runner\_architecture: "The platform architecture of the runner instance\_type."
runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
ebs\_optimized: "The EC2 EBS optimized configuration."
enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
enable\_organization\_runners: "Register runners to organization, instead of repo level"
enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
runner\_group\_name: "Name of the runner group."
runner\_name\_prefix: "Prefix for the GitHub runner name."
runner\_run\_as: "Run the GitHub actions agent as user."
runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1."
}
matcherConfig: {
labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
}
fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
} |
map(object({
runner_config = object({
runner_os = string
runner_architecture = string
runner_metadata_options = optional(map(any), {
instance_metadata_tags = "enabled"
http_endpoint = "enabled"
http_tokens = "required"
http_put_response_hop_limit = 1
})
ami_filter = optional(map(list(string)), { state = ["available"] })
ami_owners = optional(list(string), ["amazon"])
ami_id_ssm_parameter_name = optional(string, null)
ami_kms_key_arn = optional(string, "")
create_service_linked_role_spot = optional(bool, false)
credit_specification = optional(string, null)
delay_webhook_event = optional(number, 30)
disable_runner_autoupdate = optional(bool, false)
ebs_optimized = optional(bool, false)
enable_ephemeral_runners = optional(bool, false)
enable_job_queued_check = optional(bool, null)
enable_on_demand_failover_for_errors = optional(list(string), [])
enable_organization_runners = optional(bool, false)
enable_runner_binaries_syncer = optional(bool, true)
enable_ssm_on_runners = optional(bool, false)
enable_userdata = optional(bool, true)
instance_allocation_strategy = optional(string, "lowest-price")
instance_max_spot_price = optional(string, null)
instance_target_capacity_type = optional(string, "spot")
instance_types = list(string)
job_queue_retention_in_seconds = optional(number, 86400)
minimum_running_time_in_minutes = optional(number, null)
pool_runner_owner = optional(string, null)
runner_as_root = optional(bool, false)
runner_boot_time_in_minutes = optional(number, 5)
runner_extra_labels = optional(list(string), [])
runner_group_name = optional(string, "Default")
runner_name_prefix = optional(string, "")
runner_run_as = optional(string, "ec2-user")
runners_maximum_count = number
runner_additional_security_group_ids = optional(list(string), [])
scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
scale_up_reserved_concurrent_executions = optional(number, 1)
userdata_template = optional(string, null)
userdata_content = optional(string, null)
enable_jit_config = optional(bool, null)
enable_runner_detailed_monitoring = optional(bool, false)
enable_cloudwatch_agent = optional(bool, true)
cloudwatch_config = optional(string, null)
userdata_pre_install = optional(string, "")
userdata_post_install = optional(string, "")
runner_ec2_tags = optional(map(string), {})
runner_iam_role_managed_policy_arns = optional(list(string), [])
vpc_id = optional(string, null)
subnet_ids = optional(list(string), null)
idle_config = optional(list(object({
cron = string
timeZone = string
idleCount = number
evictionStrategy = optional(string, "oldest_first")
})), [])
runner_log_files = optional(list(object({
log_group_name = string
prefix_log_group = bool
file_path = string
log_stream_name = string
})), null)
block_device_mappings = optional(list(object({
delete_on_termination = optional(bool, true)
device_name = optional(string, "/dev/xvda")
encrypted = optional(bool, true)
iops = optional(number)
kms_key_id = optional(string)
snapshot_id = optional(string)
throughput = optional(number)
volume_size = number
volume_type = optional(string, "gp3")
})), [{
volume_size = 30
}])
pool_config = optional(list(object({
schedule_expression = string
size = number
})), [])
})

matcherConfig = object({
labelMatchers = list(list(string))
exactMatch = optional(bool, false)
priority = optional(number, 999)
})
fifo = optional(bool, false)
redrive_build_queue = optional(object({
enabled = bool
maxReceiveCount = number
}), {
enabled = false
maxReceiveCount = null
})
}))
| n/a | yes | +| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
runner\_config: {
runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
runner\_architecture: "The platform architecture of the runner instance\_type."
runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
ebs\_optimized: "The EC2 EBS optimized configuration."
enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
enable\_organization\_runners: "Register runners to organization, instead of repo level"
enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
runner\_group\_name: "Name of the runner group."
runner\_name\_prefix: "Prefix for the GitHub runner name."
runner\_run\_as: "Run the GitHub actions agent as user."
runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)."
}
matcherConfig: {
labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
}
fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
} |
map(object({
runner_config = object({
runner_os = string
runner_architecture = string
runner_metadata_options = optional(map(any), {
instance_metadata_tags = "enabled"
http_endpoint = "enabled"
http_tokens = "required"
http_put_response_hop_limit = 1
})
ami_filter = optional(map(list(string)), { state = ["available"] })
ami_owners = optional(list(string), ["amazon"])
ami_id_ssm_parameter_name = optional(string, null)
ami_kms_key_arn = optional(string, "")
create_service_linked_role_spot = optional(bool, false)
credit_specification = optional(string, null)
delay_webhook_event = optional(number, 30)
disable_runner_autoupdate = optional(bool, false)
ebs_optimized = optional(bool, false)
enable_ephemeral_runners = optional(bool, false)
enable_job_queued_check = optional(bool, null)
enable_on_demand_failover_for_errors = optional(list(string), [])
enable_organization_runners = optional(bool, false)
enable_runner_binaries_syncer = optional(bool, true)
enable_ssm_on_runners = optional(bool, false)
enable_userdata = optional(bool, true)
instance_allocation_strategy = optional(string, "lowest-price")
instance_max_spot_price = optional(string, null)
instance_target_capacity_type = optional(string, "spot")
instance_types = list(string)
job_queue_retention_in_seconds = optional(number, 86400)
minimum_running_time_in_minutes = optional(number, null)
pool_runner_owner = optional(string, null)
runner_as_root = optional(bool, false)
runner_boot_time_in_minutes = optional(number, 5)
runner_extra_labels = optional(list(string), [])
runner_group_name = optional(string, "Default")
runner_name_prefix = optional(string, "")
runner_run_as = optional(string, "ec2-user")
runners_maximum_count = number
runner_additional_security_group_ids = optional(list(string), [])
scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
scale_up_reserved_concurrent_executions = optional(number, 1)
userdata_template = optional(string, null)
userdata_content = optional(string, null)
enable_jit_config = optional(bool, null)
enable_runner_detailed_monitoring = optional(bool, false)
enable_cloudwatch_agent = optional(bool, true)
cloudwatch_config = optional(string, null)
userdata_pre_install = optional(string, "")
userdata_post_install = optional(string, "")
runner_ec2_tags = optional(map(string), {})
runner_iam_role_managed_policy_arns = optional(list(string), [])
vpc_id = optional(string, null)
subnet_ids = optional(list(string), null)
idle_config = optional(list(object({
cron = string
timeZone = string
idleCount = number
evictionStrategy = optional(string, "oldest_first")
})), [])
runner_log_files = optional(list(object({
log_group_name = string
prefix_log_group = bool
file_path = string
log_stream_name = string
})), null)
block_device_mappings = optional(list(object({
delete_on_termination = optional(bool, true)
device_name = optional(string, "/dev/xvda")
encrypted = optional(bool, true)
iops = optional(number)
kms_key_id = optional(string)
snapshot_id = optional(string)
throughput = optional(number)
volume_size = number
volume_type = optional(string, "gp3")
})), [{
volume_size = 30
}])
pool_config = optional(list(object({
schedule_expression = string
schedule_expression_timezone = optional(string)
size = number
})), [])
})

matcherConfig = object({
labelMatchers = list(list(string))
exactMatch = optional(bool, false)
priority = optional(number, 999)
})
fifo = optional(bool, false)
redrive_build_queue = optional(object({
enabled = bool
maxReceiveCount = number
}), {
enabled = false
maxReceiveCount = null
})
}))
| n/a | yes | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | | [prefix](#input\_prefix) | The prefix used for naming resources | `string` | `"github-actions"` | no | diff --git a/modules/runners/README.md b/modules/runners/README.md index 35dbf1fa73..92ac3512d7 100644 --- a/modules/runners/README.md +++ b/modules/runners/README.md @@ -183,7 +183,7 @@ yarn run dist | [metadata\_options](#input\_metadata\_options) | Metadata options for the ec2 runner instances. By default, the module uses metadata tags for bootstrapping the runner, only disable `instance_metadata_tags` when using custom scripts for starting the runner. | `map(any)` |
{
"http_endpoint": "enabled",
"http_put_response_hop_limit": 1,
"http_tokens": "required",
"instance_metadata_tags": "enabled"
}
| no | | [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes) | The time an ec2 action runner should be running at minimum before terminated if non busy. If not set the default is calculated based on the OS. | `number` | `null` | no | | [overrides](#input\_overrides) | This map provides the possibility to override some defaults. The following attributes are supported: `name_sg` overrides the `Name` tag for all security groups created by this module. `name_runner_agent_instance` overrides the `Name` tag for the ec2 instance defined in the auto launch configuration. `name_docker_machine_runners` overrides the `Name` tag spot instances created by the runner agent. | `map(string)` |
{
"name_runner": "",
"name_sg": ""
}
| no | -| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. |
list(object({
schedule_expression = string
size = number
}))
| `[]` | no | +| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone ` to override the schedule time zone (defaults to UTC). |
list(object({
schedule_expression = string
schedule_expression_timezone = optional(string)
size = number
}))
| `[]` | no | | [pool\_lambda\_memory\_size](#input\_pool\_lambda\_memory\_size) | Lambda Memory size limit in MB for pool lambda | `number` | `512` | no | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | diff --git a/modules/runners/pool/README.md b/modules/runners/pool/README.md index 1a51a7e7e5..27ed58d598 100644 --- a/modules/runners/pool/README.md +++ b/modules/runners/pool/README.md @@ -27,26 +27,28 @@ No modules. | Name | Type | |------|------| -| [aws_cloudwatch_event_rule.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) | resource | -| [aws_cloudwatch_event_target.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource | | [aws_cloudwatch_log_group.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource | | [aws_iam_role.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | +| [aws_iam_role.scheduler](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | | [aws_iam_role_policy.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.pool_logging](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.pool_xray](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy_attachment.ami_id_ssm_parameter_read](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.pool_vpc_execution_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_lambda_function.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function) | resource | -| [aws_lambda_permission.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission) | resource | +| [aws_scheduler_schedule.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/scheduler_schedule) | resource | +| [aws_scheduler_schedule_group.pool](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/scheduler_schedule_group) | resource | | [aws_iam_policy_document.lambda_assume_role_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | | [aws_iam_policy_document.lambda_xray](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | +| [aws_iam_policy_document.scheduler](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | +| [aws_iam_policy_document.scheduler_assume](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [aws\_partition](#input\_aws\_partition) | (optional) partition for the arn if not 'aws' | `string` | `"aws"` | no | -| [config](#input\_config) | Lookup details in parent module. |
object({
lambda = object({
log_level = string
logging_retention_in_days = number
logging_kms_key_id = string
reserved_concurrent_executions = number
s3_bucket = string
s3_key = string
s3_object_version = string
security_group_ids = list(string)
runtime = string
architecture = string
memory_size = number
timeout = number
zip = string
subnet_ids = list(string)
})
tags = map(string)
ghes = object({
url = string
ssl_verify = string
})
github_app_parameters = object({
key_base64 = map(string)
id = map(string)
})
subnet_ids = list(string)
runner = object({
disable_runner_autoupdate = bool
ephemeral = bool
enable_jit_config = bool
enable_on_demand_failover_for_errors = list(string)
boot_time_in_minutes = number
labels = list(string)
launch_template = object({
name = string
})
group_name = string
name_prefix = string
pool_owner = string
role = object({
arn = string
})
})
instance_types = list(string)
instance_target_capacity_type = string
instance_allocation_strategy = string
instance_max_spot_price = string
prefix = string
pool = list(object({
schedule_expression = string
size = number
}))
role_permissions_boundary = string
kms_key_arn = string
ami_kms_key_arn = string
role_path = string
ssm_token_path = string
ssm_config_path = string
ami_id_ssm_parameter_name = string
ami_id_ssm_parameter_read_policy_arn = string
arn_ssm_parameters_path_config = string
lambda_tags = map(string)
})
| n/a | yes | +| [config](#input\_config) | Lookup details in parent module. |
object({
lambda = object({
log_level = string
logging_retention_in_days = number
logging_kms_key_id = string
reserved_concurrent_executions = number
s3_bucket = string
s3_key = string
s3_object_version = string
security_group_ids = list(string)
runtime = string
architecture = string
memory_size = number
timeout = number
zip = string
subnet_ids = list(string)
})
tags = map(string)
ghes = object({
url = string
ssl_verify = string
})
github_app_parameters = object({
key_base64 = map(string)
id = map(string)
})
subnet_ids = list(string)
runner = object({
disable_runner_autoupdate = bool
ephemeral = bool
enable_jit_config = bool
enable_on_demand_failover_for_errors = list(string)
boot_time_in_minutes = number
labels = list(string)
launch_template = object({
name = string
})
group_name = string
name_prefix = string
pool_owner = string
role = object({
arn = string
})
})
instance_types = list(string)
instance_target_capacity_type = string
instance_allocation_strategy = string
instance_max_spot_price = string
prefix = string
pool = list(object({
schedule_expression = string
schedule_expression_timezone = string
size = number
}))
role_permissions_boundary = string
kms_key_arn = string
ami_kms_key_arn = string
role_path = string
ssm_token_path = string
ssm_config_path = string
ami_id_ssm_parameter_name = string
ami_id_ssm_parameter_read_policy_arn = string
arn_ssm_parameters_path_config = string
lambda_tags = map(string)
})
| n/a | yes | | [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
object({
mode = optional(string, null)
capture_http_requests = optional(bool, false)
capture_error = optional(bool, false)
})
| `{}` | no | ## Outputs From 6120571a959bd672c2bbc77ebf05825185c90bc6 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Fri, 16 Aug 2024 12:47:48 +0200 Subject: [PATCH 30/90] feat: scale up for long waiting jobs (job retry) (#4064) ## Description This feature add the capability to retry scaling a runner when a job is still queued after a defined delay. This feature is added to avoid pool for ephemeral runners. ## Implementation The module is extended with configuration top optional enable one or more retries. Once enabled the scale-up lambda will publish the same message as it recieves extend with a counter on a retry-job-queueu with a delay. A new lambda will pick the message from this queue and checks if the job is still queued (via GitHub API). In case it is still queued it is published again on je the job queue, incoming queue of the scale-up lambda ## Consequences - This feature is meant for small fleets with ephemeral runners. Each retry check is casuing a GitHub API which can trigger a rate limit for the app. - This feature should make ephemerla runners more resposnive without having a pool to pick up missed jobs. - The module allows you to force a job check before scaling, this check should be disabled. - The delay should be set to a time that is higher than the normal boottime of a runner. ## Testing Testing can be done as follow - Trigger a workflow - Terminate the created instance before the job starts - Wait, after the delay the retry job should publish the message again which triggers a new instance creation. - [x] Multi runners. - [x] Default runners, not enabled requires configuraton update ## Tasks - [x] Update docs - [x] Update multi-runner - [x] Check CMK keys for SQS - [x] Limit delay to max delay of a queue. - [x] Add optional metric for retry - [x] Update issue with more details --------- Co-authored-by: forest-pr|bot Co-authored-by: Brend Smits --- README.md | 2 + docs/architecture.drawio | 1 - docs/architecture.svg | 3 - docs/assets/aws-architecture.dark.png | Bin 576539 -> 1363754 bytes docs/assets/aws-architecture.light.png | Bin 547892 -> 1299031 bytes docs/assets/diagrams.excalidraw | 6134 ++++++++++++----- docs/component-overview.svg | 3 - docs/configuration.md | 11 + docs/index.md | 18 +- examples/default/main.tf | 29 +- examples/ephemeral/README.md | 1 + examples/ephemeral/main.tf | 20 +- examples/ephemeral/variables.tf | 8 + examples/multi-runner/README.md | 8 +- .../templates/runner-configs/linux-x64.yaml | 4 + .../functions/control-plane/jest.config.ts | 8 +- lambdas/functions/control-plane/package.json | 1 + .../control-plane/src/aws/sqs.test.ts | 74 + .../functions/control-plane/src/aws/sqs.ts | 38 + .../control-plane/src/gh-auth/gh-auth.test.ts | 6 +- .../control-plane/src/gh-auth/gh-auth.ts | 2 +- .../src/gh-auth/gh-octokit.test.ts | 76 + .../control-plane/src/gh-auth/gh-octokit.ts | 46 + .../control-plane/src/lambda.test.ts | 33 +- lambdas/functions/control-plane/src/lambda.ts | 13 + .../functions/control-plane/src/modules.d.ts | 1 + .../control-plane/src/pool/pool.test.ts | 2 +- .../functions/control-plane/src/pool/pool.ts | 6 +- .../src/scale-runners/job-retry.test.ts | 257 + .../src/scale-runners/job-retry.ts | 90 + .../src/scale-runners/scale-down.test.ts | 2 +- .../src/scale-runners/scale-down.ts | 6 +- .../src/scale-runners/scale-up.test.ts | 100 +- .../src/scale-runners/scale-up.ts | 40 +- lambdas/yarn.lock | 273 +- main.tf | 7 + mkdocs.yaml | 4 + modules/multi-runner/README.md | 3 +- modules/multi-runner/main.tf | 2 +- modules/multi-runner/runners.tf | 9 +- modules/multi-runner/variables.tf | 16 +- modules/runners/README.md | 6 +- modules/runners/job-retry.tf | 34 + modules/runners/job-retry/README.md | 53 + modules/runners/job-retry/main.tf | 95 + modules/runners/job-retry/outputs.tf | 11 + .../runners/job-retry/policies/lambda.json | 43 + modules/runners/job-retry/variables.tf | 84 + modules/runners/job-retry/versions.tf | 10 + .../policies/lambda-publish-sqs-policy.json | 10 + modules/runners/scale-up.tf | 23 +- modules/runners/variables.tf | 42 + variables.tf | 29 + 53 files changed, 5742 insertions(+), 2055 deletions(-) delete mode 100644 docs/architecture.drawio delete mode 100644 docs/architecture.svg delete mode 100644 docs/component-overview.svg create mode 100644 lambdas/functions/control-plane/src/aws/sqs.test.ts create mode 100644 lambdas/functions/control-plane/src/aws/sqs.ts create mode 100644 lambdas/functions/control-plane/src/gh-auth/gh-octokit.test.ts create mode 100644 lambdas/functions/control-plane/src/gh-auth/gh-octokit.ts create mode 100644 lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts create mode 100644 lambdas/functions/control-plane/src/scale-runners/job-retry.ts create mode 100644 modules/runners/job-retry.tf create mode 100644 modules/runners/job-retry/README.md create mode 100644 modules/runners/job-retry/main.tf create mode 100644 modules/runners/job-retry/outputs.tf create mode 100644 modules/runners/job-retry/policies/lambda.json create mode 100644 modules/runners/job-retry/variables.tf create mode 100644 modules/runners/job-retry/versions.tf create mode 100644 modules/runners/policies/lambda-publish-sqs-policy.json diff --git a/README.md b/README.md index 8340178b74..36efe008c6 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,7 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [enable\_jit\_config](#input\_enable\_jit\_config) | Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI. | `bool` | `null` | no | | [enable\_job\_queued\_check](#input\_enable\_job\_queued\_check) | Only scale if the job event received by the scale up lambda is in the queued state. By default enabled for non ephemeral runners and disabled for ephemeral. Set this variable to overwrite the default behavior. | `bool` | `null` | no | | [enable\_managed\_runner\_security\_group](#input\_enable\_managed\_runner\_security\_group) | Enables creation of the default managed security group. Unmanaged security groups can be specified via `runner_additional_security_group_ids`. | `bool` | `true` | no | +| [enable\_metrics\_control\_plane](#input\_enable\_metrics\_control\_plane) | (Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release. | `bool` | `false` | no | | [enable\_organization\_runners](#input\_enable\_organization\_runners) | Register runners to organization, instead of repo level | `bool` | `false` | no | | [enable\_runner\_binaries\_syncer](#input\_enable\_runner\_binaries\_syncer) | Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI. | `bool` | `true` | no | | [enable\_runner\_detailed\_monitoring](#input\_enable\_runner\_detailed\_monitoring) | Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details. | `bool` | `false` | no | @@ -167,6 +168,7 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the instance termination watcher. This feature is Beta, changes will not trigger a major release as long in beta.

`enable`: Enable or disable the spot termination watcher.
`enable_metrics`: Enable or disable the metrics for the spot termination watcher.
`memory_size`: Memory size linit in MB of the lambda.
`s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
`s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
`timeout`: Time out of the lambda in seconds.
`zip`: File location of the lambda zip file. |
object({
enable = optional(bool, false)
enable_metric = optional(object({
spot_warning = optional(bool, false)
}))
memory_size = optional(number, null)
s3_key = optional(string, null)
s3_object_version = optional(string, null)
timeout = optional(number, null)
zip = optional(string, null)
})
| `{}` | no | | [instance\_types](#input\_instance\_types) | List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win). | `list(string)` |
[
"m5.large",
"c5.large"
]
| no | | [job\_queue\_retention\_in\_seconds](#input\_job\_queue\_retention\_in\_seconds) | The number of seconds the job is held in the queue before it is purged. | `number` | `86400` | no | +| [job\_retry](#input\_job\_retry) | Experimental! Can be removed / changed without trigger a major release.Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app.

`enable`: Enable or disable the job retry feature.
`delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status.
`delay_backoff`: The backoff factor for the delay.
`lambda_memory_size`: Memory size limit in MB for the job retry check lambda.
`lambda_timeout`: Time out of the job retry check lambda in seconds.
`max_attempts`: The maximum number of attempts to retry the job. |
object({
enable = optional(bool, false)
delay_in_seconds = optional(number, 300)
delay_backoff = optional(number, 2)
lambda_memory_size = optional(number, 256)
lambda_timeout = optional(number, 30)
max_attempts = optional(number, 1)
})
| `{}` | no | | [key\_name](#input\_key\_name) | Key pair name | `string` | `null` | no | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. This key must be in the current account. | `string` | `null` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | diff --git a/docs/architecture.drawio b/docs/architecture.drawio deleted file mode 100644 index 8f8ba3bc77..0000000000 --- a/docs/architecture.drawio +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/docs/architecture.svg b/docs/architecture.svg deleted file mode 100644 index 44130f1d03..0000000000 --- a/docs/architecture.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -
AWS Cloud
AWS Cloud
Download binary
Download binary
Runners
POST event
POST event
API Gateway
API Gateway
Webhook
Webhook
Github App
Github App
Request run event
Request run event
Webhook
Webhook
WebhookQueue SQS
(DelayedMessage)
WebhookQueue...
Register runner
Register runner
Scale Runners up
Scale Runners...
Terminates
Terminates
Remove runner
Remove runner
Scale Runners Down
Scale Runners...
Actions Runners Binaries
Actions Runne...
Upload
Upload
Github Organization
Github Organi...
UpdateBinary
UpdateBinary
Creates
Creates
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/docs/assets/aws-architecture.dark.png b/docs/assets/aws-architecture.dark.png index d0d631bb9ee9c15d41e551cc5c90567784bfdbc2..ea6d3f38a61976bf476b318c6fbbf8fa7995c812 100644 GIT binary patch literal 1363754 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%0D&BoY3S)Y91-)Os!o959?_W9L3rt7(1j6MxuE zR*kOy2t}6`ZXF^(DkNi$GRF3PvoEn*g2b+VtdV)<*2ZH`#wY-$XH3SWN9{2oPZ*_n z$I{B+J9W=Fv>D#aiNA=~H9p!0G8hjB|Binjb(+vf5P(|#u-?CpWI?yGtgEkMsL(aY znh^%CjSp9UtvuiDywaRx?^75PrH2%s)Y{<7@ecB$kvNAg zGaxd|e4cdh+TXO^!c$F}j4um$*9pC?>kr~Rfkp{W>{v|(?Hli(XNG||1!*V8*{N9$ zi4x%&B8eNhQ*s3rDbu8;RLdPUNYri(){f>I9MFsONA@vI8x!_G<0pR+aeVMq*5r4--{uo- zn%(TUXl0mnI`Iiyh#2rC!fx~QqrmJ0q z1Iy7BVyXR4Ta{|=(@x1bC+#e-bi19Qa23Mc28Y>am|NEi*CJDLE6>(TY6Z8ZAKYta zMX`EHT)3EhJBUy=Uh#lv5;Ukr2Wv}H5IIm(<4}d+=#+xk9Pd-_i|U+n7jdt+hc_36 zlBU8`AyI2`%P{Bs^NZuKf=2H-OU)+<*zV4vAaKN!ELPVWa0r|x0px$$tNz*XKce$J zH}QBe{@_20CIx(m5(h0-Rxq~g8H*Xfa6ZAfN&;1ori|C&z>LnQojwT^3sg66t_vTe zi{Rpfs#M;%C_4tr&6`M{As=Wpi9C7=(!Ug9wxYT^`U$2u|>U{J;)yc_8 zOxPL8&n4!9&z&j;Me{6!dReHI`G-Y877&f(6GQWdCj>JN-OE0mBt?WFoj6CL-eD3++Sf{MhaN*){qa3!U1;yJT?)V3<%{v^i39xgOuvxFA{~>1jzx;?T(g5?(D>l3T z2d;xs1fx(hCS7H3O`_`kX3JQ?U;J+*pAZHdgNYcNptijjKFfdihSZ=2tkR@Teg(o$ z0-g~eo_lGmBYe7x)k`U`jreAd&4O~Z{o2~Y%o%myGC9%<>A_%7HQ3i^#8+Av31O4` z81gFbn@=BpZlJ-tfBwYFmRA;H;g!Jk1`9@h!>~NAltfX+ zu&UHkPBZM9t!QK{T=TiOV}IZ5*6f~`PJU?yN}-bCN_Eq|hD5{chg!?0Q5;_|7~qoO zO$QW#Fwvr*5cYOm5?xYhGHM#Ss7`S{B4o~fCs@TiT)2@GKFe+1(nXzq)HP@vVqYbrb$`J?i7)NbeUZ^M=#aUa6Hn>VYvHWA= zOg)yKQ$+81+%!Q!p~(A3gWUXye)etmq2XAEM?a9 z7z{DV6Yk~Osg|1mqle$kE2cAc{ zXo@BseW92o+*9;gIH6F@NeuTEF67bSlLs4CQu#Y>tZ0r)x}BItz^s~?I5!m7?SwX~ zJ~-m?dyJk~_j3A*1(wBE_4NsCWCW5nOj$S)@g28hAMr)k*rdv4+)KP0Bs=!v$brti zfYOXiXQe6a1nYhJXPf@cAEiSio;WxLHzZzE@yF|YFdV9U#SeXzek7b%U%=UOT2sHg z;|5U?T}W5o+=@xlv-$AFo};Q#KQ3oO4}haLUP}(l)sQzdTH9nye?B0vwjK9=CNaqx z8n3NMkPz;x0OQ%39cfpRiG401YyvS=gdmfgxr^3_w)tZMu})?-?;OKmNBygay4CsP zpu*#zH}oCKM23rZq{o9~iOrcDBRX9GjJ^*O`l1eu6{qR8Uy@2({n6&9nZ?$ zv}XeV9*^4nxh1W7bJt#^oEVeL6a~xV&oka83WQw&D};C4k=(-2_RT8ZJ6l6FLD?oR zp3A)9xv(>0p{^ytYFtm+ex#xWuK=)9{!@9UHjod!;mcB<~mi zm@>H%#^hM3Gs(S=lE!>=yg&%dd&OgLbq%TPp`gI$TNKe*B}>$#XmqMda9k$Qzy;3e-IhgwByR) zu&cwsZ8w~9vnb!fq@b{>Ah1GD;N9(usqcavUVnZ=lr76}ov1f25^3l#2wTqEze1-4 z!9xGw>6ygH#K9F7iAXs=svtUZi@v(sEswZUGs9b%vx6S-JdPK!ac&01W%;|StcT}k zAtUA%s)Q{jyD-19YX`5H`gGs~;CL#W6>IL_dyOnwU)&L4Ciy=PMx?3Of{@J*BWyH!Xx{rm3DpGbsYaygLJ5P@27>`7Cw@!2ImwR}X< z?4ymE3J7`}30iFcFBph^6t5VvP()(_9Z4DIyg|?!$WLKun2KKO0J}RD?jThxpP3(o z<9VrrKg-&601U6Iy28V7uoEtIP(40OQl=(`%T_)%-1&y?Iz9-uBuedN@k##t-ny~^ zwH)b*&V8x*uahT8x{J!s`WrSzrb`gd8PBeXOU$eXra=ndT>;Wa3)znMT6ztr z>MVmK^wzDz=L1;I8@3o^MAdgQIiTe_l_8OK8N;;3Fc=eO%fn2D=Lxja?u*SA`=eXx ziOz99&K!Y$v@k(Irl}>9B(b9^s`@8O8FBlY_tb7u>_^mS(ERV}l0NE)nk>wvj|3@NWJh%Ag&uYIP?y+ZDC~%MMO?GIa(geg8cze z#j4Pm0HPYYDuxJ+jE(w_iKYBY;@>|MW60n-rB+SYk&gL$cak>~r`6rB2_|~-;qj6W znL~DOAH2ghVUQ~dk6JaGIG6GkqiQfpz8xUM?>}p+FvXpyg67gA@KO4|38(-2=ZA)1 zskSuCqzU@pXGDoke5E1)nf5_a^j%P*D8$FFNL<}yW7j=CapwqazY5-%w=1skqTs0d z)oL{mu$ReUZO25_URL}C0-1<~rrrhuOPJ)R{`MjU>(@wZ+zELA%511*tGgrv@^Oe& zVYme0K|7Xz=|3D4h%}4-U?^NtjXq?l#2S}L41boM`J9$9H?Z@Fl_MP|#I{Kbx}{RL z4Qz;z zW)mziJH#wQw$4^Bqwnglz{aN^q+Jw7D^L#!ova=+EgO~?lB)A*OqU&x*NDe}R3chL z1s_A-8$mjo4nR&?+HE{A9$gTw%$I<+n1U7zQ*c*+&3CEIRVfRfSo-j<(FZ87%vqWo zy!jdz!>nm4CF`U^l`RisbMA&~s_?^5nYD zj_sO#BerJDPQQfCKW>&keOQPKQ))J=YS6+POUghQGN8Y#;@U5%5#wK(sc|_#BlccGUcU9!P ztb0oN^Wle~Cbg>xCa^I@SHBoxBy%KF$pe649m@s-b@XKa4fN9xLq82L2|=XEYOY4y zZqfE(Sdd(rwU2TG%ewdQ1F89id=i$RMwGyw{f#I}iz!%SlYUVu}=(nncp1a;89 z_tHLXH_zS5Pb;Yf_I00w<)Qj9joHFOIyG52Ew>=gZj3yVrQWHXJ+&|xI-o&~a#=EF zxy?_K^{lzwBtw#}r6SdS%)6y-8*}OOn7X|;DZ660DG0>hHaxee|K}C_*Jk`m(hj)C zHE;CA|H&c}C=X^CM0%SnnHqf{l<0%pE1(Cs;xOi;JUp*7shvp9u!G7=<+7!@JZsz% zK)Q7-C2-+)+_}M-sm>OHc;yqKs9p7pk=Jff^0+(D67W$~ymKt_WQD6{f%8s;t%1{S+$O&w)Ha`a}bw7TS+&lsePWE6IZyt89PFz7b$1A7xw6TkI{+doc0 z59n#+$>LEvAwOB^>W7(JNDn_EBUcDNx?IKZtCWvm)HdQ1KP!KJ8re-x!^))S2Zt3Dges>zSnB`$=}KZN$+_4_fRMgF(lXArOpv-Ss&{wu2Xl?e={4+a0^pzs6TCbNk+a50$b z(kPS&)$0AXT(9l&sgG=HDnf2D5Y|LWk=PVV#sKkhJlqW9uG*L4Q%gp5&y(^ZY@DPi zMlo>2vwjNr{9e9H2{7)Ps$ty8*870U3(Rzq%RLn~G`W`Lj& zOKQ+9rH#iWQ`q5#CfP`}I_q@}xVR6!D+88~woyuzWb&=p6d2nD(8{zN2olkS?m`Kx z19rNC9yl(mdErf>s3vFSR}hh-KZZym^ekOni`S<7H`gtf1&NRzUn_a%!3DH%Cmmh& zr;q&LviJ(e#q&2)ZiV+<0!6Dq2KL+#{OY~zYe!dfVdWZ{0@Aoc?XZ05OzI?CprgyR zwxpFV36$OkxMD;JWK9qr*0=rPIP-dc-&Cne87K6&+WqRPqrV!)LQURLa@4l<5pKfa zPrmVei#bwH&aQYvRZkK*UqjP$a3Q^H`<$iza=!^Z4Ul+=g_S2CI3DVERc5b=Nf{#n z34QKH3NWt~u8lPbb=7U>&D6j?*gbP#LnSvERUx^YlE#Oaz&Hv0FlInkH zl8G^u{iDnK&xhBgjG)l#XX1W}y>%%LN)!ZgFAHn;_GB3cd!ggnNa^F%K+V-LJ6u%@ zxqyGX1U~fBG+9-=fgAK3N_U77s>tsbm!SO0GpeE%r6wlGClgB<*7`lxf@}jOKD3r1 zDEptuUDt##&PXg8rpS+ZZ zpsxKb!twLlV$8+yF1%?tQpW`pP*Tx?`rZ>?fPk(Yn^R{_&I>>`I6Ufw=o-lr>{)f@ zHLNRUWMG`3GJtH-j{+2)#`9ia-`@0^v7WQXj$czF!GY-Pi-qJq$4^!(w@#Wf`hlLM zt_nsSCma1Y?1sW!;w8-s*f$oydg`^=EVn{te5EZi)Y-KPx^`UmW3EWf`spnp6 zWupse)s9v#s#y=wJz|p0PVT4CN>oYOs@9$ccmPJ|8N+0}kD+}BX>!|vEgYTJS>4KB z%*Q*VI}`?2YxWtzpK%}D3!ASAhi?fEmC&KFlvt`>L}Oe8xYxOFEJdRl3Uc5AQ#5|= zGhpcR*a=qnclt-1@!_uDrN1u!Y29I?LnCbJg@jL@kc5lxou5S&jS8qW%97RRRPiFA zENeJCHmN#v0+&k}Ww*|>E)rZ%QkpHM(ApE_^F~#>_Z&By!VJ|RQJCt7ctGj}N`RKG z?kE$-`E7V}Cg?p$X=zoO9i&ep>RmX>6%IeYXm}SBrpTNIe>z)Jh$&4v&*u1yJpNTbU4^vDkb=jfp+Tv1=; zc=+)B-Gjuyt&U_M##>!ZB)F_=ADd!2yz01x_HS9dN^kwJY-y!RfkW=N;O|B&YgdR? zt-I~oF%bG`FJ^xEUO|tw(>ehF4rzF#VshO(-(BpVVinPJtXDBltsBzS58e2K(Z>Kx z=r~tyks&+oM!8upFgcvpd94OoSv@CG0!K-HNq|*cYb)kPFVHmzQDyNgS_x+V@HBOr zTPsPMw`)K31sygJl39b>l`a^^?Q-<%Vp6Y9GoC%1PFJu{W_*GL6V^$ z9+^K&P!#Sp|f_=10vj<>&t`uQ1;lyV;zvn?tMBX!;8FltQw*gH^!Iw2f?iB z%Md0GOk0^8m`y}}f3@CLqhV+RH9*y3>hEHbejj1M$xYPC9+~aB>R4m~i;21$L8nvE z6vhzc9PV6euvXAWCpYi*t%l;JnD|lCTOZf!7R*`I_sbU&4jX2bzX>A@JM4>p6U){& zW9a285A^0jdF}zrVF}YM`5RX(tTL_eT{db@{AV9iDbVr|s*Njf8=CPDX1f}zQ8N-F z!|%fQ>e>1%`AWI~JDe_OQsLn`heuSy>?z@WA^7}L5YNHw2CL_@CF?#8G&tv8@yU%a z6-QLi@vj;aG&_kt^GMTOTmNem5jhCB`ER308|S4p==EUT`+9?g29$2Su;#WX@hRxj68ku$0r#&6K?p!X^|{FtLj}eDn}4fqc{uuJ?;98-MQ%r88#NV% z1ji-wFBoJ~7}u-Z&i#K?+PEHvc&aR+`G*6XZ=9*4ty@|OFvJ)cB@;e| zQf`++Zv9LEP>a*bKb<44RIz9ZP9P~5xWIRZ2!v?Rzhp4F*ZNRcC*E00psxqs&_O_! z6R#xG)YHDt+bc$tCwj4%otlDX{Emc-GB~nOL0{OX?g61Lr_LwOhoiKb#%D(8Jx0^G zTE6T*#o|v}FCEC6!4&yZs>6SSX7ON4eZl8;4QdEqQ|@GBxC-wsdpAH{90HW9p7P&2 zdqr`Rgkb7=WFb*#r6aa_-IN;uIFF<`fut>TjuBSEZk>rb+b`TIFOkdT2|hdm2nsWV zh>3VO_k=u?1TOoDq~K`YEGZcQSRIj{yUhmZb0=zSYNtQn&-}OCX{%W7eo_xzP7f3_yt)^eeFhF2%o^&ahZ>Lu%(-lPntFf29LOYkkkuUDa0ff zS5$mCuEp@!R22P5DqQ*G;hbWZLMCUm;v4t)(XxP$E^rPw>mp3_F!<72EibEY)b5Sc z3R@xwX>#Sp#(qzLOrIj|?0C9j;{&hOI$ki*wM&hknHODtd<9w(1jF&=2_|ikrJj#|gWhwG24|Hy93w)gT9m&$x4OaI=7(O%bA zbkIU+{ir+duVV$@LB9k6XRyo&M=kO;qJjEM(H+AcHlv^uM08+X?Q-i##WLRclt{Iw zWy8lAC!1=1)2+$I-M$3FAF^)t+(#i>Cb!d{N*jw3F0DUGdX^wL_|2n0sB)Q^S75ut zjOuvEif6&{HiVG|911iTp8;YgC##*iK_NDye)|h=UMV3(VWXB$yxeFKpHE^F zsQeL3BpDp7y=0I6IDP)Jxdfp7+k-D!*#1ym?(>0}ggrrEW)8skB3?$zf6`an+rddXwn3- zhDAdIjb~^|;!YFU$)UJ{I;!%vD!$me*C>2KOtEQgVjL~~O#nzPW65Vho(cGCHP*#6 z&h7DRzkAEHJaKs@)=*16a<%DhI#$jmw(*Xj!->!nh3BEbw8mUYSTmDM_~zVyJ$b<` zwOl(alpVnQLPyW+iZy!sS&dk(W0yrvu4rUp>GsIsqLzaj6*i=}Jpj&Uro5HA$VH6cJoSdenb?UbNR8wHqS?TyiP zCUixK1&VPpv~m8T-J7QU*g(F{W~DC*r=x8+F~=?R46hjOrIQb5?Jh?U zjwJo~+$|C%;hCrIq7!6K*9qJw4h=rnuzQj3blSvws08pRj5f!4RVSs9#1N8|1!+kL zEaCY4^#=Ee?S@r57&3t2A}!rX^LkvBtfyN#R)Y7i)$B{X&jRQN!4LgLkGdum9_2Me z$C1Wx!ELTw=m#&7K3oIQ|el$xksG6!sO&IumafS#$gaS?uU zH68_9v2p1;GdZDg93$%;g^B0rx|9R_QxGcoq`TNFeG$^>a6iK4JI=<$(izkkgUZJF zj0Wm@yl>$HvdlV)kNAx)=Qj6k1wl|jltCE``5tYzp{7f5)7>|LSn3kx`gE>0r|29S`3t;Tt`8F!$Fy{wPxspLtD8OL8x!$NNm8qSUWaIJS<^>X$*DdN8WePcGZTd$j2R5ff}?tiFA# zy0~>nl%H7Z#fTrL8no^umG^a!p|f$zu*d>E#&S_~@Nl@r$yN%Cp1t)XH{#*2WF8kX z9eSJHAS^06<^)13$VtT$138**MW%9wrK}_koQJt2kIa0@Op;J~jivuaX=RyCWH9b9 z&ni(ixha1(gFwjTQBktE$!CExcdN$e^IbV;$ni;}LU;wEKK+wNEZQ3I(~gG~R(er; zr8bV$6d|m{>Z!o#c5RXzFl;LC>NzhZ9KPw`I-jTOTiXRpo~#3@K@Rv`DX6$VD(`o9 z>T0TPI;?xxY+kUOX?QenjwwwdkH;AGmTUYAoh(_>Q!hS$>q2x;j_2aN(Jc#0sA)WD zz8#1U6OL6-aOka=J3UEzN*5_wDjmnRf3q=-9>&|tJVBNOqF@-q9bAP<6lKAstC!gz z;6|z9HrnFB_@I+HvNzd~1+0cUH_H@Oc7VV-L|Aw5a3Q?kmngAV)TouibUAJ#H;v%b z?1UoiF%63rN)!rhnLCh9mL}7fA@4ODc;P)f;dAowKT_-sm?0F3o@Ibm(Cf3+z|I39 z#Q(B)|1>4=fwBnn9;%{*_L~2FT^zA!7C7kvSANG8M-$2AOll8T#!h+dQd}cDCb(Z1 zRH>wEyYj>Y8=_w4W8xr?WP@NNJAV+38D|>EDL3g)YxOrQF6U>4>6Z__}p9}+6^=!ZirH+*p2cS7D7z8TbQsQ^O9ihodUX$8v|FbSYzd6 zaG5T_#nAsG#0+GP@o*cVV zu-R5_Mkv^u#`&O!Ipz+NS0#L+@16Jl9M$PC@9S1)0q}Gd;<}Q;)9{lZ}V61`_-(qa7DZES#9q z!EEz)Vx9tBSL5k~_}p5rd~r5OO~;pxZaw)4eO??Upp>QPGA5P2p|xKs1k;QGJ}1&u zR^oX)U|O9tFGTr|dt3C$@l)hiH9pzkYq;3f+MLX zFofYaU;6`AqD={Q9uBT_y}o#&@GfRGeA@W3#RR&ck7M&{DS$N}_p`BkuaM98ckzGw zGLVC)1`k;N$bq>wel>#u>D$h7n_&U}cR0+a)1&#}swIj7eeGzaiIVx7#uGB_aI>_* z678Zlz=L+kcNSkSV>(~LjE3dgu8+6sJu2~7a-Oywvs#Q=Gn0D?^5aUv9j-$0ety?) z*md>MU^=9zU5usac?O<}6O#I&Hf#drj~WtDrZ*_f=!V~3^WJ0ufkXWS8YywAERn*G z0S>i#J!p$;gCT`kQ;@Fk&8uK^HIIBaP!hf;zeoy2)UbwiiJn2ZcnvrZ2x>b84F|Yb(m&eUVVw1sPZ2sAa-*y;c;C1yln_ z{4l)`qG83RtztUT)U*a8dyVT}kDb;QOarlpGFJC$LXe(sx86SM>KmTM?pt;xvWhOd#Y0M#eed?LWBla>uZiJKAL10EG z$oUvF?fR(0m`kI}+;F3AIkq1&ij_P7Q-x}Esl|!#D>f+D-rJ`~?w47`juCg zSVq17CjAC0Ai!ilB`Yvodhx}}BW%9ow-#V{8y(yLw7)h0qG!{8rx|nC4)$Tz)l@NHJP1=Ih=%AQY23feC#&|nO-7|k5x@6 zOdL(6bZWs6izbGjkq zaG0YT2qm^cU-;#EPgKg0Z-2~0DqhcbG>x$=@h*)K{hSE8 z#ul&h|C?v{FDzfQE!fq0+-jetF8A}9g*0Xs# zk4{=WM{at#^athr#JgktKnXx`vF&Pz9g~A|f5?MV7IjS)9sPU96>ONO}ZK!)j^YK@xmwa1yr?JX1 z{$%K8Js1ma2kiI$XCw#>^U732Lt2~s|NoI}m@B_54bz96!Pa&UDRY%>wEER$$g->u z_Ikf;o_D|eNh_h5v@r5YUJHj^zDZfGN+!o|xBn@{`NGsYMr?eMG%nj3vnRvx*e8EW z4V^xbC^5izGXtDs6wpG_MWCi&*$iD7C2jSRDN){aV_znMEni9K2`LoZbRbOe2HS|? z_EYCCyVZsHPCL@h9w{BR-|FJG<}Z$2-(SqwqWt1uwl_AEFJ{J}nG&9Z$`HHJk&zJM z%wp-dVn&*gqmUM6k>>4XHIi*aC$(y3Xsa-4xc_Fh?%Cjb5YKu2l)A|)mDlvOzyf;n zLqt9$EKvf&b0I9B(~}VRZCN=(*4q)C(BD}T4H5}prKsvD`VMsD`ECuS{2O^@83v7= z&yCP=10+)v+a8TpF5RCY4DX2;LW2fcnFTax60nwBuAZ29@8*37*|PIXN!yLu$eS+M zJKRjf)!TJ~(ATn#U6@>y>>WVs*85c;w<6x=w852fq?g0Hnmik`v$C?_VVRWDBp}GJ zTTv#Ew=tlR88URctfwVbEFqYp?nTMl(ALLWS&weN>_iF-=|EtBA|Z)f9BupcE=(GT zc>gd4{zudEYI%+>s|5G|p%qBRLnXU?GUa?KG|3vUc&+U+*?36M(AM_h_QJG=5=_AZ z!Dw7+EYY!q+m7JaB;CFhft2l>wJ`qxlpA8~7OD5|FdVSB95?ev6uc>`War3ohdPWL zT}RK;xHfGhKXEI7%`Q9{^)-1$dUCy$XYNSXOg#Y{1_WkG5@SSyn0fd`FKFE^hReKz z)edY<25N;nQU&KPHF(g-W*tAIE=kP1iL+s=5@%8Y=iX6;Y35A?zcr=2aC%U$F*7eZ z&`=4IIoHZy=e0y{x7GrNl*wCjlQ+F zn$i=$lY4*Uvu|nmB>zn6g*w~ian1aS@r|oiZ4I~tKo4Ec35uXs^Trcz(YXgtZUBkO zbG)C*p78xGpXVxCtM;FzDL{IqJZK}T$6n{>ML`3y?Xr$3R_gO^%MGK#O~G=iC_J!?@7X9g6+RwM+TN{oc;e+0RH~0jh+-Zcrx_{DABSw z=~&4?On=Qvv24A*tM(yY`VyP-^3)^-Y~8>J*BSy01`48pbnW6)u|xKL;f(<5yMU>0 zKwTAFzM=@z>o%dOdGclOD?bI45dK{6Y8Hr&CkRK5tuvO@5fuCL9u6TN`ur*YvJaaV8&v z^QizB1~UaD#QFm`e4yG9XoMXYpgT!Z4MWudx@C_dKJ%ui9h44zG*iS|I2L{1eWx(Y z1l89Ig zkChxdQLRc7s&H#w{{x-zU##gI_BW8HOZTVA@pTsim?aj!5pz-*U;rIe$5RWFN6R{i zQF$s8KeQX^EKusJ!Fg2?P(~JqC~5r!Yd^!VTC50Y6_>nSrV^5G4jv~mZg^kbs=U&v zwM1DJ$6YZA-5ButlX%ggQ=gdef%c-C4#;atAM?*(`EmCjbb+|uvB*zPasA^DV(I^yeJ(@ThUwb4(C6YAuw)jW~N z0WZu2918|8?88n4Nyo*N#eIuTarvi`P&ztB#xFH86(&ZYk_n&p4Rx-vuVb*>8xj{ zpPTW@pQKm+YzKtsTs@IL=IZ^I(WHd|7U7v-RMGJpznS@MQ$vv`S)zbH&)UFvh1iM+ zk@GmNMOqeGgV2uaW&C?d=q2NSU;#Kib3XQb7I*#xl|lk$^_AEclzXk7RGbaP&Oek# zZ(@n_l7Wq3+;GLf?q_kJzwdkB&VVTvQ?6w8E#FAd#n;dpl9DR{Qr)5G7B1}a7PQa5 zwwJ{Xa<6(nr+y&nZj7EE5JGZ(uOQ1jlUGpY$S-;Sr(2&@TCQaSAuP4#ku6+ z&F`2rH=l_?O|W>Lz9-28DeDt0`$_1O^$+G2B@w)`n)pOa!Y0wuQ7kFx1 zr}@g^J?ud&U3VQ%7PqX*vyD?qi@(}3bAp(L76zSkck`d2BX+=@j#84Gyo)8v4NK?6 z$zb?Dgne~b6x#Oo5kX2qlS&s7KVXCH>iMwbV(20p|nBA&?6uW zFoZ}9FvPdV6Zc&2y}$1tAMx;baQ0qnz3W}?dUq}^BNv#l?0?!qNVzrGBjyJ4UGL;; zOQ*Q^0y7W?bmq~Tf=(iLJ}ZxB%VFq%J$u)y7=BDkcZQ&&D|48^eGz|#bEd_ru;IIA zIF{RY7yPVSyg#h|-)Uh7Yu6xE_g`o2J;8ujd>qIaug?-7+NQuuKl)qdEAmbY2HUG| z7ke7=cyc<7r2G8#IBfrLpJL=gCF~2|$RZ~+&*7EQqnrr6R`l(S{jret@Ck5<4Zfbx zQ@J2uZFrTy*!?{}-F7R-kptVzQYH$_q1Ztmt?=oIXaf<1!`p{yo z+aK24d(#-rc-bzdVz$lD9aUI|vqQ`S*XET>zEzvYkvgRvTfnsJ`@BIhuG$u1XpAWr ztm2hjaJsQ4=?T_LzkZ_udj0Me_k!xAm^vmRn5V}1b{Egjp}5!+Al++O{j68YhH23Q zvLj4JxrOg7$OpfjmX{O^gE<%M#$?_Jqr%nX~Ep8k*Nn8!YpH5h$=)PSRbj_X1Os#KM=r z6H(3Onh6sMih;GdaUnP#$Xsxf8sG*iy&Xo6QdGF&r?h}*Gk3b@FUWRV0V&c&I<}&Tm`+k2}+{v=GJ-fvPZpg*6d&{nEkMV9` zg_)wQ-`Ag39Tf=$CHmmr4#())Oaf;F?u%1Xrb+B8$5>;<$F2oJv=6!5IH0+rk5E=D z5a-o){{u5HTFrYdse*$AH@;XwWS77dVD0k80Y#=@FG5*7)W$YNEa60B8OAGe2kSVt zjLvwGO}uuM>(aR2%kI0ZZtK0~+l?IO-f1e<4#A>)n3w5FU>|8Q32V@*hK^9bcajW1 z(2)F$6-D^NVz~*{YgW-_S>WNp(6Ej9gP#o_`keQW^{zGV?eIk^Wl6>9Wjx)+bJ80m z!<9VbO%GPCgqzm@vkiGRy@e1S5ggi&QX@TGKZZW~E}o#lKHBrvL)<^o|00q|Fz_#M z_pdJCAAh1C514^xqE^@b%a!1!#maNlc*q~5T;=Xb3OD`6gX^528CwqoGxEhbJf*^k ztql&1Ugj^JI%6|$;O$`W>{VpMnu!Cez!BpOE=dnWj{BVy6K0@Jn(;US{G#5rWXs_B z+FOL+jaYrk1F9tti)N`B`~a{^UAOvs9Q}QQ$LSw`BuhtPS3rQO(Lj4WBh85}Eb5St zuZTcW6YHL#=~})UPUB>?zU^7XCQS`$W75WDtjSs6uxKz}PVy7)yZz_~5;h-lS1GV#27yv~0tRxaFysX%YHBq233&geP2l zl_16v43iC>96joO@z?YyZV&sMhH7uPacKv!*Auy`JbG7_V^l0UHXvA|FnNSqPNln5 zn!s)@8NnoZxN)(Z)vE|ShdeqF`y9uoHt$v21)Zxc?%kACN`9fM69*QDy0b`??j)W*_7+aZuHLjfdL#j_FXwcNm%7 zlUs~hS3b!54ZY|1sD2XYqfWE|0`(xl+VJ2BO8M#2q(q|6K9<>>j7z6kp6#hJD|B3nU;7d?wfX`_f&= z+FG3#moVtp=Zr~UuqW>x`V=nO2+h}HeQF@J-LgAyj>7oaPoAl@4`oW~HX`w&ngkt^ zJt}sA+%1#^yjT45gI~g9QwYC;E6W~Z%z4ES>-Ap74+PY)>=dcMTeHt<_s{O#&`d#x zY-9r6(lYt!K3&J)&8X_X3``|}uRHd!m88wyD9yfFf#^enLzj=@ccBMmVfRa4WJhQn zu!WoM`@H<<3(QmXT)e$x5!?jVx6 z7`vE)qn}h;p^jmtDB-A1DGwN1(B59lgW2($Vr4J!ZJFoI8@9oGRr}We4?w$YoVyJ})Id+3Ik2Z=IC%_6Ck$kI$ z0gIpn_Gi~}-WAaEis=UA7B^^fkwk#?sD}phVFn=snv*l2_t!W){J8B9>85C)oIiiW zT{>ZnE-tw)jFCOaWmEYqm}?K-fC^)PAG?JqZ>bMfSX!+hng1LNn0<&##9A%5c_cRu z;o~acMgnWB-N;~?Z)hIxaNar-=|8fj1Y$dgNR&w#R$2cgUD`F&lMsUT%BuE zX2(bG`Rn|5BI^9C9gu0n2l4J-0_!NUiMK9>%`GfX@o$_KWUC$bk!?M*K)ZS4$c+8p zpl%8KsM!+VvVp*VutPHW*mckm!RUR;D4EJO1z)VM@S*UP5BNvv3O};tElj@kQGbZc zAmD!;nszMhl)epsv=DQ+{2l7CE=^H0rzzsjpQ@Pvz_=+LOI8|V2 zGgz89L=qkHRAGhQ?4&4R)EG@rI`a_h*?d#(wLbxH-pcMw{GnbeQ}qp zTtjO~jB3yt&IZ2DEH9ZSOFxT{)-WS*!Sj=>2_e|^acnq0O2A85WvkIz_Jj??itTdU zu4EG*A;42g-8uy$F9j-#f_a3vsDb_Rb^gDmLQPH`uj72UeChu9n zNH!Z6h(z=(Epsu=1X!ie*0C9G08m%Yq#Srb)NzF6{@_|V{jyLF^^#7S zmbjz;q>+lyp{r?;y z{FC&-mU(ZnzQ0~TNIGqmJIH3Q4iG9VE2EUso6c`=0k-ycUJ-N^5DeE=Ow@j@`f9uX z*Q-e~!mr1^-}@+fr;=#O_~VC#bBW}8J4B`wN2q^fho&|*#m>$k(-S84rJ>f|IKyag zDHws}K)xc2!|;W6Qg9P)Rp--cf;Iq;KR;!rGLnb1h{!Zb%@?dzM875mwgP7RN^v~6 zp7d2yr3Y%ubPvbl5Df+E(wZinaq%Z>#?XMwRp7uwNf6nCVJ2<9vOg0Dl_!vBURpaE#TiAur$V7;NO!+90l3I>1z z1o@5c0HEou1_lesITXd;mKJbtv$qeb>O9G;-TLXqFAwSSmbjB08LhpAW?#HEv%dr^ z`54XGezyIR1wZ=5*zo@b^#A#rfE^7POx(c|Bl*OCKC$^5&N5cj==zyv@s=Kri+@Bi zKh-y4yd#vn`SF*hQ<`dqH!WdO+hXRD`Dga$yEdft;~jx z{xG6g$$YQg%_H_o06MV>x5>83PGaV2B98DeIV-s;qIvHOXG;G;h$Q~u5d zfJo&tY*RX39&EhB8mlHHcl?&%!4nE))7c!sQZ)l^de!|D@Z_%PrRS1%INh&{zw40r zF}4`o=W6WR-#ulL?rW3jeZax>jYGHj&1byK7Tw1n$={+6iV;$vdaHJjL($at!xs1= zZxUD4Wy1MQcQ(G<0%o^h^@@v9Vp=JolO=u2VwodnM^BCxe)@<-b*H5q>#wHgbpJMh zC;Jk_JyDS|z=g-9^%GE(%hV;uZF)dGI>hw)WdEahUfa64fU&p@98`s4ZtgO8*}4 z{{lwC{sZ#|L}CpYy9=m@Z{7(I1>VB1eSrE;q?jdy_mOUbc!Qs1>sHYY zk#1wh$BOQl8i8TG;tnEH6JmSE%qN4?k46^1a1(PIv|&3inzo%P)u4}8Lo`eD9qp-8 zh$PCxue6rm)QH*j(E64nRB$n%?rz|%+VOrG0ddt~fZ?8ke9Ziz<8GS`%aTil!AAp1YYJgki5<%(}~b@Y|KZkWB8 z*z;HtZgP@2n9NYS%Z0A02r9(gOU| z**kDQ14};G!jSTv@(x9~+NuGtzp%a9efE&h#eH{F6pY0_N=--O1#oW@R_&lbGhYTC zTl-?&1Z?mirY~N)Q1_cuEP}`NzueY8zRl1KuPqEJFFNiJyPWeV*s!|@%kRK^=;#ik_-S5t1C&>+DrMV`C z@J>JuN)~*Y#y24OKdZ)dY}I(@@VM+h;l)xQ7E-YF8$7u}(6!HLHM1xOd^mQ?`0JuA z44k9bUA}KZe_E&RjVcQ(JZ1*%f6}~IJpT%;`>4ieoKBsXPfxQXuIcy1IZ6IDEmRzR&s4^4$VlqdbMcanXlya?22#9oVqh!Tcgnwqc#hIU`R)1CvJjw+$5Z zFBcIRCaoRuYFsMq)8xX7cJmvpJpEJsei#SEji;g)&%k^}0TNdcHA7oMx&AMW5FmhzT~zSgdRa64J8TaT683 z2+%dsiVu6yYfln5fg5mLpQjEwCRZlIHZE<%f2(N3zjy+dIYHq*xqX?o93DTOu2uk- z$57T)F1LY{0E^ctV#w0#H=o2wKn_ktkUu`6mWe-3*_R=FV8Wdlk~UCHBOKdcqr-8E zYjz7%bU)C@lVbxOSv*c z)yfT2n(&uo^VT+(sTejLngH`>;jmNVE*;48{y9yE%}(?6vwn!ljOe`$xPiz7q80h} zVsi_Q%f@ElgqiukOr6(yh##NW6Ux{Q>D71(b-6gA@Wy)qP7tW_$rI(7cv-MF556kHpe=ewtt@*?Yf^?fbwD;A)s{$9~^u!%xQwB;2pX_igHiQwMlIAn{Ewy__`qHSJ6?n?8HC{Jd z;LR>uVv=(ocw8mbSh;bfAIw4yI?w+u}TfVUgd6C3qw=<7n9zHMa zhfWXW_GXBDqdchc=>Hmx7VS^=kCvgdZ*t0J?Jp{F^t*5iUCL)>j}(9Gb{eVo)(gRx zV3dKk)KWAJ#X$OR&v`jR5iRjN=i2o>Vp{jC9r{fCU}s*C2deVpFwc_Sn|VDjr+2ST zjoM`>p^Vu)h8qOOYVs^)Hi7!L1}vf~vZ=JeU0B)NKn~O+4kAZd+K@gqhOqN_ly_b= zOu#LIj{E9Uk~ul~VD=5p&pUH=wLQB;dbEBg!>EkiJ)6_}3En-e6P-$4)I8*2$oDSG zGu5WENcDSN(&5GX^2xH}|)`XL@Xxx0xkHQ%yilj%vUqAY$cKrc(bzxT!ThMwE;!`EdOlVmgX zGr#>7GJi8fZo!UnX(%DV6_Pt_AT1#9eD!K`_2Cj_p;gSX7q{>xEQohSDU;yaEpqfw zK(&UP-Vd|J0|x$>(;hSX!P>#%^?P!9uV*27x1C{_0bKMa+l1w*Fx%8SD$gEFX3`$O zAf3xj@b#TQu5Ut@>4#n~OZq3bb(-WNH40URNWbpa;8hXnHDYdA74cHRjrK2v7>QoI zE#*4E2j9MGJ18An2w!B(@b}A>o0q>O*D849_pyP$xIy{3Sx7xlXeP*?Ay?tKTFmv`9nLZ%|xK0!y zY6s+tre|(FnqyXeWPai@?yiLC)@c7N9iEh0nW{N5C___3znksvNIz1T=(^ zrd`4{bss73bK^gtx(KYQ@fI~k(^h4G@*Tg)~xH>7jgy;~nI z7B)VXeSFwj-s69l8x_+yA#C@dWzJP&(63%(z@k;47Js~MyJ}F4c~PCBIH$J~F1S-5 zIN&6O39dHj$!vS1fwEz07dxKoRNP_L<$QL1$7dSHFt}LsqFzU^(W1(g72)C9{9eF3&o3axw=42QXQMD|~S-OqQ*@F!3YaZXfsG!6h^U%TY7x(Zr z9&=8=i)$EsOQ2_)DO{lQzXCjf9S=mf(m#UxXRQA-!oT}ob@ABdTZ%ug>tLdz(9Ju2 zp4;Ym7OE=eFIQxYuq4Z862B&3=pV9rt4*L#F$pf&sSqfq=Web(JnOj^T04`&;1sQ$ zYjYLZFcG3}IuNQ&suc_!Z83JKYVvwCm@ctBvLI+yo45A09z7eK79iS^BGo^h1=F|^ z4q1IK<{!u>{#5CSM4Zq8J>=GmuwDIp^<_Q6rfp&$$)cxYXLDO2uV*vwGa?+@EQ7W? zPNH85>E4gC#LLGGDgJh)(5ipRajqknd%B-MPx*LU5mSgg%h~ECQO2A+l-Of8$vwBw ztf7~?&NQZetH|S(Z`uCq(kgWPDP=FoZ;Tz^vd^d*DCYbulel)THT1tymr)~sKj%`( zAzoA0<*#Niq*I7<^Q97kO2==X@aw(tnu2SiAn8i#P0jKi-J5WjX#%q2yv}XLbo=z6 z$-{8mYJ9C8-GRGkaQdA=G>UPw3EBglS143LmETBY{Uta5{pBGsd2t7+?7xS#Ojai@ zf!J+6OKa?XoC2Wq%889_xw%*2L z7GCKv8p0rMWi2b(H|}Grqkf8@6k=WS3TUngk2EHj^;Vi%@LDnm z6$!f@NN9E6d44dXWmo7rE-$#{c7mf<+GcgBgu#w4f3`fKX{p@&{CoR3`tCf&q?c}O zJK*M~|6SMRpzNTw*X8x9htcGJ6a@BDuiJ&Og@d8~!fp2O5+~o!)MV(lhJC8Ztw`$d z$C-Br1A;tdZCaTCyvycEuO&++`M1LT_vK(2Qpc9?Q9Hp$|DG8F%E?)D^KZUMQC?vo zzgC>1NCY0q zTj}u@nZ%zPU2z|dX}*4(Hj2FnQN>oGC4)n^>y{8lVS7aY9}*$p!#!3sm6k^8 zC4Q}i;cv zji`BL_=(0qTST*Y{2+rzsWa2$#jksu^5S@Lapd&2uE`xfQZQoOGQD;1I0}=>xJQ`SZ1RMa1ew9Q47JTrl-nG|i!a>9TW=d+$eH#R zGGRrl)N=>nZgV4-(<7?Uv!wa!O=$D|&?ZZodWq|_NC77!l&UnrmpYkQdHjJU!lvZS zM2EPYpZDaz0M%0bg-y5nRv!$s8Bl3jDV1m8nK3g^^I4X5QM8uJbg-#C3{#zZw{*^W zf8lN$a!@c#jx?jine1T{0{WxH)1?D9rDQsAQ(phPDWHs5^fgMi zZ)oVjoG*hSY@HPejTH>kxz{1raj7_Xf7Fs)Q0`GM`7T$<>23iN%6|a{Ye&^A@G~Aa z8iln^c0Sodq*pfj-Jh&{ZHA;OeT_Wy+4L8Aadv;=9+wX$45=1NvIQcw>$rJ(_8p0& z&xUQ-83si=!nS-6$Xk9sGShK-_x-xWmw7icw?fjHc`jYfHNHHkJ`Ss#-ri7o0FAcX zt=D7Qbfs*;9-0j!6JD!dV}&w9&g^{Q<@kzT_gp(}2gwi8i5|IGZVSdIuhuP-Wwg|> zEbC+l%HLlew*HpQvvKL)Q_2NgakbyI5=o7<3Iy$O{G8b`s<-UTYr@<` z$+n()gZtC9sa1R`-X0WU+ZHg-uglp#MBc8x;87v6s%58xe_G(3KgQ@b0bSORrx^{S zJ=ti*aS0@4#q>+B&ATzFrN20;R(k92KGK^89v;7Ak4U9yz{ABRls6hf_lbF}=@VW~ z_|5n%d~J0UFje^?%d)9OiEIrM?Bo9gjcOB7V+m~?geE~(j4bZ)un$mSMWP)qApa52aDJE(3zmKNn)CMk(w zU859Z>Nf^#Vh|ppldspdE%^Z+2b!^ z-H>-BYjLq^UZ~$=pxw)~UJ<&~*OcDIn&7vkjLuM{>1SmJoz%v`fjvEzA4r;ZE-Rw> zx3=IP+2N})=ny6ee@!Ru$>0hw)@7;LOyCC2D{Odtz4K+EhnH*F^Q%tWRrjo+V$PVm zLny68Z|0W9XJnKv1HzwVXGApyw8)V!2H>}t!6#n);fyfPg><5c@e)b1^}zJVG~~dK zZqR@I^+$N?R~)2)CE4PoqaAUaO>S&U=vE$FT(h)}G!AwhHldTI?=+I2E zAH4ixWzkRQ3Av?~t&`9#_eeqU{)L0#zwmHuLB=_S#k2fOWTq z#Z+rJK{U~i@9q$L0FWLl?)aJ@m{4!{6oOZxfX&+P>{%3B+qADmspgZ9E@aDI5Ky*z zUgr@SdMK7JR^G~APqzWHp)GZ-XE*7g^~^=}x%zjl&D=Ct&P8q<*Uiv5nhN$o;8oKt zd-N*ruPZp67G+8qv{O%=2ZL4cSnqYK2!U8uoxrobjpI@zi4W_L|C^ zWo>ofqrG-a2&@4&Q7tTRwa)*%Q!^8D*mX6?hS9%=;&j`F$-ifK<>c&kJ7k8t))@YG zHuy2`fBxRC{pGbdnKT3YHxu)26M5)^pzV`+(oO*3e?#B#y$bL{Cso4QmsA<8!brX^+oQw#C_nt8s$>JY3yjJgdeO`q zzT0Wer@rq~-%1%2owo}<;VikBWJw0jyJOaWoPOQOnGS7q9g-aBp*|Z_Yg=lZCPUpW z`D`3OUMlmVy{WCAfD)-*sM5S0?7OaM-|n)?nYnKlrrjc^N5tH)*3||~txj#%Y;lVx zTU!FRThvCG5Mmlbr-qZ50U^*K4Km3}yS*rD%&ps>Xji>qPT~G_?C^-)tN-YS2n_@oxJ~w|jsiBB~dY zNT2O^lw-s>1sSOG*@#Q4M!D95+7r=q$0W1vck{wX+f>vn&TaSK?#q5!+n!^8B(-{6 zo8np4BpqjwXmEkiY@gFxDy=)sxJ;9=;0M2S<4*Zo<`%~!a<&Ah5lSD+8;njv23lKJ zyph!W=SyC#y=&k@E7^SSz8(RxIZ}1)aFqCeAjIEg&HzOG<~$JoYluJL0c>SKi~Ib2 z97{PpA*I>Q7~6-(cr9I$vo!mo$`I$H9cp6fqgp?~#)>#vcWz;ls6u@EbU1v_$J%8* z|J}fg(S~Y~dI3tP`bbdifY!Bl*_qnYfble#ejs_iMy=kqg-6{WmY|YPXVth?23G5wjO3&PfRF{jxtY;;zGj4xx{r02t)Fi#8-P6f@M%oY2 z>wh>%#z6XT_#q+S$NCNNON633R3O|c2~yymv4ynSAZDCJmuESdja={s17^JA6$_!` z$S}>g=SO?__sk=673qI1&wtTF0s2_%PpKb3_t&5N72FTBK>@#Zd#$(xuOqbh8Ap8( zL^hKqldIggFjQxs6=ONbu^&wGXgJJezh#zGhYPe;RYYzLBV}YZ%@>o(T4Yj)--yEY ziF7KC@RL0BdeF41 z@-w*SJZzEkCvti%TT2_e9`mCijgKN0DX*2jUV%PJZkpY)+}s?=@Yhlwz(}Evvn&!T z(7UorD0msmeas-W%a&zlG^N)zUWhnFF@;_xDxL^%1FL800W{)53g@k$y{vh_NzfNA zjt~Ex)Ob>L>@3G@o9bB(<|UT(PfUz32dK}tT_&y2t;Rwf zepg59X6I8i1NhK0p$TbBrnyOtu@a%Y%Rr|iqf)uA7AzmhoODWkV~A4?0Z7Dy*w0?R zfcxCH7W$tDI7Q8(`}6?*JJEj}px)Qo%sFAvcUmS4^`jArP;?nJKW*$xh9`l0q)dVq zC9E^Xo3U!vYsx0}FnHvMp0803CZDWn8&_p^{4yZn2dByn)Tr{ixAfBf-^#_z+mHiU z-`~`bnQ%!O*gGR$oIOlZONWjaiW_vF6&wWw1jsvQd12z+PXwUHDb^q(+V38VlgIBf zr$kYw(>^_aehVj^?WKMn9_Ui5*sIc&j4+Nl!_`X@QTPYe#t01_Ww;-icXPbI~HP_h55%?rf+vB=f{4i3v{o zjpAB({FBVCDTrToEEY|XO!r(NxLTZp@gVN1==scZughNQCjd*cY>H(F)Z6llGT@2o zuAN90w^-Rze;9TKiPwJ?ju2NQ5sL7E4l$`ro9pBXUDPXWTu+tq87Oyd?uVjMW#^lz zYHqxcd>Fuy%@anfdTX}BIY&@Vm~KCY9py>d7}6Tv3Ckx$UdEwq{P974Fmpe%bC9eI z+5PC9m{SIHDia^&QfAX(h?^>k*(2`yXyyB^gtXtgv)cUJ3q)}@-T=IYcwyRmtIM|s zBqe4W#a~ICzw!4o#tVM8=fv%0Ie*RBd2AqO^F+G`{%(^TysO^j6ehLl3%d1q9sCeG zT&M~pZHJ6mWJsN?RoP4*y|v!xhBWQbWS(MLv2ZlP=Nlywa$#y1Tlh)$Y^{>mL#0`T z%68@^SfaJxEEx-XhZ1jsZqB{q>+a$P^EAuQ7LIL*33>6zmIQ0&@#wTOs3g^9n*x!K z3O~*6*SE+Qujts5I-x7fWc>`kNUSnRaQE?Vrp~T^tiDu_Y4d578Z+KVCuJORBR!sy zN6b(Xg_O+6QJj8>KBsMT9H4GHCq~iPWJT_yZNtQkPPwKaPT8^XD8yd9(xg4a2rC@fdg(B&nEjrkc1x8eHx%7I) zF1U}u!VK$cdc5B57OQuD+T148i>Q)s5Fy6KclifSC8~Ja3KgxwP$g*5__xctgjc73 zM9jea2j91h(DN1`nbBzh-NaOq>`}te(@0p47b6kjti(~F%hWpYf%3U z#eQ4?WY>SW7c6%HM0d@#&LXA$emTAZdMEc$;e94c>Qw0sQA6C4)t&td-7C8q22N0; z(-V>;HGetVp#y@ebc=AMG%zn7$!we0*0M9eu;91D!H{p|c3XKr3MKQ`Ea3IgFjasj z<%65w0<{u7=Pn#gq)+$(#vI{czdQ_(nA&K9AKFG1d%{!R?KUy5Y?32pBc^d zF3ud6x4R#IeLPL&hlWlUzO&i-lqJJpqdxFb0hYRdLFMR_vA+LkVi3R7J}}UDgj8So z@wOO7^gA5p(;}_R{+AXYBvl&OIN*J?`1Qe7zO*WfZDHirbu|`6x<#{WI@^#?+;LI% zp?ot$!-nGRC5Xc;=q-0Tahne7%uP*f$uh-ioS62T_v7zpMHtHrRP}qnf1Bd%sUIA@ zsk;no7k-g5Lx;afX{N+-3)|ztw213vqCe@8IjWWLm1I_A)A21ZH$`<_V6p7=dRuS) ztZ%_4_VeauUIKqg8}iY5IJ~1_9Rg?H8c%GJKZjIL-P=PCo{ceY+tGw1;@x=H$#EK; zRzQ*;I%4)1E|aDR%?1BVE9Rch-Z5}D3r4x!V)_ANOEO5rsI;SzDvL%T(cm3pdy=9{ ze--AxufU&ogC!MoU&Ad8biaHeB81nn!Be{xVacZxT&q~J@=&vkt z65D|%b^v{Y8i+`(J$~Sq&C}#r4>34Jd(T0F8^ihqb-Op)G>eX3vPJ{q;5sUvzM23G zg9f)-?#8)hZr>ZSV-#nkp_ya?HMJ?9a-GJ@w;m=BF~{dK_71p1&Ff;O1mLPazCGd? z;0{swTWNv=;s%`Dx}9Zh+}W(MH)%w)y5}_$hF)gvY#W-kO!)QFzC~pRJudSsSCn(u zCAyR1gr=(0rHZmI^Z%n2=Sh4XDi9zlYtQ_Idc|W%1hfCe1!FL>u9 z>Q>Eta%MkDTl~tSLS;;ggb{~=Q;4IFcm2@m^e7}$f$9ADUd)|)87L-U2 zfX!)ulw7uU6>b_6JaoZeRNC#ymDR=47_CHsl5sIO$c19|AJzV640jL$^fM4q^6NJ| zqX#iOZC%7&(~Wo1!Qlft`w_N*f1{Q37C>1$OUkYd0v`iZOA0uaB#@NI_fP3SkL$aM z@3nhbx6;m?xU14E%GE+-Ac-NH$7Spp;Nt(t%WD#x=|}ms2#{fHB*n9nz~z=ys>f8f zY)Pi|3}D(?P~VAuM7fdCdz>q@ZmUU*-CmRQAJOW~TWa<;h5{Jnan}{9gH4KN*;KZm z@9k#?O#bZ9OP0=xrRM#sTtXbrPDBIv%%Jm|1P_McM|g{(Fikk zy_{z*ju|*@**uw2kn&cldaW3aY*xSBu?sg2WT;uY>R#Ps9+RaH@b3VBf2@E14e_B) zCJq`OUz>I_?Dr|N4{?4vNz3LGy!?>JeW&>2)7H2Kp%NKt42#)dfIX&nTVn0-Y9@8V zPD5517<<^3Eaw>fPwaFJe24OdSA73*0G!|ejBJGq^V9KK<`sCkP|~UB1(be{e4|VM&r$VJHFcKFNo*LT$x(y*54S6 z&ExkE{mk)K7Vq2C?ZQQC*~uTVl)WSd+Jtf$ui7ZLzHaqrIob#)s#`U*Sv78|i4e;@ zYyy-Uv;`TZ@@lrJMT9*y)zo@vo&cE?6*-Ves&G@kId;1rvL%`wYa6>=1BYsw9aIhS zxP72N+Jl1F{r>&?y+I$Bi5L-r210;-aYO8$F#24nJ+BGU%Zc5#PUA4(jM+&SzE7y{ za;Yh;vN7YM+a;JseBDqmFODfMJxnXH%>I)1HXTCTM(;gHjz1}C>E_MW_GG?+>$>b3 z04U|9U!Wg&A17cjkeaji3Zzt}XW{l*s#HtODc*RC;d0v27CZAe#u>beYxt11vi@#zaO#x8*feEo`$8I>hsi|y}`YQ zP%xQmw%-bMG_UzYbk*+FM1ZP|^q-T+Y^m(Ak2Kc}I6rsB_&5y=kt0v47!Zzc8yQt< z&F_Ly^`zHnzPz`iHqfZpf8l_zsLf@V<72qCZl(+LT~7#={gxVwr8kz|)Z|~khI|<{ z6AW(E+S7sB1_1qqLbzx>V`pe*pY(_mKRNP#=h0Z z`Lvoro*cfjJ4-`~n_t)EEa%<~#06v1Eo>T_4>K-Qd<{y~aUhOq%d{ehbVh#< zmwd@FdBRG^sTH46Btv;N>;7@i)4N22nKRV{x|M@)+T_JFL^S;3I?1%XEUcLpZ?iQ^ zsTRR8p6}58P$p~^Fn6($ORiIfFCe*DaT$zY_Xjfo5F57e7t3lKjh#* zZ&*LNi?IUP#BbM)kVK5lfD_oSe1KxGzJF#BlNwX%szRIoIV?C*CIu|gfUyq?LwAvQr z7V7dkxd!?I7n7KKfksuNx;w?nDq`-(1w}F7=Qg=mFT((hLCi;0Z>KwgEF=F)s*0T8 zN-+f(wc@`94g9CTgi!=Mggko&b<|J5NC*lCa*=LiVf3BkP(BcD0X{&aU~`MIbdf^s z>PJ4Obg2(KjnU5Io7CT5j~h+)pBVWWYwxLR!PG-w;p-P-VX3n@Blh6D(v<0X=ZB3z>=d%u|mBZTR}V=PB?7 z#m^sa_I3G4ZUhX~)ET^%FR~r`%3!|TYE{`VM&6?WId?(lna2bd=T!#o4clTzj?U6w)o)3fE&h>l2nEbf4jnF1>-N(9-`}k&N*(9 zp*^~G&0h&T=`E3xJfqhTL+6l{H7w#Fg@cQ`OvfjjsIeLDjS)n>i1dG*#e4JLwJ1Fa zer4nsxj=w~-Qpfi5x&r_l{imw?y@sXKcVO+-zuC^h|gCoHB00E^-hUq3EJ2M&{Fy! z9jp)JQnd%w`i1F?9(Q=3s3I_vW2&0VS5-!F@-t(xL=XF$N=L3M*ev!<^l(H(HN!hw z7ECMA>Dt?txf)z{g^ELx4r4o`1VYNL{%?8?o!m&lfMWb`AQh+>^LY6ZiyOz9q@v!- zlsJP@?&t9ws&fI937eQ%SNPA7*_?lZOq2kCX~Gg0^>lygB(1m$)8Qzm4?I}O9KZ(E zO)tt?VGRL%8T&2wd4+v^^m+0N+F=GghFEUM8?fz$mW5xpG5Ov)e+kguwA@E&81WEw*T(L=3)1^>SvRG8E%hOoW`i({5!&ze4H1 z&+dN?Kx9U=DCI@a^EE4njEp@U?&RUTUulc0oEO_h2!jTrX0vkxX0pfrY=QQ|<<-0y zoyNj+AU-SQHOx=OvRS>EoZM5z$$nplSKl*PV?gxJuf2L&p^{vS2I5GLyv$1{ax&_HG})1E|u6 z+80evjw9XtsaD$f`}kGV2OyKBy<|;;o^2WXlG0$>=Xup}i2#6vF2bq@6s3!o$HN8N z-Ub;Pgc%#Cf*FdR{hi0Wpp~Av;CEwrXzgvmJ$cf_Qm+J`y;|F&u%dCtO^@b#Y9LIj zRBE2;YnitmbcEz0(N-pF!I z(D>oo&*8YlHf`nTl3Ct2gxHk%kSfQN?$Cq56u34chj#DcG_c1IuV1~7q`)3SDS!v3 zwF4z`ATGpEZ9jCt1QQ?sbc=Hlo2K~HvZBnHwYSpKPV;CBt@ataxs^9%%MakKTb8?Y z(tVPH5GaVO4Tf@c`S<*~%j44R4s)PIMae+EEzE-QbNrb{tD9$5*x-J+qrSRe4-9^n zuUVVn3LiNwYgT}PoD;v*%rvYO`NP{Io0i#bbtK@ znPPBWd7qSROnF}_6-KV?i$5bffdlp?R+80q~AZWKX}qq zFy5VbP`QslinTFq{~QF_m%){9)Q%lD^P*hJBW4T?FO{seN&jRPH}`+yZKDxqoElAz zmmXl0HUJLV-`rs=tRvKpBQ;O;F)S4nDgn=-M`Lu7b`@Un+(5j-goSCQS}Yn`=dv(< z>`dXTSpZ0h0;Izla2LDoxDva2e@{ouSkm-t0x5+aq0z?!U&)^^;s2NI{BHOEpYo8G zj{s$xH3KBxUB(N~bIWc1lzt1I;@V2a!aq!7aj{6E8w1SS#)Uv=?Zb3l*z5Go>t<&g z!z;|`UDp#XIntSJ^MHP<$*$1`T7^Y&lTx61x7AR0H1^CD-4paR1JfrH_wcac(drQ!-rz;^W zaeoki_!5=pO{@JwRWTGTQ!3yV?iOQ{rJUR5@?>t{OXhh~v_CfkM;U0IuflfHH>-#; z2|+(wf-roT*7}&ty>c3Pgn5~@zp%f7w|LJPaKIQ3OWgl~vVRNM0FCU&fj1eyPHvMa z!3S#{k}fNuWg!A4^Y@+?8CFYat(r7tX~G5pt+Hz2IPrmJU?*tht!IS_9T?dOhs?=4 z1@K|YeMvI4rUMX&WSu+UF9F1#c&bdAJf9OgAT9b^<6#HHdJzCl-;IR$Q@JCky%;;@ zGoK2#8P7SPZH~o@QdP@PL0b|_KEXvw=2yK=m&TT@VVK*&l_Tr?8 zivg!Mig3PDZljnL!`|0@iyR5q`y#xXK;`+OY;GgEfB)vm<#bkF<%uuzV3|PMiw}zG8Fr1`;!#@`V9fPpbb(^j2~z+u&4vaaC!V$ zE$DGnpXfcD3@UR0iLK6Uawq*%wDZ9tofsL%buj~!XR>IaG-ke)j8p9M8!j()vf~i<(uU842 zzeS(~W6yuLUZA%DU7-!{xz#r~4FNN<+*nv|a?8fkOudyr&Vjn%VukT<#}zozpRzpxj+ze#R06=TI6 zT@4o=(4uFox>`3#>-ac$aPlIM;3-$VuIbld*#>-5(tUWEtHPwVd{H)lZ{2OwaqCMA z=3#{dtOcE$r068&ib%nsZu>2OUQX^UUP^s|JFFlQ3G|_9CY@$D9o{WCdhX}<@MDh? z$L8U^-t$7kt5Yth?u(Ea$ck>$IsbNB+V&jB2;+_A*OMtJ}+3m?}!oLA>-oz3nt;%k%$ z{yfDxOF6A=v4#+{PuPho(%Xgc*O&m<5Q^z_>@f^2Ufl@{++LhVa~ev* zzRJznOk7|aXqxl=QQC=W6LetFc$9%U&7ps;H_4=Amf`)S(E z5QoD_WalGg=YJIQS^hiI`D`z33L^!_dU zFn~QgnOKFggVajfaxXP06x~o`(V)SwNWnSVeQdvVF|Fq0-F6@IpbnAxM#&}A<$U$& z?M&`4ooX6{n0dQ=k?a!k$V0&19K1m#qX5z!TcC?KTYzYoNy{amni|$|S6eET*Aq%W zoTluyxdB{N-ggmRR#1peS4Qm-=~f>1FG?ZI+=if;Gm;x)V*!q~A>!f~GNR})bcLj( z+as(Z<5^l)UmF_aji$HYL@Y$)^kzH6+~>q6pG>VB*A=>j`>gpa<-qI#l%=|rD{DrO7Y_A_6#H_h5C`00Jl*NmbcCWDe zBoC9dNJ_}+zbAo=6yj%w(pOCb%734U^cvl3k@k$IibVQ`*cBdJC|KdK$jOw?p#ckc zi?stj(V^M~YXoazPp)}xdXqBj>5Un}KvDuo*k<#Bb{tX#_{%nR3ZM(z}|AFR#Ci*VSON~L;%i$Q24nt9=!8vYlJ@c(^ zV|3K5d@ggqD9rHgvhZ26tfBLl+Ua7vUC+;Al9=4Re6E6(kF6ML=3%bjSJkGky}uN~ zpUzo-xfKh&M$=m>Si0Xdwb6Qz2$(N7gHvHGpr_{G4l5w2DFZ*HW3#)X;R{gp&8~9l z=HIH9S-+3GQk)azN$fGo%60I2be2|3&2?w8AEQttZSmsX&;rZ850o3IIi+D)0F;&) ze^;eLUGwyXGfU2&Hr6T!>7`jp{cAh##UDJijE^)bzcpeF=7{%$RL_N&P+LVE{~BIM zG)D+2(f$KEuz`~K2sBR3U;xy13Rr{0ZUpm*rj_JlCRWe~Yy@qv(Tmyrpw9&O{}@|p z;=nO$5!hL<9VLrbI$wy@xFgC{21>0-g~cgt!rIt?R{fQ zMmxd$^(8&5vI@9{%+=?6fA-=yf3%K~dlOP8J8wV>zfg5Hud*u?{D0E;|Et9W?L^-+ zaGS1vE(YjVy4um(bHorQF>;*>nRbE!Jo^f z02DK2A5bbQ191fH~y~LObA%%08WMv@6kwIv);*&^$Z}S@o}dqHkKTrI(_! zZ|VLXZ*lNmf`;>#8ZUMU!~vH%FNTBTfHSGov$|joprqP;XDh`MYiycM``1o)Y+A^+ zh&7Am)`%|zlY?shThMugEh^T(0-5w+CD_hI=h)~2AjX`oP?h}3w2+S)czpc|=|o{! z&;_V-t2&?#@9eZ&xN**)J&@Zi=Qlm#u{m5&>kB7Oy$4+hxw}0H9=TJC4!%7_53oBn zm$0tY@WklVyVq|vCJrL{TXR|k4&bIPohMTylnE5h84V6yBKCU^9ZybJ)2s7J(yRIA z8)vqXZ!RxaY}dR+4^6onzAB}hsIRDZnCzv9r=!L{`_n_>`vnG~Ze{liAQJQXP zng&u*(4z3GT7TV=4jX)`_jguurQn4j{laklg7{QC?8YXL2t1MN<<5WVkO?1Gu?mt7 zA^;jZ6VXU(KcH3NRFQqo*e(UCxpDm9pX7NwCK%`U6y+}tjkpB9dsnGi<~R2I<}%ip z0yN(Qs*tUV+G3zvI(BRwzj^^4Fc7c;W%C*igYuX@=vdn|YIvL@+08^%AVQwqXP=Xz zT<0E`T^ZmnKWJdxrG%fudf~!``XB|yid()bk-s%K?m&J&rU+BnH)=G&8c z?*CM%UiOUgp8r>ZBnTGd;S9Xs7i0Rhnw{8Eeu->PBmMQpghjDO_u>$yIFd;Md`$GE zRnmHIIpY1A2<+-94?9Mk{jMD|&3D&CtdJSe>>O-#miE%bI=Sg!X;+JGJ^O!!{3ThJ* z6Wcn3TW2!g@DuJyaEpk0EqVMOLh{?E&Oq!?-*(6TJ_ir41K~Tc(q*CySJVJ)!=AF) z94d7%`@KcNQ&oFwoXP!$u;v18V=b*-K+IYnI$|_H`PdsTA zsa8~~4jWgu_YatFJ=%VhxZ!@r`zjxmiyyeFVd2Lc0xej|($21d4xoHYski~47k{>o z%VrhhTRpVc<343E5joPPxHXx}D^OfHPgP_5V23f?!9rPKRWr#ufM&{SE%CXJgsqfS z*jhQ&_>kSAZfL`5ZARi&Qc!pFAqlabcctO0AtUDqboh496(i4{gF~6OkIE3%tvzmZ z)XFwy3vJ5x2h&Xgh;a$%eqv#2G+y>#HpzZfb+mOVC7!vuG`@|{mGB+$i^*M@AMKaH zoPzbXmsp_rJ8k%nyIl1IC|WFJ{y#c_6G(HeY1^N>^T&7nxUm(@4oa`r8MHtk)BZ#e zez2;~V{}uzL)~;=mva5QX54HsHG|)4Y|Y@>>$eX=g&q1GFi<9u+^HhY&SqvJ`6}bv=V=l)nimn`X@xq-`fbCc2ESM|@;|Ai2r1b&xi3xSiH@cd;YBcL_nWzr3a zo=Zqj8}En$C6ZW>V+D9WeOdvQa5+L8ue-s-#hqb>_Z)5>*E+i5f~~{sLFR>@bK|E% zg*>SJ^rEXyC{M&kE~AE5>i0nO>;8V-*c8wi^E&RgWW^;5Ybw?2O0<7Yx6@B7Ge0N7 zMY{7Mlo8~3wwyOW5Icl`AO^NY(Ess~|E7s1fq#cv6!4V%xh}uf zbwLIj4IlN!-TV_lzF~_&_5;MM{z#9HEf>SpE|;SyGY73Jz*!P$eh^&#vr7Hnjwx)3 z|9g}RZho0qlli`X<2~NLpsrs8)feU4^bO5Qq`z+d2Ohr}1MBg<{IW&;pQCz_0j9&< znqO<+4!4gf-BS}OE5F{}-q}Et@rZM{1f8Th4)JrM2EV5Dzm_4`0-jXQ63h56X!!XD zHg=s{;lK0W4=)Y*Wu%GU|C~PQeDK9@?GroC?@D}|#&5-m&7V?{gJ|Rox+22XKOEG0FyZHOYcQ7G z^ZemVzV{!85EM%6jne#mB4W>CC($ikfGD*2#eXmGf5ZjwDGSSLIM|bZGoh=zhv1Pr zPp+up{5g1+d@zeiHRXB2C7D46M{|uhv04Tu)^PRvM@cD0qu5pit6c@--*4m+FFgRx zZBSns=QU{Qe=S^a8DdHb)rm-HJ$Ks&53(P{R7Uqc)`ajaY0{B_Cya%*77 zJuiS;Q~!fqU`GpTI2QjhR2;lfLokHL#E&T(s$bFY32S>9%4aN7V^cl3)qJ1!`ew<-eYh^5!yjtSy>v*?u1@Ibc68A(837 zR!{mVn0VVL@w0u{f{O!ItrK6e;QIaF!1MSGVe9Vy=YCJHy4R#^WPfKzSE&G2IGLD} z{(0F21Qt77zFJs~0@EWGZ~6!Dp~r?;d~Oc)-!JypWD;Px*b5}l?{j6z1Fk-5Q+(jrRxLW2zQRbnu;PqJEcrj!*U$fwj={3kYeZcF zzky>l_IX!zmjukSQ7<1ncu;_V*C`Ne&@wgmf^$n!4h{}{;$%;^0q%m8md*f?s?UmZ zbaYEWOv5boJyYzEkz@AX5xtL$nvv0X)KZ`uyxij*iUsVtR4vk>yAchKMDyd;fvboC z1nG;&k?s0rJpVH=1u%344tdYt%|{Qr(UMaC1tm|0UY?H(!G?Ck&Alsuj(Wbnrv;`1l&(Gt3(nxwEqqZl)t>$nyCm zZc|g!)_iB&R%upNR=Z;xeMQE#(0AAINagQ>p=eNlXMG1ekm+qD@!#$0zTO+HoTPMA zH4pA52Y*sAf6@jG_;EXL*jw`wk%6(X!;S|LBI#G&GIHOA_)%iJXj`a|o4Oz;_xwT6<8S!f(^;YYALJuxl_mbbQH&cb(t|CQ^cNSg*L%P zFsOhyf(l6Ggi}a#pzP3|KSsw`!no(0J+?(Jm`g^PM+(a&j_K5qjF`^a7D= z$PvA|Xiha3A-U&k=cM3bkD+B}6*v(P_w9fX+hTaZ zq{jw%@<>@fGlCPB56{#;dq2Eb4*ui0d5L=@YO}$^!^6j`ldny~6m^#ZkJJ(ec)i|z zvgoNUC@oF#)SK_PtaQ_J3gqNV&w^5;$B=X~Gk$%j7H%F-}mM<2zjy6^4n z?&cd5-uIjGvF;tY#?#RO7JC$twY~F=LbWnODx7WT<-ZmSbn4!l?FPWyxSH z{V(i%p>%)nwS-*Garj^$)9cLi{l%eMp{Ja>ktO{egVn~{A!zgzAv$FD{5w+o@?4rk zAu&xp4&2_eD1?LzG7wcvQ|J1moSL5A(3ZN@mxzh-;f+V@A`6kxh=jeBv5F0U3YFoM z9k=Z%LtJ>)^uoeIzo)0?65js1l3mamFeA_Nuc)|k4TLh!JgULp!yG9##$6?&B47fu zmqNf)zZ}4X_R`PNIC!?T)5hpKo){nB_nz76sLB}X`U)I6@EVRz$>@Ds7YSJHyAg;{H#o;M;$hlzSR?K&hOKs`WI6jQ}ibSFJ(-YdaS>HoItVjxcn(18#t2D zb$_=i#NrQNJ$Iq5eP8dtpg+(x1Hd1HMu~2Vu1Bt}1+yn#A6(k`0c6=?1MbK`JKAA) zT7yTzSC6-3ko?XZdqRlzy`8;12POzR`vwVPx>n9{9AeR9Okm0;ey&Z-Ycx(3sHvU7 zG=GtUzZ9E4&Hl|oAJcRJUF4jtr9LI=WtmJBATH`Xo=wGXue~)x;fW!nL-x*1%#_mp4$amzR9ie?OCS z`l!$qitdKSbWC0F^kz5I&ePH+WGb)p%JX__z}=AdYOWn*A%8Y%xnqfWhTwz0+)*a6 z!hK&5-JD~gqjak?FD6mVhCNMaqR_LL7L|tcYz(*fiP(w&qxFgb&apTGT6VC$ zwfJ3{C6dOsLW84joF?L?q@<5&TCdy2`}vL@0pgi&&rK#X2$+(;_67Nn)NS2=v0W#F z6a#zABO@eshszH}!HZR7<>c@~Tc)M!jCdBx17u8!5Q{hIjVQ_rUSOtf_`6kD#Y+*p z1C8df@D~Fq3rQ__6`>eYYg^kPZFt}qW{&aet7XMNwdjXFrLzCF5SFS~at5@h|7l;t z{$ZHzHf~y48WC~R{>oR?eU~}|=uXhAlWxNg_tq3(^Zdk3kGyYKF25*Psy{`mUH7Ug zC~)9KQA0%-90=!Ym|v93&*iL^-J}FFN^fDg zj63|UP=TbqYIT~~*qD1lkknh$J}2fL@kV=|1MShCE$5pjc(njiT0qFqzK(WT-|M`} z!dMG})&b~skKDNyDS5DPPeMXMn}A93MdKk3Q?np_u@kT5H~e&~6SmvNcDX|p-s5PatwUX1J&ilz>rA>;eZ`WXLI?#oq2nKv%fA-tuMHiSehZ*}k3fv_cV3*! z0h62p;`*naH)_|9Zi9%=QwV*M#o3<$&WKbm=Zi4^qh|(jx0X>wewrrlOT7r*0Vru(bA&q7@u;_-YY24 zI#O3$cQ(7Lrh*7sjJs^?W3v1zedvx!zd!>w+7@Ps5sU%AdP*u&J783ZSVTEh9laQ1 zb-4;~K+F)j)9?<3U6Kp@y3pBE%+%Cr1)`lr=FW%Gm2{g#&}Qhn=JX^>!^1?VCOj;R zi-R&WQgjb&UTs4ozHi%)GFtUSt3{XI{r)TY{S~VJT8KCFfTdXlX{O5lj$X_Fy~uHL zhEEaW0{a**82R1liJ)i+qcp%;!-B5xrQU zOwfv(2kVmIkGN|gp^qUhpYY7pvb&N`z@#Lk4?wpf*XYP0Z(4;u=>`ZKfJk&}!}ADf zTfefWqD0#Sy2Px@MpuCKn`KtaeA(J=;8)&agU&t-ocT8CTBhgS{6h@4iTCy1-rf{h zdMtnoiz|T}T1?H+w=qliqX8tGyjiOL;TofM8AMt8ERE_0eM2ndU1-|R>p0qrPtWo# zc%KrBd+&}W!9qBpGXL+B{cBzPUXxqa81Gl07+U_r*#7wR`5ADQ(l4o{YQQH~^59uK zc+nu%dOXKf0+UN9gETbqhN8JSFP%4jfp~o-Jn-aF$1J|o-Sx8De%z8}-UTDJ$>6BT zFSOqfd0MCZGeZ5oiUb>j9(6t)sdqzVpK;Pn$7fR^Tr^szHY%$#^yZu!xPxQ2O zF)p3`g<%XV3#12mOXSCdB9gf0UCk@Y#%05fPCe zCGX$A_qH08lOnkK0^9%iJ)tk{r+!KD$M{9>+y}=5@{q|Gu%O~4k9fjA(3aQQ^B}0!Hag3-hQly}a*qFzC*KQiypGh_gYFj#tBpp|o^OgMjiDW7_tFGNw8p`#SpModLIRSpwa%bDmbt!E+p!{hlzX zbgRw!c|2OM4+PIm;P<@eKd`5d<5TsyTv6`p@BFP2dr)2XIyp51L$Z`bcVbWgDbaJ( zhgzsBmg%SU?xXdM@tf3r#;2xy15umE=hqJ|jDb|V$4W4vfRA`49G*pmH#qI)9ce;6 z|HIqV9B>9Sf@7C`g#&$}3$Id!SEY^E4uKQF9-KLI2H%Aq(eBagp})ClU3S36)I3z# zq5v&eSX(=F%W!LU{k#I~=b8*b!I{e!ucLjq&|U}cuO|2VlM=~FV6v_4mwU`C$HyUvgPC8A~tEXywYzUogkcXZcLS4fU zi#!3O>>&1(^jdmZgCulqf8WhFtv9n}SxTz}NQc0&WNMA!N_ZN5Ai(9Aavd*IgJUfQ;d9;p zGef@s)mcL!QPBgXCSC@o8t&zc>kKEQ@3rZOlilo^Rk^%hS;ZS~WIMXJxCEF`^B~|i zC}qU2qK_P!cx9J%4&>je@m_2oJ7uoeMI*8@UR|^YZ1sr(R0uDxV8->>Dp%?rd}0Ww z0xdsPfg*1?qkPmNJuU5_4pP-LT=bNwUqCf%6uCqueU%XqtxZRB6gxKMWG{W$I9cb3 z&&I}<{D8WZ=HSGTz)_22#}4Q|z8vVpP7^LiVZ6;cc$Sm|T}Z~-^MYH-Td&;1dZ>Y# z5{K(>a^!#!Lf5v7h-H1tC^x9wH%t;)+D#m!JzZN@Cvx4$p&3-%Sku?OSYMoEzBAXe z=HscJ-Qzx(n{vTUw{Cx8MS$Jf&f5=|{7t6j9T_B=FXtF&DQke)_{8oGTJJ~&kn%Vg zgtH7xO8|$$8MD`?E@@dYQHD+E5-bqppF&R$iZB`TD5L5ozu;O;c5-<@Q=q%xZFFfm&KWWcvgyhFrSEh8#C7zfCU?w^x9yxSz#>tm z=D}{icPL+=@SI3);Zg&?5JiA;;nxt-4=yU*yv-?-+vV?1$D&@@_bVKKn)}L6d~G%P zUi~H7ihKqyIWc9M!MU$J1lPECvvto`nRUdsIM`>1+yfQcu!sl}I8+-%Z&~!f(zHfa zNW=M#HNFR$7LqXMZr@G2OAV<{q=37u#um~eRUgsVdJ zw1+orYIkoh=$Kwtuix^M4`6Gb%-#Z(?`IzR^p!j2S1-Wti7CV{?5x`ZpVmf~-#bI4 zC$ZYljY)=?LF=-D0B`jga1wQvh8~$fiFH}E7Qx18jX_0|K$pe2vOUk^C^?2WA>Wgu zJwm3TLxT$KhOc1n$T8QVPBeVB2aP)Y*0%~$fko+Bvji2%>aqAHUz#mjoqk1_!0xHP`^D`JnRljt5I!e6^fhogA^ z;lqdbKu9i#-=I(b?>(Fl8>4zGWIpbBP@3vJs0a{Ygj zV+X%Xhd}40;ODQC%9=n0Uh-xTzs0wfx6$alBSoG;Vf(`qarIYspT@B~08RvGu zPSJP-9CJb(xzu10KNs4xZPoyUlR8!C&OHk;^uQQUedg14G3^*_j%bV`)PW>>KAF~46n)b2^*9ee+rSp#!y}kzJu-eY5JC= z3M)4QLdRU~u0T|RgI=ARvRGHJp1vGbE6+n67)4uAtt_Ipc%*+MmKFfkxfS8PpdPCv?qy0g3%;>7iZ5N$Lqh z94ImA8Cw4<-&_acLO|Ugb(#MZF{FbCVcz_SW7~w9-xHNLfc}~QvagHyUhQ*a6k2fa zI-nW}%D>ghnaD@!t=6hQcLG5QTJ~nw#MpPas13g3ar~I6*~;FIq~7l|5&UVQ@c8=@ zKIO{EE<=B zmmMUn+{~G+m@=Xp-cgz=JP&PQugGOMl3KaRzG!;`ODQy&nrXoqH7P+8SN(@IxMPlG zmYH2>RuJ@kYFQe|4%DqV0i+I;GKp8vK|r6`1k30vXVssL8M3}bU%0RZ zA{uUnMs1F9d)wVq-ufWWy6{dCbTgd~_|R8hFL`{J6mgh_;#i)jsVL|LooFb%RFs~_ z{u1JpK_36~;bsuXH~%mUC7@pat^xl=DZX(5F}V8+anOIP;^!ynA>4aY#PeDg!Mhg< z5I)Bk>#{C*Rz+3#b+ouP)HR{QW{OvN%bmsUS_TpWd0=+zYVE+yl31F22h$y+J!~3*zjDY++iIy@H zcvDXgN^;TO-rjfeL?dgLKz6z0PpX|Eyh_5SET{_9jKAgNOiiD0f#>eB zt|fIVA&?H=^jd}~DJx3|2n$#86gq|)ff+aALD!CGO&Wn5eS2>&vcmM!!HY(q&Xtg? z-WUX;$x~EuZ-^^GT^OL?2N6e2Q4s&$%?#&(Ko%`^Nv75i{==f={-XxcRA&EJQkk&p zXxVqDgOtnA*>CTkHdQ0wQxsWErzP-#h6X|K2j9C)up*-ZUps6j{EaUN1Wh9XN6ki^ zDUdvBx(_sADeMVujA4aycbd1H6ceg%s^8~S?h4~@^+Bb4&&^Tev>l5_lXDXokg+G+ z%Stq;cHQY8ol`r^RxZ0HL$_a+QpwajHC}4IK00K4nZx!j*68S&norN)8#{()sSYje z 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
  • v|9wOwG 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
    TK;lPWb-sq&v`%dUQf2Cf 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

    Fd&1nER1Sh6BkwgZoDbYq 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 fr1iPVepXH?P>P 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

    &Q6n2>D*!$szq7L^1X-0Bn3Gp$SoFq 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 DDog#{ literal 576539 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

    ?} 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

    6&wu}cd{iU2tkLX~CmYd|Km1tjaBH0m;L^IA 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 gf#$ix3$32!v*7wCOktD#EfHWJbik7+zz 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

    @yJsfpj-=<$=C4W@2 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 Y6H(T2l14@;3=jM%-cpgxkv8)FKaL$6$p8QV diff --git a/docs/assets/aws-architecture.light.png b/docs/assets/aws-architecture.light.png index e51bb4fb30d792acae3413677e3956c80c0d88ad..8fc065cf0b6596065f36fcf3647019cff55aa93d 100644 GIT binary patch literal 1299031 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�cD?= z2MgU^<$I8amO=5JwPsfR8E1V3(o3K_v}`RlHAri^$4|xPLd|5T2)iagwZ6gIa)UUo z6(OU{Ap%9&=B_i*;*JT4xOI*478*6Il3HVcCMlKqkQjG-WjJ%jT2ukYWUC9ir+hPcnP3jA6=N`iAfj7Tpb-(QJ3 z8mz~N7JGoLSy9$y%bJ_hKSIvk5ae^YAcsSmq7`Q%zT2&~U^LjT(e+DvUlwYsV)F(3ZD@i=+x_)BiiD8?Z6OhNHGXwY`+q&SDP%OiJMNkys0|crLWH8UW7s7 zAF$)itE^u28Cey*>6%c}ThKykq0UJzy|KfBf@KY{6tm0ZxVv&=O$RE;!vt^6T$92= z4e81%0cDPMZwGTHIS8qL51D`c$_zsZImS1j^*6Tq7ZB0zrf&vMJcHl17?#1-i-Om+ z*la}6vDJ{)an4aRIA5jss(f3xG?>Sm% zHn%fy>4!rJ_H{cII~{|xk|?yoYG{`lgr;GOEnsM+tVBIfd)kM{L$wP(!wRfbllzq<{2t3LFT zO>8r|?^%;;R}X3JLA| zg3%SikdG>AV_f`Hw#vQJOhwj1H4nZOLs;3&Zecs;&KNRg+q-I^Y7 zVhSN@XT0+5owHD@V*rWs#(G?+$3jjFUv#a-O}*m#d7q3T9?{iDY`e)^|k==jYTsb7vuFMSoZek}yd+CyuC+i0XikH+*Pq8jP} zU~R=VJ?qEVVh300Y@Ww1(D;SW89$j@yLQ!;6f?S| zV3aEJFoqxm4>zVY_bcK%?nlk}_MSI8+vHnt-u^~Qz>#(&SZKZrH2CnRblLd0JmR1w zJRDjg5^The{WbRfxSGXAS&w-=@WsIDW6{m3zIkSSZH?zHIhgWv_s?+0>?NFi?7`0| z_9~TDQ}KU;5x~+C8AdoqxtqoR>Gg!ko+R`O`6XpYynp6eMVgw?yf~2>IZ5=IzR3F) z!_$L~;;a&-u{cf7>5PT?;OnlREsDJAV>Tud(x|8kzv5-g<6bJ>m5tBw$V(3Y7U;hj zud7XO?b$E7;NHBqKa$zo*qty(yL%-tdiLT94TXer1x&^rgVN2KQI*vcMvyhl*8Ah$W)yrP|?TPv0NS`b@uK zzLj2W!1fZ}N9$Bdao>V#(WPWaR4fzQlfSH0z0~4xNa>DFr7*PWo)_lZEvl~~NXO@v zonDfzcn>18#m8|bN#Sjab!lcwdNW|r>d#8hgk0TgM#IOc1qUmcV;e$1$9J? zZd;_vz;|Wjuwo{dYcWaP5RY)sN7&3`EECC z#VAGepmS4&zPx5^_`ChVL3JNhI*m>`B=`DuRq=#`f8wx^LHvZ@wLRC;tIiKBw>xNU zo=tNf`phJclZKfr?yocLtuCt0nS#o|*UJqAw#i(B>kSewl;fju$z^ooUR)|>r(N?_ zFX2<@(z1`_dVdd}?=8$;#YaM?xLlt$Er+D>Agh1a_biNhk)RYG?XRkGMZurr-v7%H z{_{~$CSY>I_A}{3f6pgCeD?aoOZ}KSD3vzW{%PR7HBN+VpYk+Mq`)!;Nw*NY?f3ef zQOH_=I=j*o%$aI^Dc?Y$WItDY%2Q-YttOlMFz$N`x%)LB7Ry5@an7 zUJs$di)qax#YxSO7>ZEr$Jjckj4VzAjHjh_Y(fZDZF4#7g>2!io@Y(?&Smqn9jaN}QJVO1BWP4X9>)ipZ=io58ekjn~_+m`A-uj)~c;|#p3g= zRDP;TZ41x=RF|*LaiF;-UzDF_?)q+KH>R@fjThqvZNSTjG;s0dg!NdhqKN2;}mBFyUZBUSSM2+N(3fC&??O z@dcxm*!l2=C=jMP9@p2aZv841-GJ&LBFIuzgQC9e1XB-bO-Z1-AUeJgXyVad}8gG9vAL;LhbZ-9cD zR})U8UJlsl#lE9C_TK{d^Bu@Q(IG38H%$iQyNV_qt!QMO_+FQps&^w-_2;T-hu#TL z+1i8+WeIMN>Q8l38_)%1cb*$1EO4v4M(*h!0RACuJMCE?n~OeuwgeeyNKi(SZ?6 zs06{zp6)L+<|2#RVMVqx84uycHoNR=Pv{VpnR^yIzC|$K#)iwMS`4Ayz)&&m@sJ8s4_ZV@ZJi5W-^2iivvARK3 zPxD1x#uNbgcY(Z$&H1j8*G^0m$-xLE;;t}*fC-dOPZUK zUyfyE;*(+J9nWCGRm`^(Us^dB5!y7-rOql_pNoUEI%nb(IByR=_=>+P40y*+b&!kJ zkh%8w8U>EtjxkS6rCm0|R=dN$m4QvW)?697>oAz#WV9Tj9$o?emf48wOl8|Nh~IL{ z0&Y_=V;DzT5~MzPYmPLk%+lcCBg6*yo-=lt69E$TfUdDGx_hbW<~NAqo6B?AX}PX` zYmnMaE`Ck5ax@B*i!{+Gl7}^tkBGw$AKx(0UcuPX#8X0FA@96}QtUA{Tucc}@pZXG zJdhn~8t9&I0~O1M5i9YbaX#?xI+hsB0hCK4P};S2X4tMYD|GtXr8ZHA6qo12Hw6%X z2B(mshq^x0S)MIm(Ie75kl^ZYdBM=e>)6LE#CI?e0Y8p4&tbB9}N446YIt zU+ekpsZRS6)gP7X@3#Cpe6}+hE66!jXb3ru)$wN|^R8zYVd_vPzJA!U6%DIfH`==<;m-}t!Ph%#?-$#@T+xVqZ5 zLYMsHb)88fjI_lO0`XSISMv(kxvFCxi$DX=!n@P5e+I(5G^7#(`FleB4?bBg55PV8 zc_EA7H=0jgPoP6J6PSwj$>iF~lU5hAOy!r6Ne;8feh7Qu00g=A(9( zwc{gTeD&}1^*76O?vl?a2Mu(%%Isys#)Ka56|Fb~eixs*iOrMP?L}}b_s$0qz#_z< zpbiDH0GUPLaI){_v7G?3x(xz)*n*x zc*(xwgfP)^N9wFJn+}!rh_+&8w&^J;-@VF;huV*QUw7tGYy1@q4u}vPcch}@x0G-U zf$w3Ho;UGJ_nW%Im$b*k5JXedS>LME@Zu=jxG&VcUIBJ_3ycXP3Ydo!-M?NVNIIHn@A*;}%!#k6=;UCdx5kaT3yok& z^4`Q*-PohMJ4%XQGwJ#zl!JY>(qQ=J5=LLqbk@RT#%n}PJ-&Oc4?kC4xWMJ=IiARY zfJ31ai*232#$)BC^#pKg@43WLl*(xA6fr!$GwCAL8sV-q9sGSVrQ%+7Vks8yV;|uY zX8f+o^M{j6DwF7N+8bi0pYYw)!41D+qL5=o?#NQnCIN>4qnRUW{WvX_V80~{LzL(j zi-guj-oaRX6`8%bb9}B<3l<+&Pf6&mDV|RVrl?s?B7$U0xWlAAcc2EdSb7rE`(QK= zs>JwjTA-XfBAd+(^*&rcqqzk^JXDfuyX( zUuB7V(-H>Isqr-#V@F#=Z^5U_QqH{$zow6K#;m43KfcPQt;>Ar9M&2?5+s$={3vkN zY-{75A84@R-Ts^3{mTP`N5U01KmwuV7*u|$IQ=D!qhY0QzGw188&Lb$dw~8f4#&S? zC98zCCZoCivgx)sFZb<`R-xV!l@~p>%NovmC3!R-O7=}~d5RP&n#dYoRCz2vRj z^hO>%zW_=7pCC~vHZWlLz8Nnr$kn>T!h*TXWwNX%KLUhqHi&vLfj?5iTvQwhRogZ{ zc9dHwzQmEU7Sk$erun$p6mV5?BM6#D`l^xM-CXCE$$f8KV0=% z+4p9~Yp)sfdB>AbPQ&P%w&KFO^#y%&2Bts3r7=vW8#gK|AXIRiGZ$<%@?51jzE8jg z%I$XdGb0Mtv->AFr;SaeWhnAx(7pli?)I7*^AhT#>#9HmB#BgG81!+r{By3XTA{W5 z^%m*f5XU!Bc8@!+GR&>7tE7-_9Fq@yz8M--2hqZ zfSF|#|1_puVC0}xfoc{aWpUFQZ28Ak3gFg3%16y&+kWY$bzc-Dtzsz(xpZ_zk24YR zd@u@df(s`Xo@`-wY6tdr`=q5Oj?-qUrHN}3rmSYedANl-*X5w09yo=Z2noFrB|GYs zWF2Bkhr|d&hgqyXr(()4vZi|mMxz>H)1Tkl=BRL_OJ>doaOoa5$l8UhQa@sHaLw(ji5+Fi8ollbPWhJtte7*6y3iFLj z!DQ2TMSL$`*JssyyUt-)mHDHYnB-c+e)k%<8}*c(%(>nL9A|VFn12OWh;4vH7#<=87MNS}y4kMMu-3huMJ_-uOYQQ@))n#z1$h5z9=@ zcmDmjE3TGJ5e395%8GtZ7lRH6t)EzN^YuQ=Wj23s)yo*IchA{e1p`owdMi6)8IU6& zstagQ%caSTD#ke=Oqlu0k_MC>Ux$m$S2l#MF>-tMjdT~yQ9Y5;hKnC1z3YfLQX*1n z%b$!!@7*Dh7M;cbC}`<36SAAbG`5ggoaV~TDt>B&_TkC>@n12mYO;szANTWooONIU zj-agO9Aa!Sk3C@+-fdv-{|-!N}ogD z8N-8jgkHI)#hB0I!bua3yH09B+O|fBZLg+b>e}X8@ig%9J0aQnt($NgEf1O9neK6o zEJp(G4a~NY5|%M4$V%>~G6^Je4ZdkynZM3-rUh;GD}hE&q#l#712{Xngu+dG%xq$= z<030(+2T~{hdob=jm11Brvcfpu(%DvL{7T$VHMw>$>Tnf5WZ@!=ejRYPbqEZTNL?a zjwO9U--W78k9*6HY{CQnPIdq8aywB#(q`%>+6~zYnEPE*^hA)zNAhajjc+VqHVbdxve%0b$2+ zk-NoVz_-!MYn^bt>u^iphlt}gX|VvagXYWPMMRopS&^t%I~TMV!eFu$y)5KMcaS^9?8(&fp zmoYUDMgCU#bN9D>6t^y+QcBh$ixCl|{oLdIgoK0vvI2S{Fs+9)eA}Dq)sNqr4o93) z@cz&Bsc$~sUKJV8$)7!1ZORthw$v9VvQc)!Ero666nB{@-esXQEq-^?;L9?=E6Zm8 zhqI)s*`W78QZJ#wT83yBwn%hTN$4&KL)8$V5}^C#+8MNBX;pkRlXhY{R*KdppMm?i zNe@oV{l*tTEOcZeXR zd3@l<+cShsq9%@*55tg(sm$Mj_K#$138|PmjPlI?OEDD&K2#HOs(^Q~-mb44CR*H8 z4s&^ROP=7g3?y&Ec-|`ey8Ykj4QABCO1mSqYS0QcjrzdBkP!4DIsoXmh)(xS=C?{p!s}gTpU%xC+ z`Zz{^JFoX`X1tO9v@0zl<5z5XxO4X6uj0hLdNTukctaM+lW}>Ldh7JH&->#KodY8L zZ^(4`sn45l4*qzTvInzqYx!W`qBGC+B75JylOj_wC1j05d`br;^xK5D6W!fION)^s zNzby5fV!<>NP)_a9p1~gd-T!aqx*v}K~RR12Kri)ICrYWcC2{v#0oC1t<~7vZu8)D z+9~lr>adgE=H4P>w~2eCs3w*BwvdC zGw1&cpIS7?;6CDTH}Id1vJ(TTX}#0RsTOa!cjV>MKf3csbl&;V&a)8l)?+$ufdTPR z+!lvpGRR{nVJ?JdJC<#`wqiec_?~@`aUkE0R@tF=Nu-eMuRGJm(rWi}#|p<|4uj(w zsX@DeTnLvpO=D@Cm4r7x^WeTy#EuzDhEdtKR12Fv{fQ5%pX+&=gkG}mtq~uT z2~m%3&ceo(4a~ynVi0dVI*Lnw((R*apJn8(DdFGGUA28>8gMA2V4Cpx#mc^r=XU0- z3%T)Y7FI1K#9UCC&9Ne?w`Ve!O(a)@vxEQ;+cf15ZG3qB_uC@*TqolBlA0`*GvRB) zSkCab2hFyuRK1a}f1cS-Sjn#gBcO_p3S!{a3^Wq(LnP?qGclT*9wH2MC5u1l#EQ(=bU4=HcmHgio?JgGrxmy2-QSV{rFN#)&r=GHag>Jc z#e*&@lYwnjg%6ua={nMQI-Z)uO&I42Y9}A~moK|6Ms7TmZ!%T$pn%kn3~857{>*gc zddot7^@RU<$>8|7$c6$v%7G&9-o@y8mgOh7f=XStfNPt?g@mVE3Y3m~BkxGKRvm=TBV1k)81QLv& zUmDAOveKo>606g-{{;W_S#8N(T1!^_7MpwoKDjlZo$=Asy#=F=K8ObN3|6x+N6+t9dKHah6;NoeGZA`-XC>F*g;Y_}rk~f^ z2%#3u4oqASJe6jZ>=)7zgdfzlIp8)T5vt^CY#hef*s<7(O}&Fy8$y7N%`vYRDM~dv z95?t>(rC6J>amk%gjge1zkE~inJ1M{4Q}wHp>4P_RW@qN+7VApX^P3D*fnk6CvTL8 zZ7cuhoEkQ#XLEb3UY(msq7x{V{Mkf&ms2GIu$x0y{l_YPB$0Q&&xEw#39%d<8jed> znduApy2!GMS}s7R2J|0Lu@t)WHzL0CW@F2vU4C=|n{qj_c>!ramVbWx^5Ft*&ebEY zTi6L165bXMTK<`&UiY`gLp~+B(3C>EJp!cPviS99Kb%a!=}z5&YvMKVm|& z52>hq9?yE1PV>*QY8r~SlI75E2j*jQtC$qhI}%$M@j2o(q+vPq2^dn@)nMEGSShOKgv5K;Hb%4BC=>Gy zZ!phrK_l~cng(B(8NTpfwzVzdB@{CIBw+XK=|pL8uKSl2|4kX8Jrc@Y6Kv=Dx^el| zGSDy$H_+svYQeHXk`2^H z^J`q_vZY~9FqZARTTh3|6aynxICp>b4!S6}MJV!;&zdeNb8ef;uWu#1P460*zSg6I z;g>mgSeO%>c9)V%$%VJ_*l-!7N%n3s$HK<+obH=<*pd~9g zVLu3PdTO29d!XM+40Iezq#D4{s==|*nIaUC&yznut{0ciAP#yF*;Y(@M*`bJ%gG$` ze52$28h-}13s8<zrTT1UTl!gBSsEfWTr5}bndD$g@vl)zI?FKSstr4;Ddjh(beXW4f=oX#>6cUv4j}S$l$OXb@+IyW|lF*7W`Jb#V~ccG|>3u zK~qLXBMoc<2QXbT0bNrgTS?J2lP~>08Zu_(#-7%E4ri%@Fsq@+M`15@!rizSzY zWWyE$7BUaFV{yqk=TNR`yREZ68Cr?|_bi@pQ4st^e4L!&X+nH^bEu1z?v3WS9++G_j|3W0kGaag1J=g9& zZJA)616)4R&W2L-A7z#EhzYz`gg$_s)aq4cfs3$fyA5DhX!xCe<)mex=~_LhYI>d@ zUny=HlZV~(^`rYa*LBw0iH7L}$vt3xm1U0_xh6h1xw6IGvD_?EW4XPh`yT1#`bQa( znyUM9<;h8JvvgSL#zr5l$c^FdcSP>zt7GD+yO(YIv5-cl-^E?k|KKFUwqkka$aIr{#7BqH^6F0}vwUIbf(ZjQgS#D?#S7lXZpqto(i}|Ypdr4dZI#jCsp%X?M zw4bO8^Dd{*QehkShUbsBnFuO!sC(*%9eG>)i!4q@bEsReE32rgTBIWgNdQPS}p zHbh0AjainRsE62!z^9qmFSReE-TfghhmGv+4dfr0JQBkT6daaslGj^X*efwi&Idw6 zR1mSPr3-CeolZk&sya|K6ss<`o;GIxGrc?!Mb0`%Um!#-;8OPkvW@R)rzLY+JLT0H zbZUE5t`1%S&$d;KFZ49U^rfFQIX^ata)t$t5h||pF@#%bR1`Q$N34S8Xeu+I>K9*K z$dkOKP;`LiKvO-@jLs(P9rKcu@5YUfpNSYtCJHQ;pMKjtUqiB8LIS|LEY zhb-p#Wv?CO5fZfKGPtQ&aaY{o2nLEQR)|V4QB5&1*W(4>FTceDtp)D-V`Gh=bqH#pVBcCHGl%}r1T}Fq!Hb}7R9}^awHiB%z z8~w!|kZkdea}3QYPKnuwPcMASPC0hpnIDr5xk1229cizVM5{A82{3=sA3xu8I)Gp> zyp`D?wCSE0L%SDV8G5whf-s;*IXk9Je9A}}2@~{9V4xfw%Su~tHGI=wgBY}~LX1nE zEV7VKdn;{XDuh?G_);DBZmc-)<%fb$icO#tg43`&PDA_A^>QSW>{hjE$^N97^n<`C zraM<%js%pn_@Z+6#_b<*ku!@|hj!LEo5zIqzl$Olm4jRFB-p5Fe}d=U3Hb(LwN2Ek ze`c-6?5^k&hJmS;XZK8x=Tk>#o9pP^Esv*zkh{aBi#i_?S9pGwe?<%tY-cJ!JeHBg zMV-mdB^cxRTrX<8q>`dD#aY3mGd1^|7{m-hkdj%(ZafoZ zjVZ)Mxk@k=BUS_RU>IPFhmi7VrS2%}#YEgPTuD0F+k z)!g!3|D%@FJO7cI{^7-ljJ0^yf|3{F^sEJNlXhE2{pICKnban2;acLN`VAUT}0}YkgeOU^X<0I2u4WxWx`Y8kHU5a8;KW^lowC3y0kO-hb zT+DckgXEJM{2H+*Z@sw#H7vw-Rua9Z6!P-}%hwNsdztS@7>V5_Y$|1yWZ59sp}W<0 zrZbTpPw%uI3%me#$VwhRG^6sA684qiUG3Jf=yjWVn9zlk z)QhNhDR2AOG*TE(`4(TEbHx@zp6+y6va;S-s-ET!Utd8+br0&A#O;thR&i3xp`7u& z!fr>|WAra4t?6%L|5SHa?@7@tw+_DQr+1ZTy^CN!Txd<$bETj8r)ymRr!CK~2iWd` zK5;Y<^siH(b;p^?T|Q#a!9Ra*Bn$t=eEPnM_>>U3jPd6nVoL#bAb8S32Kt91ibDLi zh~SIRk>2kC``5z-+){kBvy@nj|Z&e~RItu`4m#WnXV`r~P*b+76#E%7OaD^%+Xgbji3_AwZ5 zll!XpL=}ooP32wdsN|V*5|AB@bsX!|ww;g-8sXYDBHx_yEkI=8vkm7NPm)WDZS=8( zh=7)czKBXDPz~%<>irrMO8&mN+&^I6=qNbK??5|1O-rJ#rrK&ZaWho$QXv_ZG;kzc zBlys0;V=@WC3%PDB3Du{F$is zy%JU2AywsFeV%(YHix+W%b0vQp_2%mjmaT(k6|OTDItiKf&CABP{IIuiR_-MzkPBB zH;`h4d>Z9pC{psb=(Ae+M*_;e^O_vXeHrFn!snRAX@U4FP1nH#Gak_^i&cMgWHot% zMuB>&Q-$OCxaa_#ilL_Xj?e#yPbWc2?jh2n5}t3~`JdUPgWQkT&Oj}ECy?vj_s>5& zH!R}%M%dAn_Qq;cE0 zsk7sVtlOeL#!|P{(a5F+snc+f942^)c^74UUpXF&ZCXbu zN=-~_VzpbT0S%G?nqbK1QY_9T;r>28w$fj&E>h<>Z=db9~< z6BrwkGWD|LbO!TBN>VMy9r!$AqCwfEZsa!cem4miJd2s1ugO*IehDbuvsuA45L964 zj~D<=lml;@#9Hf6Jd$96!9s2^zTepD8`ni!QLytx4ad90<@G(1QdBuTq2&^`M0Tg9 zcqZhPzRgh(b8RRvIX@XC6Cd( zG##!#`=djHBx}N>-$#X=e54{h*5Vq6HJJ_Wry&pusM#qku0p-ut66`GkKy!}g+%FRc%6 zzyId$P~%-DatTFT!GY49RE2v0P;yDa%??7(LN?Vl@-)0a3>-6cLFi?Y!+ zbD6X@`c-9wY}!H-JagMzlz3`b&zO)|!khFltqe2VDnZb8@m)JJQT>c|JfrYZCvE>Z z(0B!d3;%C?w=NN^f(L{NsT7I^04rw;W2-iMiU5HDAzs~-p zWQn`#=j-Hx^r0pdC!fTtLe@N!oli*oXm-RrDTEIAnX|xDlqTHma41eSBc)o^Y+dQq zicVBkkSuVJ8ZiqKHM#ki-{$nxfX=L-}XzS0pNHDyyh7MS9| zEklp~7w9Gr&-RYl6q#C7SbFX_Yi*X`iH#{I_>Ygl0=kelfl9FKlzc2P3 zh!jzuBxEkq%~Vyev5J+Kq=ZsX)|v2Kg6bz<)7nVbqIbC}P3=Rbh3?|`M)xBN=7{#k z4#;@<&Hzec^C{#QkgfdMJA#wB zH%rf8(4xm9D<*T3jZ(CAseZN;+Ui*K=f)EIJGA@aPgJfapSEbyG7W1^^9bNM;NI{* zu`c-1cj)x9EhO5?Llxn5BOO^M3Gn{{>dE>5Gd{#1xl@{h9W$YZ3Ng zmHaw7O@kGyZ`*SDG}9MDYG)O@WAsRwvJpx`6sqUa#kI%L7PM$ zE}hVY|M4Ti9a+Q@bQMea`?VsS^BZIa@r)Lw;$gzc+{9c2$oJSS>nh1aLt%;7&cb4z zmQuUnPV`$nNRC|L<<9{*c^}Tn1{+7g-`Fm1rBe?OfH}59xZWW!;Zqd8sJG2pu>Ry| zleTtbwKqe39ogC-!Ed=YqWW};F7v4m%||hC_b?`*nDPCo$DmJN5lXZU=?nq@E8neE z%_z!ISQ4MA1{!e|$$)s<*|Iy;k;FawFoEzQM$i3_7Xlez%Bl@7WJJQc63A4YVo_>X z2E{~+RF*Py-+Y9aj4(c1oz|2`Ppa%7-NJpCT+x|2I~G3!7Z`EY_+(REx|C9)bK`!Q z2iwGUDN$51g@DBfXQH1Dk+k5>kNn_?ysYky(F^V+@bk)9%fAHqS+)Haf$wiMixL?7 zhRW58zT|vQgt?G>JK7<-_{7A&Ln)eFAUK)j#+ho=XK$4X5e_rPGmuQlXue~q87)mT z%?mtbv?c2_@|{pr1qZ7#>_Uq~Eb_HNU_xABa5cmLL8P}s-olg({cLpgj1WKD)mZ4x zyt!8fkk6Wxn%J2BYjL$oU~AD{t|qweM^uC9U!)*|E&W@)P~TOV}%Usaj6V14{9H5R|pAQ9^z@VYK^L z({VW4Y$CO{FNV+G(X{ge5*SUEpQtYaV;%)zj>#XF2Q(>yA0;YPdK(b4a zH49KJn{Z0R^PlhJ?{%H?pHK$Sz0h>mMDXJBD3Po^^kwUvbA;0#~U-AIN|Dl8x*mm;nv7C8dZP={L@Hau~D^xXQ4Q%Od+l zzFRFMYhPUD`RTfZ>IU57bCSQHdHSf+3z&bdR@&(4`DG}e6yM{=*Wm|Eu4a51B@rhM zLfwIn=H?~Ta#7teXAxHl<2pgwM7#i<0zd8e_`;p>WStf-VvyJxw~Z;}d%Y@k?zcmB zJ=gMst~ucr^auMk)=CCB*_!DmlVFy+Z{^6&&{`A-#z4cR6k#Pp>Nn29!3CItUn5Rh zm+oHNB)bGqZbh5HdA?I{nF%%geAZd|)Wfj=Tn+czDNTSYh+p8FzpcvxT%0jV21RK* zYhiq)G)PZu=6*(zCo^gu(&NyLE8g!Q>}VqHHRcZkOb8eCtW^{C@_Y*CGS>Oho`sz) zTf8as+WC_gBbF{L(sAL=xB6Z{m2l`4vqKT?8sb|zoX(0*&ecm23apf&Z>oO)0jPJn zv*;TD_>Sgy(GnR8Fcuc|`vUKABT**w8%pGOQ`gw&GQUxr*%hl0G?Xx1kMiEe7Eai_ zqJTGbi}S^LDJ|@%4~!x8?$LdEbcTy(RA5|@Au^SAsi>mY@4~Wv|H`Zlpsk7X|6^{@ zZ>9}|%GAYzd4h$j-Q$^eq6=(wxPW;5>&Qfas_;Q8e;q)HInpf$`^>x2DQA?o54D1^{U8ao+yd#BT~xrzaQwFLK(`Mzb|jGvg&283`VT`70l}m9N1r0UbJl}y zp-3Erg7ZlMXo~;MeE{(r_{EDOU;8|)!zNdE7s8p;#|tDAn9q$a=|z1U-g?+tGGgZU z+nfD$GEX02VT1EY@YmJ+KA-YOSYW=C#OZ$CgYyrJLh?Ov$q5#4cz@a;aW@S5BuA;} zI3Gni(R_<&HZ{M-DnztjVl*R2uRo?@x(P?b90+#|e3$e#!$!6#6s)9bbL7XXgt6E} zb4Bpn<2n0iVW67ns-@V)MN10qp?HKP5Q30=|uTGF0wXtRD0^?3Tvl#+b@F z|4raO!*8EOA6ncLamGeWW91U1t~*HAk2Dhrh%@6KOyS+w8Xf;N&H8932(amN z-MVbMd&GK0W4&JhXod_?IAI8=+Wc~I$r%omT{Yv7&ePR%(e?8J`Iy$Ot)Z#WZHL7Pqp2 zysVwNel`^jBj9qDF<`8u6ipc@xMH=ia?HZ`xmar6? zB6YX=DF`|WniLGA=0XV&(k#K6-A^+cF@jJI)^j3hS0WsC;&e@PaI(%l@x{%ZH3Wyk zZf&`M^Pjlz%E1NymE}2D!*I*nw`cbo5k@`XwC>;yyEQax7MsE0x^DV~#M?r&i zJBD{v0{j!Q-^TmLBVkA6-4pn>BB2+ehh5~UB_%#;J)p-sJB0HmIq>2eph^4Jm|uNd z*3SK-o8#j(bPyRhah@>R&zL?ssHYW>mr!9*nTd^CPYN))2`(Z0C9I7Bna}9-UM~0$9y#4=PC71@M0z1C^-B$U+P(kMva0HQIK#m!5?@OalW@dN*4gzD)nDWfuUkmIj?`$wQ}9FfZ$z7r&bKi4o~d%Vv6)D`Y@Ycus`>@kn?ZnXI{P$H6Y# zO2#hl%%0bDu;?+)>`BO|%g{oiBC7yy50Eqb`6Q)gA*_(sB3YHH z5_R!aM}A`4-abeLeOOp`?3+lFD9bXGf#a@FoksqwwPhZ$#93PA#d(K&_CsHWev@i( zSbGh{z{#x#{$s&($TJUfc&&aB!OxH_R)nZee4{sw%7|CoRKZgkzPTLcEfqr#V`wea7w(JxXz%5NDp!n=J>(l_h9xVVUN zK}x$143{tKLw^BhspWe@$w9I^CMDv`>H*~g7;5GO#lyFa;EPrri{dziH~ar+|BPZ; z-dtQl_40DG+TK`&yVZd0;fQUAbNhnr%K93EY1pTg^_X>`cw6{<@1(28xwil(1qDU0 zBSv)S4O~fgjru?J!CJMKa=0d}R)1~G>7#@_6!1>Zp!9R%IL{!QE>Sg;%hxSwU$Kxw;9U9r;)c0*c+MDZG@Y{%n(F=<~Q&IreCLx3V`+&VhMT44l8Y(+c3trRY9#QytJ%#<>uIhYa z`5oc4Q}X{RPn>_t%R*q{cEgd2;a7MQY2qVd`TJ)k?$rRxaOu#|f^YNu`0_Knyp_@Z ze_YEtHqykj(`7ww2!HMWJl9{qHC$hx{MXIjXlVd^DAL|0o*(mvU@zF8vC{G1iNDN9 zY?blrjRN7n;UahGQoM;wqD34Z^#2FNbUz9QK0K~CEK8}$$^8S?AyEr<*jvMxgKy&^ zNd|E3Rji$f48^DEh@IydSGtJSb37Mm0SlJo{!xD}#GLIx=aWnEud8GA*5-GweT*}I zfcE-#$b;P2SuCDfz7F-}zK>zme6j|@N;3TaVFIj&$TiG{&&Xi^GDZ21;4iF;0QPK+ ziMe%gXQ*{*X9AzUfrkk(ZJcAF4GZ9%U|rQ)erIukXGFm}GDZB~K-2X&@gT+gj#1+= zU2Ol}oYRkcSp$G}?b+Zfva@%G*ERJZ^C5!owyB{GWa6K1e{}cP@A3Hk(?dC(_jO&b{d_%N*IPD4-Yofb z&8gIlkzU0{l1lGITV-r5JDvd{?rDVY^4g5J(B`*W(d8orslIllM>Xer?Mp@) zw@b6-Fu|)g-le7=N_gyS zgJpT?Tsw7k|60qtG_XCV>13xr59nw50HwqMZ<#Z3C_NjEjL1;M{5hrdfn1DT=T2|E zS>OPMFl>=6wtcX)hy_V)JG^)8?2-WjKma_@Ov2r`zixQ*;$?L+gN?1z#N+gX5`jOS zDg-2c;~L+o%7zjFiF2!I??HjY!BY?O?_K_nr)naf+N?Z#`elC{GcOrm>fLrlmu$9tBiqy1D@zzLfqK2VNNIo&AIa?T=kM62b2I_y0DbcSYdSo3YTHt<}6N z7WL1fi$1UZ!=Z|SUGJti{w}~zjq~*ECG?Swdhx639~zDRL&8qaVcF@ww}tff=2tQU zu8bj{$@D@r;~&%b{gV0J^(5JV&nIue)F?=S_aXYkjFI#5D!}~ z-jDxvB;XAVDe~to6$xYgP+~`h8RI{{INk*;E8nh}lIuT~gA{K21EAzOqDQ!A3aR*1 zF5WLl17Y3pIa1z-`r%V60k_LgGci;2(F`r8CRF(4OfEft1 z3YeU!DlEatjVnNCPby``R)$n*Ca1wmRRFr6EPvZ3t1;PQM4*$KKyr-)MY@<8}9C^H&jDc-BSJZtY z{v#q@R$-J#!CpM|X21XYsUYH&kjHOTNO>mrldwjb3N{TsqR>2$>$Hr*BwQP|o-Q*T zCFMe4FYUI-AcB2QM6Xf#4^Mz}h$8L9=>IS+_*-um;Pq~B2-(CCn z<#$iDs~%-V*hhIr_D8XW*I8ub6lw{b6&q5X(%?(8#s2-ApPuK}GX}t6$j6w+D)`*|2U7I2mXKsEMPe)hnXw|~l*S)Hloc78lo zTtP!@B|44|{h1>}o;C`2Fxr^o8Pz#8BT&sQ14Bz4exv$_ZJVRS)kY>l@QtEvOMd4_ zNZpzSmPym)F{Y99+7!#{iotWcd(y7hpp-5RV@0w zI=f<8e24CV(Aj${Yn}g-yeIx2IOm-{G#Tpm9_u0A+TG> z+1+A6xNka1hySqMbecb&3ECwLz(%y_PA%^r9sc!`ElA%!E9JFnoq4Fv6{Kj#9M0wO zD?Eq(vJr`=Kb$jD0xJq}d!nvq50(2q89Slhe>7kpV=f)lMV)+`EbL$x>D`K${DXIJ zdJa%G5PNwz-S*GwU;OPK#zcc}^!9%;NTfNT-0*0BH?6WD;elMkz2xT&XVwqC9XbFK z;(G_zOwavw_xQljZx}iLk@&j&2>T5UC|^sza-CM8RU$t$EE-@6v$#FU_CGv`*rvk& zFq%}ZL47t;%-fm=$sYB13S-U^G)#p*Q;8s~*cnntk$0bo{+Y}3>5eUweWOwAoKlnH zA!(!9m5lF3wGtL#Jy&>1%x4249+enXnzK^ofRS8YmI0wzt}x*TAFR#C-c{ z+gFv0R)>}G6s+I-5v8P7IlSY5@9r_Jdq6qSW&jM+EV4achL2oR?RB@VJ1IdJR7L-* z+y7cvmj+nVz+GD3vulb6n3-=kRDuNfxkRq-ccjoC^Lk3LyuIHK+=}sR9b_D=^f~qS zUjWr6Ss#K$dB?AIOKmgL=a?uZR-!cLsQvrH?S;g|w^(zM5P5>blBEpI>oXbN>osix z)852c!QL-LSzwhep2d3Bx)yh0xI-lOHA6cJlKPGYyWSYeq8|mHFf(|s)AYIC?_DYl zQ;9gm3c78+AUQby+Q`3l*lrBgtRu3AOZ&gkBEAHvPmk;<`xViHBq1-}LYfXn)@JI9 z40mEC1-nkx$i0j9mgC;j!5s}$_C;Awxd2}JUF&^4dDb}#+}l|Tvpt@@nNuhFnf;#y z;*O_xq(Y3h>`gw!2=?>L3^lu?&M4*WsQaHh=B;R{nHgw67C^<Zn6Ikh#SFRg}mV4>Rr5Y!r zUTK5ZNcf=Xwkq>q4)-b0h~rvk5*ezqbn$o{aJ=f)Vkt?5sLg^zhE97Cv&YNTHzN`6 z7o<;~tI!vCI@urkxvs+zu`9H%(2K;nZoW@y+Eqe)xSLxztIoL_x_z@~iwwgD-1N3H z&ecDJc&vQjx1XN*LH7xpPxTb_qUVF~!F4Ms&DX73#ygyCQ8sJ_k&Vf7-UaC{%=?ps5OOaiMw0+rc?G!pdExg=H6^a1s8J zcM|#7c~zLi?es5yOW%*2l^{?5KF=6MY@a0PIl1c z)2%kK9cJao=(@+9eA-`E0!uP&7T(M%>I^=I^<93bv=|Fc>AgOZ)NZefzd%BQA;)(V=>kG^Sza+r68vD<=t|>geslD zYVn%!l@E(ZX|Z##a*7`-p%gilG3(c4Z%9mOJE7VMJ(NS*)>=|3X@;F{F5LBd>-PDV zPmT<@Le+SCH*7n4AQGZr<7520R6y(^CI1D}{>-3_Yp!mw&ybdxeSEx#J&UG zrLOB!Mh;R82(oWtN3-yqcI~)!LgFli6n|yQ0NInC>Z<|?^hw7D2m}80_X+N!3b)!Q zlOC{QS_M+hB~s6-(?!-;$W*g(IN3jRcGKs#kBnv4gIR-UdJS>;Ijs1qldT+Tk_u^u zt;0E)JMn?GmUmt$-#LM~>JK_qjJRYf$(W&+-iUt5!FjV?I#bT%wfv?|e<3;Z8i*b8D2UcYwVa zssejUqBu(14;!S#f8FZ&5|Jc!q()SAkp%22izb#KlNfr#=N8X#mz{nnv(#wsbk1sz zdh@RB%$>(u2TjIaw%+$QQ*j!-)-se?S4QuI-=-0s#(`=8@aucCRa{Fv$h~pgJ8v?n zf1c<4x+@8miq$b`kn!}I`tgyrEs*Rld3|I0IvYaQo*J zTcy4h^}(F;`auuwp-)ky-yge)WFyR&uoTAXr=o?}829;QO?64B=0GrkJ}Z{K51slsOojx0vFq zEXebiUB9h9FIm$5S;L#hlNLMP6J?{tN*x>ttc87gy?2m)RVX8Zh9rSC;{DrF^3OOB zA)T435rm&0XXR1uC=H$I;W+29-R7XUkht)d$BUKLjsEaFs!M}U1mv?NdSZwCQ$6?g zJu1ZRW*)V8e({=c>7>XN2wL)NNaXGAR@XRz4M4s{ACE>e2JX5mA2X;knW{QuX;d+* zOApapIR{?&TqnTy$r2{DuUU|Wjdu+@E^rvG_qr)1U4oo^bG@K;+#GQnnOtMrvabQ@ zH}woGs8~%lJOJ-2{F#oJDPb=UU|*Gjgfj{~;U=842`?x6vPA56@rnu)bpQvSsmb0a z*Ht~&_`qvFPU&^|;gl@CLIV9>OL?uM4Y~Sp=`$VkdyUoGQjNJ!HWoFB12*--85e^b zH)#4SHmn^85?J})F`m+PP9x%P0TBi;S9!mCAtNVs#s^`l%Yxvw@D)9xOQ&kLDFmoc zVn+-8)!O^HC9CTOYxl{8_->Q8bEioVhjz?`9{W^V`(HFCVhnGU{Zd}9(=jNBXt1}` zEYME!Zyjg}!Gr|zPv&>>0f9veeC(zL%j*6RL#3I73+XTU{HQfnt>T_o#<2OQRhj>` zV-c_e%_9G8tV*?zR<+y$TRDgfi=w26!%>Qdx+S88H?GU4$YTm1 zgprBxcjw1jzAfI~Y;v8BbLw}po3o279JwgU$wuahVE2K1s2*!WnG35~&9*sTYMbOA zyf@*($6j<6PP4L4elwaO!0)o^J|EC2iC3&uu(PqK!*}#n^JJq|nU%sxq-pmX5$qWk(50mAzP3TMz8bV;=K5Cvk26_NiNjz;JJnn(3fA=GCrFr^Zi z+QeO9P4|7utu7r>gQzkSQ@^4SFQ4>4xZLuI=+06~$cE<|%FBsV!LZmqCl%8aVJ)^y zI^6JHe0ZqXXA$j9pj*xjhfu=Eooq93KqZUEJ7GP739L!=EsLtiaskwR?Rj{3+@#%b1gy8_rYI^T zcgH1x-pZck=4Ek65DkpzBK}9JS#_oFyXK@R;k?nf*{_0LhsM9G9=o^APRKYs;Tv7BMb;z+4h5_OfK?ax>X8?W!=U z^b)F)z7zwi3|o&`fwcBtw^rGL_vmZ&(ctd0)mA%{KO!6FHAAcD%dGJD0KQrSvS|SN zQf^Mo0cS<=+orZaG|d)1`)kX1WFq`t-H(p|B~67?^__LLe7bTPr(_4M{D;Z$25DeV zU4{+g`sCz$19w@lgy$aUq$K%N1QihRYt_3f50|bE4AKog*-;2`v}KgbwV~q7y3($W zG$`S`ZfbI%1~IQMsDHwP1Xc*XMtl%BsC-w=n&cVTsz>JQ_ip872OLJwI(kXXU8~nK z&Pqf&D{Uv+=T>ewoW(UhSV1(XKq*E3%X6o!JP?_r`7E*VxLshF=Gsc`H=C=N)O5?X z6@C5Yo=HwgL@-_kp-DigFBp@Mu;7LF%vYZF+ph4f&7?dH5($&Z)rXF;s`I!M)Ad8>bKYIacN|h$nYaVnMCUgT-C0cYO9#WxlCoB$` z+vF`*wzy{M`K%fvID4(IU9OjTN9cBpUNXZVpIKBrYJF7^tBcH!IlMB18H|Ww48q@m zm}*oN6UgX&RPsehDZT?^Fxe9;MN~L5erii}S3+R`Dbn17?_c}BNW#vaQ`*6r>?!ri!Mvovah%Q>buz&^|ABdh5yA2LRKN*{lh@Khf zHus|nfkUQG_QMqzy#z{!1_88G_tf)5WXs4HB+MArveKh%W-G4}vY6hrIfy(Uw3|I? z_1@n?(CwxTk{l6d((+s*tpr&!wle-doUXG`3(-J#m^k9E?FUR2VyE7oK4@CAW=neYKcx>luRC%mgpF8I>MRT0> zo>$%Qmez6?!En{cLf~b##cX_B#(k~XCSJUySAm{#rc-+g;{lS}-@A>VDri;bZGVVf zK6*P{_|7%?jPK(O+GtTz$+DyZCQeuR8%PFe(%E^n>Jdg6Gb#%Uv1+2pf;|U2aO>40 zPePLw%kxke$bav3M_HNcXZq`bFPsq$xWPINHFx~Rt&tLAJUUzMO*FYZ9OnxHf_7R+ z>98sLU|bV_B&{XG{vrq%9+r11k8=+qGt>_>9hH(_Kh8kub;;6o-+&vQbdlS;AJ1kj zY32i`z$VJ`WeXo7!;P zaemg&f`57W#u1)9uX3SN7G{NZFj1+=ptsj`V31$0_kNYD5>l7$O2w|D!1tRt@H}+l zmJ5$Uk4}-4GAA_+Z;fd%r5U=qfCZ}d3<9C{&t=)!(F9kCWPEOUOOpqfJb=%+^h%I^ zh}wNrVi!}&fCdYB>w-+mj&IM!_pxktbD{LkD(#IE!@g(NS2>)G6u$xqlnhC-c_wEb zaK@;Xi2+1?&|rBAFGE|Zg{*w3)F1e zix0CkNRKZXn-b66Q-?Qvc`|}}9&+32)+k0&$+!#J0xJ?pei`Yhsc+$3=mK9?ZmT?Y zIU2vI|Aa}sUOFwJ_kk4Tx!*OuI!3bltK1#FtRUs(q-ATbH}NiHU7^GcukEkM!{vU{ zsQ(!*#Pc%u68IiXZmPFW8)TYq}Qd!0#)=<=T&dFE%!UypRwz%m5%UXR9e4OA$@&4 zt4+0v4TvZWGnazEWCY4A)E0$SHYX{nE+dBA@%Tkn2LG%&O!%w8AuTbX{R*Sa&)Tv* zn={mNi7BD8RRY94@zy{s+f8}?dQlV#lDZ_U8C!WB8CEcujU#8 zY9_AdCy{}MYyjTMU4?bOY0J<83?iA)sTVi^e5vyES!GxjeX}D_{V3>I6X1NdZ@HtA zL<{GfR_9~4Z#B15K@RG*{Yq12#N@(TJ-&o2U+QVBaa}g+C4xi?fvj^ z0OlNF*0j$}V}DnYPzYr@4~?DQbLZj#n51MlpFT~I+C$MGA!L}J92HEGpy^$2?o~!B z)q26NksV|o-#mwy_))?S5)42ju{)>p+~K@XV9RvBSEjn1*v`fio^YM09j<#jyKfv z;OhXehukai72qzFK76k1oAkJ|0)Dx^n@_U}$a#-8l49gr>u9%b~+ zZum;5LjmaCL9j9s8{rYqeB1GD0#(k1PibbzL{{Y`uv=!9L6ujz&mf8bZrV%RVH2`Qy}*I;9Yg8%q!}j>4}@T{^E;J(9!{J zkz+i;a5j!FFd_RvwH4dZ7BF`G%ezW-ezl7K*JnUSnX7JRIJCc+ICwM*jYwtKGDMr5Q!-m+4cll zur;_rj@7NwLxp9j`TRnVXXYV*kG~jC8DvOUrUY4Pk(+<7Sp9q@FHsZSSMfM~KK*mW zhwrgY?@*N_rKA*JBppK#Y?3PFp^~5$8Q_!A;NM=Yc)(EA;<8KxGuF9ZE+z|&S0ROP z$=Y52jFARvK@g)G;pFPotRL<^S_Ykj818ZxBv4r9=SNaNdZnF_QHu$51=jninvTjY z)Lh-45poEz51}d`+VIHZRWuMi8T;1e|ww%a{l>xAa#AqdCu=FSymBQ1qfw@ zJeWbfWzSG3GNdJ+9ke2w$ z{U?Jj2$7}$2jmL8I={JPK*C8xwGkJ7$bxeh3I}}xJvV?+xFMaHA6gPOu$(&zvalOF z+{|t3FrDeu>&+TUTpLhF5?EpF7gY}&xb(h;CgdBD3VBG8g8GokINBcxo7cPrK)y6$ z0D0>47^RGI6U*sX4cBb4(j_8nzQPI$KvL!CU?O+42^`TJ_0E$on@RvhDx{$JTPw63 z6&$Y)SJPRRQM@NeL-XywQG#ath&=-bc6R^~l`&PuP~%9a=rW6DqnHEb<6=j?{IK(p zW@yo0OfK>-;4i)HfIq0@-(()qf&*18@iCX1gBq*?{TH4Fk@z~{!@0}Upf+|fK*>w{ zpc2uqU6jHyt3rDJ<6!NK6u)1ssnh6W#riEc7_@Xx(B8=!%uBN35tGn$6;1L?Zn@NB zk?Ha55M;Qb$xpsP34cfBG8Qh-ERN;UD-^=T$w_nujnEK+?E8UGwV_{fn;}!I6f}oTdf35~563@E*AHDVVhe$b8o}&=^-w#Oe zB3m&tO z5|NB@b>+b)ML7p24QA1(jy5wRQ?nbT3n~vngx)+@+XwQ)=w(omg@#FC^gjlRoBY~V zX)Xydw;y?SsX`K>?yl7j>y*>*tl{?f3W3rm(vAWPz$^7M{Mt?!S@E!=SP2x{IcYu5 zg55(@WaHp&pByj3CV1C}CfNz8V2Rl5P5$@w_V;>;P-v}3q{)V~NK(RwlVBYJe0Azh zCnISurnBZp5a9wh1T&s)nJt)Qe z5j6lZpl|M8>2eXqV|e1XvjVDn5$v5yw+_TKt%bgDdVAM-hUH%GtmKuk3}`uSGcV^x zz_#}Q>}L?;3$TC{H+-A@3zmJ0KTN`^&)De3nbSS} zs{{_RwN}l@dxj$i-9h%oD}^lTK4abhCNb-fpa6QD&&7_?2KYR}E4Z3!)S2zzGaGDe zA1cPb5%-I`3d_CmDJaC?m@Wk^je*O`L^qc>h}g%ldU?tPh$s-p>E8sXRHl1R*s+ctbRIkI$gHd^&5@ zS-5$O{Pq1~7r-UTF9s2$CxP{0y!?QiU@w7)&Mq#OIRN4$h)0bgw2oRft*O)R0n~q+ z8NoE8qbEp%+X$U9Lo1!@smxFvL*TbT&!a55y8nn73j%{(eF1JssScROABqAVx@qT)zGJCJf*F=1`$E6I)I#9AZWPh|02-sLh zvw98oyg5ndBVUPS7(A-d;&3F%OpGpCl6)yaPJLmTpEYKw=FX{8wrrqs$zaOD| z{37gLZD5>K6KJ}kRP5x}-trQmRix!XwPc z>3yx{frd+ObVH(h#Z}i$0*PSc}vg7i~-VBNsu<7EUH8x19hb!=x^)z zve#qQtzkJ|oTW?g%3a3Lb6yy4o3*$T8pNgio1K|3U&a#!5c2C@wOWQU8N`{fR_GD zbQO`#6_nh-W^`BIZq3jlgMwVA>7m?m4W|*O`BYIq!Vh!?u^q6~n~Kb+sf-uAe}Y=0 zm&M~$8Y#RtNkZF50!(-j%;NJv!)dCEMHH*})$5s5n9{!TgF5{-H>#41$&Z#f?MdvM zvoJ$l-ER41WG1Ra8R}*4l2miAdBG6!npMlJeU($*uH(GE^CoAn)BK~d;qs_T1xyGx z*7`mTdb%X!ZQS9P@o}RY$5As>$aV^MsQAwYc;Yz{HQoM2kfV1OlN2=KZoIpy>3TPu z@t^{{h@0)09Y;5ZHf_~~^`q8tA-|Pk!zH4{aiQ$xPkd9QVY4xSIb=%2g?qNNI4!r4 zMDl#gTuRn6Vc#9;``Yw)zu!YoAGuAl=M?H$=jc9vZbERFgdz`O!m-;AxOX}%v6gEv`b{SlrYQH7$ z7-Yb3TyvgtAl}yu72YkEgak>l>mjnm#z5JN1R0|BfcGIS72m{j?g&*lzA34fJXrg7 zSFrK6oA5^!_fQnj;gD_v9S%Jy$dpm=iYF&+&b2R~U6{fi2jcCHIv`VkP83G8Wk|z) zPBTPS?!E3e`s8fwb>>F_*6InYkzTUTG134f>?V$$AO^AqWzed<*(F69b{`wK!JjrW zC8Yo$`2dtl1G#+sX1(r%2k9BemY~1ga?{BrD}($tsJ-xJ$IVzR;mUcFFQVNfYi=WN z=&(S);Jqg7_f*~4!mk}k?OFH(`hWsi@HyP0{4RnPa{pouIO(^dh zjyN28a|vMCY?JXe;fw|etb5hLPb04DeO@vm?HuT&$XF5TcJkaTTR$+mH2Quku&Nx` zVH5&4KiNA@ieoTNcYkpQllvY43P^clR6@g_amv(gS`9Ms)tSz9!eL53y)=J6Rn*Q0 zX7R{gh!1XbWhrJM$}T=TTEJfUejDwti3UXSWqc`WF*6%?Fh`T-2bfpotrv6r3Xh zzyNLqko!v9Pm%vB5s~f{DbRweel10|oDUmM2ml-th?<5CxwQDK_L6(PQMa-2b2wTF zS9k<+?b_ERJB3xdd-b)n@G!+y#V{%XU+?|Fa+b#&zS{1~$+cpSZ(w9FW`ha1f?2Fj z?td|cb0`)d34Y&He0C}sx&Q=r??@=IMhBC`PwtINvFevTn&ObhAQ|T6Q)G&1F9B@; zRN)VGEPRY0MCqAY|zB7!Ayrddect-{k{sj0CxUOd-%;{{EFRo5pD>5Arf^$Oq|!7epsB*-ZB? zTs0S56&((C35Zl7U8EeZp+GGJQ8(MqKEi;0F^_ZN2>d)#J?f zyQN8GE-QP-F)TI4UiRZ(7dOZ~KY9-rk5tF!CBTmA+c>YC44aQ6N#1@axHmAkl~yW4 z3S-EOfzXx~kXtJSgKfBqjE8Gvl&vUCo>627KDO^l# zhn#0V1|Q*&5&Qp=6UXDd?ko9>h^ihd5bTO1iUkdjdyd85Sri$~-^mMb ze)fl@;5W{YOIPX5;Zp>22XYdLOl~pNKmc(;qa3PF^DSUw`boBcWHxpJtE%}6nP?=> zvC}-ibaGv2N-{;>Wj2o?LdX|Z?DwD;RKiiu(O^@9?7(Ah!S6N1j=Fl!l&<1v8^R>s z+X?nxH#rn=f$bcg+EMEfSugN9&^o4dG#g2Xv7e@C1e@f&9_MOS07Z6=e7ijtm=?fs zyS9K9zNlu_Cm)R;`?UyBHk{meA4~B1p}!NI+c5EL_)i!$P$0d$pmeL$!H*~V)zOo0%U`>@CKCJmy)X65>4 zav*W5LJdU^y>|h%fZ3~oMJ^ovP58M2{<~M_?QKvUC1>hgRv^$DvG+MeFz};_qlXta z%dd&w23}lX{O^3$FyQ4F{=>_G`9_>!=L27i%+Uvzv7{ucWF_{PC#*T(8$ zDF`R-r^~sF-J@Yv1o0Xx;l+_ZT55n`EZuNr2_oU8_v~V?c;WVvOArchh`F9lt6Du- z*OAky(!{MVMJ3jV-Yd5FIn*r8Y`b6n~*U;UN&M|Jm{-yR|>qnTjW^nDLp4+zohdiM7 zBlbIxqJj2feIHudn+~|$S9+7E?uymr!`3S&k4`=qdaZ9N^kA%cT2t@rT*trQQ=4^E zz8o;B6tm}Dw&kAx5wC82S$D|dCIU7Vc{h2Iq#TUreNl9@Z$fQQAr(@;VlE0ZBJCJ; z;Gz*f*~a~{#-WC<@v0%tH!k2LhCt2{OL{$%{d?%dth?A#>BH6awnLC6Hnhb_djn`K z`50dnJ{X*b*U1`Jes1b9GlB8erl(PaxAh-d?YFoPS zJqMB^KR0s4**j?v;l}WCr>0lWYkFc++}jME7`mh~y~|}L_C;Bb?&4fxnl{DuK~oUT zyT|ifo;+ekoX^k@q9eN7G-aK(Fu17sx}b99mqfUCoy)5QfR9<3IXI?BsHQaUvEhH9 z1))rv&g{8`BDyiIf6VZK;iV(J9K3D^{uHN_Ac{r);S47WucMcdog;VK$9EY7g;bcD zT7!$*m-=im%CSda7mpqGU+oILkhQY8ZvZ`+?6eo(l|J`%{x|Vz8lCn4PHBsNeS9s}0@6gs9Ri(W1kq zA`>hu@ATXrM=@!w)^VJZ^zdw+9IO`BlNNhpBZO!UHWz)Xo&@waGo9b%2Fet#D)#9ZQ zeBwTqTV#;amvoL);fkX+S>4s+lYZXu+kmHi(KLM35dZeNzWYNZf${6cM;}fEPv$#E zy~ncb)ZPW;5W^<2wH6#w+cuL9LCYky_PW}Y|4r8a5s-ud;Jo(yagWHqIIr<|5TQKh zSqt-Rt99eCOa9am{wUXpl551Kj$IO1i&n~Z=DqhS2@t^8q(vR39%c)SRej!hn!}JT zjqi+wr%9y7>&06sqP!;&Nr7Pvkr}qjW%ln15VjkBw7mS%R~N%}Kl$Xa_mXhT_D28;Lwqb{DbsTYp|)Ip zwxUXykP>8;)6}veLNq8tv9szndH-6wIcP{LqBWZLsBMzbdo(h)OAGc^Rda2w=n^ZzohJRyRh6wg5Np9u! zC)xWH6QSFQBg$@-L0|brF;c0<%bwdqym7~MkKolTZ=PIpQhSXo3}yz@_>T zRR5ZN@uvhBtBQoGg+YWq^hlf~l>@rwPSZbA6b&`L_iGsx6AKtD`h;ca3a zP%6d2Nqd+rU$_H`_&|Y0m$+FaHz+>vVmgE&rbH z91xrhDJFp?szls$^-+|czcHG!;9zphHNH+Ko_8|dnw*7XW`q#X36XrpQzNn^p|MlH zB=AKNQdhx^Kki49zJ0?XRm7+qFS@i$-K+r9yuzED|{H@;hp#>;`*(kVf; zk4Pd5Wsv+s#qA-C1*b0{4wWeDcH^|8H|g_IFit9Kl0z@SRD#2*Q=dU{+rz><KEg>`pBBF z2{C}?Uc8lz)84lqDqd{PMG@jX%J`GGt7+or7a*KfxfsG@GYwxBdvq{(^X6py03H60 z&9VQucZCp55`(4D!eaDFPYDZW*=8MJWPPYqi*_WBV9QF2wWtm-Dc#xz^kpFxB_tVGiU+~>l<8sGVVFO+}K zq$i~Y9dXwfDcp@&9nA|zf2DQdONdv41;Tv!XVmrXJKmeAcN-i!D)P9jnM$w6({q|r zS81zB$ZG@J2boudhteJx4O!RU*e-9IbyM^D1cv^dMp94j{`f-=koRKP#(FlKxw@lW z3z;e1EWouXM3z~3fN%&72 zHdK9Er)C+P4Q*j+IjgbQj;h@hY|gUBF^%TS^E=u2)scXsLUsWJ;H%h>z2FvjJ1|3Q z)tlEX)4kiM30SOzkKN+ne4t@qsf-r=XO$guJooo}z zvA4c3b0;5BV(7VBCu@MHD^VRp2QZNkF2L?6l|sh9uVR*EM}kpT@iT7I2Bg2x%*|DZ$jWYQOY^gS<59asKq z#%@eN)&(qNVod;m_zUb8{Qh>GeEw}@cUqCJ_RMu(mdJ6VUvC!Uu6Wh6@FMA^!YI$NjY#~KZU+SgfNt9FzRj^Hw|KvvI z^p^Gk*EjFuXNZdN)|Va!EVK3ZKV6TnpZDsluSpqI)|jd-n*eW!Q+!fBqJi{P!kc+? zMQ!xt0KpSi=3mU=x?}g~P+g=q%ish zAqw0E449Op6c4X{N;5LQRyJ^*4O}X{o1DjrVgIF?CDMztAAsDg{pw{w4kY?>{(40( zRliCQ(|rUD`S<+L8BhvcaYCw# zHx-!%d4omscd1qrrlU`X6EzQ~S;QYczCrQAr}8?g$s7GSNvWV2rAih-za`4dIR&)L zT@n9YRm_%-P5qdXN85b*obC#}!7d!fgFdVz8ToL3MgGkvZa;9SZct;641sHQ|B`%5 z2%#SO&p*_&I(uyZv;;Iccr?9)?Oz}n>9{U86a`EGxmJdSPV2B{MveT%(U|T;d~#b% z@duEMT0T3Q{|vi9ZF-M^0glJU*kNh_>3FYv0=wl_2vR;rUx!`qyY(-G~5Mo z-ui+g9ybD60r#tx1wfF7Alxv=@;W0&3_RLK%G%OdnpF0N%oYWY$9#y#c_V8Kk|gh| zyY!)zzFW|&7=h1*`oHF*^(UI^QSFDambmGvQe*`7*2Ce`-S9)+?i-*kiSk?tyl#XI zk@Jv}3R-Z+>gIaxhvuKEx6{M+?P$U`E^xL`4TZIo8%h6>R0Vyco1;PPgtnJocq}(; zG^LK>lz5q7WYCBfd(CO)?X+kaa%{fE!M}Hm2pfiftQ(c`;J;Ia3>Lcp_qF8a`Wsm; zo(T!kn<$+!a%W2X-)@Do4XNruDH*K);=NaTW;;?y|(qsgTOp|`bcHu+20(#2+bYiwE-$7T? zrWscw2dn!XwuU1n-mBRjK7+v=KsR~U^EQ#zjH0>w(FdV-NmA>Z_ZQfd{AJq=9p}=kG#O`q*gHWB=cf5 z`7bh&MnZ?QNto0<8%h2;Q9v^_14dr^CU$R^_`qwYLQ`yJlIfZH&gjm|I5LER=jI^1 zJjWw<%_0g$01$H?u<3mpkQrL*)fhd*Hy#eiQr_EzBP(R`oj2q;Ndqm)RuI0VY!hb`fp;k~H0<^KytJ41Q6;8-2*6yx35As241c?p+ z1W6w#@S~yDR+(FJl9OSP<%CXpi}hqmaHn!@&0SpNiB#cYwU&QvD8Pz3;EPZN|6_ft zhF)@-;`dsqz3TcOoon*L%beR&p^E&>fYUL-COJP>vJpC5!{) z8lc&d#9FQQ-nhqt`DVHyC)lh<*!M>Pr4{~dmt2c3=-+AR2+p#=xYRgJhPF3VzcEG$Mmr|FMJB5X=71nCh2zpvfIdsdaF?RXt{b-d`%NZIK{xazO>eayu71k z@OaOi>>+vP9vaLPk@gJCnROIuo5u%bCV5yY$sGlcQunXoCx?*|jcn$vR&4k)Wv#1j z!T_%XK6>!=WP9k_z{|={DNGNlrmi>0(}BB!fL3ULD_p3Z{uo<5mA*s)T4Kd|noe!v zA2%coAa6n~n~m#`CFb(t`DhIoV7Wd>0PF-NG{iP-|KyYlU_tffu}R(yuF~=KYs()C zX$b^%d|^w4)-Ge;bG%>6jxWO82Hi^$7SS>08@LdfbW#-NN~mzzCZ`{li)G()Cc1Rw zFekvaNiZIP)y}U!(M48?i(lKkhJIH2Mkev8FB@ygNVoW-8)`;!u47`K{amImpm0zkCm<*bJOjF zZ+jo98I}Wv)a3_ut|aZgA)n^g=6+#uS+spGDLlAI&lz_Vf?Wqmk}EPalx>fp%)+&Q z3_2yR&Bj^B2T`>Aavwxp{M-CANiCdSURF}1REgLcQPT198lPARWiLqpkO%vGIZdR? z_%zJrc8a{>{ehtCD!cDH`9YM4!IY*1W1Z~@po5+{8UwCKg{?HUg-QXPGUKTYy-qAD`~cpQt3O(We49QJRS#|f1Thu>KZw8 zf^V0x9Pb??yi34rE?-`dXHn~JL#v;kaL{GAN2t3pLXTkmE?&ouePADyL)dzF)M8@a z23%0eouO{nzfa^ERBk?i7e&>__D{iH?n4se zOSClN6;y9UOT1rto7zs^dFWOiD;h`IcC2Lh`9j)UkHJWQ3TY<^{}1ed*gg34M%K63 zAJ1M=@tf{qnF~@drC9xjGq`NK4hYUVH@9&`GM~1Lf2~h!Csfkzs8!!Mvc%WBOFOV7 zGGr-Y6Hk@5@Or7Lt0X#58VwSASEG43r9jiO1j~{55D)l?|1M0-T7vikwIoe_Fii} z>silwwh=>7K2Ud$S*D1>C#1o;dHa0m83mGy=h*-}Ux)9bKTusZB1D%5PJ`f=re+iN z8gyfKe+*4{!T~ej+KtH4Y!i4i03&sNS%*2e5)tx(zAnOtH#gnc>Ec6n`@AtP3Sdf} zO|=#5fX477A=7I+AzJ&ZE>H?vZJPV?1;DgEEBkZoAjARQ!JySE`IlBt0tB?{=Lgw; zZS~%QgJ(~*57JG1JvRT@a|H-Ox|pWc=L+mdgLmEesb8Fs1fM2)pl4RVqnQwB>1)sbvYFWWHt{Up&TZ zR18l7TK!nD)hz$dz+#B8By9K70^-zJ>_kXM96_H+oNZ?rVr;U zNe=KWVoOy(NSwOP);&LMD{rd9JJ6h$-yrFt9AY)fW&Zlb5l%8Iw#CQiR=2t3^g~2m zpoi4Uh(}B4W-5^DpMs^X-e3p4)3+OxJ-Bqr=I3sWdU29s!5m;UHjB&;o}Gh%)k~(> zVyja2{PAYX*=P6II|QPcqmi4ziHw(o8UwoHc|+%cZ1(!>RWOOV!zcP@-lsKouup`h z`T@xfoJd3{X&FwZ$VJKG>}(cUzuxZt$>mJV)-odLE?qVOQcsDEV(8-mTT@+|0$50D z^8i#n?%DXq($7c|_$9{y)BHqnb;r?1SD6!6qHsYs{l|1)GV21qs-dW$5@yQ6ViKsl=(mN{&(QAaBYNipWWzD zTA}y@Pq`+gcVSM+a;+R=`PCMv=C`o<1Sxo9($!Hp^zY^cacDIJY5VB3tQnQf->(=F zOyQ?~{!?^i{lE)HQ1n~0SOSXpT?#W(u#(VMrI$YKIZg(|DsS7uG~QotiyyTk1Xs_a zTKJr>c3G!8p6ewn%Ei(r%v2JmR+i9hH|{*}X@1!u-g@jsA61~wKDHBuA56WbwXDlgrDTGXTJuC!mPL$ zaG^E~c;5VD`|9XQ5^7QWE8>kxTU%_7)s}_41v}WjL1@^2$vpx)Rhyb{mt~_AY{{PS zuM@xBqjE!Uz_fh%^G?{^TbRE|ej_qvuixi9(tI}gG=%Jk)?Veqi9kNN`kUWABBd}M zeR1|XRati~@s9Km93i3?u#r8A7MGws+^*IFLwIx4#vV!FL*!ii?w6`R6yKNQy(n&R z!TAO4&u>+`wL-4r-uvcE)&pIXPD4)LiGMw`>Oiz`mVoawd(ZOciw^%i+~1!Wv3U*C6(CuwsAPk#XP?x}&D57EA=Q11h+70^`w zj#~f@w!f&eO4;07>Rq)obduCk|z{LogvT_x**|J0_O3InyN&yXRgrRDsB3-zBu#`k5ozq9 zE5_9`PDJ4DRn=LT1G2ZHj^iR~wRqVd`s9k~vVV6o^Efy?hxC2)m!APlqdFdRE+3)9HDIw-*PN1(6&Y zkJ^gwc>mfuA4!28X4-_BSa1(xui&z=@ual0M4S^75}Vx5pvuDw2v>rEM0$WR&GBzX{731& z2aFey{~F*t${^d{ehQID2^Jep4f$~^{#sz51EG&G)hUa)bi1 z&;M=JWs;gKx)gh-QJQ^F!SP-H+-M73Qznj}i`LJcCfoDR6;z(c{<0%>|>9T04sD%k-5)>+s zfwd6!Fscnt1DP zC5YcvLDXCtj6=j3+` z&geDdSHKRK-F={5evgy|7Lkl`JypJ-muhK?tVjB@6Qp+jOi%-5yDyTU7~zewScRtX zB`97GVT3j~XTO3Tev!tTZ0=Sjf-O>wuJHx=>tREO72`;P+h{C%C1B?^n7M{ zR0Ogh@2Lblmq&(De*tyVAOc)DN9^i!n1LrS=Ht2!T!B{d_U~q-_ESZ zeI=5g#&6$xLC^8z-RuZ!+p6eco&etj)YznovB{Bxy(}5Quip?8rGH7x;iu~6D$;v)lI-z@^B=By$TkG zIrMFHJWOn^20sx^WM1!EQoKa%eM!)-Sb~d&4#ky85sLt#&?+l37%rJEff?;77}z8F z^l^Vwby0tRIkhP>tWV%>4a`~^1g-5Jl8H3mC%&WM=oQtWriUc$iM#Y_6|CeO3P=D& z>qJdHW&u#%xE(fdzJER8H0b$XL%_xq+5i{)K$yaYVc7Ff<={6h%)?Kx$#%dt2;?K9 zGDDLgQAkyV=ZFw;f2GeR{Dx-pS)cUW)h|U|?Z{GJ{zTA8if7y+(|qZ~aV^*t9?D3m zA|yutTX+3CdWQ)S6A$juh`*HgcTfZ|`@E6F`W2E2{E6q1KA-pL2U;_PM zcB%-1V3JWD5+9R7%c1$W#q_&m$=G~hmo}vi6mG69k~4silgUaRK{h z&^1P&MwWOd|8@Ho`~(=~!sv0_!QvW16_Yada~wc%{z=u@lVTZj4X}k=BGT?gc*bFe zp;#_Q=&9*E$pg0#(aK?#VQ7*j`os-zQT=_htJQG&p|_G)eO|w8uL4bzUZ`IT&>X^G z!q#=EA+KikDe`}c1lQz~J;;J^F$L6qLdpU`Nuys59O9DsI}Pz+xE^wVKd`$vE4%8j zPY!zr3oYXohvq2+bqvreBIdFVJ)zsjF2>Xo&UJ&rucp$ODqV%r*ILydf^|ggOR~8l zo+&uvlV=b#^L@6Sp@QobhQQQuO5m0^`dP6G*WP=ukX0U+H1^3IZkFk)$fNs+?CWU< zd9II%j>VF4PheP*0F5>{3L&{Xup_bL{u00#@TtEi%V!pD_P$o#{Og+Y1Q22y)Vn2a z?;(OWN%zfbr(u<#GNMVRzgVVg1$IQgI4YG1V- zd<*PoGb{?iHs__ds1n;DPlK_@vH6}-$VKkR9wuI}-evp-Tx5hOft&^Y*03m1YEhT% ztnSivn4HmIfI^P_4s^{q_Pi#~JKLKoS#S~TBT`=$AxX%c!K--!&H zH%~5GFLu2uB%o&DY{c}>EM<6uTHG?Vm148F1J=9Ct}ccQPK9&sGJZi>2>6^}dtUoO z4Yy|jUt|$)6-??jHxMEk&{+|V<)e+s(1HU3a_Gt^gF7x$qyT8yv*5yL3|0;6@8f<* zpbymq%Tl(8J<>%EIxR`uC=+2Rhi#)_!`_(&Qf;uI1!tgrsX(;Be>o#jlNcth%67*0 zbiT{*he>*`;REzQK7#Ib2NWO`R@@K@?k!rO(sSpqg;xKC4*8$+6?+AuG~PnK|F5O_ z4-aLBD&+TpvLUwu426$A1BAN8XRC&jaG7U@*mZBGe*4n2rE6Ykz2kONFq!ltuDg1I z$SL@g#qoCwbck8HO*}H!bY)Ge0ZO-1Osi3wZA0iUqI@Cm-&z6>2(BGLBo|x+lM)#R z9v%67?78l_o|!T0mL>XaT@{EHICM&y$AKe8ji?$5{AA2>_3b2kzpyFSC_|b zt=<=ix#`M`>y}8qS0iM&({%fXe(iJk%r;Z_t8BlP0$U%>pB0YE8%gJ>Wf7)#C?kw7{54aAYE~_C}7hPgW9RR}O$#>U0 zHY`PG-g_4J4idYKUYOxpnqa8)2Jzvp7HF%f?LGU_Hh>@Y;w82<>)7jc@l3njjl!GZ zuWA0OHT~n@+3~>4!W?hV{x5iZ8ev-~wER{j5j+Q}*g4hSju?}*LDYYw^p`zyI}8$1 ziU&mavVC@p^Bt@T5o=|9uVf6U_{l%PQ8BM01>2XyAY7X=)6&c>023 z-M?Ilp1EB;hu8TyUYg>b>davguvp8P$Iarfst=iOr)`fK-z}QC8(zwU{j#s7e!~Ov zusqNgS#t46%i~jvPe6?X9$Ey737F(bncj9jR*0ho?`WnV6vPR2&8JB|dCwm_E0DY1 z&o~3cbp+QuvqhNoecpsOrCYPOLg&RFJ=f9B*NH<3KCPA`$fxF$+bOHduV9Q4<#IBh zi$C_Pa~O(1F3xoN`BNoOXTw0~l7#-!4cPkDFk5z-G&i=Kca~fiS;WBXQrUKh50K?a zkGy9b!0=9MUv$UA7?|zt9{Ckg>;O)Om7WZjFfqCe2qpDujwAc)S|oUtH#8DV8H zNX5Yu2tzBH1T+bv0#jh?=}_?g;{V29VI~d^_b3HP*%f}jRFL|iL(KSi&)D3Nhh#(* zP(F+R+tukwkH-8*ovu6gi--2U12he$1L!2+orW8Es!*n1C`$%7*YP9x98CC~m9e^GH-Q=-FViB+1#iXFKoNQ#I;ATMw|? zJf6;N^eNAWpxm?|+coOZ)iSumG@`>lxg(OnhPhGH=d974yI2)9Y#3uWWe9WCc$&=G zcDg)4bzcrEI}0_pOfUc`P5&cu{g*@KjXsyxNe2v(4<4Bc+0pniN|vUSCqbtkR{H=o zM^P%UxG*|MQ`0mA3+KhdF?w)-DH_%#?`Is}GbQ(G0HfDs2A;1S2=c}dJM4PHNAtSW zs{8VT3LSY%-|;3}t4}a<<}5~b`@1%7u+=%_6Gz{Rgud4<`~nDWTKq8(bbal!7Rpmk zkOQBUpi2E;)+E*7Q8C4R8++r3zb5Oi2x~DNC8{n>X=-K#aS^@az=3=Y^0W3j5th5# zf5xua6(v}^IkL|-w+z`S_kDkbXi=yApEg<@VQEaYHt_AB=Qg3f2-iqDXqOw!QjZ4y z7|={n1+aB;p9zavnHf=&U!(!&*px`XxAMyAEnZuIoT_dP?LO?B9-5Al#~#Bu3KeUy z<g*$CB*H>QPzv-KzucxncP_h-PXgJ)~LZ0>dStKEFSaZ$7( z;SWVRt(!ZWDU~Rdcqc=xQ4j|CD!wm7e8)gYS@^eiLrnw;n1C}s;FtJvrT#1U`8P1f zV60ld>b}~P9y&VO%xvYDo%FVpJufZ4R1N3=-Wn8}kBFMl+Bee{Nx~ZqUrDe$1I@`OZ4|-{hBsW$N`|Dw(*g#@EJr4ZQki<<6 z%1E=p6b#$C7qzh&A!8j%KfZKndpU2ha8kFmjWPNN*pg{t$Mo{$>3HM~;+LUb9N|P? z)|*HD4%WAeOJ5%TA1M0u{~vE;;EKgY#WO1`_KHR}wovI|A}~jKy6W5ix+5^Vw}RhZ z+j&xzuYDo%Y*9(lMIU9?w;!<$G9(PPLAssoRND|+q~Rh65H{p07^?U#e6(FI@(q7| zQ{r9cUhMJ4sEL)+Vn%VO=YBovO%LB;2~=$*paV{=JCOqr|It})Bv{`vcWbMkye`2@ zqU^#isn!Lbk7cmIgG{Ij1iv$5CxvmQN4``%fsg$VhLJB3k&>z|&EqX;RtFCpK%KSR zn)B~oq|&Vqaes9Pqb>KzZ)sa^TyjS?L%2jZ7D(lfez|QBaw(J^1^phfX+0J2T<b5bWG~BE5n_0fmOUvPz!Kr| z#|{iJ<|Y~2j}j`q*uQ?g!Zs$1*1rE0ff5QaOlSCO{OWjyDZ$*8aAyS-N7-w!RfGiy zv9kxl&_yjB#3NA$P%q?8eFEB)kBQrCWUvy2ayh}@RVnseN@|3gRMqAVAA z{XXb9ZFE}%^y;{G9}*x3D}3_?9<wtnpbKNhuA`Arr|MP-^dk|gZJ-~X^+*xI|v4nY*tyXir9R2h3fL6(>qk8aeepvq$xrwIuwD^&yTjM%vuRNsPId>`TbxdK#r=`l#VMGA z@aF9(S6bSvM1TPgt?#gMLScFM@71lM6A=l7tf&r)hXn)rYPV8Ii9W2+MkC7RDi7fW zo>!jad4=k|(>0T^y{$%`p~P29rK7_;M%`wMS4@kf9}C1w$z9l=-;94*cn3G^J>pZT zS|N|}R+_ztcf4D9F^tvhHsCUE?`3_n3~UJ9=wyuPWZ-%7phpWU<$mQKT7WDF-T*?Z zl5PLfXJ4sI#O+|f?y8cbhrX#0i02wMtK)1-sa`rSxEZ{?=-;A6*o%CeCsMk)+Gz2L zN$>L7p7I);tZ2Voi5&eb0Cj?y)r6A`rD>f%iNxx55Cs1NM@hr`CtVx*1w950^->zM zV(d35+jHgYpbWx3;1 zwYCpo#j6Y9&i95qR*#XgCirN8l|v3KJ-)G;FbzRBIyrPf2kLV4=d+7nf6!jGB$t5g7y*zja~4&gg9*BW*g?+oj0&} zZzgN9%Y2T`K$aQY5L)OP+55-8viz`8tyXhLQ-n8iB;k$XV|^my(4X@VEUqpqR_8AV zrZIv)>BB}bU&Q)Eq}%DrMzeaL+$w8nW8r*Bg{+P&o(l;)}6uSDJderl2Hz8=1 z+k(z{zPo6-fmT%1jU@eoFR7!+X9jKudSpmF? zwBOmF=x^L7Wh8jWohvFkJj*7+Br2Vz=6CN-U6rQI)SCrRQO9KjEUSF1qs2lu-o_zn zipu=ad$lAr123l7*3#oW_MhcVBT&c~El^4wwaU zRD@}pkHm;xw8Qt?P6vC-Ugk~wyzL+XFI6(HX}~5`*J4=~A@tGxG_?a&P3R(vU3b4r z&)d~GWn3~|Vv}Zxij*!!UA_AH!E5zgJPnD9l^ca}7bI@;Xzi*5Z+kd1nX0;IN&0t- zlZ*y6V8$^)1*&D!XXS^v`Q0;7oY*+>#S22M)*pjf<2|-&E|Mr_Uv&*gYh`+&;xW1z zed}Bph9T*t4yDKz-&3I_sXnTEi#h#TEKw{(T{2#G$x)z0ovv1^OJnupa#2dY`@>;X z2Z7u!)p_rVtS*BCAdWe0UTbb&+^b@8Blhd-Hkny(d*L;xhpVa zN43S*sJGdc&ux(KorV^AMfb-81}Z9fV_?Uz9S&F^k3&Og4q`%~jt%EaS@ZgN>utOf zYtD|%IBB^~hxw%>$7pBUSHIdgQcbTecCtC)q$7onY9cjJUUdbh-jC6YCmynjV&XUc z+T*|4{^`h8fee`{$U9A6`527AkLcGjii(v8Gn4ebqoECZ44l16%Owkgtn3z9G*tSYY&Gns z1h;Y3!-BhQNDb36Wl2pIjCayIzDf?9aTl6iVWP99OrSqQ!z()9Yr@PF*=e7-74$g$ z@X91g8=hA6d{aOv1xE(@=-oVy58^+Q@U?^S9+_20A(duUc$2y$ReRX^`8RXtLyO`u zScXr=*>YK{$eV=HW^#$--_`o~y`jYF* zk8)#^M#$EzIWjGfNaK#Po)ODHt$VT+qi=pzw7(=L;as+=$ zuaY)l<7|AL-6Q7troNEVx{7$_wUk|1o2)f$H%BEiZsrLt4qkIbJU%;q-w8imxUqy*%Tul)>+S3$o>mI zF~9~lU(-0Z7%f3n^&ntaFG^vbQYH;E$~v(YtVGzYTTdXE$j{24j_%{&`f7OHUeG)cIa)lH?=n6-RVMnav2`6z{Tu*H6>2PWj^ zu~7&yUCW^nWK4t$=v5?6zX;&3lVt0xnN3PExi>-D@8+6GQQv(yedf{L^_W@=4U~xh zG$_AwI!|Xjaqlr6O(KsGb z_rnoi-T!!8&dggLRY9-8g8vCE*P@J7=2P9)aCTONEc8+CI)=caJ5F$rdKVoDe~t=r zF+CAiAjH!I!zx5Qq(W+{G>WE@&SC9cJ|Uoxm0EMc#k>x2pTU z2^@lKf`9)86WZ$=fBO&%#|2rn>z<$ebi(T~#ZK(5NR10~<0*VS!3ZjbyVlKrR^n*v zbPN`(iy~XGAL`Ty{{oh+)|}n zk6|WpH><7g-OOHEn0~8^iYYIjFvK|UWvXz@6vm;jRl<{mspYk>a)G` z^U(=7mvCdIK$~uNk}qc-$3o5j!p)aq(D_jwF^C7Wg3*avVuqIv5K?D_Mvcce0H``Y)C>k)a!)Az&iWzPYZ9|ECCAm=eYM~R_AqjbGr67ELz!C zaU@A_b08+kdY!1fVKlx99J}*FbEYO8BM*PQDRdDINNX9_5&1^1Q85>MS}g3)!jJLV zSv6r6+=i0eM4C(#@)_d)z-onz`xt)<$^Q*fu}4VYM==e}_}_5;&*$&V(e`aJP7FQ$ z+7<0ZzS=9G;tluFE2v_jCs7Lo7AN1=cmtEh&h5GlLg)OgCR{+9PGDyh{xYPvJQ0U` zl?H3xR2x1#h^>W)!P`@A_X`^e_4Me9y*Q-h#K{+tA7ZhMXH;tGs3;V(%30r zP!GedYjZO-)N1TborYcvtXe}vke<|{Ff3X*unI$f_Zbze_0HLYF_D7VM86`fz|BHF zGbVxkk*EVEk(VCS3!NpMkjfU;XqqItL6dZa^QRtHA$wAq`f?vMV6<`1m#Ex}Xt(dQ z=i?M9jF?sIUVNn=`$gh2rT>7gLGMkvl5EPdR=dcVVXjYb+xZd$%mMT0qCE%_D!V4+ zSsJEtIN7TBKn>Qw7E$KdN>yYJgi#YDyLVe(MTg@s1?2Zn;|WZKL8+nWy*N=N55VzC z#;1Q(W23<w#Tr?3|x$&^`ovIg< z89FUYeHrx66NlgO`3|qA9(z>sxs#*)6QKID9uLza4f=H2siqMV{+<_0ips~U( zAI3-iiX6`!3gS$tGB7AnN&apk5Po8qh6s`q`BhIE*<6`Rx4HZnkS*Zp#1Aj!pO7H^ z7+lqwrO)WRCLF_TCzn)xL|CMS2A%Y*?i#_6f+hP+l(1xi&SyIEI!ZY~K~6kb?gS~^ zsow3l;HheYyNn9k(O@o5C$Zt@eE;K8wH(MDU#Bamf)D!j*i8$Q2sOQGyBvUM&5sv60Y9?76SKU$1yVU|O4 zfCEeZ)uiKnf7Y2mJ@9XsNx5Ct=LE$L~2_@nKIZ4-!_<3x42(IWpd8PjatoBlNc zpZDgNSMTMCsb)9@cVXWktF6dA;ftNEY=In~Quio` zCAI55b-ureR*maB{Qi~*R0cZDyry`EKsAB!FkMNdAKq?0wwx$tcs&(*Hmx0@)jJLHOZav6DIbF#lmmqEvpj@x%4D#`R;Tz%02P z@01bLC9mPNz#ZfKz0}EQ1!gri{M(XJJle%9QQI>-4gY46 z)JC1+ZGBP3$k@^7tKRkSfhAlFY2>00G*kSi4QH+P^mxItGPvw!{y5oNXT&N6;!gV! zODuHBGyx%xjvJI8F>y~(`iwz8s3!WDbxr6UcYhk%(yZa;(9DuEcT`)S+#c!MR{Lc0 z{2&9}*qFF2`Xq{zLyRl>$C1lA@q}--SD0>FHVAZZXx>q{H2;3?4{sKUe!oTfPv0cw zfk0?2yMdNKy}Zx3K(J!K?`AfZ-t_7#ws;&fAH&{))SDCu^0^PMaI?Yl@AA;e8#I!2 zup9aqFDPdSlF=~yLeB}6UOGYbAP)zypg*83Wi?!iu%W{cj8*?t$He( zo=Gt)PFd6~C*(Qre>LsUSmE0-N+0f&BE3hN6sa88&1RZlzVtD@4olwyW2zr8Dpjif zBle)bHbd*?33(llz-tkx9@x^gKrHCBsl=E9o6d8;_4 z1<_|c$B3%z7K*ZivJIRi_2^Ve7PhaCTV-W&p;h0!4s%Hm=G0T{IJ7ws_LzV{%=YJ* z)M4kR*o-O|8#drv3#B&Vdk!r~-=L9Y5EPGZy8J-tM-_D%+`b!jYa_Fag%R3C&01-0 zQ$o)?)spobJ|w8yOrvc)-SG@beY56;Nu|C=kZ>`JXbdbFZT_MFSzR@O)$!`^bGyWOK#_70euI9JrPZid|R!}3wjzWL3!p9!7KAu1v%sa*Wu0><>)?zrf5xkV3YEe zmY%)$2F&oZ-uhFLq71EgVULC0jpHcJs4OFOJiHtT$JFDQ+j#e7p*oTUsvmdzK1p0` zU#!ml)uO(IHC-^V^s{4+Mv#7S5?A=+Xl+P()|t{O*|PZEiG z4z;gbIdkwr;{zeZziK%+r$pY|T`EUSAiSM)W-Lx@e!g%l!MUmBv*2H+y<;)<0s%7I z3>@}wgOk-g%dkPu7SwBSr}9jpH?F+e5&{3n4)J{`)7N;HU^^? zHs(?4FK6Q|lpi7B!RCREu1F>-xtihcx?X7KJuLKZ0smUe69MBb!YKctPk*-txE3pS z3>+~F9B}x@JnXqNbB-8s>K&@23+V(ESAX!PvQu~}@{%c~BRFbCwMs=32c{-k-g1@$ zak&$RhG5r*)z+Z*EDAdL0>ZewsNKn)T3ex|;~G=Ud;oejJFBa6u18s4t7Ue)HE|JX zz8o+-F!M!WZ5e3umwB;=H#bGvownz@bZdjz@q4Iq&6F#Lo}E>rKJDk5^qIZ^g+|ks`2kc8m)i|1k8P|IYjmx!{H`F}M$* zk8!alF16{F97t_fVC|;f9&FXEK<_KWRWlY=PW9&9$Ybr^^l$I(AL~YAx4_#i??3cG>hlu+FxMeOI+gLpjWGn%+(G(6mk;m6 z#?uBq3@~P;xHO@LdD*(KahLBx>;0zf{rI4QR*!PDynd4eIi8en@)P~%2fdmoCy|j_ zk}TZX%`|Jh-ffk~wopmcomo?HIt^cShC|xgRl5^D3ynOhc~!Z+GB@3u&x&NBW~x|; zAB#JeKD$Jnh8S4qQa+@O<4JEh25&p`|6m9}z&-GO&b`Kh#Hy#Hl^dmRae+$qA${y` zfUxmR-UJ=`GU7KF$X!6yJtU;EGRH%Q$7-RdCg8yMYX^~YR1@}qG1>#o&1P2v;u&4i z_o@EOaOGavdK^=C=Q24YOBYIfQwIXruSEujs=721fbmQraY0LtC$i}{()h4rG=23G z^N6snkHm3_AiHHYKKs79vUTyMMP7PfQHllt`-0XyA$-qoGf&-fG7sf@8Nf**c298HeZdD9_ zrN`nzSrYV7^V#rHZ2u9LkE!q?1CpKq+ow?Q%T$JhtI$Thr4RT_7;bjUZkyS8ClMAB z0R~RmP|HypM2FAMiBIJ`)3=jaw(Sl^ZP9K?{eCeq z^YY!57n2iLui!S2tiA*yHlO7&x2JQ2k7C~6Vs!qpdG;uWrdTL}KcGd^*kaO&^(X-( zgl*q|O;aeR6(u5dIj<1#X@<$@1Df=HxJ!H_CTK6&mmS;m-l@_%GccItTJy_|Y$u5L zEYb~42&Cn?+0j8+P~PTModnON6j*!^EDU-|dXJS+voLtlduY3qV)A@Fl6!|Ki)WU* z&C5l0ALiZ=#knrcj`j9!ET$oX!M!iEea|o}ygyA#_bm=n?Qj=MUM$W^o0qO@M9Ced zandKE)YLTZng?I$gzPvYs)tvpXK@wJ6KQ??xMA}2be$IIlcv|`TzS$*-iBZD_gda% ziN`5d$gLi8V{==D$i=Hh@0fFOIrO(#pS0Vwy>uv*`ktHs>%<3+?dcJKJ(_j#-fx-f zWSMV#=2k-V`5*iHKR8`M-`9IoBZ9^w$+!ODJ~#`4_!SiHNH+9GBW7R*Fviqp>eU*U zyri~Sw3{m?1ue+27Gi9F&Hi2~<-MS*$70H0%JT;wBW6963uz$#BD^N@Qnt^e&-Ev> zGkOB-j$;;P4y3(M5|u&*F?yqWyz>~9BT7)A*RAC-Of}fd`DxOK*T;`3OSmFk$!8p7 z)-W&SS65w681FKlPC1^gOfS4j+PQ8B8KB0VKf5F=H50dlC~|46f5Nt@Hd?G0H7bq= zvt~5~2o7F4VECY!1EBHe9c;2${X+|oIl$~e0%k?F915hdgrj`| zQ8*^?LtoV_Y2$)IxW=43Ns17OX7n15;=&hI6Qt0g$HxnZG4{UIX7Q0%8J`12ed(0; z`pv4F|1xLywWS6WE}t2R6Y}4_YgG`S3}^j5uK81(^2B#qauUU7Rm`?u2PeVN!$kd+ z18ZDBvACs&!NLCN?qGe77Wm~>`4(mT6pm52efRn52W90ARpk|SC~kuoOm(|B`^uFb zN5}cYO2mS{>u2vp(?fl`7#NR;rVY<~4Or|o*=zP*Wv>FK|H45Vn--Jh*lyO-GhNyI zPc%pOAz7iwMTk1?$|q#jJrMYHqiHrKP+2ImV%=vu!}O5d&-{=(yv%T)t zfCPQgi60X`m?^uhr9rtU*tW6b;qA8hVcF15kJEH$i2<+YUY@KA#jpU;rXCGWZdlg676$Dg!YUmSwfyBNbArtiOzqhX(Wg09``v2oiM zdPBHqJxv5)Fa?uLY*nl^14K(8LLn~e1j z;r?eqaK7dHoot}-=Dp>AA`v&Gz?9ClpLoGW1!?>qK4DuRT4$qZ1)8$zH_Io>D)!nx zM^#r%pw`s4t>`o=zFVew68jut>jVQ<7Nvf7xt_|O=BaJw*!XvS>)2Cyk|0V!)vR zS`6uz5?yKP-5Q%H1ghPkbGOimZb5!K4~n>A1i?8n^3 zfVSzl-UM!VHI|pP&4H!Qp4w3xz4^_nUmAO0Orik%M4unVwcyC14rOdFVt6R57a(w{ zHkk}mA!ni4j;>A)T_A&QZD-^paoJF`!K;41t?Ag@D}7WFOrlAc56}{wkkRz3)#AAN ze(c5pY8V>u<^9GJCPOX&V*{eOz6Fu)|qZ@4& zpGztcPRaJiMD^z0U6eLVlZ5?0fl3=&Fo zK=x2A10ta?MJ@Q(>LX!ceRFFu_Ik*pxXGKW0sF|M;u#?Cq@GWC#fkJUCp{0@A|tIY z52Uo``DCv(J@X?+$6Da;9?{YzJOY9RZ`)-&c)dSkc_YfUge5{#oe#j-Hg4M_L?q$xY;(Q&(nj`kHg@!e&Xr7KM%6iSL3 zFCPgvPB5Qxb3JU~lrwvI=8mCH&$VX8@08d4cG+^T)pqkBO5gEpVTnvh?iA3Uw{25v zb^zeW4_$w1lV~4+`LAS!n4c~0Ezy6tDmQ$`=|TN@v5cZpLvfQ8J&d1Ku{~GiDQXFbk|SI>CYcN?4=zdV%Z#n8GF z4%Qt(BwxboB9kAm;7_Pviy5@kG*{lLbN_7#UaWIw`AZ2$eOFG6IS+-efCZreMT1Y< zQupbV=wa)GJbojfN>L(tJQlty&Wb}@p_@^h!xxhr}p&Q_v@bB*6k>y9t^ zRm~pkY2J1nq-@cl;V8V*l>>n{?k>;#tQnjXt8B(=8gr&wr6ZgF+_mbBm{q zQEh2)Mu*1)?m)4cl;q8nMx1$*hN_yi(Os-XlJdw2!n^uhC}p7Hp()YZGtOE}IS<^Z zt9!yUruA*jlbiQkp2qP!;WI$~eGddOMeMfrlnmRN9$hZ&ug;}-J%K z^~@nRqP6h5DtBvX$auq~ScELwGXnUwQ1Y=zmb&I^AvrV_;S#|!lM0?as{`1#s(K6* z?!<&5tuSa>4kV~%Dy@;@;W!wMmlEV$dj7T zzF^sn`_!=T4RhtG=dVMCJTCR^aF5|Xg+`KRq_4uQ@4jddWyMm77H*UJnarM|xw)pL zmB%!+emJr5@>6I_<$JR9kle5JZ0fQ=arRV|H1k_H=z?~#EJdD8<#nX8(6A1$cj*2S zzj9^SbxVNV7r$;n2N3El%obu$g$yF!<_3v?&M|gWN(wmaZ&%S^Idp~DFpuKel zznIzXU&s`_f|nJzJ*xdS-JsvnrIEXLkEYv+Uihii1Yia1-lby#+X3Y%_r=@(wWy{MYUD6X< zc;dMt=wwEds(Q*b%I%bmdAIO_ zrSq*IyRxx|(3Cuc>NC$*iWhQC`xpNKN|R~^s2=3;10*>R${Xz1+Lr@w6S}JFr`}tA zWsJ{(n^M$P8g)qnbb?Q-Q5ZbjDOr3^@DefCaBMJHOUsRm*}tZ^O9bjldWME5L{@o}WPr=MPh(N`pvwC#PfmGt zC%sz2`cOd3>H_u{IX*Yu)Uma}U75pT?$As;?gZsPH&wfeKEQ;QTnk!|71?u{o;oc@ zQjAlU-txe;9rE`qr_9RNZ6LK|Dga4AZp8l zHPa1jS{zS22MyBqv9MzPqmK=AMU{afo%Em4#MxNuKf7A8IPY-q;`mV^Mj>@qh*3zh z^c`+&7_ISm;;g6P9*?DgUSS;UoBIybDN!%YaZy!^6>q^Z%)TTCk|;UQo_ULj+42sO z&9$sl3AYQ?CT4>W?F#~o)QIis@F5p@`9%XyE%W{s)O9IRIwIIF2fZ%HLfYj%s?X>Z zLK*WuWaik-SyM`3DG59wW#kwg`nLZ}umS__c1WS19+);7fWxSv(xUDmo`h3nlk4FG zA5`cLwMH=Edp>P;qw{uWR21H3MHm{MxsY5ulWY33O7fRN2-o8{$=u@y>Xs&b$Z5F*(K(;%7$5|tTJBLMy99D-jNY(UHfNKAvvrbRe~;Fpe`= z$w?~-^L`#|`eMkPC3l%s$EXMH$m2D~vRK$xU2Z(?Ojp5LZIdFlYz<*l-6gJ7K_)y6 z{P4hv>SS&!be}OaiDY&EHWFs_`B~pPIQVZ?P4l&XwuEN*%S zXEg@EUDH{c|5w}_D$&zQ_4>i1d6Tp^^|JaHvi?F_&cY4V8)FKzc z1u!dJ{=Fjp5DC99tUe{Ol1DD_T$B7S4^$XA=N&xCjU?3{D&=z=F}2K#^taPPjW76r zRp`{02G)d$Pk|02R7=5vEzuRH@yQvv*5k)?IF`2%Rmd}pS;W%ctWGSXbscNH2qku+ zk%ssP{gJb#6?n2yt*T6Q^Fi+dRpqz=*DN9Ad{-rj7!Y}>M zE~S-)VgHi`S|q{IP;~SoI7UT)3{>kJqoNP=zD!*wg*l`Z0@po``77xJ-={!W;oQ zRhmVxU!DV@aUSTd^#c|)vFX7q18v@pXTKcw?xal9?h9J5yks0y1_G?3|M2T9KeQ5g zs?XdLv=|Z#I=H10lyjY53J}(c5NgYzjAk~Y7X z2_%s><~+#U2h>anex%7xygZyzv9q8N;aQGf6@~A5)c!0+nJ(=Im8c>U@v8!_}y5|FthvOAXDM{bMl&LX9%q1 zMal15nAz2PUg|&n{|I~Qs3^4WjoSbzMQT9lj-jNaLzg?-{(;-}im5>%RZZx{I~E%9(xke)jWxjzqrKnL?+WsGkZ4J^H9KDm#5a@dV8ppM1o zNk7(PxFR(5##UXIC^0*ot{#g>-#ep-WZv79xO8ZyAH0F{=1{?qZ_b2o(tf6C;jI9# zG)0cT+QaNb83gO?C#D=6%K^$sO~BUdM|W z3f_+F5kkXtgBRu+AykVJ32MQi8YhlpM3I7VBmEV%?!(M-teil0&4Yc8@9x)VNk=Ic5$e_ENC*N;t2$NTuD!H)9Y+|OVI1C`qmfvon= zowlZ^bNgX=sl+JD_Rl!>V&=J&;Z!rA(Z)w$+b2BW4wXg@_Tx5%K(+`FLKWK>=)$3B zKb5mB{L%m44aWce7c-0mTWmZET!lYgK>UGV{Tf0aVlR>)wI1)Eak|~yY!o`yA(KiQ z4N3bE${9rA8FVA~2eGy$3gbmiUtF`|Xx4C_X>uNzS^{Y}ZnHT;4D_DRwG5Cdi{cua zd*i3(nK@m#(sMDpSSW1Y<0~BlprwLJBiOXvYnJ9pb@1Ap7E2Cpd`Im{%HE*2)lp`uH%M~-OO;_9> zEW^_Ei$ju*M7%NExQCi6i4mLNI$!$K#m{LJNAx_ceb!mj2eKz9Q$QqxYJMNt0`+Z< zff<>z5BuX($>%kTst=8y$k?e?1!qL0SsuT`QPOD+g&ZDM$EthG`L_b?#pRDWwIwce1N0;^zM>`%)+lnVsbqKcKy(sBn z@0@$0Hm)XJ%h#ugt+(P-ZXfUw=_`uQY4{28mKV?;nM)&qI~LYRCX_}azI#&!2;!TM z`-ZcTv*Wn%pJN3Zsysob)=SXSGeRh0JK<)*)p(-Gdt1jQc5~Q&8JE5$y_$LD5BV5Sk62pRFY9opdk>Z zC0eg#vP|gO(pHA~Sq^05zIKa8Q49%46F;SU^(-NURxh?jBL#O$kGZXrBm)|hLFEgz zsTxau{hag3F5Z`0H|ixCgWfiq{+*M>!$| zv^S>;6RVwzipt7f(nLaPzO_a0%+ueB7J^66>_%9t0JO>+Ojs zXH1R&HQoAN^RGUjlVqH5WMsE&b1eC4vi008f=6r@odhrFBy!3sZ0>+g0_3Jtt=Tb_ zz>4H$Z6LhG69x)D^^Hr3tm=n?Plu@y48#2!G)T;lihziKEs|rsNv`^dSPX6o(@9s4 z^OIs0NFr9}gP#U&E}O_n!SnCcdnG&-#%HZll_nm;l-}I?u5>}=R$q?YU$)?@Pwj9>}Z1NEr86I^T&c;*VY0s}<0D-3b-2G-Ubr6O+dr(d6d#C0FzcksF zGxLwn`DvF@aN|iq;UIOzx)9MBfQXK7a6RTf4c1OL==OkdAcpy0QoEEZx~r)D5i&j! zg1$1!LA)VotksA9cEsn8_sGrNiK_xrZpD?nfYaSDYc(qnoW9s>1mFB+g14k6_J^Bg zJmKNlnrV@+gammW0I4c!uM*fJe9pg^<+q+u`lvwKUr8xnjHwY)+xL{yOBY`Qr309O zJRZm2eqX8Mi^&<`*Rc|XIPg;W!ViC`8C|_|}T@kS%s!yX|O?`aO zHoAXfBU#d=Jk{H-NyX(PCE6uV5}kAk=gB0qQ>5-~V;oPe1?P9#VMBl8wEoJ6dukYZ z1K#iYk&$6YH7t2sBfDxC5W%j$l=dIcNC{NiY&MTnlDAyZ#u5CSlR1Pp|1nKJrTgzy zTXdphN1x>3;-`aIA#(_@Pl93eydS)_dp+a(KUpYIfkJelaX;Ns6<=gP*b~Nmli+Pw z>u~l^gwrQianxEYj}IQc>ZjnmX&w9U|85ktx-rUgXL2n8LHEc9dh%1x9Af=t+2g3L zx=+&cbW^1WKJN>YQ6ZpAr!E+Ec_1^Y2nS}?32Rn|N1x*5vzyzrHzf1-r|wEqV(p_2 z=S7OFU%K`mH;l#$T`?M6f8Y8d=f4|D^qiqg6k`2{hLQ|@V%TS5o=#!^(@=INU28-u zQK5M?r4DJeuh*Nc=PI;rDi;T;7QgHX**g~7r)V5Q#1(AqbD6{gWl@7mK@T_2)8$~(3Hd~5SDQ#cqDgGL)1VGX z>ooE8hs)C#db8f8L1$}By4LABzD%^yK@2x|n6#OOI|9|ZwjarHLnW-*vW9%p*WImq z*0{awMn9f!1BU#poyV!JE7ket;P;4z3%S5qe5#`<+Om@+ZiQ<{o~ z#&kPaJe|HS9sTt*OD)fwpk|D>)%m`m7FB=m!E@qdk%A{KALu`j{GL+(@Zo(ow$Kdr z@B@!K#(&VwA1Q+sOWA`70;e@Xe-~mN_D%QSH9Oo|4fL7onUU9j9B|;OCq5D;A&WXH z5A%x&ykTP-Xhjd%=hw`Q2Frm=2Ik_!<9DJ8Oulhyf)(9?T5vZ*y$BuL{8fFG?%OLs zd3wS=vHXEq5{#`I7ve@A5H~i$HkR7KPy%dbUYiC&uUNGpz|XVc2qL;`tU3b$Kl73% zdiA^atzzqS%j})1dp3{tL@N%6GU!gZ8HxAwXztQW7WWh+H}by!8QLuEv{)FvlD$8k zv2`^{OM!v6eM?Nu-FyD)BLbvU=_2&kw^%|_;)h3Gz_1L89>&?C=UAP9up|-@jL=DA zZs1P@3To8uNmlq%jX2xbnFbLaTqWKsVd&%rFOIUDNqFotY=!`#hrki2@|DSRrG;lw zqQdcjlSY`|b?Lw_ksu59E!Au-&WeIAl=Xh`A~x{9++7`Q7+)UOBdOrS$nadmk z*5o0O2j^_vh7DO(sh~HZ6HQs4;8WYRxoU*v@?v;X72SilfgYr`@KVd)J;Zsl zfIoL7QwpFT+3Xg6_=kQ36Wx!zVzdYhp(R*kHaDrtX48u#C2kA16Cx!;RFS9Cq0C#cQ!5YJ{ubjJkxLFxaJa3v&lqU^K5EN!rQat9!tx+I!QXh z8d<}>V9l+U3&$n+%Z2I7pPp_T=BTx8u#{zwH(`m|kG;Pu2!iI{PN? zG!}Vymiy9~*-`|FVBDSi$~bNclq{-4t`?y^$L6g^gt&XkQ?0V}Hs;`hBxx0P>H6CN9PDa`MR!hH*Ep+9wZv26djR(gFu*r+R_0 z5^Im*)2T(iiXF1*i4Ln)Yt=QKop`1MA4lWD?usG+WN9x!Sxp(k0cAjF@ z#gGJP)hG_l)rKx_fv*i-j(o_^kBkyL>2lTWnshKE)3$AB@4>xm#tJNGk%w` z^Je*Hg#`gmrB7HV@QFm!T?NSu&zsuV_Rt-(aHPz~+Q?Myo)&wmvFGqIZyEGnW~s4z zXx>g-WY_CB;=}bnRF~gd+)EfWzL(DKOmW7xiT&G5S`+x9P{;S4!Pwmsbz@At2+Yd@ zFIfc%K|%oNE53xa0M2E-mx=j4%|tKW%X>5hK#Gm zAdnw|XHU+l)A?7RON5tx7z4XvM1ZweGzR|Fm;3bSQO62|f!r7C^#_2g4g%W9;)+{> zOA;ykvzO@nZ0!Kf0DwdtqS5;pUd2N_%6r@qpBY}f0~`BeHR^~ZcU+3es^!v?-js!T0j1Buwnm?>g04>246F$|g&Y<)+Iro#$Lv>b%_qgIOaV z`F86WVRGb2Nvb>cB?FI+n59Ya-;9P37QkqL1cb|0@hC;K!e(7N#9%fN(@jt}<+$F} zbaLk6Kp1~B7~WJ8Sr-GpG>Y#uSBTnn_vYF~z?!AA$lBg0cxJFJ9=-*8Iv$B6r5EO8 zqql`sD)Lb?&+*{Tt_!%aFY8zCt2|LgJ^}0hh1GM3W6x%%$Ob+Dd*3Bc$&d~RJP3TAb82YbFsTsfYg*Q{;(NBOqT zR>51MLyVyxmsjq1MH+1jv-$|FZ$M{*<`dFR#9QoD`0a=;gX1D*1pdJzg|7ei4)?1n z*!SBx2@(83ZZ(JoYDj)Oh3p6d;}rmWkqS;I!fz$&VMa%R{4Wln#nBMWiRyXoR>Dc( za1)p&Unw!`n4RyrS^GkNrwQ58&3VpiSE$sJetvzbJxdi`hXFyX;<}AnItruN4*`gd zhnHCEmAt{GN966TSCUu~oozg{{aqIc!Y|-9TI8ryv!PqNQPMKfX%QqxR31}U=S{^y z+Ih`B$?x>7t=%%?thSQC&%R@PW>{kn5)ave92U%B)LAJ zTQyz}+=%CZfh~1-E1pl-L#YPqBA2vh_iLhu0nghW4d-7N`?XEdHLda~krF9kxgh*b znNE)E>}r7~@m?REo>tQ6xS|aT@NM!~16`)0IO-|(Njy}I=0>N=$C87}1kxZeV?6_u z$4z_C#_XC7$-k?#5l!r8JUS@yU-R#~Jo>U8A@5F2;!q#Zb4v@k|4B6U+P|!1|F*QCIea55^cH3=ilVP`;;cJ#6TNq<`#Q*gKvdPn4c}B;vNZO2Pn65Am))F6%dKM& zAvQ;-+`s(6ECjG#%5Gc)S2TgN!n~+@gWnQ(5eGkiF8}d$Am~swN8aT}T>Tq0l=-Qk zjV6jN)D;9)l1Dl&B`$E5q)z~$sTg?Yhol{-Oa-xM4uj`i@!GcD!VjJXwxRl-rXGj>lR!|-f^z8U)wKVY|xYv_J^lQ6d>995+# z;E_(pi~w#BIF0p%aU>VRh^+CPDrXl4NHr3T`^nS|r?tu-)w_DEVv`*yy1t%j&M2Ax^^MABE+ANtZRCa+qV9Z9F3WGu}Iqv~+F zf3-cXWFw4k(U6IR=ic~rEHAI#d*6x!%xd3Pz|oltuzmMkdV~T5pu$^5@EA}!a?Fja z=)GO+CLB zsPtt2i}|^^*VV=ySxza$VgMvH%V&D*dDct(K>tDIRXW{HqOL#$HeKHmwr6a;H+q#~ z7|xRpmC(9DX6s@7W8X$cx^)$~)j_suW zfoo5&MqF1xQ&^slT+^d)=Aa1V8g429v#Qn3&H6=nl^t<3%+g`MMxg*Ip}i?RQ)y<& zcMZf}BMoYAkmZr!80QfCJiuhFxsAlok0nzb3Ka4^6=JfIgGx&#Gx~Tmza}NluS+KS zL8BH@2uv5p>Ku!<$TlL*@(RCggtc!#xZ$SJvB!MZ z0vrgwEr0SqTvxvvqMBH6Z%rk5exmx2Tt5v7hqHc2*YD9aexX-x@KjlxHQ-OkWh*8%x7MViI?xXXcxAYrSgf;k=L%WV@$A>^;6;xE!OL%up0Jw!9WB2DCH3;`?Pdt)sb zAYZb?wfj1gxUQ-VI90_cx*LT{2btAD7ymiaxZ*}caus#N(?a5`$cbV{?ql`1q(Z{? zK0X?rs~Nj#)^T9-r*Ku|^Z~3RS|$UUdc9TqzGkeS>|hG969L!o&jFe9JG((-%a*U8 zPwu@5&QQsd#?EOW(FDdzlWNz|#rOa?*9@=IB*^a3jV32XeFj<}YKt!RHQddSu>Fx^ zmZ5uvG-Zz^=&7xl%3SBe)>Lhlz`*T#MkxM=>hoLsabmc<7C%@+h`;pjsqE5~4Hy{N zTzV+yYt?&|$=f!OBxUL3L7!OcjGF`-MBq^#^b3mqbaizE5b%L!Od6q*&waO!U zwmgA77Q6u%ik?01K_X6Tl8QM|vrNDpQExy!LbpWvny8dZ!|qeh7bxDmkTU$G0st>qE0mrypA8c;B(ivZ2w(~8fDLP zIALb(zh*7IkaXu@3JBn`C6sT!f=eAVf_m9-Sa)Ju!nT<#@c-6X%k#DYE4qo zVH9JwE_vjfn5L-(VP<1XZ;gko1%w6aFfuJXTRFIqnfO(fSztg( zIar!#QnpM}6t;56Mn{%#_?-xu-s38-lKBH?=5_AdG;Xfoo8H1Ze8UZzHG(0W;3D*w zzK+ahnp9(ezr$TK`WdjpLDMa{rLP~2xHQkZv{G?$l6>0m!B?M136bHtwnZ4a{h6N( zQ;0+Tf|S+KWyLWP1Et(5Cu2o4Ie+cP9F%W=V`OJO1b#&!;UOCTp1yvUDewUXM*1e{ z|7)Xu_f9YI(IyuxW{CFVYnQX){W+5mTc4AK%p&xdimC>Xg_>#(=(fdeFEOIB+J&P` z7jjzi5H1)Uxr&%KO1~AuMl>y_L@AGaNNo zx$?czg7Jzc20>9+?qAlhxXeZc?Aa^GKt(y8=ZFIE)MGfok85-*jT+%z>dc63B%wm)M>o)tJ zd0*z9 zVSYB{_vt3sPOx7jh8+PD08%>noX0m0O#24h$(%%*VLGi^kF*5fUY~w%9$vj3ZWwUz zn3ovT^{|>aI9wV-cw`YB9){)$sj<-+*>CzfDj=q+GSWOYB(WFrMjQzP8^cYn_Hm5ag#2f8fkG#Gi?rJ}YOZ znm3sPkQRC+<N&nqx$ZzKP#CZ%M*{)V~XzM8&_63p>-cNMAymVgkrXgy zZE3Tn}ihC5=xN{nlnyk2ouT2nRiY9|$(7JeX33J9lfR}ZsJ}f^ zQWPDa(pEA@5tZeUgw6m&Vk+Fl(aaOKDCQ^5CBd}}*3x1d)bfX?<{8FUzrTT9hIcWu zse_ZwG~W}#XIY=}A)~tb$?O2Yion+^j;Y7D*T<%>b{;@H4L8WB+H`v~*_Ze>(x}=F zV2w&1y4)#2^m>aXZfF-yz1JapC<*v(6QBx%SME=_(yFIePNhT9%}7ZMsh~UO6-ttj zOYCFZ&QY1sk!LdBS{HlQG!v3T3^_h?*Do`G2VGbWv1THTt-hNx6PsVahLlR)J$`mW z1zR&fph`n-q>z<>2S-U(Gw`v>1?=t4aj)rKxDs43uJ_^X!(K`E1Q>oPn)&%Nf$s|Y zK2-VP!yw;gJw%xncX6O>9Uomp2I~UfV1*6!UKDEgsYo8tr#3~hqinv*0go1&MR1D7 zRL*?E=NQnLgXpXWOmH400dxBB0QjTOUbLH=s*uCL>=j`};k)|ODKaRrQ_(Zt!LXR2 z!WH&z5K7&eifc;kvivDjQ9X)npQO`KuU{v>a)1UC#pb%0h$hEYDurrULkZ`;g|<3> zttnU-SruD&P8^R@AY6`+ApFlv(Tf+cQe~1!v2UdD{;j)MgGu@vrlFxU!55zlZ(|#UrDIH z^M7K4DwhVJoCb1M_`qV$<8w|!_d^e*RG~JOg{G@okkR4(Ya7b+$WkICpB8e0>^#vx zuo?zisZ@VTQ$X~-3I?~yAf>Y&2>4~Hnsntz2@1SQv4&O+9lw5YFTtF*lGf-@F_LA2 zy5X#OnR&p6J+-w`VAtfiqP1Z%Mms4HA8r1zX(q6$y~_(xisN|L__5Ycb9mZ$gRKQR z7_-U-|0nWzFQUCkmE}XTWX{izv|EoJJ$YyVmML|M=8sJzj9+?e|CPcA>){c zx#ZcF=}bdNc`@>Fiw`St?Dw;7X$aTj{fU{{77<{(Sv`;*-tzx7@4rePsL_+f|G#^z zhlgu4CFGWoBR6qw9T@4>Bu~cORbDVOj5S0XyL)~h=|Be$Z111aP#IS&@u{o6-ECm9 zR(q%N!af(raIdO%@)idw*ynPKk+CVcT+evVIHagw=T?){3nv=5zGJM#lm`79 zW_Z6FozMpH&s`u7z66Eg`SRc+jz8wlP;uTS zm{T<_(+c>q=jQgtLSwOs1L}%4LbaMCyaU21k~?b+qowAGS?|Xix9LUxRAK(7xyc5)BQ65t596B?nphxmCnrXW5BpID)Le?R zHAK@6hJY9tv=F||*ifA=DRvU{GK4gXkc>pNS>+`qx-ahcNP5`Tw=X;a4kq7nUb;}_ zX^u8muBZ_b;?k__C|ork-N-qNw;o>!2p)-CTv^}`iA(CLzy?ELg`##X=1QG<2W)i= zt!@vv)7ra{*E_sLyE)RoWa;oOS8WY-9+r8N=>}}+*|g4$r)oxv8-8o{XPU$+Fy=HIHca^e&=fcgn#? zxJWy8;bP>;vDLjr?^MAizDA|ziJ1o^pYXM1TN%>t=R%Vle#C|;2wg1hMDXi79iDoS z+7F6GA=`g0n0!he13oVa_VkZ$Q+A2MiCm`GzA^bD^h{IltbwJLE70J=ciqwVm(?{m z3@+h1Ll%nNq^~6KiaAnPkHpM!x~omI(lf;JWUwl*Dz%gljHY$1PM#v)CNfxcG!+#i zb9$*IfeXxbxI+GCwY6GZbx2j+Lq+{*j7-gQFTyp)7hbC}w7W;l>CnASyyuwzb1MEl zQDxJBU({+lsrVm!pHf5U8pFSPtEv=`cHx7OpY|KWbRa(!HDqhq^!IgKU`mStIZ@ls ztk$~lq9p%DUcSK59$ULCvkZ#RO6GP~xyta+s(?k@(TK01b3~2a7zIcZun{3iiLG9j z5}=BfdRqtAY4tT%fBPqxUcAC3t|Ozt$9PHltM-7A50A0*hBUZ7Z-jsLq7&I5<~X2c z#_eM1bj*QSUu78Aj!!3V{(!317w<78tK7h zDVaB3X)7##Mo5tolI4+U+uBaa+yXV}R&&#!l7*HO&vn2DcdLEd5$81HmjQY5qBl-Q z(}$C9APs(MMJvhZsibzaRC>E4z_L?7O`ubVQi#>80jqjqudPu<9HZ{?v~;}H{j9WzPLKC8Ul%oh>VYx_E^LUR934)6)H zk9zZkzpYt+q66Bz+nOR;XKws}o!&ru{?+VJ;o(KiinhC5v(f*Z%W4)a1m%yn94;jV zm}Mfi4lB$F6}P6uw@S$*PNy3iIBWNlHkjk|dHEilJ+rlfblNc<`-@xgBr|ax$8rvhMw^i!0~#3|LKmga$EO@Y_8UJdIo>^t0+3_ zFhx01OMj!q=*Yo*^qRB7#U>Jkt=SUpJoZqEd0A*@yqhPWGySO~$^~^;y03zA_)+Jq zU@3hYEI(Obvn5eBDo~tmG+ukwu{WWwYX=diMdH{mFH=}O>lGfk4BJa69A4>(8EBj(@bgM@fO}6G1M?*A>ZXW{>$EayL-QrkqRtU&-j!B{2$x)%DtFt;Fcnv3x-u}buV{< zryRlq`hHq?aP*jj8M!t6usYjRKl4bs`L$Cqt~Af4-6bj19OQ8y>685@}ipEZbrKgn|p9*~#xDjqIvsTA}L3 z)g9|AEg?g)`VxrL-;wx~Zh(wdYcAQa5OtmT@lM9^F8ys#3t4DX21~50Z7hLE-esA| zwDRd>e|Y^U@JDM4N2|HLOvTGZG1S|js(s6~)wzR4$4VO_X8T}HUH?2AC4mZK21_W@ zOV}YYb3v$QKv2=(Wb4Fg-L-JmwIE2x*V&LL;d4+rtIj`3O_3DVmi`XGgo6(@YN65* zMAwonbWX&M1A$&fXiN?h`X>{r?3zEDCF<^ z(*DN_lmFEr|NWU9ZA5A-Zd3e|N^l2MHU8@Y*H&$=$mifjJoZ;F86`Ot25*m~LV_^h z^Q|q(%>-9Dl{qaoY0-@*QZ%)DT~M<5yHKZF{v}oV)wL2Q|h-&3H?Lkms>+r4yLh%iwC8CFnC?~ zzyqw}8CT!3XT(hDu%f|7*WvWh{HHpwZ|8cUvuQpA``+t&lQu??g9m*H41+UTu;iE- zi4&h&l`vGZ&uz)$mL3}7$w_P;^CH3rlpbGV1__40=%4&!aHJ7-Z-~Y-0yQm>mFXAF zF1Ppe@0$0CrNJIcl{CK~u_K-Cmt7Dz7yjl&Du~| zD2VsyFopJ@*%lSWlV!xWfl$?K{z|WvnJ>iJB0NVYK!Y`3Q4`f$=u^iKbXT4)&~-XqCH;{=Xu)WAi2X!Ed@CJX<}>1+Gj2Fk^WM5S-3 zhT^HgvXM<=d391L0sA7m7jg86=(Dq^)=t4BtyUtThLXu22a%`)eX(TkqoXMsPb%_h z_|eom2&%|Cdd8xWVr&||S8|rbutqET@Kd>Egk7067n*A}E5J zpZ@yO7*Hk#8b1RGIqV{F^cYZ0nL~mX=o=mQN*N$Z)~)wIjYG0T1`1h_83pb*hM|i3 z^DtNfnKWy>R`kZ6ushsNY?RPfVq=5Iegib`;%s&Mte$XP9DA^J>zKDZwH!@KodKS& zkpuB)lbz&Bz#LD~cpM>BwnC1UCn!mL$c#$?WEeLGMj%1S!9ol0Sb0j+X6|D^7(;Wl zB>77eWtmFuf7BeO9~EjDwPo@}39*Mby6h|b?5-sP}b$*(XmGHDI?J`09rH&5iW(5LD! zPG%|j6UK#*YbwR{E&+PBL*l((eLdG80jb4IW^{V8vtbI%B?;ujVUg0mI=0p&WOS~N zT)VJr9zFH3ZsX~X!L-I|`2JLU$HE;{l}#%&+(k|L*5qDvq7_3rRE&#R*X&%BX;*$y zZ=g5%5^D!JlRUL$s-zbI^y@F!_ZR>c;_t zYbek!QMT7~v3W|=tq;KSB0&_l@1B)CCvLul8I7Bwe7;iSi^VvvYzI3a$&EZh0c$Aa zb4i1;dhXI`ZlJuICQI^@df-9y9vA6ys6dYb1L;uoQm_EjHm)CnW`h$hQ_z=d6b&hX`z$c<{#+z^G& z)dKJhw^wk9j?sQSz?Lq@v~1yDU>Fm1rmViwIqNK0|JFuD0@8aHEQ4eCvrokF0p8Q! z`SH*XdWikBN}j`#AwsD@TIpyr)_ZVADemlG@H}%jKzlyd1VL8{d=>$)VvSpjkx?zl zR=wWB%sc_l3uZmZHX9#3xjT)f@@nt6(_So=;meCgTvnVj8a?qL+DvdlAFi4VmI%My z`ck`q!AQ@7Cnmgf0YN^kyF37xQRYVccGfKv60PE&M!ZzD@VP}M?sd9r5ikoqO4nhc zz`|g6(a$AJ3o8R>6MzkD)LANT>ekPEb985n#Z3->Y^qi28tE^X2Lk&lKVjlA{tp0g z*^d3FvO(~(+_%*Dpx^=PWM>3{mZK0^%XdK!AFf!n5c6MLKQwNua@)dVJl?^;%amn9 zIQ5%Mo3a2myIZoL*>7N$^I|)XnJe>aWZlLFf=?xQ!y&k z>6rV;F%pRA>MmJ2Idp$G*W zLwsY}cUhP@Fw6JfLJ7ejG8TA3SqwdReL+t$wV6?3%kjsg#N@6K&)VIZXHE%t!{34v z1io`tJgrc3Q|Rn{Vf>r~KOQJahu&Sgz|&lZncjox;*q4K>!a37`P}p-t7vJ;rUBnHr8d%fgzFrSFueaPz#u$66DY|r_mAR1N9+@ z?U!rUX1-C4rZy6Xm#lF$2VI~&`&?F#%=NEpz4?xk1<#+SsZhf#iAaZd%{+On6)O^9 z{%J(0A`5hmWRCugy}6V8ARl<;s2CwDyhn22znwGkvH2&;Z>qMfS4NC$*h*-U8DyJ& z?8`~Bw?AB#$9Z@5rOZ}(nhcY*q+#qZ@Z5+bwJ5nZ;iFUW-J>tm`kBpHOHPSH3gqTp zt{6EA{pBC@z_h8Z8Lo9!t(C_M#8cR=0C;>ue)oYnYn@%4nh|NPnDfS`d`I7mj4oj@ zjc@dL+T?f?=cvTdUS)g@`#~IN{Xx+(#U!%opGPb7g~v!@quW$hd=4 z`wtepmzij_-TE8PUsi?Iha1K2OgIIK%kmmrDGma-C&|N zpGC>h<)faxxXI0VwqR!hy6!Af&*cSOS+BaHp?i;r7Pa5&E8JCQy9rIdPyBU$3r*?| zL&++!iLB6G+-aELp|&#CRUrsaRIn@EYoj)a(eim5((I0y^Tau8(B;bC@iK~dB>|6v zq6hkZHZwgn1>?jMo1$w>2%Pa9iu6!Kt`X1KfdJN%EuNw<5oqJhJH={T3e14AQi^CY zfsR%<{ubn}s`f?K^#h#^=e|bl6U9broI6+2F;qh`zh}WqIG=D!XQQx632ss zBcrBe4Q#^cRa#NFqpy?!C*8TQM$?p?i>>`ZO-j8}kAs;ic$rD-BPdkrtCmx@@vzkd z!`lEGN&TcxP;%;AnkeH%&yodwH$<{mn(JfSH6?h-JfJK`@RY6GMIV_2GGNH6a5!1Q z%L$|rq|9IfZP1-q-}P*f0C>84=WjSysn(5Aahr$usME*8)BT9-@CO!jH;PSO@$8?_ z@k+G*l*u}XxXH?FRytFNeZ=Ulx9EDgV(aYJ^h!h#@Ls@T{D4mpp77mG(3UI~m;G}e zs6iQrqiamO8aMzAkA?#FNRSBt8S101l-3~!bG=2Yd9haA26Pzstx6&^aQMMPTRJ=c zpbv=525)P^X3v74qqiH*a#dw!jLB;Zx+E?h0D6eI(94Y!%8*xy$Smd6?EMvv%`h+e z%)o`zYZW-?rS-Y0M|rw+maj7=;C%c)0X+=5m!57=Aqbcn6eAQix zhJLo%#khLzgI{(5$E)3H>vSGj;w9ifR#*%8j*(*2Wk5Y##$PFu3Cjh~!ET#PzETd__DuFdA(OvL zcS*mzt_8bxNXdbI*A2pcQpV<|1%t1`zgR~wAUZxxK!U824Ia}W&^Xy@SLEgLRu+nT zucT6#6bN-HnCb>yOx;yS{5Q=?a!s08Y#yxSfo_3 zYrskD>#^CuP1zZ!^33W6L7dJUX}h_jY7iT7y^gGD$*rf%wgYX9^Sv%j1q`LpI?o>R zMCAo&Ju5{&IKzuo^yCACI#?6fQ%D%O?>#}j&Cqvm^1iuk>GLs8>X&G)sz~nlZ#?M# zO6S<Qe!dFDXg{ihzx<__F~#kGKB%P73;I zk%xkZy7elp?_=BMR2Pxv`pWlVIk-XHbokw~kKf4cGg1j+IuZdlkr~u{A@Qq$$v& z+6wEB+_>;yO$qgw7xER7xlMpHJ|1_PlHV`aibOXsF?U#U2ox4#JL^#z5jWO6?CwPk z{I;ghdm%oMmp+46pTy`rc=oWp9{n1T)S$l-iH%QiqLZ4xNc7+PyWk0HpWbI?5^E?; zdZf)5`1_71T&MF3!EVKLR8@J!2oU7TgEIofzEH8HzgKi)jqte(sKUqPFV*qov(jYc zbv|eST<>xnhm8I-bmr;>P6O(#i#DJ53`U;f=elKFZ1jru+@Rg^>l{&I@|7+nlseTo z4>n3%20-YTtV2gA?7pV23OR52^FE)zXO=0r6!Ic(f^~e$V-u*S48sKl!8;ze727_| z<+LnSz!DAC8Yuj!ig(s$d3CeyS!UVlV*z(J^{gbCA9%+tFqqK0@XOt2`Q#%ek&SPB zu6*1Mp(AkcBp!_?k6;M?Ps9Q(L9|rA>Lq)bdv^a{;pqE$>4Ail1N@+VxqfOM;1E^v zgBAGvi}{`x6BpjWtbHJACO`P03YRm$*nr(!uGL0dQ0D&I9>CuJ(C6o(qcaQ>D&HbOIqKi`^!92uFlVoD%6tC63>_S zzib}5AiMW>4|hb9XI3_cbPo=!(YGiz`i(*jMxI`J7J_wVbA-yzPrG>W74;`y5* z{l&jfIGpRi!VY`ji5gaJ^v@v(s8WRMV8%s|*|LeZ^!1qAlf)L)-6p$bpAe}9dHXEb zRKBL!Ad%ore1`!lbEFA z&0BDoqi)qI<)sQ8JTI*6(>Y?Z*4kZt)3AG|PnC%~V1D5&RzcUjGfA;Hkj^_chBo^_On>f2K_8v5ks zKuG+!*b4zK)CcYj9orDqC%&Pd5i6GC$VXd53p!rB7#41VlcxrXQaOHW zA*Nt55At&gBUfO#L3pHy$1=KCC{}(vv8Uaztctg7%*kKunL-e$?S@!Tu_v_;R3)`}jBLL7;D-x%v>27{9;hUfDr8GC z8}AQ~ODBJcNgl~B%iP;xkR8r@)aCvB(NL-5$MmwbiDvaAiJG0z$-~h{Gb0hinvq3Y z^_*|VjdSa!j}>!Z8zKs3Ml4b9Hg1zzhPN;*(@>0bSq7Z)l16hy8qVR?ag!e-$!Zvt z+ztyHj`KN$xZ4iC2TT9LG8;C%gMzaSxd zJ0J3~Po@IoCAq(h5kMMC9GC{1p$tN}PPIyk6lbJ$srcHyvU5{&fN!|!l*$Yd&Ac{; z{CrBFX+X2V-HP4l+E~2|tpNFXp}D}7$J^SZI zU9IlSb;U=AiOl+21#Mn0j?Fgc9U*s22r3VT$*x@#FeUelFVajm=-MI@WyU8Y3PoIF znP)US6mZ~?%MwF}IW8rR4S)Hm_;Tqht9N*|WB745xD_b<^|kcjP<Al z9|;~=h(hVN4$1URWu-!8TVL&)C8BicOf-DZ~DZJ<0HycP$Mbhqh8Qg$k4a@G6Eep@s zqc{>JggusJ!sq1A;kSZm&kQ`}wIGjARrG%7l#@SI`>5i}bTTvMs2>0yG#}#R2G4IO z!MS=(!%2v<^XUsAK@J-yG^rd=x05^ zMi22Sr^|rad?BTi504DG*&xx@H;$hIn|JrfaV;{)w>3H2cWt=$;4nyBJL_zz@N7pT zhUz`dBK!GDifUi)jja>|tyGd~A31Jrx@7_%XwFZ+j?QOBHME@BmG3@&xBun?HJUbP z;f5-`O*-+w8=sC)G6%p!rnTu%&n&%1Zh^Nv)hwabdiTKpg9eP2h-~ivA?&TAqFlTG zVFQ(rZcw_r1f(56U;u?799jktX$g@=V(9KhQU;I)X%tCm1PKKckd~CL-!+_g&i6g8 z^Zqw$4ld5(zV3bP{i*E$Q>F5q*Q}b&m`KR@=qSaz^jK0y0tvA{8Q+|y6JVYaYdcIH z%+q}n_M|tLEFlTMW-oa3_|t%DyuR97E*7|Yw^n0mk$`Pwpm+U(Lga}IOU_8f7%p%J zznR`zdHMbDgkZC-IoK-Yu$z(LzmCgg0zTGDsF1syRsW~)p6>j9{Vy%RA1W4~2y}qI zLN3-l=j-U&qMXN}QMCRwk)az(!ywB;=C%D38>tA=Pg`bHNLyCCCen9}&viVvraf6S zlgW@ArwYp95I!w+%OLJH^5hk8^GgN8nMsr3f%A--N~}2{!N-varY%G>PLku#&IU`b zT0L00bj6kN8)My5w@B6Ow*!)5C(!B7fiBzf@621Wx|ogXdew!%O2;Fer)8iS<%z>Eu@4{nOYiTD&qs=Vs5l$76sjjM_gcBhsYs%Q%&mv0 z-=@k_Guy9TeLa5ZI!s|o;^Sg))4opUhM=LnlhvX#D9P%%t&8GSnt6Nmgl)Ii?2r&+ zE*=B6ROlVZy3z#I#4Y=@uhKh9mRduuU254Mn;xyhPuGd5L4$Hb_l7NL9#_Nae2VCU z@kO~FznHQD-_ddr!r9!pqS+Y!(LUaej1i=$>Wl{VwY;_V=ciGH7*h+A?_tr=I{mfY9lcw>{Szo+(>Ik=G|FYK==Eq^~iW z!2=+~IeEb*;88}m;PqQh3}5D6z&{n^(G9go9 zfs4o-1+B*;-%4Nj$||l$MM|9#wBc;HgKYX@=+%EXHf7_e*d7-#WE-5#mEd+umK^8V zMr`rGqk`6ecrqWu+Pq(`hC&+Bk9u+=YS^DvC9X9|Miq)O+APD5i=l;ITEj)9VXs3q zU1-4KDa$a-a%ddW54MOKK%HHSBVg^oLHtBt@1XmW!i#D9hCaBI4d=dxsi5BZ*}g5+ z_+Bda{P7vN`-AB%5%1^wu_qFqdJiASsYAL<^q9FS4s{G1BxeZNvSL}k*aLv4eyz|380GGiNc|zb*4D&?vuCB7QB7!e^>ccjwO$llh!_Qh z%ESee{{2d^|~^8Xw#$i*QDZxKaYvA=oe7zmG0aGOT=KL z#97e#Cbn{DIYszB4No=6tz=uJ*|8OG6Sr7#6HSy{PUFjtd{J%FTMUa5jOm)~kb>4{ z0baM0@-abr%v%f(Ci0VPy2dV>5J%Fa4X@OxyC)CpbP0UBuU@u8Ve9#aAM}4)qZhX; zL*3`eP=FI=ZfA*o$X|SblpAoNF}QWI6W7bsRyQDWz1bVgFy_n-gr9r&4Xo-?iw7JuPrpXOsE#ND5x zVz)f0d0g=MO6rF9FLo%;EQZDqJ85CAYC_BD)Br3yj~ayMnQ=vGR@l>eypPjW|-R^F6}oAzwqEB63voeBl*>f5mbpNFnHn()-$JI0|@hG`;bJCCNfLlZl+F}r0HVMuSY}et&oaZ1BuM? zN;2<$?X*~d!`L5?w5{cNSlSihpFqh4fPqYK1^PPiM+nBN?0 zDM&da+kBxo)a3Y}GOn=fm0~$GChiNpfbmX`DdnB4k2joE@AS9$3$;-e4o1hg{c3W3 z_J9RCad6Jq1z-WgdL1y zTSL@09(b-~43zKBk{xz*ZRv@yj+#bMvnIjY<)0G4if09+t0&wQq-)qwEU8{wC%4e>HdAo>&*FSyaT#UGnJLhy^<=olK!~|Jeqz7cZJw_%-S2cxSl|XR#G&$)F+@M~;pg`XW5#YS za`K=bI<$E^Irgb9a3i{Dn!|e>GuL{vK6K2}sss&36|3==-&+xgr4Lq&yn{tgWYNZ% zaeRQRk}Ylp3o!&aOh(*me|cWhpE<@fHMfeXWPAC2JCB6y@Om+rmfh5eRIepD`v06iAS z0zYat`9#QytK&S@eFvmW{V}z&APw_jgdvj5ZG=1dp{rj5KYKES%mt8SePb_;?lM$V z3JV{UXPE&@>eh-Jvhp}?A5E`2sj4O3Rfo4?aKzW$-P67O28u+Bin0LD6_?O+Z|7m0D&cfkg@ypMj8Y-;2)57c_kP?7i4O-~WGqu1|cq z(Wf@0e4X>^zh%=tc+8;r3}nGGUW`Vch3YwER6v2uN3S=ApUkUto17}Wo9G0Pz5WIhY;nAdL=gl=jf4UGA^GcI$qxo0y3joHu>_ihFO=8@ zRmY!&MXPT3JYfCCS*JLLkAlA5@ZW3OXqW-svxgaC)(Nj*q$^>aXC3`v_P6Y>O%J(j ze2;k$MNe#yL}yEs9kj@Ek0U!p!8PL!mOp}F`>{<0NfAYw_?ukT{MC|D1CGO@NX90G zd-TtR@ZN8V1Ce@%Tp#sH8%ObAM!0qu&W!l}(zBo5ya@_G?}_dpqblZe>2)>}f(2$p z>%13+Mwy8%f*$H~WCcU-Z?|WlG-giTm7pfSf~J8aR7FN3K?$DCmXS7fr&o$Gg+>Yz z@AQf)2WqBCkRya;Z)*RBtzU(OAWaT+dpy{PpAD;!o@D0HpWh#c`M;uzN`)hi%8hP4b>^yB| z$^Pa8t_npEMlcIq+{3rD7(-OQz*><+pv zmKDs=oQ!|Iwa9MKrDb=!R#Iv9xWFZbiRSM4_%m6iqSP5@RXHAN1Zh0olf~l~8x6aj zo%uLONNiBMvsZajt<;``^o{EMq@?@k#-f>$e|6>o3JTDDSb^afMtd*8a2y$B5coTn z6E~K8SFa#frdQyuxoY4Jw$YO7e5*FD{1rzD3bN^5hCf675Ti11HbcU%NjT zFgU4YlonU%{9I*{DY z-rCbEe*P% z`2&^0_nD}PnHBS_2A#gwrjJoZD}TU0!)j-3F^#mT7EmO{GPv;9$K+e_*Ip9?s|z zl6mrNY&}SsJU9EYUbDVLU)m~ybWegekDss}pmQnL8oa7E@RgpY8t_(r2KcQm8NhGr zRg!*qs`4>EWzhU?@dYY-Q{cz*&xx2~VePkO-Sl(0W~o$@Lm=_B1c|KL8+IN%6lH>z z3?^-2nbO;ps_4RD#jp+FQ|{QCRDBxc1yKy7SML`G+fUbSffWrx;s%5Li*8_rwn5qD zGK}Apg}=E&xIY+Lb^Mh&WBx5{sZRww@>IG}amgDD-zmA?kSm$VUdEql5;MOj7Qd1& zjH%&|4_GRoIMZ#irP%A)$Wg&VaB6)IrJi6SLsob2=i#=`D&b@)M_s|Tm$JWHa;;F8 zpbr-iFrTZ`f;!yrfvAYC50`xH`Qy6lLN|QA5^b`JeIp0rCtHoQqIVwqAc&<7YHsMe z#ZfiF?Hf}_k>TwN0K)_H@ajojTJKeH{?sCjXhzadivR6g=YU{2_HI>FqXMioSCj<8 z6oT#W)VDufSMpXiJd&?4#}<~=0HG!BFL3_|GeL`uz|D}-R?dO?2-?VS_dMNsE_D*m z-7&qujC5*-nI2F^lA92xRnR3wC0^khm7q`i3-5gZ&T;&x$FKeQS-J7vVSKkN$?Rrq z5~dd1T~SLw3HL4l<>v(6CqE}p$%O^QJembnjfWVu$>pn0EEMk@r1b2kLbxD+HyDs1 zVR=3!2-0#ROfU=Hx3`8Sp&Qmui>>ormpQX)`$A<&YJ)uM4oqj7+IW_a_qXa*kdk&M z89d!O^HCu2vStGF_VnkA!*M&q6b3;#8s{@tU>?4#u??vA1H)#)-( zsX?E7yPHaz`5tp>8FTJ&*H*Ew3(@!H(tGnAwzVa{m@YV7$=`fhcW(wn8Zh}M2y13> z#RilGfa&Alhh<;s=neK)ihet6Y|aQer(r1gvwVO|(3ScTgtk)9MUh{TlD~061uhxo z`#ZM-H@tuca^}$B)sjGLq1s}mQ+UK8A0eR;ysMwBUSV#gm3?a}ArTLc9fPg|`FdCI z_*HvdCE44xn^tViR=N%C$wpe^lnv0^cZih8isIFn4buG4eao;Y{=4t!9;E&eeg;02 zu1d3Au3*^ZoO>5f7)!=-<{HkN6oORP`<%B$m2ABTK$|K#qn6LBmaX;K!rJq2SY`(l zNjymWn>n&VxTL&#PdBE7%6^LIv9a5>9c7+=JK7gPJdAPJdOv10MhlTLMZ}*Oc^%)B zyeKY7p3Y`_oAJM73S)FEb+4Cr1}YYQ@pxkT$NWqV;1!AKF$}Ekj)VCwpZuK=4qBFB zg4i?Z+S8?u7X!^^PJP;UGUTWj3^dsI!@8*sg;7GL^9OHIV=V=eq!#Ij?cM5vb}H_P zWLe3u?KN#{7}V*$#G7@~7%1qb(_@+csuaL?ix%ACM)6xGZIGaM(R%Wxqu@ukBsuh zxsj`F+QX0y0Yt>HKUOBA+A9EQ>)EUu?%!HnkjJJ)@%8xmD;%-`KbhBr=mIeY1lq67 zyo_ger$Deam&&w*lobnTL%(*55}4z!NIc!fS&xg8b@o!$c*n%0dTk-wBWFW#nL5OS z@>H+hW&IPTX-YmCSKo^RN1?sw{h0PjQq7p6Wf&Z`I+9+*{doZ2?w2RaVyT(`*gXsg zFpc|jNH9R;X2Fh*o%2I+BTh+i5vQy1SBO#At3W5a)W*TGy79%$fgywl)_kYID*o4L zka^Y76svFs>X!z>cWD&gbNRc|PXJPAfS`iOJd&K!Gq=^KFwZ}RmW6Ak;fIM+&mB~6 zDeUv}l`8%7pTr~(?YDUfQPLWI zhh?D{`YPu(Kq+WK2wi1-}MD z17FB3-u&j+gawQ5?-m5z+^QciZ`i+G^kn=FY!a$vaKVfY3oeAy|_LVy33t9~X;C#&&edKev4x&pO z;``zxU z5ltJQI^{<4aJZ^|^1K=c&x03tAAI!K41ka_Mii1`>Y3*eg>SdYv2dAsy4Xh|+X!Is zjg5@lF{0q_9Ru5VT&>%r$!0@e^|%16yGLo79DbRhM{3qo;043wIo$aP3%lTzyQyu7 z{pIIPsn=^xpY+_f4D~8EUl|dRF0(3B13P(`_?q<^nHRx}xcxf0Ew-{DAhpe;5RMW} zY5qb{22}4aL~8dpX2cE^ieC`5d$Un9N5q^9S6cP$e>GoT$^ea~JgNiKeDet+W?Xe8 zh#acpFHTiesWffC1fkL>l%Ebpp1@!$GUp7G1XEW){5)r&;7ZFuMMGp#*In{ictuku zg;r6#`i+U3C0B1uP^R+-4eYW2aG$X=i0D6I%vb2>wsFGWG?as8pru%@@JHOmQF?dC zf>5%b<5VXppOxG)1`C?fZ-&6EOy1sm3L&FkZ(P7R7B+l-YFbVae>;@AX-Abbk19l^ z5u5GcU2yB9eZ~zdD?Mu~?0`2d`_Gocay{qV_()AQzQf+|X}O5D;HjA07bjQ}y0{;7 z>9v-tdU;hEn~%XF24uHhzd0_47XRHBmbvr-b;u#g7l^+*!tX zo{hwj|$lr#uSj@fTQkjv5voNuib2NjKr(7N(ept z?xFe&eFwPO%a^}4Ujqah3syQeoVpyFceEf>qOnw3V+)3ehh&KwCZ{$q9ff4qV5zc! z|LR_DwmzJJXx%_^VTgF7vA939&LR3W(%JF+abn+KmZwLF2;f7qloZB)^Ys6wM9R9b zD5m(zx+skgfAeF5>gYpK;6y*}LHrC5BCxMZ5;T!YkDgf^TJ4rl(uEQ{;?fa2UB=%} zH}hL>c0MIJwhJ{19czyvyQJQ-=_(PzpzR{AMCwh|@m*hre%@S@;3FEvh*w35iec6- zPE4t>wKU@vUgNyeYcIUKkR!4j=1RvKp1a7)$T;~g(&5r=bz=|@ave+q)5W`F^)Z!e zH>u_C1S8%AIrk{v2*m44W4VS?zhz*^>eD|ORapB@f!6#AeJ%%Dp>sE6?!8dZ?A6k4 zCg`N7UK>aC#yYaR*2#zD@+K_&hn;ueNi$_<_o-lH$&;C)beh>Cm+}ylntVs{HB)NZ zRL7Z?Nb5;JndDY+D$PdkfP}w+pkCV9qy3f_pDvLmT8BHJpy9n}#-4>BR?5`4Y z;xuzqLU?+Q4j;oK1n=O0UaMPHc!$<+!|OxojYa8B90FqkR7g=*r1S?%Q6>qJQHHWfy2Cv{PMCXFRHSyb<-x@WuL0chUR9;vY9(6V?~>4|7`)o4oEXJGra( zf#)EyQEjU%$!unTsSZ?d^VsatJC}`6*z~uevDH-kDhUyq>rDA8l~k+F*QAh6tBN^uaF3#@Hi|CGs-+Ka$5A+O3HDdtu(+O ze;k#DkF>HrQBR8r(PDy-lD&rJo1aRtb?^`usYKj*M&>!OO^6g!S&Gq&?bw|u1}>AY zueVOW?d4FA8nso-_qoM-g-uQmdn zi_v&qZXNCLq2k}uCYqoEExwH<0eq2A4R}!<+Ggcd?aek*V^F@zh71TD_|p`6#`jp% zVOUSkZ2Qt*{G#CrPsQW0VC6isv1r~&;azL6Io$nZVXG1XTlI5M(o(^(sw67f-1!0+ z)XDboRd@0D>(^%9X1HITy7%}!7P=6;mo2RLhFS}{bTMw;j$UxSK`B?*8hSE*_N4vGA3fdO$g(vhwt9%gS2Gd~fFfg%-yU+qnUwr=k6x5Y0?LeC>XUlpgb}G6HN- zv3`~FM&xp`=8wM>TUx|w+0nI5@At)>ZJ@;H;tju0WwcWPS|dWaeI!Xx>0|p1BibB9 z6#o+&gE^D(wd4J0)h}L^$P*8>ZpB6s+~`bAwpalK7+(gKO*dEKw~~*~7fRQ?V8W## z4@ri6DN>shx*qAyi$oRrkCRd`GF}0M((CoZubLbJN{i0Xx(99C#L3T0A|6KE`X)`D z*58)TPn1pmSu5hmyL}2`TJ=a zoOj}`S%^uGW=<-!XJqi-EB0M|XDFUqDR!)H2h!*&9m1df=1}}qHb5;|Ij_MW_{~*v z>B0y6dJ*8 zD9r)V1pwn;N3V|}6R42dR2GV20hOBV6=l`JGrfIzeZH3hNxQ{JJA!w;1pUTwg6B$p1 zy`9vqkuuP6t@p%ue8!;XS(F+(y_Y@^!^EMNL9gWiS*3kU=r}ODEUk;Exa|C7kv2Jv z6eZ|XO%*Qe*-U1+O*vIZ1>&y4gS{SLm_kB%_f*o47LI8>p)Amrw2W1Jh-NjXjg8_Ec!!RF0-u`lWrs1Gmc1=?0?4Z$XdxN}xaEM>y z%0=bq7P>?6JKf&@ZV)=gE1yN6W+XQPemkjP%7GIgL&tv;vlqzfx|p;<^B`Hh((frj z_hGi9*A_|^ilbwFZO6#sZC`b@W*%rY>={Wz<28TObC$RrwTlc?pA5eRDiSh%F(s|G zRzqr^Fba((w)m4#8=V*?WYbJy)gwcEva!|eWR z*Uh(kL&9ywkb9wiXz#0!fyPehaw}ZFUhM&pK686K)m}gBS^zQ(Y7-`<tP0K_p28=tBDOjOjTDVv0t*@lq zP`LFJ2R$BXZ$-m{lHfW2sC?lbV~@QIXz>*kw2a%=rG2@jvvY{JfR!Kq(ZTg z82jzO2yH7=`tQa8gH4;C(w(|r6Y7Zr7zQq$d;oDt9{|+!t;v*NT-8kF3mClgh-v;s zZ1mjQvx&BqQ|&SD+x~!v3^5s{&PT-eo}IQ*N{BtV|Ly{|O3u4>^*4UtzoDs1n5O7m zaW}ssp8n=Cf@7iy5sc@(6L}bMB7_pOss z=7e+t4Ylj;tA~#W(DmUm&~%V~q2G}|KsTEL57k*8d~jlBzIOMrqnG1#y0O&1UXXUe+odes0+%$ zF(?!@v)>FmI1|tbw6e~A9Drqa=#yD%?t~tWD9WZ8USffe8$aF_Z#R2nBz2nn+P0*7k{NPK zK+155D1?`O+4%TrL`?74z`jaKkODd3A21cU4F=bLM%0lJUOxHoivcS98=YsFD5gwd zh3IyeRt@rHO;;>Y5gQ;w=O#)*h#YbS!kmgPwU=nZD^hpbYZw6vwY%B=mS>jG*}Hi@ zz}8;M#{MN6uJP3oN?e0tqxwjAu~Y9vbzZ&^+Z{G*W(}2Kdw+)S30_oLp^oKFV(Rs8 zLE^usR`w}^4h>uE_-LB(uaTYK0TaiX;Q1}5@0br3F^Ew}MoxhYU?$iQ6>?0$60^kj zJA8A^HN+*)d@6m+!+6G~r!@0(`sgj4uKp09)~M3)fI0RjZax0+bfEV{Uto{N98S)2 zz0U5Y)esqo0XBUVDfoB$&}e$B@`)0-z)Q7@a>83Ia;f_7DT#$ZqS=%__ILyQOuY|% z6q5A(Zz;hdW@}kaRcKKj0jJ)SdV6Wg9{!r9XhmNSl1aU4=d@wp=HyLq%j2IOJ80uT z{_0J%=*Cunh29s1<#y04pv}&zmldi-lf$Na(V*;tZ5T`+p2qTD{&6>kC}kXz-@}BQ znO>#vUXUReY^)_8_?i-DVKHm718k}@VBf8UH>LL>e}bZH$~3vE!<=XfSR=b2JfVOG zA&)g1oeVNLKS`$TKXn>dZV0}dwijVf_q3J{<6;`Epkx1#``g~&?=Lezce#ZTwEp)O z|N9Unf~LT@8G~N?VLfGL%hvRJ1C{^|MVNnps(&4aIVJnR<+c5j&Nw7FM@%Cp&+#>% zbsvlpr0gz~Ykitoc zu%!%>VD0^?e^iO!N0>(@v?}1JBXJnF_3IGb!^!H`Fs>TFT=8oBufZG zVtZy)kIEbun;m(}l5}Y_?BY7{`_jl9J0@WjGM{I(3xH_ zMD%zg_!tXD`bi~w>Iwnq`7yx~iZ+(4T>ARmlH~D0CcTtfcgxa)wF^f-7SKIXYUg-g za!&(-o=MvswQR6-y3B7OS#Wck5u}la-IC7_H@H1PWQoX~?vZS^S)d>NLaz*nZo-z1 z9R)Ap%^U@OzGTm z?cn$Vk#W6R&o)ZH7^5f*>E?-R59cC-9MO|Hi4IorKyK&R7cyBo^<6WGI%iv6yNSiic&zuH$ zCOi)ibMV+s<7=q-#itkU5T|&!YMv zWR8zMLgnU%7r)Ys>R>1*U-$pkseEbiG$fR^U0~V{f>Z>5&AL)x3-(OUa!}hH60ucuV5> z3pKOVb+*cYcLtZzG;`DhXK%Gen;JL#9$n`}TWNOBIeLz1kxl60+2@!pu#)6~^*i7a+tRhmn9Ql6D9F=e?d)+m1Gk2e_jh~J#)-Ntdrf%FiWctjQ_z`XJOm^ zVe{(*Twf7o64dlMS`1PclWJ2Zdc{5-qy}6FZOJwoxWA!0M89(rFeKCzF);v#K-{2w zjjbUS5%d7TD75^=&G*C_uAY`G1=Q@v3(^WWDhL7F`UaZ?5z0#WVi@_aU+3H3GT5NH z{)R?t$zr>G_-lySph?C!HDqMGl3&94O2bU{Y#_KEiqO{s?B(AgyE}%|DtNF+*|_2= zOnyk46~}0lqHNdL7x}xdwwkiVvO=xHv%~VH`$M8bfxa^>rm4VRG=GiM5t_$Aeq6Sw z>wmY=gXP`HXT7LC*R!qx;nSsPT5BdTJuKH^R)xT8^nVZ@*OVw({{1%peGI^dO{T{u z_+}Y9uYTvwe<_m++K6G6!K5er1axLZXm3b{?j0kx4>TV3uYH8t^qh_LzA6GMTsyk# zcP~HEOdd2td%+BHIl>YjP-RcTb+A;&YmHpD9xnqnggWSuy8X3I-@`Y_98j~LF828J zKa~Qvr_J?MK(89`LcDk=1nm)#CNw429w)akK_7&gr*9)Hzw4r)ZXKjZA5R777eNLN zal4>TTieYE+0Ph+7rk-D((naaqYleDB!V0_lDhW;)fUY(f^#F1AjJ+Z3_ddAWyQ&@ zEPU9ZqhovpxKyIB4!8|L5#M)tl1{(nG?b<+3qf7YX6)<8^~Sk9HA*|8dWz!2t)rb6 z&Dw6xwn0aDv=fSA)<_n#YFiCK)G>=@x{M>TqTxU(qp>iOq5G%gUk{^Be5S>H=FNt< zu;lrn9jiZocwlwxPu5hAiQd2(y2tn4$rTPq`T9o%0Ny;_GUz9(0-lGgK;V#0r&dAh z0DHuHW!ambXPAz_jqvSM(x0eEjsF_>-@!U5kQkfToTcHU507}WayUH{X;aU4wj(J= z4a8gT7OF}w_zZ^>P5*1Z(Ng}e2YAKw*kg`F^xq3&flS-!I-t137#{{zFrt&G;zl5h zxLYv>wPftj5Ug-)#zU37YcOvkh+HJI?VLhZM!)>e2(THVo1PD;pJe|ej z-#SSk)sT0#Ce0zeQH2Lggq{sC=;w-$Q4w15mF7M9kA|7D0pHiT)Ys!Oh}(8_KDlet zS4fHLw#J;MH2mNTU%=(h_<8B1PQ!k^`nE9s&+w3^o&!yBBjw=Y?j?EoMh+&z!`ysx z%k#bnZ^n(w884xQ4&Vyc7`3ccm*~qSE9N~H**n)5QhHh;fC}V#B79Enp8w!OkB zei_28of)XIluhOMht9ec`?DU+pC*pIn}hdyFaFdSNoAPz2&UnNF1 zvvK1s?bN~g#9Lh^s5*(ofM3auhLwXc31o?3u86n@14PCwo6Xee9w;NAiG#vmAv9oG zDn-I=i)&Rdth07_5U99Uj#+yOSHIwt{aYMz+}tgphC$r zMF)5o5jF0K87$4-CkwR2^(a1ZgOJislIRB(BrU`G|U#hj-1|norfOSb(xhk zYuIn@PLvVR_oKCsg)X=-Qre{@oGVlpq|{)P!Q-N2g3T$radVb9as%ogcYTP8#?vSz zEdof2L{C%d*}nY^D131=a9u7jn>|ivG$<$<;U766+2m>-m}f2zVm!w%^(9hoeXqV=hqwKUTzT;wY$`e_d*@@XZv{leQ0CN~Im+Wh$|ng6KD z){cHd|BV1v(7)pT-1S5^>~{`6x+qfcmR2x?+LO~?Mrr=o`25v1@V=$`2WGNsduYQ9 z_AUA7Z83v_S;)$xN!1Y3_Cr}EEw=k;=aSH8_u3IQQS4Kz-Iyj7GBvb$&JviPs9S`l z9%O}tJxq^=79*a|HLp}Rm3aTimlb@yPhj&*@RY$rqb+9f0!h9}-|#L%fSv%+k_EPk z|H`(^kziF52y@QxzBn`Jc|Gx}S?-U-Z_nqTa$fXiy!8a81C^DD+vT8*zxVkYx=~=G zf+qVP^+)&HaNf8nDcw$&&N#nMX<)c1fys9Ts2re{Lk!cHY})ErTAIT#RyfkGN1HJ} z1;cxxpl9waT6nap)t-QDq=G?T0wE{+@&{;R>Kh^m2%`zk&-+5bS_?bE9idt&{yZ5D zRJX16B=k16jXd}DH1((n!@Kn>gh62%l${Afw>T{>UT%saZ^MP;?j*1sKa004v+wuZ zFghRBj)=}11S}GXyIV&D?uL#2d7pzH(3p71z$YIO&il3-| z7H_Y48skZ}nmFIDSjYhWWcxnK;!xiYkvRmj7$7}u4*>dQ7GHV>zLP@@h=QaHltDDW ztK~asa(0>SP6zQN*O16-e>`nwMUHw4g5|qDVzF4}kt|yVPuZ4F0BQ&4G?Wx_JPNqv zNOA67>(dpPPM%7$dh{qF-*Oqg22Ki_fm*GI_GtKng%K&^)RC&Q)gSsrf-(7vFaSoP`*Xly zQyY0v3c^(|DzileC3n5gHaf;?^%u=gO~JybF^;(b%gnF<+7tzu?ZC38a&B=Y;}-SBeLWufC^`S0J) zxvdyugM#Mjppr}uGFJDmgZ*)*U5KNPp*NJV*;QjjnR+&E?K+;lTDiIUahd{iitk{b za=>M{9l-xYsre94kg8G77W|Sr}92FB#fY>HXSwe`v zI1E4mIr{-uD5g&Mz{yFyX-o`N>V?L6(-dd*khRB`&KwQzd|4Q(X##!1wx1ETg~Cnr z9(LTHUliY=V@S2YW;-jwJP;;wqbd`po_|6-B3Jd(?)#enogHMmZ%@y|I+|;LDnj~( zqL^2aI9f8)9PO2eeE()Iw#)z9dq}rRace0ph}VTt5SS?tV6tc#7n!yDHU%orJSt8*Jz{qs@w$9xb+$u@rCBW@ zG2m$kwIDkr*Q;CVhkTbT#E#*OCNk8lc>fvur)DIHbY|n5Qk)8lnw#HxO)Fi@LC=V&sMsTDQ6_>AGQZ~OMLYp$K^@iG_9qd zDB|OSZ88S3nm^t9aEoGhLiT(4v+nlsV%Nd`% zqf1Qs+5&E$q+G!=$W4+9#+l)JIoM{2qqwa_{ecm`<2X2}h5jMozC0O%)IP%7b&1xn z4&8@iv~{zEP-R+aM-7R-#n3Mm`R?|_RwLxyZ{GBORD2r)?StQi-fnL*3Ith ziEM^%x=wTu2w`jXq;P*IZaJ_!*mumlxgC#I9sc0NRre9PyRUZI?iC`aJehv-!hY-! zmBeNdwBAVJ;KiT+XHtwRseDELnz#ZxPFARD^I?sR*v@N>Cr6(7dNUGbJTI;YWL;zC z80yQ830OJ`afpOusl|rpo|@WMENYb#&D8{Hsrd609@rpqDC94|TKjNje>u}XTlMLO zx-@@yB9ln7#%Q<^q{{RWJa6k4p98hEGzPKGE$h=i5Z?jW!t5TJ47;nBO|Sx#xQHwi zWfR^bZupVzc~)C zdeBq08CJUkS&R(8wsp2>>iWSS^Wje*2h#i_GzEEpggMYai(5sQKu#zrJxsoVi;Tr> zh&0d5mdxxjQbmebjO9bCZjH!BXm-#E(iSUF_j_?fG#uXWBhRl?F~r_punCU^jl7n~ z-(Vmhp?CU8hE-oiaQw3gaq@9B@@CU*A-(wL;Xe`x`FCfYZ@n#Eh$tBj^pBxPc1ADx;Uv)XwqS%H;%!%{Y)c4PT5p8H)# z;*sxIDmMhRsjr8Vl|z3_bH3Qb;+5K*bWX*k z3k?syr*s$CB*lznvXuV3#%KEG(3w7r6&|AyEQ-JoW|OVO4UacKVWQS!K93&pJa?`( zU5X^9W4&ngL**zow(;iHjR zzvvh~<|(Ei4l)!TKnsarRM`mD5W8Vl8-LM|Ei>5jy=1jmn~8ZTobnLF8P}O)nrc-KddCm94%!#1VNy0RLDv!MI>fQ3 zivr}M=It?g(ur%a_sgvc>iF>p(y-Q?`Fln(^;m@*8j zI=1}D<-hfis`z?=x=OKFde=6`95#V0Q%?C`R#z|oymN1i!gL#(8WphmwZie+U-a8F zYuFbikFBIn1)R*9O5!!L#TV9s{V2fQ;SN2zR2~An@(m9YDU5nD#(ATQFcd2HD-QMv zawL83|788<2BcwvUots+G5-^2AqW61o3SW@eeug5bRwebZ4W5|-9bg9~q&SywsK{=jjdAg_|PyPFx!wGGl1mUloa zF~?FKNKizu$iBF9n^$oH-2-08dJwnoSX}4b?ScRc(}x;G-oOsLH-qc4ZZ06m9(v6sx93g3W^kUlC z!1u~Z-^R=03d0&TQ7=F+Mn$hN#wJlI-ZYicIdc!x1 z5oQYLO^n|>YoPZ;L8Z1|veo;_h}$ykMHlgPz4y91T~W(lt0}Jqx1x8qpLPL*&;y{V z^1RA_iM;|#T_vr*o%~8=%P5Y!QQd*`MiIFT{EZcOfj;S7w-eoEy*egs0lW2vea)tG z^_`{X)0{;_$g&Z&NWn>rlT;2{=`A zchKr!kd`itQqVKHq64({wQ}}~9Ju_XW?i!;b3hejIb)&R1Z*JHC{eGoT^nA(t>AEw zGt#S%i2iw1E9`H~v+szE*2TtM?EYs2sd_CVaSA9q0(Q@_!g|hL?->G1$*HF$S2{(f znb$8gBLb)aI2Tw~6t4NfK{fm>b>R%qO5hWFza?_2ZOe&qyMRfF7NfAVhV9$-t{=h- z6$}K+jc?G-0eeWtqA!p0UL%_sYM=jOYSthS`>PTSG28sndnH<5`ftXIj2>LbWX8kg z|8CNK*1--h=!-@2A}daxnkhMtDbh!hyR)f_&1<#w-`c~AqoUhe$vv>!!|&yBupq0m zUHse03%|vXe)HPR#Gkfh)H2=y?^e)iA^GK&MFx#JG)Q{(W#;@7r5Eio1!bAtm(_Rn z=Q-4vRp~FShI}a4LI@@^>Lb$lE}ku;MyA=|y5wnxxb z!O^)spx@>375lJ_vnCF!;K=>;l2N?n3*Pd{lx(~^q)gP7;YJl!Mkbg?s2!eC`^tbF z^JFHWGE7Pz)oLQ!uvVQO7mG!!oV~aYQXJE7l$iWgMn>C#bk6(~2ia9Cnn)V8F23KI zg6^j!LT@66_0W1}>h12l98kv`JNB3?eDFRw1W%l$G><0xWyhmphKNTV z->QEKLx_XnX8P3uP6lyKG+7L1F?Ibcv;?p1~EowN4YQOh~T9ijYwt|DcxSh-$)}q zRuan}*QR%R|NQam+tbPE;Jw}@nVYDLym=>hN<8*b_HVMs|1#@<2M)JJKWb~rPPgAY z>J0Fx4Kfj2WuE9qy|p$ujAyT;vibhZ`RRfX^Wh*NACCh`=wlpY!4LB9>=udz405rv zP|NZxY@WkI18|^0cvT)UuQuUlX5$v9YAebhZA9aH=Oaves=l_Su@|{j>EEUj#(Zow z=3EK7h%b+2U$w^t;tTeo!*FKwTh819oPAxsAcfdGi_9X(rNl{czfJ(LG;^>3SX2(E$a% z+rW8ZqU^x75I)ZhyxKoN7G#ihyD)YZwjM{xRlSYP{-5X$3%IrV?lRo?$MgLA9scu! zPdj=EReST*GOvGiSUx3;pn#9%k>KcxUP+#jQ|Y>g_Thd!nIWyfzfI}vDB)h#`Z6K# zp}h%Ef!Gci3IsN~~+Fu4ly>;*7up%mmC?P2*9YaYYNJtM2&QKCcNQ1PrC|$w;(%mB=T>=J; z)X+#sNeM_d{P*b5bMB+x^Lt)A=Z%~h_{3g&)wR~Twrz00bHeAbtx9|AItHb2AArV< z&i^Qoh+`+D15(VgwK&jIGIB8Yo}?P)ThR9spWb20SR@?zS(mE?lPen8nt20ssgM_z zl$T>&z|Eo_G}8feW7PM#fD|Lqkm%X(bYlU}Vh<)=pqKV_mz^6<;ygMAJrk2EpJT&~ zLWU>r*#><$u%#S!^>?`QW4wWFPjpie)v{6{FF-xIsa8A$Ni(3Jf3XG~L{q)M)Cs=QSPn*2 zTfTnb$Ofs@d5-;#Wel09IIvd1f+_3sVSKWZ@!txU^{dh4ZDE{`I)cYFC($`h`n8@& zm4L)d>I=(=xdcb6M0;cLM5Z944g5iU7ODs+oujRMBV@5!d#G;b%@_1EuJpBDrfc3# zP|$ls@g74GsJQcjl+34CaC?gvD36D;ab`qwy56&?5%B?MEy-`(x0x=$ z5bZI1S-ee8p&5V3fW<+zDHm@#+++ zp)qG)5h=M|;~#8<0QPIWh3Wg67C+b=(t5&^FMsFFL6_`NuNhi#aiwCU@S2&5~3Ia9Ki z`ZfUGyyxxlk`-k?`Pbxxhr~8h`Kk-5AISXJo1VO6jJ~d%3&ir1e!7Cvmpt{p&jFZN*=r1?pSh88Ge$D673lk z`Hqho!AAXkRD)aTCk|wF0Yk260(w}2F{P$HO4E0l8_*Y~&Q0D3;IyUGyjb%i zbhA+S|6AzBRUJ57QKdqSTV1C#Epnd*=r}b#a+|!S%5gG7W9^VR@=1L zzKg?D;kD7+aJ2J^!($(mCh?kJqao)b^1hV@SeSH^U9#eGp)|!#J&QFP``ysffmz(d zSqfj`?}lCmyHkcKP98qYrPytvMKdMkd5QVKOKQ^4I&{lo9vn*H$Fhtrk+S;9d%y>28 zyqkToxE{po@8qOY5q_q_S2w2PPd6qTcy?PGCZ&l7xbbnjpWoy+jy$p23EJ-CqP{Yz z9OE{~*ME{hI$#h8CioacUeJJW^sAn*>9{(^-6HIgRz+XPB7~XR5485sG``@!ZTI;) zqGI+oyA_L^L^=}}k-cWoB;6+hGc2-uvT4E0^EXBIb|pY{wMJ_8$;d#Aa)aAW!Hc;3 z-b!4;X%HU78<~Uf;69cv;PT+drtF{G29+{SM->D<=@2H`(y%lVeEI-G}m!A}b7r6Zb3{q+l3AR1sVXm6Ru^16}Uo_wk zNevG*e7}1V9IAb(Q9*ENRK+b|o0CZn_e8L#DG2z5weNlb%^tR^Fi%_m!!NWNhox)Y z$_ttrp~ZrzB8$bA1Kef zZ?g4#eApYhmh2(V;PGf)e21z?Cde=@ze%0RFj7*EoTgo`Brzq3H%XZRUY(oV{?)aJ z^o7q=i${<~5W^?nj!aqUg1QL#J%7d zBTluT*yz{ff%1))m0)*rB64N2No9Nn#_ubEO8Zxw_`{U}Z|~%G!q+p+xj$&EJ?U>F ziFC-1wCj}5p8v$6U_PV9({w4F^fdcDQ{;AhMFfBvPRNVp0HcrDN7IWKE)3t@0EkEL znA{dE25w;3V!zEqiKa~lIqkCZtvOS`xh6Tf&JcAO?-MY-hU=4LV4$v^+U!-GjF^!r z#I$YWqYYODG(nIM6zC@gNE-sh)YYOh`-LS_tHW-4VcVi(^ROW*nUja8m=CEaIZCXPSPQ4!FEe&+eX8r03*AvA57H*I#&UK z=s~RcJCJ3#3bF2db}z)Pczqv)YtRaw+jb9XnI8ZWF>}_y9$)M-g+eXF##Ol;wI5uM zl~Mu&>}hR3NdGd|PZH!LMtK{;pYx(gsZTTThm2@?iFcn>?fT3sHbQ_)KQLH%<^(Dq z6D-X|Z%$f!KIuL^BmeIR{eOdZkb0N#E3k3h&}9FEayy_8MHCeA)fDr@!mJI{yp~P} zg{_Kes}U!tkit-SX>}Iwm{_uJd)l&&hfWybPk+yXE9QojNiOx0a;O(GSzktY6f;Gy zXG^m9eS|eIEV16x0`=%EF!a7BS`wA_db@2WIhL>~`SOk+7DDGT2F7hFv~2yZ^h#Yp zjGU$RLCcmhd|}5gHV-D{w2DKI+ndI9$GN0*bqO4Ku;Ck9p4RI!7f1l2=?4CW*2c_*i3IU*m43ekKUCr9}nfB7Tyr7OQnG`;JP$tGVzR9&8V6Dq#7Jy8V%za-d z+EKXD=4Vk&Yz{6_*&~_A0Z7~A%F+#2*552TPF0Mh$gkA3k5L@f-xKOCy=ce-m}8eF z>3}^plyJ~SSF%ABT00w`;}0VH)qVC?hJC zA(V#C0ox-Q3}5zMpeZ8j($JyaxxS-aZx{dE6wvA{ba~XwdyEW+aoonaoziVNpEGDd zU2n0-?kV#v8u=PqO*Kdfi2_vNH4h**egsmuh^$ zXt>l%?7nC63FvuKUA<;)I;mLz{8SNBx4hP0otCf%_xQVZz&MJkvZ1AuX6L%`cV< ztCsReChzPTr%SBVVo*D9z7!(8_>MOU`l4yODKsUP>ntE_yX;ZbW>NtTna@Df4qT z4aOjW{)>AhPUY2L1|Zoniq6>EL$ORel)9tVMu++!IGwzYGp~-33o(bOMs%;;wDJsQ ztHm=u@sJ+z=qPUiYtUv$_-eN@(VhoDv;ri>a-%UxlrMI}JS`7)S5Lk&`cM?_zEwT3 z0Szl$!Z;iD_#1J#!+qRNmQRWX=F{KRm)7vPqXRClFL?>O11+5j8wMr2Amo2I4vhC} z{Fl!dA+)OsKdaFUR2>^c_jz2Q+Sg}{CZ_HJgFToWxX^h{v?>R$rbEi2Kz`(V-t1kT z<3mlzy=wGO`;lIotNtw-K6_K(XW~SL3me78#nJT-9Z^Y=@eNL#C#q5^f=( zNl z(=Ol(8uG}b0mqK;C+GDTgMI{y$ut~a^O@SMH&2?BYQEEQdezOYed?H+``%mx@!`c24jUEk+Q-Ho zwTZh+F)YrL)P`BR={~UoO)UPHBOx|-*gDGE>U^R}0WYgi14OVWEx$v^pv#0k0{vutBMP z7Q)3WzoN0$lnx`Vd}wPJ?jC&prNRPDkY2!>>J8JtxR|`woq*WNa1>cgoeWXdAX%rB zYGaU6lfOKtb@-719-gKty0&dFhNsKwz#wFJ0s?Qhg70;(=kjnm8qqn959kQYGS^=J zv=?#DyKaWeyi7Y(p!%*6t6}e)j;)AAs~!($M-a_Of4O}vyWhbk%6lrzkB5aDHxwS`vRopMruS1m%lfEgUSadVX>TS+NB08@hGkvG3;dlSqi?8?5DAo zneZB}NjItWvCl7ej~jBVJtm8_i$w@yzj2Z6RDz~t=y|xvW6Oa}wU)=J2>R0F*05!f864<$x}V462~CfW;=h9(S~-ZcH-jPG+MvJGW->lOn; z&p|_BU-P>_hzFwW{5!PTzhSKZjPAVUK~VnA`VRr1H#-`MjiJBRp(TrfN(eBqW?v!n zp;v5*WIrD#f|C`bw!hBf>-)|+RXLbDZ@M`g92>);^|0WsDw5-(Q|ZxqaCIyfTYfaQ zEx>Q1q*~**-H3LAs@;AKr^gZk7=?uGz=`KO#@>sk>#)UVdjDJ6&Zntwdc?L{&dG+jb%k*;WT zvo#Yp_RfKd$3?CHfCD{Xi>g-AaYnn(wC&`<$oE#YGm5BWYnT&KF1w0&ft z^P{oB`el;^Bz^ti``v;uH{-tf&a7P#Zt5^)3dl~jcw+t+#tlA5yA290TxH@OenX5| zm-&s!`v+UwwKnlnU#tln0-gnhzrSo=M^JoevR|6&{jTA%$<;W?PZzybT+KY5!oC>M zJ0cX>FQJd3D(}v3A4}XDxoe9}t%5IM$Q2!BJaZdj!#W6noTQ@DgH>U1=}4|;fUTv{ zSyLYk!`Amd43z$VbgkfmF2o0aWblsxh4HKof}lB8y0deNjU~_I0Rh41<@8JJBXk$e z`a^PddmX>(q|0{oDWFw9#DL=k5!55;txs(N&NhE*!TY83oG1IRMAMC#8;Bo zoUu=7@)$yQS3#4}tOfUTP1-=sCTLGuK==N^V`7W0Pq7NwT(8%imD%net}ikLg$(<* ze?lkZ{-bWw6C!9HZBf_Ri{TdYRv(P7y+Fh1`t3~Aq{M$pyM8sWP}u_oHVPvp{F6xC zz?1<>Zz8tf6*idmvfRD_`WdG3Fgd`#>J3UYKVj^zk2V5Q?rB7kWB6D-EEv|KzKZ|B zA|mhgg?iBWa81f6*WemBhOMiKR2bb`3b1wmghdHUwUAz3G*Bja24s+(FIyd`zw0cQ z;=LSPrAvH(wD<;}F!yM3t-@JQl0M1E;w<)3-z40;tp2L^(aBmA&uhS)Yw5$2eJ9rm zVP9_TIkHQhqwlFn%n^r6}qMWZ8kt}DUVa90Ebn!9H zWI2iWO!BjmWDFMJf$$On|5gLFOM0Vk#S>HXMd@*|JN*f28nbZJ&c;iMac3`Oj9#VQ zxzTU|Bo=xerln%&c1U7EdUdEF+s;-9<@E^*R>m#e88o9uNtVMM2G=;vx`w&0UxoB_ zD_XiDzuM|QT^Dr1x|{ue@F5)xO7gK0GGJ~T6_Y+3LVXD?{#Dr1MgoZ{zTe0Et=@|9 z)FdXXs(w}+*W(XR<}VqZ!Q4QfgmA~`Ea#u3D2Aco<$?4nL~K=G8Mzl?(k;TpGc$Vg zSS&RdixhpHLEd}e=lUU6{elqY*Me26wL_)*pm%0C5wBhw=Y|BUvoaU4A_43)HDkBND*BKxnKqHREYjNsyckA14x-CA}slJe|Z9xtgqD6!-Jh&NB zK~ldD=C%E32<_Sc{{i;x^aa%RB2*i+Tf&HQyUlUOb^R^@ejMRD zwG1C`>;jt6o)4uJ5orOzsT%@-q?nnWZYKpCo^zgy@;YE*oUmR=x~Ueuv(aq%hoJda z^n3;bM;VCIxBD#3pW>xd5J_PN5k6T(=5UiO@i0ZQq9`rVP%x-a?FXlB{=9W`xdpVs9PJM)oFDU)49{I3R8n)wv&HPbGsc`oM)eVl~c66U;<>iUTOK4zjXtzxh z&<(%Y^4?obJJfqnYNNB0EWHE@?ur;ag9%STJE)>KHYcjB6ye`Wtnq_uLx&K>kIVJS9p!o?F=zmQaOnRQjK9WU#je4nh2<-QVbQR%|{NSHDcqD9!e_umqB zp?&HV+jU9{vu^#? z2xS~re!v-;34K@q+IER_n9>3@AGggyytp18M}h{m|(Zv3PeEv4FPssqn@lha+=nuc; zfQG^Z8Q@qvrvTT+@5m&!Lg-3nZyM352Womx13r>`s8>P#nrz^yubQ!+BB<4#)$uHt zcywn_oxYLNc&)S(E|s?u+i;_H$MJKi^wxQAB|1DgJ8;^>kDlGp?>)PKurq?yG%TG- zJ*nFPEi#tmUDWMSX6}dfNKB4XQ8yEeM>6m)Yx<5CRfzA7pj1_#2R;9^P!+j~7r?TL zvs(KcC!MG2vmb7*m!zzWZRjDFz~_3ZCCNyKw;q$ys?!*mk!P=6czg||dwL)~{=ykN%vq)xP7=7qvI9Ll1Gv!H$Zah*osj_9ckCM z+vh+nO;k0LNe+guPzDZIx`R*d-FH3+VT0g8$wh;E=(CR7t@jnGth@GfkGI54rwL}k zFC<}%=!HxQcMIgTf2m8cduH&9N(}Xf{_mG6qd;GQfyqc z(9=GHaC9Gfb1#$H=?f{*G27Y_V+`gkOA?|C%Y~CeT7Hokj?GPbmSYz$e+8~U)u=rF zX)B~_sIGWoSXuVv!)HTjn-s%zJXb~Lds%9XInE#EXg$Ze7J+>HawPRU-8C$+GZ=VJ z&tOuWIs5M)TNOd_Yi-2y`?ov^zy~}ky4qVFB$lo~qiC+GPL7a}tZ}DQQA&p|;%R(y+C?)ne2;CS`?BwXA~m7KP&;)Nr%I7R|%yZU}q? zszVTGUep9JQ^VD8r=_Kh%c3@8iGk;$#+7fF$u8|Nu6emSC-vSdYGn;uDGPpB#;0V2 z8n9kGIy&MMYTi9o%*fHz3QVL9#$&Wv=^Hk75x$Gu=;0C3I>@<#DTfyjjl@(7RsLx8 zsbZ#%EZTfaJ0GEed`J*}2Nllq$fd=3JBALoO~_M*4>8ETvQ2b7*;RqKSgvg1fM|a1 z#F?6n*loNCT?Or&yzNTuVB6>iqwjczD+`SGxsq^&bN`pTfSkApLBkIj5fSxo(p;ee z2@2)1WK;na9!un~Yk&X!+DOcqSvuoPYN$^;9mz|Ds<9jDaqAhIK@X#1A8Yyc&|jTg zZ5$W$g(Q*cwlyXVwFlU8)#F4UjWDIkr>Iq;XEE~Hzv*xrKhhr9_Jd`8gk0A7B$*dv zQ8c8O>IX#jxz|HK)Gc*IqABnw=ix=U%Bn# zK*0d!=RrQSIuwDNO_Lgr$8MB^U(t8oVyiK72j&3|U7|BRM@qQT63&isu!7SXRmw z+4cWebI|0KCnuWA&G4HJrTSxrBe(F_b+2Cc9tP;q&D-0@S3<0({BTqTuw&q0&7oEK z21iUecd%pXNJTqpMg(7knXil`s=Fq?bQ%rOy)_WY7*#_m)lwnI8`9mm^OVL-gymtIKs!x#5DV9sbQ3o{3QrEHQ z@MR;BnNVI=wz}3&UIPZvZ)R#WWAItHGodo)uTKP2nxQS; z?Ad4rTyIZ>M_l93^zQcK zk@J?ShcxqwiN+PC-q=L{At5K4w^#dguKi}_ywB1C)~L6{QHxuVPd6E+pYIOua*!xd z>@F%j(8?r+)9Xkdl9Ba}p6gC&-||5*wbB?w-(cit4+Z@qo6BJ5;B-bujq2JMNm^V1 z&gGsiiJ7y3mB~l0A+hGF>NpWvCM53Fvzd?&rGtvGW)XBG8e_8X_}B5FfoZP+akI*Y z2}7aWDi3`)D!goz;n8SkSOjwp&4oA2*vr9rQLs<5MKaOT_ZkVpOsS4MXs9+%74t z%a4*1d(@fVRqhfHxY&iA-#HMR$PcXVW)Pv!ZyNHq@1cTEk^k;!E|Y@gJ6DmakduO` zmIZOiBsXq?IMVTxf33Pb5H*%tmDyj@{6g=stwD4RL6Fe8WVJ(!mQ=dM`|F_zi--Hn zjl-dI!0ttKaJ{}u1hun$Cx+yD9U~hNm?a0-IUHQ|cCEWA_h~me+As62{PoF!dbwgb zvNSoy3R3AfpAgjued0hP@_TN=!TrS~lP(4Z5=ew`Z|*%ZZ@RqpEVnymrFU%1OkPJs zL;z-Yd|+AVf-b>p4izH(GDGy^RI<30F4N}ZW(|o)568ND^(~lb6y{kREs$6F2=FIe zY|?jwzaa}p!tO?hxJptff>TA155*Dt`_<7WZyILob=AJ?@HON*(1CCwFjyWH(Qi`O z({z2Eui(DtYCN*KB@j+w5U=w!s5y>GJ^m)_}lk~hXU7bnV5V2?~nfSC8oGQ76n=m3@Z_D$vn9m zU?;(X8FZvSZ9}Si4MG{(2V=*oDB+2%nIDRW0^jt?mnx{46U9{177roFUUqd`7y}fs zs4a>#0tqV)*y2_Q9lA>$5Xa{iM zdRm#(W_Q{{)`mZfdalQ|dV=Fa)qsaG3xkR$#y8kg!J)OJE_G@cwrbHWY&GA~cgO4w z-X}CHhY8Hx9Dg?poQNU~M3PK+J17!0TBSG1oUKBR=+__;kEuG*MTJL1_*yO#$5#zn zP0iaMjFM<2U`pfo@TqgO=eDosb7Vr`gjo%ju<4-iY_un_nkb$I4|FV$NggdLY+ytw zw5?kXo~FJx7BK9wW#mcFpeXg#rOhlfw;YE?{XN(OPT5#S0)xAoC+*&)=zaUd?fK0? z1~_ynl8SdLL5cjf75$&j)ARg01p9|Z$kKyZE+TxQ-vhN38nDH6m!--=8Sq%(`(0Bl zb>H4@=GaZDOvYJF_;ipXt`icnyKR>pWDdL_e8qD&7Zq3=rimc1h(xHpay3bEXvMd= zee68>1v?9VHY>#&gbKz~FN=92nGmzn@f3j^1zH<|7>ZFyx)q_#)rXr(3`H5D#u8!V#Q`jAy z&`4i*t%lAPyuz&3VVPs+hAZN8R!lMI_$m?XUnB%>MheAz_s))X+BCv1|GsBoAR;MC zLp-|cfsD0#GpgF^6EW5<-3s2TerDKW<272Yk&_J&auE@D5NYL;@+B2Q@ITQtMVIY3 zw(1EQT2_BnzDNycwmV;5su;1!(Dib(dQcMgH?{a%MEv+-$oJ8|MP7KMw=j&eAhh*` zb?yUuP3Qc;)LtqUc-p4b#g}F2vi{>%py-m3QNq~5AuE97thQYQ5r8xS+0bC(Sk)N| zp0oXW6lAI#kt`%3YX)ndA6lquzK(RDG}bx<<_}^}QZKq4lk(chz{36HY>_pgU@r4R5S; zENndb-+|MNCI-?yLor=x;Kh5o;vv0K!GrD=M~Ua>8|sLW4y7UO_Z0F8>OD723}Y;_ zhL%4Y%!WQmKw$E~TO9UkGMoeIEiJt!D!21|WnPxAWoc&B+5kn>*Xmp?YIPw*Cn(H- zs_6fW3&gm9J=3B7%@+PMDiBi!Nl0-S@G_Ct*%)G4GfS~}>G;_-*GvtpG$@1#;~bhn zC=IhTD3A}h$Fs<{iqT!V)2ms~ZJKU5!LMd=WY2!sb{Dj+pfXNUL2S;oz%rJAt!X(%zWNSYIV< zsXLQnTV!9v0gfq74)(9fLR+MX$`+xVb}U{U5L2DF(!&sg3`ji<7so2BS{yzzhT<38KcBHc zae9x`r8uAh*OisGSG(msV2$q>4g zb`3;?=*Wun3G-({jMWhp&*eaaW@@1&_dJ}gt%;XVD(j8S&t8B`NT<%Eh}2vZ@}r2| z(n`{klCQ$ZF%EV5Z6-*4@M>B!dn}Ufok;LrA&GcQl*gC$)iu)I8m+NzXE_jr%{VEIg>jvcZ|S)ZqH6YR@t6#TDMpy zo5_+LJ#IMZP^dDw$2T$7c9>HCK+)YR5(F8PchW7UC5uGYKvuii8BblMu(#PV#YlQq?%Ll_2K&O`g4Juj{3j!=Ml!yt)%}~vZ)db zYm%)ZV6VmIrLOLs2H|u(2&b182{R>b;2?yBHjCuQ5l-8;n{B&lNua65gccnP^fI3s z?E5}e^m*-CC9A|c^?o~00k)M3)-k@@Mhukad?+kyO@1Wv41i5sc9PJ}gpi}wIdCUM z!#&1vGKTL(=1}C$>v0;<vp z9^4?YGz(a>At$5M1rhW331vNdn%u=Pr@)r6v36^-*7x>duD%TH4_g)IDQGPOLm;|a zvL^O6qieANV#bG6VGWhMpV(9LkYDMl10z-iiZU+E0-~78+8z5M$4;QDa27>TdMxzb zEtaAu?tM~+Z_`&ZH@`~P2;nROr!=S$g|cgxeF1^>*3r=r=ZVv8S&$R(SliCXeA<>1 ziDYnq1_93+VUcrx0X0xxF)4u>^dE9lPW>*Yi6R`@{~N`5Dz*l^!6M~-SHIsBYs(h| zd-V@Ydfw5g94a>U`pAD6&774E&KWX@E^8ds3x-q7Fa{YRiC@7YG_Qv;FY{ibb(q4= zdcMEkoG*tbhE&72p=eKt4im_MIk(<=K1QXEM9Ac#aB~+Gh^indxUM`dWvE^0Q@-19S+Rkh3{nk`qB96T7o7NUd_)CN z$IhbWuWR`7Vg%pg87yP?^2~iH@JSL2k3_EB=Ddx~j4hTGae$7Fcw%o~VZK8CE$5As z9Ot5*g*=VKsIo30sHR-Lmb1Pr9O>!YtM7|x9)Wb2c9fN^w_!Y)v%RzbfiZl+F1+3ZQ410wwz00)(MT;oy z{H4ao?Jg3Mr$SFqUVe) z2+QbiqUPa*zRf<5h$8?Smbh@eF0Vi+@Y1x8z(oI`qM0FG-HqtckdP2oyqa0d+Cd^W zgPXeIBtOisFoVh~Sko6f;LAx`!`}SR3F3+1`8h($NjeCs)2{Y)LvjE-9R%ssF%f=r z>r4=yK>Xg>M=%HXp+udM7@ph8&s2;LvzXgvpZ6LZ8h&EDcOgJ5Vl(@?OkHr%9mA3G zb3WdA|DhXi@z8cfGPo1=Z^Z0@06K;WbA0r&9545nVY+Iz`G#nghtS7dQaZ#~71et0 zl19>A9Di~7l1~S~MGD3IuNkj+&np|dA}xq!WDMox8CDBZs2uW+Jybes6Yf%}JOj!` z@Xa(nK`eqUrs^)}bZ-{T#Z6Qrf@XQ~ccHzD(5ndzCt`Lbcax&-?#V=+(O2ubBr3_r zT1D({7wWrrj+1k;lGa^2X(165wGWmuSF3jrs`K%heD*ti5y-8jOBwnk-hv=xslR7L zaN(s4Qq_q!a=L0!hr0H2hAgX@IHCVzx=J28=EAb|3@gJ%h_7M0P`w4a@j<|b6jE&# zlC7wSX&#NNk|gEpu4x32bSUT=g<8A>*yv(L0KgcIAU+JLo(!2<4byKF<{RK4H0 zO+T#XVj*K>zq~tCy&Gn1V7s2j9aiOGqE4+8SKZ>C^4PN>kZ{_Fh`46@>ncDlN1`)5 z^e`Od;ezW@S;QOPap7tPnWp(`5z?mTE?acCpFM@+3mykmAWt=CP{*d`z{|5l15 z%@>_z0=Z0y6LS5BT)tAFp|Z>W9TZ#fI0;Y|dRV$pZ~ygKUgXl5sB!+!%P>%hIm7`XU&Wa^l@| z#YMXgG(?T?%d~B08W^4kl|L!5-mi}9w$LrUhL3bOXrsYxyLEa#y=a@Ii)CAw?rH|a zm)&-=jPuLI|wVErw~{XCr=&v4vdkd;ynEi6GbWxoQB`y-nieSc9{?4 zFVE}hKNhNE*z)7w$6J0CGW%J0NB5f~O1`iG)Vd6|c&}F;ZbPPJ$tMTA1~}&^MdcN= z$l#n#FP}^g7HG_v1h$bHQ%p|a^ct*r6Tx-7w$6H20E>vKAhK|N17MlyMUzvG09~? z(sGW(H++d2z%w_xLhJ~=X`t-3Uu8X~ke9IgLDE~SV-Vd1iG|S>k!F0nB%MV*?hzW2 zTL$cN1(Sd7$E-_cvh8~;^Yi6gEQh4Ua#Pz7S^!*7tkAx|V|;YP4}jp!uyiY6f#l%R z0Imj=$S=tz^^%&NHLSB9n_d?6dnTI*;GrmJo|FSjAD|MGR< z^FapqqJjtnw~e+j7b8_3*~>;&%<0PP66Z17{|xi67$@6F?llK3F4Q23!6DFMnPB?b zLzwS(^!Y2jYCzc+JLus8%T+W{qlTO3xA9+n4 zyAs`{3td|hwK*;$?by+HsXDS=dMoIDrCtbS%O_s-gT4Bs(iPaF9L6eVww3o^w)H^v zj628bZaJXg(Q(AC<9oCoVn`!VLs^!n&*cEPrn&rF6@+3+ zNL66StR7~F$3@^b$%%p8)T>$`{Ou@@QrxF(J-x^TzlLsmF<^39D}g?YX@*Aa<${1q zBZL_pfN2p&2u9<}zC^qr3jRtosvm3dCGb?m0NcaU0-3qdm z)&Ufb0ss~T%Tr4y{9x++mHwPtCd7;cuSf$V`f^zUiD{clTQ3KJ=!Sm9)^KEh=_5AMEaE)5L|6veU@l))3#IG~mIW!@?e4wa z`Vv`*OCb$k0D#MvRUYg%PT#5poGP#FHYguDy6##Sk|-p>94s|z7q*QZ1;rCX(9(pn zV|io|Xu2OYe-Q4jTn@uHi{*g-?apab=c|`sR1^c3>ZxY!*(s}L#uUNl2vivmbIJVaJ;moJgm$5?p zJtVsBqqvuW8k{SQDu|UuFIFH3SDFw*_(qAaCW1K#i^=$Aaf^eq(=-7+ zmEp&KZU6Zm9`f>+IhENr*x=>$a6Vr8KR3NVOGpb>y+K)27Jg8w9&+j5a{GBt@J0jR3Dt0AT)lt81$g|x z12war_x`yfZaqa?qtEGlPvp?nC>yk8y~EM9F_ncc&2^goRe%_1Hzm2*u>MW`f>IA& zZur}m12fAkU&9K2dWBXf)tXCRK#>K9KCh>3*TdW^|M75mrs&NOs&xtD_s4?)y9v5u z7SI1${VK4eQ#HAfViR;RnZrQIs_jB=fRmpyV*EcJD1hHiA$dCWKZ5X{AZ&F**TZ%# z-edh^QU3j7&wXGBT{~hX{^zg1KX^G1iJFkz1)smx??C`su<1?KZ(*AZ)pWifbUKSO z8iF?n6?{XMhIby5T;}N^BY7nqCg%UVI7|_&3&5+98c$DtuGQaFgobuOyO^%XBH!PV6I=EeZ^Fqi13vP)fsPJOeO3S z`%6r}F8(7kyO1O{0V*9)7mkA-c>e3Ve>~ZR6ma!-`i76N{^vcwW|5EvRw0~CpwIWO zXG~QG%V*vsy!Cue(GH3sjq$NZUrF^0!wXFjCfJn;!^teZ7<90DPxMQ_&-x*+^NiJ| z&Hf$(Ol$Img+J%N7QO%bN}0$x7U9kOhszZk0J{~Y81;wM^guhRZk)H@e!ksh9<=FDW;NL__bSqYLyBJxVK}(BZ^;QLz|t4I@>3mw`~yeYMFFzw`?fMehW9zqTulb zqRN)anE0Ay!un|}YA^7=`huv!W5AW)H0ECYx5V&F1;9h#>QlY{xvf&st5@c_uTA3q zeMNv*9^W9m^`|$?O+@b(aBeooS<2sC|F0b*)(NiIe>rjL*C)Sra2;A6Lq3Z)|5_aH zhu{O_SdE60>UpqXg7EU>j+a{keoE`-%At#FsZh)vH^6SZ!Zkn1tE>QuEIsM$e|pNl zbcqMOxD17tIDg+cKcUQD+fD2eSQH%^M}k~6q=9XBGVjTZ;EW0DPdWY1dw72Vb`+IZ zPDSv?uYW9f?hA1915Iv%-ySfP7_A}iK2rUB$IHy%-V!z6JmUF)SMWB`{L^KB8e}f| zKYjaG4f6kolJU=*mIZ_7b1KmIlp%#g?GVv<{^_zk6yQFf8L{C94G=?EE(ocSyO|Owy`Wpy>cIjZW+H_#`)7_FNBNX=e37sOf+dE z7k?c++xRZ(f0qA$|K@=#+6E(hAI1N?>(2+hbqDRjy0tZU?g`y=jml({uTelHBPQ4u z5kUtz*MGdwTQM{qsM0aA*9K#QQ)6eZ%PT$o*OibouVJVNL}64J9Ca#NBaY&QF!M$Nw*55XA`g`yC0_-|ah35Ria0o6PlRT0~=#!erR}$$ZWnP%pXIw+7G` z(GCHbqH+g*nUj?d-#7kccbU+Bkj%BLQy%=QXVCv!Dx**>6H z;Yr&M?Ee(H#4j)yr}ZCN`xcEnRMGst*yqqj{wbTOP0pqOR6m4lS`jfpusQmi&f}ii zmfzP(sNg-+r0aFQI*HT>Os5!!mTzrEJN+7$FsW{(qGhn~p3gyB7EWGs%jaKRCaEKs z3h^hK6x8vWO-3v+J|)|Vh_5e>cj31W(jb^rJ&(Z?k=Kj)T>M|5|IhvtMyK11nv2(d zGq*jW;Li_Q>V0Wbs22w~ZI$H(->r|DKDoEOVlb-9Viujri{Psa$EIc^ta_f=A{QUC zMG0*P=i#62QOLG?nHl3?tI4pKPCfsAi~81U^qYJ|@!1)GN2+GU{QFI`B|eAUTee>B zwvbj#cGp)H^m2%a=+<{_=IZ*YUHT03lJ|Se4LLaC0+;ueGySnF>gu!2sT3cB#rN-e z@i6cfZUXf`HtcTw*S7no9R7NfzA?#Q-cO&gS(w*la-7qlcPxcVA*{#HdQHl z>rsn^bJSK#2;qKc=Jpis&}7V(f2y*m;e8};@LQD1+dj4{#aN0I8>CP#3-zjUY5SK+5AR}nA41>hje(Thv`@iGCxQr~C&qt!vh@9psH$NThk^|e>KH&ZHH1~%+F zw&d>vGrf+9j6zm1)T*Lf5MABtZg*$W@ToBUyn$L@YPf#&L-ad}-(TbB%l`toe)GS7 zr6yYj_a>B4MA(WiVz!i8mi=W9tct0P(*w&9d_Mg56O6L3=Tx9;5f0&*FXRu5sPL-w zP=)V8r*=jkB34<=*xfPaD<0pNv=slw+xQLaW(CrD5`=oTjxw*$NG0|3-W_$6#sM+W zIZ(J32F-$5CZ>zScT>&t+JAOjUf}!NqKn<}KGv_W?(Q8Y7M6(@mE90&Fm|23Xf^A& z&|lv3Hb*x-z=RxO|fTF_F^+9p`$EbePe8%G>e3Y zLD_?bu>!L*-bNTZHp5ADBWqk*zNfbof$I8p{Fk%$`w>Mre)%nFJBLo%#5ioCBi#_0 z-3$(UU&ZJ)m|K<){R|=?2ApL6!bH0r2v4|_e}srSra@FCv_=k9`5~dEXc=k9KO>@z zBDoaik)8=Z|EVHvqyg$$n%QE6wKIkAli~t1h?3A0`&)vvvNTVuE;zwJ+^!8QggOL5t`XK zmN3!aI9;pg4197i`E73IMY)pF=0n+-}+D~ci{I&q*XD>^`Qk@BF>!@JO({@#YH!HMc; z<9H{97%M?M`-sdI60_mAe6{D_=rb>_oHr=NJTEUz+H9~v7I{{xgG%@MhpNJlWEjQZ z#*c0L(Fj#i85z#6+shh8a^F9vx^`BTcrzp8qP6hm>r*qrjN-O9ID%oE)9poK(vAO* zu=kE<`(NM3Th&3elq#x4HHp1fi=ak{AZpa6R&8o;O3~Vy*dvOxN{iZ?*50$kj@cNo zi5b4>d7t+=pWmmSbAJDMJme9P*L^?l>$>jizMtnl|M)%?Up!-Z>Lt&vF%Gea7c`(z zKLva(eTzbnbapX9sg9#jwQydpK^=osB+tsy`xj1(={GPMLqYHjst)i5V1*aH z!L?$18H5l1kQsZ&S}aQSv;(E1eAi=pBmiFc%8 z|2~H&eshhq=aIU9e%}m4bkcbtoU>io$CErv0$KyeikVh-5HrTs&w=>}Vpm~S>4|O* zZDAfX1b2qD=g-#Z;2TB?ivAnsp{Rp)$$AkUVZ>~5h?Q=4DZqb7;AkHn#YJS`M0cB# z_7(dlj8Yl-|8}|E$Q1ooj9v(8xJ93qUM%z(oO7|qxbdV=-?fqP#9XKz;h zC2uoU(zbimlJ53$B8Z9|`hD>p>_!Wa&xI^X(Bo`CJ-8&0T~=VuHKDan0s~s%g8$0L zRXy?d*MvLcc+Xi^Dg^{m<0dUc6_tEyP;x?jOXm=uHz?u|f%$G$-kl|L^z5a#>1mz* z6^{xp&~T2ID{=f*=byY1{+smte;~wP#V6?bZ^?Ic>7myjVE239@5s?cQGH{3efDf< zU1N2fYo&<8y$#?{7*qu;trLBBB=_USm`x{FEwrW~ELmJ`j3yBF)wwSJZA}8olXT5X z=2(690B{thganom^@L^-)PL!qI+c;uA!c+0iqA$kYpSf z))hmD*xsx305|`<1+m~}xkA19$MQo$msWbx1hqtqyVit$GXCP^U5ViZvKkq8^3+qL6JjW<8V)j zP4#OwXbKX{CZJC8edV!@cl7LG8_a*L=ygt)>I;bhKyK$Q^9|-v!EX=-@II2RiBp9ZpjA zQ3?GK2pf9XbXHjS4TCCFVJAF=Fn_hFGp01h#_z^FVPZylV;KUS*;R@$B=D|n_)JRf z!h343>Zl={*tr@nMTSNS04o z>GPo~3$pm2DI=J1c9WK0s8dUw9)-iG0TCS*;ZW-D0KOZr8&L=HY&t@ybA{Jx>NEthEhi|0T?yKHtxR0##HySDc zq{J;a!c{&Im>_tma(~O|5-j+Ne3<>oE3{QcXO8sqSG`QEE7v(1!DIVdC&2_tAE6|z z))~26%HtNAU!Lt-2i!Ud+?1E;&D=UQiMzZ%Ui>eK)2ze-b?M=EG41;sC;zJy1daZ- zIZS-~@^A|c^|1>JQZaOS5$5w77pv5Ng*_|Fy)l7MU{2c&{|LHVOxj&lA`1r-yt(7P zC6CQ}!V9krE~&z<@c{KN zlf9FPujBE6(YjsCZNM$&^vYZN4=x1x5KB$oTcMmOVl^Vyk!`+~%-u>F4uX{tPE18w ztXRKWL29zXitVqR5Kgt{l0mJd{@;LtYG`4pX5#;GN$ExBVh=}yn~R$*5?gPzo9}!Q zqh@n0sF;SY=FKnc+2S?qTInziXxl+mPq2FXsNpoW_*qK8;z?U!WtJCwL=&bZs`9Ke2`;$7>%@tqh zu|nHes$p;6BA+{{mu#nhQE@rJcj_Qy7YMHDd~r-ac`hC@1*#Gl?EQ8}f;krPCguBZ zz-HF%-@|nmgj4_Z6#jg6GHb++rwxHx@XufUlW3b=yLWr)^$9l0O-0t_fWmz}%)Qom zS{nz+(y?03sqJz!h5sTn%eR%KZBizcJ;2gutnwx91t=Q$lCQqMd}8lYI^E1xEyXAI z!Q+OX?vS_X&XX|EC4*LgM52t}$yUD+V0<|5Tx8bOn$oIw+<|g#NQCq+$jaofOAH!# z68%0G>$g}`ZD^o8x6^-N|C44`o_U>^O}D zQ{DWVru>mz7q9)4ea*OQ_dn#ie?9Y{)!qJ*eoV(VjY6y671Pbp6x_3zxr9q zXtdsj6I@D!8{e1YIExQaE4<<4b#56H6qB&$s90Mnn*|NxWt?sqUD#y+u;2k`9c6Jb zCD1-2IA`XH6@+#ee!SnZWg19sL2gzC zLSssT0RvNJ2aw0pC^NDWcYr@eRDs>Pvk7BMO>aizWfMuexKk3uot9Kp!^;E3+g%agG2mGH{)@TReCA!&GSAoSglD>3O{j>GBi%AH9!*lpZn zgs{t`xO+o=7!{nKLiqUlgU-I4LXNSw<^E+Tn9>AS7G3! zwS1O=H^6Zx3Q%o$Vp3a29~XVah*2^XJEvSFMp{Kf=xeKd=J|agZ(r$DnNEvk53m*C zrXBilE$pP~hald~ZXZr5BR<**R#boCsXt?+2~4i)2Qc#mWXVPq3A0j{*L-oNRUHVmvE6=(-vIy&9IB;|?Tdm6mEldE*x z&(z}|e)Q6Jz{#$r=R`tKBVm-AC+NQjiZUd>krdOv9?;*In>cV0ckuENdhb1P9!#OQ z2qpbV(o#r#u1Lwp{tEe8Fq<0F#^(c4h)K_YlwHE4Qb{p)(4ckU7{h zOMK1L126H@OpPl?3WxWXo$7Cfoe`_vj|co7r#-QYD;QRx34RGM@vdZs^zh18Aak~! zI<}Og4d0g*eR>{P4e+h8)~MDMgUE}D zxKsPTvr`^QSMRz z4Fj}kK_m#sDJb)(R#ofD{rXPudKK$uB^q1d!LOE4#9DNA@mL5xM zL{XNC9d#tY&lonq_UER7xJ}1vq;Dsi!0!o@)`8-!c%H;9+rT@afhuEOMyjrlfbZ58 zEy1Ch*q^*wpwwoJTs_c!3k$|2aDfcWVvLBA~S4-;yiQ^uNmkSpu z5U%$O&Dv^}OL7Bd_^OIelpy^b14+P$0B*VZ4NjB9y<{augy0mXm9%O>fW4Qwi-zBt zoM|s6RXkj()!mk*&P!9l9HTP?<67l%5(8~}C6|F2df@bits#7gq~>Dl=fKSi{$H7C z^W9{N8_zYE7a|xZkPRn=h4L3qz7~gMXYVjU+sbmMCao6blP%7SAe)T%kk>V%4H5Ov z*`DJK-3#=6+gC!hmfD_e&U5wazRXmJ{{eadJ8D4v;y8mHYB?iv%gV=?Rvmsc<`qFw zz7I%G*A-k>nWFlf_8s0C-G8tY2oNvi1HbCtYoT0?dAkiKi&E`NKAh_u)Sua}-7NO* zCFnl{8M!oty*+I3d^T?n2K#!9gmm6ur(&0##m+VG<*i=@-q%F!ModgS8Ol_~TUuGc z-aVG%8+SKJoAic5KIF8v2!P`9vd56e?lCcaWT@f(uV$|=u02%C-+2YW-1|`7(D0h2 zv1e}`w_r8rxnKe*>Hm1nGd#yqrjRdq?MuhKKU4Q#=PwH%@hN+UKl{7)`fp@PY_wjHcKFLn!-%yyVtWtxX-2?LBsnuLmf! z&#-omS{{6x=97D-I-D77BQTliKwH>49Bj8UOuO%C2hq{_se^RHL4JV7s_bH(Iwe^I zmMD2_FaSO#v$p_1Cs3bUlqRR~+p2+u5YFf4OmJL%#>cVoDxj*4_j*-ZG>y96bVAlo z5VS5syfzd@UBQ% z;6Mu}GMawerv2vrQF3lXqv#k6IoQadBVIya45&kOCL23s?w=?tqJ*x=ykPkq1E;cZ z|F^5WlP?dLFshm}r!s0atq6U|$Gi8Pu%%fJL>N_DW}|Q3?&Os%x#*&*4{2cLX_N;d;ZZUXh)0FS#>%=ejgy6 z&Lbxx}dTs+eiBWOzVOR1@?rFmC~?F+gXbLvRu_9%0bC`R%Y^|H{%DL=tB(|Q6-gtlLIvV z7U*joD88r8J`U7rNbJwfQ0Yo~&rO4SC$ToDL%JR{zCbOfrytRRzfEemldSM}p0{DC z(~@9Q$Vvgn?@0P2xv2@c7;C%1o1|KFC}#&!_@Mf5%ZFHR>3`PBGHjX%jTYtWr2xa3U$D?XNq-J=-Y*cjFf)z=(7&I^LGB_$&Ho( z%3{}rx{sWBU4>bDGky0d*T|dtB-b}p(lr%|F|>}1ryj3r)$43ZtQa4z_*b&t_IxhT zuy0z2h90XOw##pyf6m{1vT-%9i=~Ly^}i{ukA4T7=zk5kWR<4HD}_7w*|s4>6P?O; z=kOdj*=1y^><^^cd59Fegz=^7bAC;hFap46&e|$FxsrCd2%;L*?jTp? zpWbJ-WX5zMLn#!{y9P^Ka3np5M4pR>(n%}UZmJt~4QgFsAz%9pqiqObj%?~DqmdcM z8X;XuP{TXI@A6JKA)D{K*Nfp%p2!_$IP(3#hh>pWwy>-sgI41&m)?WXL}OGQaor?} zHCt9PsI(cZMV*5QDXA(C0uUPrXUJRDhM0=}4J^&TI>r}~o6<8#$_`2^TQov!q{ytp z1TdEb)zWNvSov93X69xF3$LD-2U?wY)ZW3Re%ow<1b5z1O;S%&CKA8qtAKuZH{ETM zv)u|6J~30akEZ_!t5fs-%ckDPbGUpm8mh8S+$mFAvL?t3%CHEbtvcgn@xG7oXPX6U`xTP+bfFlqVOEOaqR?E*i_x|EuUeLw>Q|0F zCA->24$lid@fzLqAFLj~J6Wf?ye^(oeo)=nj#d&!KUfj&j3hLuD-^q)c&cryYz<5F`$1Czr6Jl8$6A#A723Y z3p^mN?L4G?pQ|7xzz5Mj>1tJn1yJZWZn_o&v!lITp$wx!i#IHB4c3R|^>AYpCwAi*+RAj&K$B4Kus1 zvCR4swFvC}hyIQpKJ%UK^6De>k+GOpU$Neh&R>6Z(6tu^`v<7`FTP*T!%4Ekj&#}O zzU`J7Cz=pxRHc1@yyxGW7v9TAPBiTF6&_6_ZjnSO9^ z0f9{On+P!I&=0uPbKdeQbK1rnbMXvb{wCfhHqk9W!T*Mln0LP@5l>75n?nAxOhEw% zs&QOpR`OE$(@Q)c|5qdikzzoF_MehBfGb!s5!K_Z;X?GfO>mO<>LiVvN$NmsCwT<9 zs-SAivrfksVo!pnzdJ%aExSsa_K3-(y zd%xEZ@unoLl_%&xV(xrmm@N_jk>aizJY%G7c^O_>w6;BwdbpGoqkHgKS8$=pR4nJ5 zeWCXhFFZyN1l&v8YKGs-ZiOpFSsE4}j0S3bdpXF9q-r@m3JKU`7F^aUJ_rJGO_f`4 zgPs?MI5ST2jiJ#1@X+9B2xsDFcrMDnEy+9e74lJ7gCntg-jv51$^}0DNU|KNMO?BY z=DWhsEt-2%E%XV?E3LT2!;ubomG9Q!uN%1po=i$lND1n%o~?TePjycqhIa2vmZrXI zZ7^5&fqf_S!rvcmK;V|>Hv*gL2N@V>9E@&Zp2F7&MkUQ<3=;>cH1QsRCTe!gYg9@A ze$nax!@DWYTE}O&y_PrM(UK&UV2|~N-P#Q%JC&b*djV>Oy^}Uqa6Df?I{^5BzY8%I zw>bNEXKpdR%Vq8>O!bn%Tmrs+!t%m}3Bi*r`M{~z^}T1<{4d5`(LQwyAh=?)AUj$2 z_-M}Cik7fn8(SMvg0sFS+ApSDg1Lb+93E{2On5wfIX~A5SNZ7}sA9Mwz8jG?SsN^6 zoMJlv%(*H)s1T>%@H!69IUe9Nl15) z4y;5TD*liO>hf@6t}WI z$o7+$%qb#9?a}%bEE$B+N4^ujqLOMR_G+@XR2pFc6ZyK67w<%lbo0)C7yxZ5O>3Ui zg`;RZhHHU$j2Du}c7xMqrS+Rb&V}w_4dA~7qpTq0%$@3dumo7cc* z@9GyYZKaN7CjXJ}dR{F^wwUo;0)6lUuJT$ifog09ekQi#V@Tqjn@XlMkEn=vR;78U zH(TR9<5LD$rF3_9Z~-9NTSoY(TYZ}Wp{x$7hL+*%gJzlI_@Bp;t%nWZtS6(ngkKDZ znwuorxN>n~i)Wr1N^}JQqp6ClSYBxGo_L<0z(;B0rxo6YPoDfdnk)rZpEW-z$ym4Q zj^_(0p@fd+Xu-bYGdADvZQU~ptVv83T7np1#=L z7INB=Y#)DvZM5(haXATiYC|8?%GP&pwRiLM{>(vr9?zF{n2l~#_*{!|peYwj+mG24QuF!{q(m{A|B{TU)z$fM(a2+mrIoh7%T&c;gZg0ln%@Ez!19 zQFGZl1}D~!?Oy{F6_OKe5eN1(kDWNCh~ozTu~-L%QGMQRs|Zs`;r|mCz9IU-dtdS1 z1sqoF+&v0GS+&at7_<9rJuGS`UIUMOeptdUP{_`X@H-W(^FE6Gp-H>mZ_*?k$TwjV z<6$RzOU{$VSA$UCvNu?kZvyoa{0zQ03AZ--xWTx*uJ8A<>&6=BLNOo;WriL|YO?D< zCfdT_6{zbpx?|CERuXq7?;21mXx-Lm)ldDo5E>IR%V; z`4}T7;#7K?nj1Oj94Tk5KWi^l|}Ila@D-KWa`n&a=cCZ9 zvg6gL>-Ly6ZYCN@oo6_L-(>Kn9gRxuJiE(tgI2>U*|Bw2#OatTX5%TO|2gck*wnGn z4sw)?7ydX8gT$|Cyd6*L`5rUruWQh?y2zs6M|n^Ff}qMB<)4rTTf51`l}Q1N6PN1zJ=#d8^NPNjA)p56J*2!_f}QL2t!xr-@NUD^Rs65#Ek1hto4%)W_Ip-ur)Q+*B%kyu5@hs zKJ13IYg%gGvMRvEf?c>z&_P1cUsgq-7Nqj+84Aa{;-lEye&wXMsKw384uVmlxqog$y#sB~gSb}$A1K6Rt(HYAx^nM95)=84azfOk=_Gm1^qy$6 zN^4v>d(zaq;SsG*ZI{TF^DD(9{q!N%xum(C5mc)@Z6T>mxU6Mp0ocptW>5Bzk^1;i z#{w4JZk1PUP zDFTory^~iXwN}X#*1iYU#r4r(@C;nuA@I3np0D9#(s;li{)u+{bpV(%>*2}F&NSzh zh?QoG94DUSsEOup%QY*ciT9*;?_yj50lq$XBG*2VnmTa#Z4ji(S5UR0BOU zI@*Na{5C7OlIp!e4x9NZdCu4HOS;Z-WDe9#^gX!r#CkNE9yD(HFRg};b3chyb(B=y z!O$119nA=d7BQW>B}(NNmSVPr%p+0Fk}%5mxt2TbAN-8we2?p~zH5&0=d|e4HjtQ~ z%ubAR+k!72(g=(Ml&Pk-%`d#fA3PP|aH>7*D!h*%oQc$VsC1ZPgA7Opzl4X1_VU~X z?*`5|j{&tyvl>UKbh%eP&Q&YS5GE^|OTVjZ&QZ(bDFC%^l?BJ+Ae9b{i6WyqQ1Q~1 zF@mk_t}A5hOAK~8sBWq1UPhaL|2N*48&Xy?X*oq3`Ob}R{2m=TZnG+8Mgme^9Bol7 zj5n@TysZ?ia1t3;GlZndX=@NYDC?CmjDjs2`8&b0uG3Y3gw0T^G&6K5-i-g}9wogNiTl);=x1Cq-5;fa zILwf*v}!N7`|9K2{5EVHi^4YQ7Y&cCSq{CBIdejQeb(*O zmiUkxwONGzxf2Y0rf?&o7oK5nv<^C}5-Ala4_UJImT&T%qNb{Gs%li&5;ld(`q$?$ z(`26tUUW<4?xMb1LldL=>$Ydc1da3hrvTqBXMJa~q?$?l_;_sIjx+ULXtEl-QhuR~ zZ9zX+->{hUV}T7~VSn|SRxx^2z8U$Y#+~6O@^=lGBf{b9z*Q90JKqWK`;FktdyB`J za4L+YX~`10i4X^*(GSi6cF!2V*R71-3pO6S?Q8@AiZ`{chCvb_n1cBl;m1L(c91~5 zu2P`(1HXP-^bzY)D z*^Loxt~3*O%}|#rO_D7@hnVq))}VCeJoM6DCuuy&90;y!Tt^gv36~ zvrvB%Vy8i;yl5r`=|!$z#QC)X3wkFMXM8+(ZHGRvL48!i+6IM+DO8V*TLJVo^Q-y6 zW%bGaiPOnh%~hKWqk9!_QLE)1H$g%e1biD@1l!5xH(3(4S}-dX9BkJKZ{p5sbF5>c4CThV9k0WxVmLA>kh-Vo zTjg}n62?ZOrG=oWc4Qnw!b#QYOKelLrhKE-qKVPO^1-h{WK|xtWEKb8)@UgQMC4n0(>Zx=x_ZZ+iKx6q_GN zm=HCakx$~@C2k%LrFPf2wx^kI##&qj{r>Y^%g+Nu%w?4baM}6~@o0T&i728#ZL}R$U@yW)|+)Zga zkA0Vu858K^t&r=?!mIs(Gf8bO6o+TyD`Y1Pb@jx4n;+=5tbFa^3T`ii%*&NF(xxR- z%w`QQ!mcjbvjGl}uRQ!H!z|2jkHq7q-Oi%$d)I@g*qeB74;$hZEG?Pyob3Py%s&;65#` zHUYxBdk0~N#9CYUoq&A0CBi?A^!ttyr_pV=lqCNk9RE%!^$?=%i}k1VpIK(jAH+%R z57~0qBEj6#hle!T>diN15R#W$0GIJ@`;*X;wBTWRPTmW|1_yg5;C>;aTcniDH^(vO zc~W2T-Sg4=DhdnZs$CwXC0}$ka=;l?D#dKgMXFU<;%Z9fVrI;Yu9vD?U5fz*l!)R} z0Z{l*p-Am}iEc!l=Z&Si#D!1V(w#e{09WGA$J04`#VWWE&E51?wdL&ZyKYLmhgYpp5-Ls zN}%AEtlx{Ux?tix=}oB2qMI*CIV|P?=e}z6rq}S(fN=;q}BA z-?8%UFPY5S?3EHTH6Wfm=S$NV8KW^bCKAyH@>u$(fxV2lt<%Lu_ny`zIY`+_9&g%RHX2rdl8vS8Ys%S#XXxc7v_p?I^glAy zI}-N`?4(@l)3)CpcTYbsmBepB{nOBx=_??9@5aEFJ^atCFCblwV8=McBgG!oONz|IM(Qd z_Z{Zbyi!7l?QPbUqQ~`m9(zj2&BCq+$Q_pDAlK3#$$4rC5Qpt9kHHIv>QG$XkU?NQ;v@7W;i#}LnouEVe6R)#Rn!phVGsOb0m?nyY*u&7!-wSWHF z^cyy_c3^}1F>%VJQX#lx(b5;yABi_4jrymYGz!Z0!E6DY0J72_LmhzJhJ=(k#a%SlV~yAwnf4%TUn6nZ_qr0Uig zOmu+#gVGQ1<#p`>{DncHP?<`w)_XIuZP1R8-iPpGTy6BarV#{VgJC3^KNz3L&JVE$ zg*Zqt;p!a~~7CF$#hKc38$Zxs9rI3`_y1#-tt+3qK|j2AozeuW67ibDarcN^o>5EJyNpQlTE{^ zNR;o~*dR9vlRoQDbIu%srEqpO67wBT^xsR#!QP2-Zwi|{X*fudML?{}jAR$QGj~v) zMh&)8izUUD+lyg2U~lZ5m>DM!R5|+Na{^>UEwN@`l_xeK^69 zRwtsXeWBq}D$693q)aE|MI+j<3eD>pa7Ta;gCyRl5~AY%pP?L;H6W-gt>G?%@RPqs z5&zaBh*~Zc>@R}|qkm}1R1@{novE*eFJ&3uq@@$*@p4Vs64NVKI)SGrMWkj??THMZ zKUMH{22GRN!|I*vs?E249!P^oon*uMjuTRHfZSD!?1}Q#z^nzntHfE8s0DY#Uh-G0 zp1@8djRw*KGyM@fI75ALC!UWq`vcoAn>cke^$na&`JkEDdS%YofB^!ki6 zyUBjou8uKhbVH{e&Xo%ap&{;Q{FYm)pY3L-;hL+O9?}N4=MDlC)bV*a)dN1k{Y4G3 z)uv&zYLVXT#zn-0y4Z@eW9LoLK*;B7kTXa7D$WL)H^lB8S7Ix#z$4M^DqmJfCm+3E z+JK+&fx;vp$KElUwrPO%&Ch{P`NP0V(_Pe%#5x<_ms}t}0UHBPL8r#H^%sZVP;@Q) z#s2*{ns80k&t}v?8-!P$o}vfmulAfE8HHf0DdQT?&1*hkGT0ju)pHCDbs2>^urps` z6_T!C{_r~;`jT)GRvP2KrsKH@3*JX*Pf_EKZ9Lp80-m3B82MvL4|dcnXAWYgYJ94p zb!p-wMDDWenG)Ee2AgtGY)&KPNbG5ptD|23d9WYP^M%dBPmxI?VBuuxD35G(&|^~C z-WQ;~5;MNLAJO}TO{J?wQ|~WVOKvA*xXM^m0_=P;iTt)bv)gbkq_ZTckpM(6_U|pV z`@=9Z^$>GEn92SkL8IXu>y4Qt-aO*aE#-Uv+e#7I&>hZ}G5^kdlDF3T>gm#+bCT8r zhnPC4G2#@e)uxREHj?X{>EX8mL{zIyuqpbeZasV+@Y=mC*^--vBF*}de&2Nf8rD1X zJ$fFR~?(-@lzx3v{=9!gcz{}-ssyNg_IBi4U0D)*7rokZsl?(VPlo(Re|r&`{RcDQsY zBK%K&H6i=Yd?S)dlzFWl-dIH5I^5bRey_Jfw}^b{>L8V&*aI}x%Z&%z4+M_mT@f@Y ziyL`*H|#T*?$W@?ST=NI#D|EgLrkFN7PB*KuMCZ7xk=Y1`O!rm9$_rWbTQ&46w_j0zNr`?TVkm~6`C$h3aHswid zlh@%-XPTTb)k6@WLtlm4f-s>Eq@}6w8+kTI_@NnWa`&tr__R*4`TPBp_ZiQM$f+G- zVbrL{>(fuEmzHHNe?dci{TUdQuK0Q}q{gZk#+ccfu=2&{MJ$`cNRvFuvVz(^> zK^uD#w^gfCW(V7XIZl5WhjH5>wL0e0WfRd=LT%35ipIk+8bFnZ2a|7)D&^>MCCLDTplW z;(SY;j0|Dt6lcjMNnw&vm#G`2(b}WD^2ALLO!k4%a&U=%3hoALVo*{7r4$}u8neVb zINd#T+z0$S!omZCz-}vz1iw3Pqn2nOhldb{8>|&4oN;N z`UKf=P%1(^ZlquN7(h?8OeA9Nvfk7BA^A#yvNpxH#~O{!Uj~p&rzv4)uZP#jZEbjm=RE5Hvl|xWAey*cR}?nD z=NW~*$$(A%Yt=VvJ$tY%&w8hsb_{Jjt7(}uAkx&|9-x;1fB~-CXK`lrZyoMG3e8H& z*Yb(|LYhH%+by3iCD-Adm;Ob9wmOW<)WkXA;OA-Y#NS?ki&c*;7N{c@+ZR}Df4(GDl_esy!O&tnPB9cST${sGHXPkM^frX~5sz-vPUpL4{U7VV)#KA= zEj=ceygbu0Mn9}m($Zm0$8s{S7O*u+-*w@3(cBkl4b5S89WT5cH8=WIQo${!JJKcR zknd}5rFc2t6QG)yN|Kmo9IeXSKB++wM`R>-@-)>@tFh4?K&K&YsWB2Z8y`ng#CrWk zz`Xk0;(WH@$vo=ng?p>&o=As5C#duGs&B#Ne8=m)mhamI?JjoolSo)0zWo?bj1s{1ACGIuy}-{N=|omsLtjA7K7 zFTvrX1$wzJXvaP0=l6xT8ZUUcb`+QRgpfQ-w@V0Xb}hW-se%w~RZjp-7n=v_uNfkr zN?m`QZr-9j)pXom`7jFMSoK?sB3ro&y#ce{3m(ZbkeT9u@HIv`LNUhPRQ<-t~QtyND1qZ$bck_n?1F^wdn? ze3kWW+oDj6-)MMgRj9bnJ_n{#Nw_|Qq3 zt-IWPx#5PVx)OgVsi;=zp$P~mHr|DJzXX{Jygcx0n{;ys(Z5cQxwQ4{>H{06+*|>% zWYm-}SL7j1;Z8(HZ~I49bPs@nxTb8Sl_h2RVwt|!S~m>>nB3wzr*!`p53I`%AkzrG zzZ_^7iOl*LAUIH%pWRZXVn7;~Nny+j>SGFtO~Jb-w&J!|Ca#k?}LNPvZDf@HYH z9X>Cx!tTNa<2`SU`g^r5mnyjNd1W0|s!O_(} z!$=J}5A{|7RISy|ZI&gm`NL}WdYZMC?PY zR-SvReFl~nUwXffd(@~fmq6;TbOGtd>&kiljN)otsTv`X}-=noHe)~K}d3gs}ikJ1HkSbQwBpnrEMIvfUtI%;dLq(I!^1~R&Q`2liX6Nmn zl~^%Vaawf$K1G?ewC5}4i~%HCudHcAuAU=ThP=_JAHBx4WqM(g+qfSwOGB2LU?&D^ z;Rkr1!v{!nSb+}9)K7JdvcwB9Wu-{`vKU}IoX@<`uHOOS&Z;_L&zv6VE zNVqCl9s0bx!exDi3)eZ*Q1=#+Tw#du-i3S~&1d02VqJ6Ga zF`Sr4Z5Id0j&#O`n{wKB1L&Mz|DAJx7B6-xgv@P|*R8_BqR{_c^lpEU0g^o9-kVNT z|B_j6kJLPr2g=Qhj*xZqj+YEPxf2%3u|xX3Hd3shOA`*1UxIkk7s_2~bSJaZGYfSZ z6FW+vWt|mHB)d=%#$a({P5D}T=uI)@q%an-r_xT~%hNVlpZq_&Xr5=kegY~_{q?bx zagguYK+35-=JKpDm!TqwnXyjY6a70s8fMJrKGoaUC?W@{$8%tnt&$}dO7>8WWR4s> zJ!N7*7)^r0wU24(md;w1D3q+^UK&@KTw*BC8e8cwkxFgjaC9IoTz!N0}tLM33G z3~${gW+E9pi&GMHN=lzU&(?xo1I*rWbkW-8SPYDCRw3?O&uG1s&x*;B;CbQc!+QKS z0{clCpL`(6H7iKb>nMeNV#b5r+F!0Liw%5n`F>c6PI8UQ3@Fn%JtAZwp>G#gB%}q5 z5?p)A`prq_oT-^}J6QAoG4|GRQLWwk@Gyi9sY7=NNOyNgNJw`JNO$*ugo>1Om!#4y zDM+^<-61XA^=>@pJjcg#zR&Od%l%=tGke|lifdhKt$Q06X6Q%P7q;y<$x>cV6F$w= z=tGpN0S+7vE7HNx^XlJ!CJN%`;G`Ga^MscPkQNLD&!zUhPXY7j)i@!mm4Sm+r}`dW zU&M@KA6aOBu%(d}G0o5N&kklQ*lDf^2rgV7&QSL09?E?x?23W|;7X#bn2ScFceXE; z6>pPzooAA^dzv7~ey+v1Oo};zsn>2hzCNa2xCCcE6scG7906!}_A&UPu(#GPIep4O zIT99ca%#w3slQpHg8Y4~`dEWR*cP|?@||l`+UvOyHb?8Z5x+pmw2m5g@Kq& zZDxDW42n$hRS6-D33x2ol3o|-8pUSIRFlgf^}X^&#`9~s%vIa*!JL~+5J{oo1L!(c z=LeOC!sqCsP3&hMWrvzH;-U8$=hdtW40TtN8-|gytGO{bRt$VQCrTRA;TMwVIyql( z&wF*hIf)8z6_j#F(v%fjeHpkPriF!`@_zu!JIm|{0*R}2wA+5Cr2P$e8VW$3lnupa z(xEwhsnk(;9FzQf_RUNelLBIFa`)=%eQ1Vb#2~ogpt_hzh*r^-q6#;!JwQ2+w8cCA z^MqYsG57nk?gW#DTV%s$U*JFG;K@)Z3|Yr~wVc(xo+Ch&4iK1It>96`@szO-RjDg; z$Gmv_5qBnSQ@bg3rj*HFP!w!u!k?#@VTbD{dDGkZ{Rs%V0oh68y zaqDD~tTKBXJA6E@z;~T7+LC=Wpg0jmm(R?7=my&JvHW!GyN1n2)mhlU?b#R+hoR(K zOtqdTK-Ob3ta$EvV4?%LEMxu=X|;E-qUyo?CaY^OW*2ihd;OJ7Ey@#zVl~TDz<$17 zAuJ)QEuJ@}3mBX}bZ=R8v$9y!BZAqIKmHmYNPN;URFERh;}aZt_#>+P#^m9?l-@;& zv$X+e&oqL!TTDYMUo*nj)PKi1LLz5eC-W85Qp@68a{r3Y#)-*pYlkFVf-<4xYv~u6 z&fcAlI+1d(1v&F$#(Tlv&gC{Uv=1pqw9a)enV($~$TS++*oElO45KGkx|sSEjjkVK zH6KJ=jfRgSL8fUqSD=MU;|g8lF7W|;`ppEjb;e2;AHD6?PFjLNnRHu5o2P3f+kHs* zPo`V9^(9e$oZeTjV^4pYIuu8u`97oA-rT9T%igHOtXQvtY+o-l^$xzKAGu%{HQHx91(x;1|?p8VwBB;5hi%uv4p+1RKsXc655hV zB8r_3Z*RJvloH6Tp@RcDdnxtE(U-bY^AT3f1N29RAZfuhvfZ!)Vwei=M|T@#a6~qZ z?YJ;i{_>V7aTjkjg0H;8hH7!6M=ELW3n*~(%~Q>C1BXvH7qk(jXuQqdW>1XRPs+Ma z@%)_6xA)~iv!E6BglQlyoy1v1L|n*Eom|wzbyX>Pou_h+ANa+CaCn8|ttM?RrHlP< zNLmKpjBAjh^WxM1b=vIf*1jCU8WCIGA1h~s@j;n%%Z@cpU;jtwV!2qr!TFb*ElK9j zgzP~`pg_N4ox%g@4s8*<6-bzE^t-%{9{IWx3Q+{;k|A^Xo@5%qhUzxA*f{)w4``*s zOG^NY1D5^Ofp1n<*Fs0hMkCY^8^Xg&-V%0v@I(=!??4B2W>-835P(y~A%CKTgKM|# z>Pc|G1iDG*bS?2UAu9JtNT)B6XgU~GsatGrXe?-lJHoPS-F3u&Mbvh1Xvb`8{LVh- z_APiY53R)GlMS5$nv2(<{gkBbtN6&6$KZiZD>&&E>S_%qWL4Tm8We7(0}I780(v9S zWb0!S@;8A75=tutRpng?IpKdKT7!zQd_THazj6Xjq$`}jukFfdzhP4zeI%|uw48@E zoNd@Rs+i$NG%PB=7dhUrvIeB7HkPR2Zs3t%IJDnwM!?)j3eQt?rd6hY-6Jp~wzlH* z-aF0*sbwFuLL}3A5P&nOA7E~~H@UzAa;qCnL=g#B!a*LDBb!XU2K-;6QAiecG0CQU zs!oN!w3OhKv@IS3&v60AK>u+LrS5o5r3y(II=gXpfC8kzwQ7Jqf-*Yc@-aL8Z^D<|pF25t4!U}uA z^}E?goec8ODK`e>4R1TTz1`|+=M!6O3fKs(ZeF9;!jATb*k>;}otMI_F2m2~$qp4< zO__sQ5k)s;h|!k!GW!G|D25i^{w|;wo~SCm5wg-lZUU|2GhFdoLkB{1pC9Ot8xU-G ze$;&&y_NiIjn8;7t&e+pz@qmwO!qSOK`PCgX|sC}mZ+A`6nHUrgAe5QMTD2BzNP6$PKM1F3&9CtcWf(>uqa1zf!HLfZQb!_e) zOiC%44h`J%x_%b_01r|c$Kn8KJ@+cx?F6Aptt(r~fZq@eT7l#aAdc_I93dWM@gqfh zsd&NDXYy>SIs2y%rKJCf+x|mg?B9PI#JsnZ$g7j{pTGTOQ5*##SSUXDh03Qd#c>vT zTd_-$N1KsF(m>iabwy`byV1G?Q8%Wnx*k!4CK%2IezdSb4gL(e>hwjHIl837S=F=_ z-(0(*DUC?OSbdP=q0^{@ZFyYF!{)pJnS?iig*>s}KiAnD`RvO{$xj>FrVrQ;#<(IBcFRSM3%t0Zg3rQ|WyJsX(-pOxzm-sBSJ z)sBpMY0qz-rX!icy=3r?ew>zM>N4o4NdtAZUOhg6+jFKObWC1H$l@8N3k%Mq8{Ub3 zVe>kZuK$x+=T*av38QC~0_DISGp~U+KvFTPmS~&T9FjnCVqm?>y!B_3JK7Ng0l`gO z0Wy$fC*(#3yPKl+LHqKI3c!doR}O>wdi7V>3%%7DneCW;eKo-gs<@AM@5Kx@L+Q@o zBd&Fu>NHBzQWSbvd&K;c?#mgt@BYBluC}$`mfNT}XiPoe&3a*aq^o9izFjLm+@cV| zMtk13ZQyyK^NtV-b>{7CJ~$!JsjebmzeDC%a+h(M;%b#Q_Dv;D9MY!hr*CTTr()VS ztFvtT%=jp=oGQ-(3$43>yz2+{C(4mYv(V71Q|AeLU`Q?Lot)WfW68*kXTpPc6F&Og zMgs^tPm%qkqTMF@>U5Vu^MrfxGnCe*JtAKT$eIFUE^$y{VzIP3=%si~Uj zH3+)=E;1?qzW`5&D81Qy5Q> zjBIK6yhlok+wCx4wTUp1-qr3Y)@eP0c_1TH>_B{4(w3Yh$MS&W@mh5=Dt^xnS2aAS z>)5g8K>q`?$MpzYYn)w`?;IuBi)?IX$~B7BaaviQ?&GNlUT21JRx8h&rHbVh?fenm z*WR6_BfJV)I?z(zH{#PdgDOT5@wxectIeGVOF{StY4JC2s7eN~iO55>kbm5h5rue1 zY$(Ql`e9V}P}3IK)$_p1!Vqdr9=el7qc8fvuA)PEZcqVqRWI9lYl6mXvS%qQ&%gRME>V0b%g${Mye zuG-FYqQvF)RqrUcD|-76pM}zG?{r6VP-(W?c&{FtE=Er;>3P)y49c(!lHIgq8XsLI z)3a3#l2D~~-L$ua&JD5XYB&Y8f)@1+@>=E%UD~>22OgP9RS`#7M*3A?+gT85kH^Qrqo)NL&0kO7Eb(SCj8@{-1Pv%F4CLse zEIhEvEDNOT;Z5=Gu=l!Xn6^E>*j8-X;|OjGkXJU8@;^CLCwh-|Xe1TS7g$JHk9313 zbNxJTpC%=0SAKS(=Jv#(*19z}uKPesQs^>>PJ3}Pb8fUwlna@lFbjr8Q2U{l#=y7Q zC-m!Pv!f3&)RIqo3io($=tV0D9xCEYT<`m8zv|>a`343dHwH{+qp4^g6#XM&5v`y` zp>M)hos`aqI4BV&^~Zqt z*Vuc@I>~v)NYkj|UW)V`!&DjG_oc-hcR_j7NFaUjt*Y6U&ZXzm9Qvi%dTD>D?-dw& zMQzl3Om|{ff8f9q#MD(q4KcXcecrM!6R-GM<~xOd4ODUwXNlYg38k#?{psGcw0&3u z?&M(2if5|IQ1B7irPhG_2U^F*XEU<_%d3LsVdD2RIsoR zk=gpw;9Rh&QvGOLnY?-IlLp>!Idq@!S131l8dmbGo48M}b1< zTPe;)<2|~wlspQ{W@s3Va1XwWlqtI+k{NNEVYQKk-)A*XtPx;5Hv^dro1cfR`u2B? zn9hocnoL`OW^gEc8UhSSAm-;{UB-5<4y>D`-e9vYA^@5>m!I&|v$e;7ZZ3UGVW@Wb z6xCSSuLPphY%A(wr9yVu80L=cbI zq1V35q0xT!UHfv>j@;1$w|srk8-x+Kt|9i)#3(56%pDs)LSS-CAH5tWw=3XvDOJzu zZK+R%Z=wj+ns&~2yuw!TUIkbtov)a8<1=uxo7NM$=B-t4rf`Z-rdjaKird9&R_6;| zkb#5wc!6-q9={jn0i`GJF7K#uRKc_}j^^41@QUwmB|1E7{%XOqh_hk(p?dL}{*j{7 z&jpcHsaWc*&WCf^ez;n{N6(}qAt!VLIP$zfAwDe7OxnCMP@?OYpSOge*%sU63hL^N z4#E%Bh&oi}HTY;2wWZ)FuUWi1ScXI~j%Iq}Xrm-1z@;-@oYFe$rz?=hU(^ces%pak zuOIS^$69qdraFDej3^l66e<}yXA!4IoT)|3X}}Qiz)QSpI&eUwxb#U6Yg}CweKA?Ks|7ym#B|Xut6Z#qF66dAt%Im`NTPmI>H(et#s}T$=k;zk} zAC@+X^cBXP>;3Cz7Fp;c+jd_kAB-y3E$ZS3swuy~PM4uoaB|&}0*9|4U9ha)V%w$6 z-@M;qAq3ZcbgyWH8MjV@vzYpP3J0Mr7VF zWSuv-U^b1MlxOJTTzN1KY*gA_q~Fiz=L^3@U!VeUe?r|{SbC0E(57tWPcu*@qXM|D zRJZSV>q5nfv2lSt!al&e$Xh>lz(_*yvSHKbudbfO4@L02Nonih{iG7r9t`~ib#d_e zREMAthhr88GzsKNWs|^)1Ru|P9&epgo@p~G#{|8*-C4ROwtDE$SO2nKWkJoqx)^&` zxhG~&=Gm%0g7!1bXphS&ZI3E93~xm%Q;aU+9ewOkD@P3%9wgQNO%eg#%;RH%$Son; z)tadm3RAHF9@qP{w9|%PR5t~;Jo#7Lf~+7og;^zoW_*LzTO_rtBKbYn=bYkp9sQ&< z6a4bI6$g_l0g7%k06RfDs9SI7MPs4EcZqqtxn|Lsl_4C}>-@<_f7&Sd{r1b#_cwBa+XIIPs*+K zP-%Q-pSfWB#_Y;>Uv8N1+uw9n7I={?@T9S;S5ZH1q#(z1lyBQf0AYP4*!0M$3e>JW zqp-_})Q;AAaJs8fA|73Gjv@`~wgWZvH(Q!;QktlP`DThM8pb~566T86k+)6LNl!XH2%R}NQrg{C3Wn}`Zy^QV;qh&{)TJY_a`86}&s4RfI9{3BPz1YILAp*(bkEkp zp{Pz4tnMAV1lhPzS3jc22+tplE15Pu6Qw`UXIdM2CK2!@RgA<9o^1Y+M{rIoCyoEu zv+a6|M3!qge zsw*aJG8}VA@iCP@x*dFgpy|=GQD1ahJx*t!$V%E0J4ON7P{2WcUlas}%Y*7vJ=t%x z65g7KN>dGS4(j`+Mi+jA)(<-JlL!ZeQivub5_+n(N1tZUt zWg->lizNC^xHgA(2Sev}T@u~~a#VLZqsF+MrUQ=Y zdv9FttFFvd@ZG%l%)Qy> z;~gP}-wGS~y($a7VWW%ER=?<16=L^eNgU{D;^~>oQ?K>R=cXE`bEVk{y}%fI(aQ*n z8)&guCpggPG?6qmqs z-Jb#Eym0Gj5^j3(T%*oCMfUG#1PT?XSgjv2x8F@N! zL9hOx3ukLa#@DTz^9e*S>cI=%-DoSV10TsDC&N1QPaG`^D}u7%s(SEfl}6NguNw|q zgmP4dS>7%mrL#ow4lnk`^s$>3;_^GI4~_!8E<%u_D3J${?Wo%tT;8-7I*TmN^yI;N zkKz@HynJe4SeK^)Cp!bB#nBop-=w)6Q0h^qUpJ(CKiZb;S8oPPAJEC_Y}jGuKe(X3 z44p*?5wDO<=#<|~{&&PJ&v0k?uIPYgI0n^?oCJ#24Xc1YS&{G(U%7%avpE;4WjnY>Y@yA?1MOYi)sxQLwt!f6>?(pih2fN zSG0b7pL7Z1(v7r^$U?JL3o6-treX-MO-0#dy}<`D_Pks`D*#Bw97`7d{#_X%2??l$ z8isJ4J-{pcy1;LKg+6$bn4>Euw!cEeze%yS_d$^0`T;Cma;8AXFfDMrJ9;a%N3@-+ z(p0@gC#Ee*BDUOomXWA<>{_OF?pf${5kyvGz9c)PL0kvQN4HjIE0HF0>)dB-c!-6E zeIM(~qV+Km2!a|5BGbZS6kdkXd{Ws9!Z^m1S$NZ!TsAs2*n8+f#tVNl!J{VUm|HIYJfCqq9_#-&qpSpp4~`0Drm^Q$=BSaC7r*OSY9fH1 z9}qY)0z5B=Q1q6p9`!Ac)qYQ+WM=6=-gOu<&ALW}+I&`Kvrx>&m9o2%viq#)8fVt5b2_^AD*5l>*RLPy7AhkQmlN#wWmwz1-1FRAglhT~#y8o|TNd z8qgl5bhIocs3mjf4`HI#h1Ju*@$=%h5@1^sKiRXl8vDrQQG-mt^r5=Y15s&(DqBp3 zY>_oarqu4i+`zzy%Y}BCVk;ogoDxr%R{5LB`O7B$s>z8w0yp>WiKKvOdTb&R&i)b-Fs%saN5wQlr;573X~% zh8+`3Sc=EbOJ$dt$@*B^n)%XphB@KwaJqavH zUUU?Zz1~8rm@{gt<90%qBZb>pkAwKFxk@edV%zj^<#7FE3A6B^2g!b60#zX{gQE|!6bNv zLJRKM!F>gxu^xYttzv8T9@9P>aCZ2T#y zk7R4weS&hNW;pO^B^VW=T6*Wi^y%!BSmFcht31&ZaLUbaWSJ3@OI2pP)mLv2Bzw=V zyowGb&Zn8Nl$(U3hREuw8I4~R#spweMM?$K$gaw^x5R{sJ5!L%AKrJ3X~`t5t2~X% z+A)8XD0S`z5=LPq$t!%lbbQblD!K?AyCndPfUN0m=o**|7u@5IiPfpvYTGUbbu9BjoKMYzXrtXh9z|C@J8ol~UQJQuWAoelCTfXL_T1 zjP;Z^Eh*iWai)6kd~6BR_0~l|l;c7-8(`=AqcZ8jnrgO$n`k0x4kiH`yt#CJ8zIul zKsnl4(6t7EP`u8TW|{ROB8Y2$1r@304SvRqXzyP%n+;|VNYT`#q%nFKf{V-Z17%^M zT%w6>?f|hFs(X4LmIq2%WV;8MyRv|te=9V=ztxTi>SdF1aMW%gH6&N8hxn>aI_LLe+j}rY6QHpJ`Hmmr-i0FC1fA7Fy?C-KKj!%0 z?Dv^)bsN2x&B{HehdnrmF7mdU4OHt&xtu~fY}H{vW@JL^{A9B-=bms*Mu|gyGh6z` z`hDo9;Xm4Id!~n4vc(fe;Z9tqKi#`kvADjr+}5r35yKCv`5wnK;cJt@nCkNZOlkOj zs=R&Zb@uoP@iM{v=sQ{?20?gRv(ncNXg>7q%(5|ZW&ReR`;A;wCOvj{Cno41+%$a< z{TU(t7=}672KzoI!3BzV;sDQyRMq#HrhNozO@Bg^kIfNbye1L@Zoc3Q<_@PcnHZ`G zI|(Ynj>@oMC|$@;qoE^}$rl~<@BvIP)JS}nCYUkp`LzSG;Jfi% zWEKP7+xQ2>9(bZd6mZ`RN?Qk|28A_YGR5qyszFld|KR!l_SwLzg2dI5jF=tK|B>GK zv-!)|zN&y{1G)~e5NQ;HU<`b*?Rl#bX>4Aa*fx$TZvM+fgv)I+iu$kDR>uOC#Ha|J zl10D=E60SymOWX=>Gv%CV=XCuqWcU~wSsOY!jaS`9u2YLEUKn*q&Q(L?jGfrHN;31 zp=T?Q4To56oR=LpOGC9OUNRH9M5fGEQRxV)Posi79OqV{EDOAWPsgg;+Ji#NTNK5f zzHj^rZk{b-5z3Q%feWu;66HljRqSiZx}h8a*F9qr^&Wv=RmH^r$QML;mO%{T>0U#b z#F%$BKSKbysgID?kG8H6Pmi6M zG%>Fp={FlU{>+k_%b^5z`-CZ9H-+!$YZ0RL_8T*#J1@=*T#V9y!njt zNUd@tKe>mu&|A{oYJcW%r+sV_I3@jLX!%2x$C8sY(+Q%#>%f`LIRxfXQ} zbqz#l3;LU1sL8l{d%^kbrV12cS?nH31%cjIHND{PG#7@1w^&`^b$d`$(2y=@NJL8J zjt1TUe#YO``XxG5&vKFX8z3hbA{KHDHq}IVYO17D(3Qmr(Rp2eg#w%I<%>Fu^?9RU z=*Rj!+%)Pv16$1ectpo&ypFlt3|vs`2|dcwU8Fr~QVcBy&xat0;(cxXdm^n$Cak$v zJE|uj`?PPa8!o(D&rqizTS{ay{u=P~_ENEncxq@*;UmyZm7yXW+V3`2iDBgFgFEB| z`qwk}!W336m7kHThfnWJk2G(^p}iKS5fQqq$1%+hpZOY&T@ubXt%LebW}2>~&rJC+ zg<#^Y;mYRGceB_IQSHUu`lKLcp~)JuQ7=C>!BSMk)#iFbYAywRw{}Q!%7wLT36Gq` z;iY1B=m+I371+`B7encvLAifyCETy+TRd5ccS_-fop{YNPHsegI;F+C%pgDM-tpY zT%@k;fPb{BDar!16ny|C$9cW=QOcl2G>Q6(J=VvBv{#XvV!A9ZgCo~4j;yh-GqcIz zSqHg^Z_oQMXTgZ)TfCn;QTgay-n(8fu~!{QOQJmg7As%bPxjL+zXwn7z9rB0U1T?6 zSIr6LFY~B>Cy_^5hJ(_h(o=%?V1;&F=~Y+j7KRRrVa|L@XifIIKnK^Hacbyfy{2XA zeET;S&TA4A!OS^3YpAai8cY~>P~-LmqYRUo6imVi7Qjd0 zrq(G;w;|lc<@D7}f%J2iJTlKfVKX1#CodDsezs*I<4(hCHE?}x*~NZ4_?`WblI2TH z!&Jz*PP%>6f$JFjX7;&Uh&5(mrJEV^7y)h^mrRCzOHyAzD!A>P-XynZ7}5u4&jGb% zvlmuNhg;0T-^&!?%jgE5&I{JVqDbqGv#W&s@=Ge5!wTLp)uJJG)WZ-c2Fe2xPU%ph zX%T_$ekWQv$s3&;y@CD}J6h;beI_1=0!}qY7^=Ph9$TM$&G=xBm~P#YXeTC7ohN%6 z{+#Gh^SygTLy3~c?qS$*O$K2|)aegb-1>a5k508gQ1nU5pfl-wWLXfvAR>r7$Ns;u zC6>7ia1Y0-ZIQ1s5MqRBmE1SXZ8ig0%U!-rS%t5G-)w44g8w_#1Dz62%JzVUTFyze z?La_BMN+^AqtEKfyl3wM zS_2q%2xQ6LI2C<;3z&oEW%WZT%+>uD>7)_Ok~7OhBRsh4OibpnAZ#z*hb=p-Q>xRu zPuuNNr|Iz0QzB&Y(*v`*#O6v(NkQeW;)B3wv}8uq^)#Hg+N96v1c?=+W5(*O@&z+k zo{B!Dq2@SJM`Sb-(cu^^4e*614vH<}CtTpuEb}6c1h#UZ8FN*pu@lg}FDp?tABQnS z+WEJZ95m8Gs2rJgn`v3;>&D3;*{ek?M@=kc!>Sig^;k$}oG$vl0iFftDVfrx2R(W~ zCNt6zga8k2^d<858pp%|(p`>H5}Q7E2m3LmT+3P0i>`~uUO3hT?E^DgS2xvT0mDgK z@Z}s@ExcSxy zP_MU(skq}q(?CgnB$r$v?$V5P^mZjaw~1II-8%kvAD4ys>iHs-xLVdUsrBnWK3sSN z^e)9pv>&WY9Z=j-E4(Ul&m>x1e)wuh_X7u8u=baVh@^sVG!fkOC=tys_>_6#sUOzn z;;|jjhSYVncEmqVF~+(k!B}u(4IiF6+I$|_s|z}C_5!*V7p}Rf><=&dS>VW@SUJNL zP1RR8u{@`-PCT>zaZy*oaq)^*=;tDs)4@TuZ$4ssL%)4lnYrc$`5K_Y-9ljUN}PSJ z0Vt}_!q(llFE7if|HoQz6a%oBz-@li)MRHC-fon@jMt@DZ7EN@@$h1cjm1^wzg7+) zKKy}J758q!6|hqU#UJ0Bq3s|2CN#j#$^8Aj7Kv|M13THcKUaY+So=w{Us6%~-725~ ztH7_#lTQ8Mj1h)ueW(dB)bDc&Eu4o3>0%iA_ANIS;7OlCkP5$i?EC&}w=<}V_eN|> zfr`WrRQmBO@jDa9&)D6WDsb3_-MIS=Z4si6;RMcks)Hu$Sl<7LUy@h=-TvrDtY=t3 zUUSYhRkngvSF{qbEKpo}(HPw6`|D5Mu{dN2Ko1tWf?;yF3%D8*9hNMOH&N5iCt`xWORTpMkei+?9*+blT{;p5XG?G&mWUo_C} zy;6jhWD26AWzY|h{bQH`{LsVd{@lNcsDF$X+WBvQ=HLwd8VD*KAHdo`a%Egz_#z}N z;-DKakRrRmPe@O6JOpG}-bM+(b9Dcg%$Cf6B}^rATSwdl8D_(24M8OH@9e2&+}j8| zEWdkSJnTO-+?@qLk#}EeNx_2B5-F}wzPGTR^cI#Hh;z56qqO3TVuum+XjuYt+wKBu zq;4UYk7p*p2ScGn=;ARzk-U@Vi04usZXLmui{4D?9q9QA{ zKn?SeF%W-$m|tYV8w8`O;SYMvbDbux&GOS5p&D#UX2lZRb(PAp{r(@#t?!_Sqra)~ zu5oxc*!Zc)Tr~2OfJDbf7`(x?&OEi>8rz{Av8>agChdclEn*-I-byb%*lx!VY4Tf< zpUxk^LeS6X76;UK5~>QU*&VzL86mU+AAC8LB0}=vf!%waBFA_UEA$=CJ@xpBmq+3C zLsKVh3_~>7y`sFSUd)|aR71)Rj|z+59&T9%sF5#Qx;d5q-+M-5h|qCx^~-&@a-Vs^impMK8a7DuVNrbaUv01jO}a^l@^L z@=qB7qFZ@&0PkM16rizn?gPT;=w#0v7$6NOEo>ohyU2z-9j`|}%;V*K$^G3dT9{fC zu}LuhhX^cbcZGtq( zF-V@-eS}CqSj4Ut6~4bvn($b;#Md|tC;4}e;P2?)82{0nly==j6I)*xnZD!V_ec7L z!X0`AD4)fbM&&%#eytS2EXASpll7a=-noZ8d}tA~$}KtzZ`F!y>TQyXN?o!h%R7aE z1ayV^-Jd4(Q`-$2fCh-YcidfJSIPK6%HlUrv2Pwis zOomj*qcSZU4GWzh;K&Nl@h10oi!zVjln;vr7f`H-d%yqr-z`lm^j-uT^7jo}N^PT6 zMY}Z&X-R)cOlc+p>Cct(s+Mz+gAAJA%#Bywf3;^tls|2c@dWEKL&OOMAh2*~4LR`I zOJYI_-Gj<#)~6j4&ucEKI>%{QkPuwqSr820*nDJ$Pk=Mr!b@nYC4PP8~zwXN4ywFcBUnCm>WH-Yn(!`x3V~x-KzXtia5e5|W>5LyUMG{_U z(hMnryN?d^MdZuTdQ^iwjP9mw2`x*BP=5`rmOy>CRTlU$L#Z+pWR5x!HbHy6AzDkr zW5ryj0*wrr0!E|{2x_K{NVsQYuynq+`#7N6u?1t&)3#8+w+418#ya@%oPz=8Xp-MJ z{|&P+y)-+8_>#0*?s@u3*%yuf6AEh?15F}I7bDC?Lf&Z(R z9m#i*5x9z2W^2vLigLo;RItg55wl79c=PNzjT%h3@DR2NP`;VyW|46XWK zGmO8NGW@jP1XQ&}qt(X`0Cc?@3bdSE0QCrLh&O7Bn_jgp$gr->$_WIN4R`N>+&LC# zHow`mES3@c`UH1sH>v^%a6D=@|NDObV!w)ZcU$j;!J&BDEdihR`ALt9G=a}~(?AG; zc^45fq9mfOEARf|U%de0YM^|1<{YQ-^aJFAUsanW4H!Ij?^cZ6cm85ujP**2%sT%~ zK$E<9Dv=2Xsv0Eg3m+OosW41Rx8u|TG|sg*!OH=<8+9kc2m0!I6v%p(`{!`Q)vk`t z`4H)#ni^MnLL;WV@o+?lEjK<}chkKSx!5hzElPmbg|!)T{%)rEc>qe=EEsJ1-5vj; z#~E{gvnn_xG0(V(2D;o}zS+}}$lt4(i<=MJ>&Q!(OfOo!+~#v!&YWb7lawcN<*u`< zd=7UDdJQKm#3AlMg;?6!OgeY;8|NsD7w^|c_`>jqVt;9fo)AFn@E4g-jAfxD&=ic> z&?R_5IF=&<4{5m9!mQWv=(AX}MMjw;4f@Xslq6Finz0J|0|3y=Ah@F!C>yF@hWVEO zWS2i8HFyu@!T>%4vt`+|=myjxW!=~{_+1pvt5~BME~L})_l;Gw^Oq@M-REES1P*9X z_#K!2a<>vdRZtJxAq`vAF1x_6w@n1q~Z_Pw$M`hJ#o-E z4PRp#$QW2r?xJVB5IX#xVc&JdIUVBN`~aH&c+H0y{AI&KUa;>g6-cO*Z5QzfZPpW)$e5*FVJ`d)U$tsb^e|xs-9u5=kdqA2Fv_@-JIWw zk*~x6yHKLxdP>-Rv=9&Hlsn=a(^{=-x5j&%ve^e5Qb37%ZE=Ywsolpc=yV>C=@}m8 zGp>;#C}a9>#-O9Q^=~GD!S)103xj(?!{fFW&!IojKSyxkm&)j*{K-4XQ2_3JU1U*};AsY~2wwo49(bYk z!49D955!H>ewQXcULdDV_Skz^g7W!RKpaE(0` zchu>PZ6=+frCJlWi@0ECN7EMlP}+cgZe|`|xL835kV*4aYyFpf+al04(iRiF0-|(s zTM%ZBh&5nKufyWdB7FSy;H+H}Iy^xY9XCfwen@v_9Rm;qSDms|>~8@85&_JkefvRd zs{kkEZvj$=n<$Y<$Ap_9$qMs4CVc+t<3BQ}V`%;n0cJCM@i>Wb^Dk=q`{jci!059^ ziI#1sM&QTmW7K)g2l z|Fe6QdGYC4na{$lY|rJ^5*@1gU1=5J{jK0qY_`^9K}^M>^V?Z6KmGMxqf#utF_AS1 z;IY@9=lAgNz7ZA$&djo+T$up9XyYi`sInLLTU1`5MNktuh8M`<1q*Qj1A9jR{?Xb)x{fAE} zY?$6y*#cWE8@Dqiy`Ts(fVam2ihdtKd-$Mf%TeL_0bi=BpHaXI?LU$7^uw1XptxjcT6L;mWv!1mP?u^l^QVj>tkLk{xOAB^( zHf=p-`A~mrB2JiB8zvHw&y1><>Y3~N$Yk(WRmv~=Gm-tvY`+i}KK~PW_M3O|0Eo z{l6~sFB{my_4^0Egek+1fOj_ixLuIY$-6e=504CCaNUypT+183QA_{b$el~r%;Dsf zn5f@W*}DSY#AY@ZsXs-%2uim|TlBmlctKs`{JHIzklZWxZ!c+n-#^*;dHM}@eZ)4` zI~F;o)}%fME5hfxtf&+}DRS zlSdx7qpH^$*Wx3#-ud%Eklg;{(JaW9xXELj5kMk=Duyb*F76$ERxASSv=DpcS3`u%#;+0pGEpC8HF`1W{+yBG*XU#PE3 z)`_az|5<$i4LBsf&4kYDP4n;0R)%TU~@hF`&s^wH}L5?jlgUFcgXPXLA3q)dWCd1EnEIj6LgO@VZ_zCZ{i~s$@oxm ztTG1v_p!%GU#F;sP5n-U~K}(G$Q^lu|3C9u=rxZP0x1BZtX?Z4E4{0NB0ZUiXiok|&gaP_M`)|0^f>#k}t> z-#)!lzwTL_>x}5x$y2c{w@+0mB3p=7Y<7M^7ilkRc-F1}n|P$TT`d7bFPxaKpLI<7 zUp(AHQBzX9u9Mr$>t{0%veD2dOd+Y|B}O# z|D^sEYNH8(HG-#YmZq4S>rKM|YHxdP3O z`AogI=CH{#BKmqNaM7q zI4OZ6IDew_ye8lJa$5I{)IpAC%mIu{}X!wXN-0 zt^rQ8Y~tLpTqA26&LiP5-KYyItp4$=FcVJ?<_v1y)0{M*Wg&j-Igzi=ovW=IQ?g_M z=Gik12)!H65jGzdex0kZtchCVqSV2Bo%m>qgR}4PxPix&C+O38An&8USAq-i1@m@# zw$587G`ZKVNF6U|u00$VyyY~(v4U(>Aq;y*^H3mEO-yIa2IIb`N8gUxT43^c-3ID)S%eAg zv{=V{Wcf7*-?&2AeP;AKQkc!lum{CZ*TtNXFF^LStJF3|3-BZFHvG4i5=#DE1J|+; zNUVIpMiJb>g=eo1T>fp{Sek%ykl30|xXu3Mw5k8VJbo08=lO4Bn6&F63Rv2`O}C=& zhKP(G{orW^8Y`UuUSbmEaxI}~Q*X%9c7m5as97vgxR+6H&w9dU?fq_=eoJ-9C!0J} zV-H)4PKDNLLaA$j{-Qve{XSZ)Y^hhwecaA-5mq738^>Z1Q6u{*+~RpsK$S;z^v+0Q}<7J|DI>P!($EQ8g4SFw`b-9d;x87sW zg&ALMUNjYtW?0BIn$BWN*&Y;GshMwmGBe1j)?d&zDBwSAEHFT@VIJ_bnT0n{CfH%} z5dh9^`!x7yz+Y|XB*p0-It}Hh1I*VLF*(9Et4ceXMe+xU?c}P$pgz~`s?0Q`V)kRZ zo16@mt6+yJkGh2%N`*~9vGT+Vu_76f*~aRc<%fwfR68-%uYptVI^JQcXiFj!121D3 zz-amIom=rCiTBsxMSpXIlWWb};x?7An${MJ;Yz&svHu7{NRw=ZeBBZ+?TV`z0b8f< z+5rgacOp8ThEZVjx7trc=i_?&nmIRJCrR$S72tu%arJjtRofMkOF{(afRS6{f6oRp zbngHO$^X~~!v>U5K~)K`g#M&yPqW2H%I+t2)Z^Z(ucO3hWfh*lSe){SScGB3PFu=e zfX7_)yiRGm)eQS!FG&>3(FTZGlBc=f^NEk?`sOIR=v2zjS(}20y0LGykLJhEd&z9t z_3{K$8>Pi-c#pIHU>Y1EGN(>X`I?)HOer1sG7MB~bXKS77a(C@^v?Sl)Re008;jCN zvVGbDmO1xGK$5CH<~hM=IX@<6%1tLx4E#ESWv0R?RC9ckZa<4G5l@YVXs{t&a!qSv zhFW1eW460bBK_^twf)m>;wG7^w#_Vkpcxp&*8*VxuJzXr`2ge=CtgW{$}sQ`0E{dS z1CW*@S!5y-rQ{rF5}FJTUthyKaW~GFIl6=~0(br5)c&~iF9ZDl|8t=Al~~4)Ogcap zZwolW_mkhUVK&y$uU*fU=+BhY-Ue>-ot3ozQ>+S(ELR=jxUt2lD*)G8E#V8KG94X9d2|N)& zp%#69DdKb~9Z%5#>&8Ze0Sa~l0{C3xik0AqAp=H)=n2)DjX6z?F}CgD9cyfXzz?YV z;=kOw!09fbJCe^;2OkoH-2mP|ET*(*ckdYad`H?R1RaU%+xXKS=iIk_!UbN)f}IpDC;$UR~9}&D6KN zEhhJ|q*vdq+304;Ibu+FMuCSapd>IF#1_P#ZjNc(zG?YMRwT{duujQjB3u{NQ~R*+@LM1hEpkiCkTTm!{a+B#lJD(^& z(~&V~?1EO=?x8Y@8kC4dEUPHcsyH2Z@n0EJ6f`q)d&8SbrjT+Ja=&Q%&%;k=G3?K& z^_OJ22O1c=3Sp=8%sYxhVewe7OVY8MacUKF=b~9pvbR@5_ujjj>?f!SJ!o)U4V9Fg z3Vi&mK0Xlp zpS$YMvn37`F_k#tE?Sx)ZB7bR1TWF_nb=V$RuxS9cIk^3b$5<(ETo3HUoUhbI7ZV| ztgNQ)96IoIEzq_%e*BWz1St23^-L{gbhz@1zHl?9Jl(szb6bKLS*^7|tSZHw<+d?T z=)G5R_uNmx0EWC7jJGK-jCsm;ccgjj9TQ3xo>^FZj*b~4(qucJXlXhrW!=*~os^*l zpi2?sAV`HzPeTf@-;H3A(qXDmRwHXDtOp6q?9FddUXXg(U~qw@=br?$ksQ?`GIgzg zwYWT2-OUQ^`uW1FQ1#(Pn2&cx;bC3oX#Tj_3Fv>Th+zH zU($8b)}ELj=;k@Ni6(w;4#uIU8JVE0Pv+bP88eIl$_I6=$pEBPKc}L%1N`KJJ$4i+XLmyihYx6!{BL|N*c$RuRgOp z?L(2U2ZKBJD1aVxujT& z<3}$2M(@)Pg7F)&n+Z{p*qf_%%3?H&?e!GmeG~qGD@BO#@&B}dpJlg_`JrbtG%SP{ zjc6|h{+$MXe0Cf!!#blWY2UNxL5iomym%IQQwr;O6`pzi#_YxDghx+u&m%3|%*Nzq zHQDn!FBGabF2BKie3{I|_4K?o`)S9eV*7Q%!1HZ4LR7ga6B9EUvZ#dhj=d$&A zPAgiv%rYc?z}?{$_h3bSgK6pkr~Ihwn0DDn>&|X*WGKZD+i`MZMxP6aj8L+3Z&nvZ zm+Z4z;?E*k?ktxhFyB>XjO2ty=|7;{Tq63ykY)i1=*LKqn^&ACOI*;<_aN5p2yWUFEns)!8P;+1)@{&_ivUUjKYV6FXZoC@tPB6z4pjxpz$dO~T%qLY#)yaB)`Amp+ii?_i03^xJVjuH>br zPMu?KDU+Rek_$Br{W_<#Qt6hybU5ISdf3OkgbeNZ*y3e#kljX1;lAc_rub#mNT*R@ z^~2rcN;K9TvNDW{cj9MCis)IPoB2*`0{(2vO2lApl4EtxRewgj8}-oTryqFK6Tf;G ziXX9a)gqelIJ4GVZ;!B!r0XFyi1WQV&OOcyW?P0PUeYALeN22S4J+HvdHJZNYhPi3 zc9|#fhw8MnQ+^uHt&fXV=Cg)>vzwx2qFkfo>nOTFx}WR#Q;9^Tr_gF_)~Z~4n9QEf zj-7H;a#7hQ!wU{K-4!dA-+CawZmvpW(~VB9ipT*H+*XZ~>*8*fcXFbiI87YfUl~cB zsGN5>aIbces`|_u;7MqHZ>Hmhy=h0-iIit}a{0FyEu)lr9vBp53K2P9(IHz5qM|$g zl<^s@Vv5bfvJ}$Ox=Tq6uUSnyHjW+F3>FuYQS?y7c!6hoB_Y86`z%17$-M?2BY|QX zxq|BI(PRnOn_HZ1>&=|WWtGU=cbXkn02V}q-l7qrB(@dWdInqh5TIu^K6(e<1E~_c z-Upo#j ztlD)^39_mkA7|Q%5Jg*&8jg8ihn#1)}77)AfZZ}O8 zh{e<@BU~-jRzFk=m9FPEvLjd^cGChCVH-{HPD{jGrlXm3^{QxwT3`jqN)PqXLSZkM$NtN02 z39;%<zT~XF%pKf2tl!prNLVUKzxBQ$P65aK0UEKY_ik$SAKoU~yJk z{1lTQA0KoQh4zh%#VEVe{3xlByCZIht_wN)n+Q*#GtaBKR5N6Au~f@k40Cr@NVhJR zchw?n@_N(dceYk$nPR?_N1C9XAKZ~=dudp4C(HM8E3N}V17hjca?!oK!l*p!YhuPi zMiZnxRRpm$?RUUD-`9^S*zr~uT!+lts<~K}@ySoUt!>opm90kg4+M%yi#WOpeHhEghxy*3Q3>K_NRm5iBiRh(uoL6?|pnc{Zi~V=l#W( zGuS-n&Z*%r4!B4QXPbPK%g+$jxv*GXbp#sd9O&ZBwv7$x?dd%SDql58L$@rBGq}jpqoSYF3pO;t`^u zcP+X0c6I}@D@f;)M}Xf_vjV{=Ce&RXG!bjlmQ5sj_uneF4Y&4VGzEO7M>QXk6o zYM3klV{-4U993}`ior;)8?49DUq><;kt|glRFU?-GwOZuwNtKz6!X($yk2N%b@@ZH zVpbm|VpYWbXKZeBW8^}&>GI<5o)=RK4!%c$i5IcGQg-OD0a66-IBZTBk3Vm$#R-DZ z3eqc@p7pqHV?|?xXL|lm?@Yzkz}X+9n%;~osD$q)%rdN7CWYKQipH{D@EZ+KV^Zuc zKT$3q4Fs|6utv{Ein$ZVF}0-88oqjwLe@0ah0rlwdF4_flTGSH@4rLrjr1c0PgfEy zp8gO2H0AQ3!&Pg%=XlO{7OwKe@8lg!qn`c#-kvuxTC3XB`%@+z+>R8gv9GUgf2eKE zZg@{&(IB7uzSCVfn*o1SQlz_jB}{IMmD_QrI0zR$P;YCVX;&fPyAxZEa8YCurrHzg zOsy}pu9&fyq1U%gBYhn$@OU^4dBX1^Eis$`Q}@Ljp`NiAVo5DDU2+#jZ-s#G4(%3P z?JS9p+gO3_h6vqm%Q0^Y*!A_@Yd4%w9k(6`S#bJN*2@LbYy(KM7t&3+tn{z+Zohk0 zf6rMu8^567eRFyeVg9rv&-4zPAX%EQg#vxWj#$um{OjxznrA~{RiAw^?JpIG&ydt1 zcoxavYh}B4w|L(7c*6vCSj3s*_~?)$w(&gco=*v|)mF`W-wdKe4^B3`-?&)(98fJP zT~|OpVdKS1H5lamx*8F)Q!+bv@Zdtm z^(#+AFL-2JAx)j0O!Q(O&(bACR@LFCjhP?xR2eN&{H4$+?I%j1)57`=|F8u#5WuEV z(o47^rlzhy>9pl3z!n`-9Xs=sXyhuj)oRu}%`=_eh9=c!h^foU!}zFOoib;(wQv`^ z;REZua@#RVKmRi|GL`*%hMTJQEls&*KRv-y2}G7|DkXN$`(OG75Z z7j{`GR3Kbr>|o;1^ZUqVw%pzOL%cWj;q)4>g)JvsHi zzP~4JAiahAv|w?T9GV&FZd_In109A`Pjrberd3}AZOBODhMdD7(;6>=hFJzrbs+XD zera+0vto_{7Hz5X+#7Ba1lBN~P`L7p-L^*@&p%u5FLKWeKD$PR3-8i^Z*ddRL0EB8ieuRyFXQ7)pK>Fk;*IfS&B8EBI#t)jL|f0tqBuA?#>ha%MMWPG{VIYHq&4bKBCmyw+z016Emg@4 z=i)VxmnvuTUyN4Mbu<+m#03@lTz;q+PqY$;$I|NM@0?zj3r5NAM1HVg$HBlBWME$x zE#0OX;%dhgQzMwV$AO85eHD*uGO4T33+^RhJ(i!b#RB5})qLl2)5u&4*Ck4IU;e+N zdqN&&k1oQ+Ub~&UZYgSuZKCP=`M)gYD9|UwVUkfn>Xw)%`9(_cwCDvY#U<3kPS~5o zlaJ<2#o5}E_XmyM$otsT9XVI6xHyX{A+R3^BCmo$7$wTMf}IgVBNJZmh^9bEWUG%y zHdfMx6RM}8CtXJy?~BT2v%J0S_++bPM~>Sv*%FjyCbJ~VFDqJhj$w0X2#MGn2`b6x zmoz}B2E8BO9c_N@=jHaHp;3h7RJrtY4n7AU=!;UbN2;NADOkSm7w=ms&$;|ko&i`wqcHM%N9yIx)3iX>scN?K$#6P0IojCmE2#73f~;$5>z z!T{7OV0P>5@#_Y+Q{3jcO{&Xme}F9;+q5Ws?ZFlN;qn$KhbHy1Fo9*4Z2 zFUok}cx!i~{aKCr>CK{#1pq8k|+0N}|j@__40q)-+ay zFocPg8cY}(Ns1tQcdW`DSr6@VS1x3e?igFXD+@iRjz6<+w$Jw3apN4Kw(=uuaTVNk zz;8DxO6PK#G%H_em7r18n&XIdC|vDJg5}gJ>AOB05J}#gS;^{#DX9{S@iin-tsbCwUH~Ec+kBfbin0^ zykv3`pflU!08Z^b>8HS8p+`F<5pE(Ai-VJ)1h&o&xad$4()n?8XR=j;<*UYwfU|cSdx*K` z47OYg$Z*?Sb%D*epC8|}?hi7TTzr#@P)k-+OWS?z_So=#??mb}E;&32^>A#m^-`)n zGoT5do+ksDN(3p>|J{PYrbW^OVOh3FP6iCmvu&AD>$=mY z7B9rL%`xNodPJEVWfW8>WSEOFDN{^dKdE+!`K(oyA|xx{DUMtrLzcj|8SJ`06p0OH z(y3ZZ^NhwqUOqf~gqBw=rVueSFC$p%i%WT(bGDjN^CC)GV_{=|DH@lp@AiQb>gAqg z`t1@0`xmM1dWVHAoHSQO7-IZRSPeL#4kRF|ulLM}VH)KXOeDC*TSJV<#V=Vh3q$}- z(F-wv{CW&y3iGhM4O9xX9jK&0R-H^_^3Vb?^I7*q&Ux?9q<_Rr(`$QCMRN&YjQ z@?+Rj!pHsGW<~`tNMGu``%cZl#7zQFVhPuGMR4!&$50-SbbAL~u{B!}=65>5iM&kg1(bF%{!S7@^jS%~CV`14j zw0Y71BrDxJ|2;W<*7R^b?;9yZ!)C=qOdVmO^~hLu@-lvP$F;Bbxr7Y?73IcxMV)BI zjcQytp7JpgH?#eU9rY8@1spthhx7f`0DM#RLp*dDTkS!QcJNTuVR;i=aG(DBC4QDM z3GF9aOPw7X9<_7WY=TF&U*@X+85;jM>Pi+R_ky2YVI)RD~UMQ+bq^ltsJC zbhkZP+v3^V)M(Nl42)1xD@j78*w#FU14FerI|W=*BPuH)v7O_Vn;StcyM8?zFaU$? zq@4Ep-{Msp-OiqQ$39W>9L~EQPd3`V9?Nd`9QI&^9GV4 ztHdhZwIjGlU^p0-!X)$8N&+esWA@rq%wcn*GmekIBVz&)H15wZ1c zJ53u0E8FC{`lromyx=cFa)?fqAEaU&D2a1^3k$)|rPcRfyWP)J(W;`M)F_zp3s^<5 zji<=f_JlsDsUT(+W_R0Tj>qn{@Szq{VoZz*8m@}@;G{D2}59)|IzWJBZ4qs$wJqxr?ssZce0(_KWS0uV>xt>vY@_ z?z{Ju_1s_KZ;%;`56#pFZJWZXsMgG8U0g7DYSRU%BXaHHwph-P;qI$R)szlkFGJ*r zR$n{P{ryW3=mKIv)oQIxt_L1Ka;jo~%!}gvGkB%0#5H+J8*`5Su`Fs^H`uD(`=?^h z;2Ca3?0v|(QlV!TkMb}y_tBD%hro=U{mdH8oEjw?U;T!-Lz(fl$Dy&7@l%2^uedoDg8GN_R$ZaAIH=`U1)>%eG^Y&|{hutpM2+ z(G1yj{fN_!7m!u>aFr{(@9}@9=s>3OpeF#S$>)4X)*l}6^WR#MJ8PhIJQ5TbewurA z+-fL#!IiOZtT}o|wGOv#FpFH13%U`7<*3J9W;J+=erYmF$%Dyki}+N@u6+d8d#{JQ z_VJe~7k8I&))7Dt=NQPB)=V^Bd}v}fZ^^peEyH#2tmf{Pm9jrcSG&mT*2|CL8B5aO zg0CrKa3V9lPVDZlun9bT=#KZW!1Swp?gz0%CJ=AJVU5=H55!s=rW`G{U0>&sBi_4f zGJUC+-;xLD^urJz=a`sU_R9|Gu7QBXPb(3nakdlF`&=_1)Xi^K)7> z<5L)z^qdmrL7)b=&TkG~uV{U4DSq%i(?uF)AHU<+c$>3-Oedm^^N47gSf;xmogqu- z{8I8qsL7D0ic})z5|~swFgMIyPz^=CHw79K^-?0XIu7auKY%R#RCeegshU=j$W8o1 zbs!4vn*31fk35pl4j#q&ppYU5tJ)>vQnl+r{DB0-^2fF&`7we68D6!ac4eIuwbz)hkyUe7IXKj%zY+)h((Xg2nx zmq|>cA8{Sx@xBspUz>bJUJ89C^vrF$CfZjS)wXe7|0+Ej+x2?Vo<|5dRCilX;Z{JE za*Mu}EqVC<9fQx~(n%Wx#SYMwPgAWrc%M|)#3idD+U(u!i)R;0&SpjEEIiGPCZPOQ z(c9WJIPEQ3il@uN^+?CjFPzKDHyTyc?2wGGs|zR z(QXOyuyZ#$MWV?}M!LhQOUDcTu(t_E0%3hKqX`}S+A2vY#yl%79QRZCTS*Bw(F%O! znWXUddq)a{pS~fL(G*uh6Y0N@gCE2Rhue%#j-(;W(Nwm#Zb7p3hGWYPi(gOXVOY7c z=z16<#PeN^no@a82X>Nf&uCCYw2JKZ$K9`K#ZSvdI8L&dIViu-S{c}tZYbGW#8Ixe zE7MRMk;li!y-X%X?MSf>*eG__X zHZH|j5CNUtc(ps*1$NCiw>>+|`|*Wrzn*Br@|3W&@IVFZ@95Eb2kZr)tMfVesRlyN zVV<^}kAOZ3JHw@X{~(64Z>`AIT*7H@Ba5c`we6<2-$|U7*vtq;>ruzfIuV@x>bq_G zuw*El#0xKUm+{R-XYY-zHm}jbt@G8I3aqR=^pA%j%fiS>`-6=`)}^a0>k5PpegO^P zzGnm+T0*!XHCFB7zK_n$Z$llwSoGAbcufZ=>|=z8k}_wdyb z_6vt-L2D~J*Y0oS+^qufa|q|}H@>^MM3^8X6;v^&xHK#J3?gPneYL^?Ny36FuO=Kz zxwzlPXl{~E)9c%(>E~~AR5&x*^&~k!H?!?x3imW4iXg`GrM-d6qwQ+gsv_D2`$D6- zQ;RU37vb5jCU)0O2n&da(sx#5YRI>p;cJkOguAke^zF4U8kv~4tsLyz2($2M|a~~p^N*MaHg4F zhmG^qBl2#^Lznf2{9Wu~aYHkiw@@&RVV5;ukUv1 zU9rFVvmKQ2RFor;$xMZPwS?4GTPpJttt!BCe(02Mh}G(VZ)$jm=NN&{jQa(D>N(U9 z!PEO>f9oLu2Q#Uv7$QY;m zhDPmT$J!N|14KE@)d}<&TDSM^;+Tnb|`Be@WY6CX*Q9Y}OaAcwSjW<|%v zq4c&Scj$@%{abpTlI%TrQ0EOxcM7*XNew=3KE!T0gJaeFr`^+HYEAKHiGR9IH^D9N z+_6f*>6FKVUjyP+AepMulE*xH@Bt36Z;gtj{ z?6rW%<3A$lcdr0$r+28A5^FKF`6(haL;Y{1B&c|#;;Qv?@46&)sLe?QljS6dZ|n4m z)J3v=gV3&ddGK-`kv@Cfn6gYEllR4m2V>m`8Wg`nZLQE$R~+8@?H4HlJ_Dx-1vKN% zQEOg=Dmvxo*1IdAT+(I&gucNs4(xZ>+Xm8Ml)2`V`xb4SSFo<#=@}_m2=88?43DCr zv+P}LM4%e`qaxWahTwYX^!m-~UX3nyyuBQ}D%r3Ry})}T{~g3lO2G|0r~m5YZddx>Yx|-Z-B|6W>K9qfCvG8|fJPXm@stV#uj~($EM^v>{KgxTo=2&P0XiD~A*% zPP`HCEXV0~H(Ls?x*b=)10!JNl^8%N@b(c^E)GK|%aSOC0dUfye{IsOsjzpQy09exWe8gI3 zoCTSNd4B9p^Rd90aCQ69CR_(MdMmai;3OGo;bCO)R&vm9cJcD&s(xJ=e@4q#g!t`F$`@7J@S|H&4=DKO@GW$kJ=>(+g!vjUTYH z>)mQ{26J0u^dqC}^_kMFF#j-ZVEVDHX4FaV(eiO}y1?M09SjR?z@k5>X@@1b=DvPM<2 ztB0coL(XxHI3G5K{2l8bz5JVWLf2$2a&|kw>9x{p{!x}4eWi#b!&51=U17vkpYGCD z)z?UbxpY-5-{VGa$=x}dX_e5GDXengt8kM0uI%*kqA&UPa&|>~TT9I$b~<6s%clLtU@_F=-f#wX@NTjvp`LA(@)Njd)RZOi^`!~n=RW~ivxs!=Z zhH2zb8iAG+mQ!%YdD{ukSfh7+{{1=DjIyZmjP+*0CwXbi414p*0kPVn0HtwoI=Phb zRmua}!f{S~YCdcnX+J2%@i7J=GVN4r)em7vN9a_$OKTY9$@Ez7)icM+?HNQ!4un-~ z2|0_;c(4~4n6c$;y>S23SIs>8L)a=2PN@( zo9BrBy?NKikAt;Q%WgB($AjgdsxRgy_NSl?cwo48=Y!Sa)pxzF2pwH%hYc0NgL+$g zzmelJqw$op{gjS^6X+;JN1UPjMUlnR-i$a(^`p||8J(uIy~gfRW|>nXwD_jtcNDl3 z!LMQ7P6$>aUVpd6Yho)6ntbkBZ2{yoPei#u%Nv%)Y6lLp4%Ofm=mqbZ?;>-I&Dio+ z3auA1=a>GOq`n^olb~4^>g5=qvrwbUKWL6$wE)y3iom%B&G3D3gh>NlfW9Nv=A<)4 zj6k;0;D<}{OT9GB$U6ot2b5v$qnzXh%}-PB@6Ig;%oUG&i#6Ldrz<)gpgaGx5|%A; zap$`3^e`JPnB|rFQgji2w7y)uA4=ybQuDm$h@4j_-`ZT96;RuiBaQ4OwH;o0{LXxD zn!{V_;8ruMe0e;_I=P+6fs1QHn2TiX_#1?^ggT#i2YH*e1?d9&BdUTZrh_NEW0tn^ny*T;B`E*??jj2=wSM`kj^Z z$om*Z3p1Lnh+`4>i5>rdcGzr6q=%zI3(XaQ&#kp9!(q{z)2z_hlSWVR{5%2j{&3NF zMs?3@Y;rt21RD~m%N#;J!bCk2uB|QU7ByP1MUSpgr_919ktM^uVSID5+VIP###{QU z6$Q&zG7T;tX7T*Fab&6(Ad$@?wE^4KK5jfyliKK!gjW&~O}l$p=vv8)32AQDfnS%YWBH|QHnzIg2Pz=) zsi0bCZ@2e*&1J36drb160PqEmy7)X%XwC)x+I{|Z%VZ4ugaVz&^}f9^_M)yI#i{)j zyz3V9in;PlX#>7<8&?fB7vu*k*|N{6Uh2X-O(yex6l(d=_)GgGe%xA3=B5bMobs(n;*SCL zrpmoqvWf)pTGxf3yB<&hHomc(5VjllcK~@VGoYWHWbA28veLN3$>L^I7vj+NK7PrG zUUtRKoU>mymKwFQ-XL(qlb5bPzeqaN3CK|%R-*AS^*5ysyC@A|Wrw)^#Es|Tb9VB( zaZsXXrOV_+ZxNVojWCBcr5?yjXb6c&EmhTsZjHV$ql=#zsIu(Mfz2;` zeEu18;hfd>LavbN&!((WqG+sl4Q3+S$VV+T&CKcEFqCkKm=D4G`{L->iLV+-(20ZZ z!hx-Jl{AAuUOqz>spuVvZ)yx0NLt$){Q?**H0Zb&V@$J1YsD)&WaEEVEbw278v{Ow zGb2I#pBc;UOc$_@x0k)#uE|l3rWszEE{Oindt0|)Sq^tY|6%1w;N&+Vt)j{T@BNT} zgsbt=)rI9-w(gNt6>S8OZqFh?+qRIcBT(P%?fv)9W8PFaZ_Q6Nq`SZCYF(S>hBwx4 zAE!yrv@U=y)H-2}@x&n^m721(eChKN%|201)~Y7^joflVd_{|q zyC8QurjWR>l+??AkT>h*1CwxNkfvr8`qosFO)3=#3!EtMYm!S%rl4MnX!5yU*M+*e ziI9cVK8Hu3ItZjCjw#$1($@@)(%W}d9nOE{9qDE{{(3w-rTTt(3~3G;KYx?*jk33v zVf>c8*_{LGrFP8~@x%=2k&Saq!e$o?FqFt#b2eW4EGw@P(!bk!u#B%JK;&Qx$|hN5 zU<1l00mrYM9H9Bd#WpAp@KB-zcGt1MdGRE{7!IRWmpT(3&t zsmJh-!m7F?-017IRBSS2VZ#{gTx!vd*2KH-$qq0FZRQ{d?b+3@poZw3|E=@X(2PaT_iIN3= z4U-7W``hP57r;k4%I~+e{@u1Yx=%$SP`^d-P-6@6rL2&2er5}8*jEa@dR@rOP?AgF zZfk1o?gQ#_rp*+)Qv^RJU5*l!Xy<7`(xhO$uzB{-4U1R4FJej{SC~ACqDUl%C#csl zUMw;Dy1H9uuP1&kk{_LAW)cGPNZ)#c*XTtvPCEjohfEh(x|GPf`uTVOx%t`3e>O#a zptpInH#qa*pnkmaCqHz@41_~C6k~6i|9oK8M?gguh5HIrtMaf5_wkW@D;Iuh)+3Fe zv_<9q`6c1)2t~HrEVpC%E+r*>Q^qM6W@~`~lb$bb>J4Oa7spO}GS4H52$xfUyy*77 z$BBI-7Fd{qV~Pc~M;IXx-c*3A437?QsJkK0K)W*hQNcAZj`No?UPXYf`6zRM`tV1Z z|LsWB^9;aQekX2pZdL^yq|%f28kRAdXM7-CFI&!$x+u=_+ZR7Q!YI+4FVwA2lw*^# z&nO@sU%Hk9Bc`?;QSr{e>?yd(1mv%|`os>lD`vn{Fe8>B+c~Vn?Io&;^XQ(Vu0c|` zM)}omQ`-=J+zE8?p80Oj^H5<6Q;1EM#gMY4ANgqRbR3mB>%AfiS z?XtbS*|R@eB;PBg?@IERMW30+Pl)=fq&epSH=!oEOECDk)}-FsOBJaLE{zI}^1od| z)DwHi1jgy@5br9V9-bbS-U?wbZ!!1wjWMFOL=vQotKsss%dpjXt3;ucVZi^_lqutM zX1ih<$5!99=AGhG9spqV6uK|zao$fIU-a%xU>>CxiilpIzI+_=)=hHL2RW1Fc39E( zHU458^QR@C`VZWAyx@>6*9h{T@BDt0-~jHbs}i>Q%VA$BffPKWlBmmcy}mmrbH8>C%7Vw|?n zDcFk-$tHCtT2t4QJt5QOgm4w>l2>kcqIa`_UkqV^7TP0lMY282OPL25xYfY=Ms#LRxi`J42s24|7kHuhFs{Qt)N+mf@J`mjoecl) zJDH!QZTs3eOkP(ETUSt-f%lcs=a=iaq}jfWTwZNGsNLNN+|2IZ%iY-8v7LDQyZM?r zcsQShz)W5>4Xx9Hz4g{SJK_neXtck}c@GP_Fdyh5%N12L>eA({53(wTG5`1=Pj2FPt{9N9eJ9H=+7f&W2JB_t)7V- zD5{bD-Tf!9V_dppKgR17Plwm;jH;}fhv%(SeU(8Z=ta(zT8hBBoa==){gK(j@EtkPo|JhKrh4@U78gmW+b zX2U-}nh=VX%~a?8mERW_aykZKIr~~Byj-W5-yBhgb_)vIq>%41*VQa?Zx&tGbR|)W zshK4HGto!_V|QxDVuD-^g&6Bgt|8cQSw9XTapqK zT+9>?Swr>VAi6IR!U-nWFFrkn!9_g#VY$3Uf-UEs@=@~Qz%oK7FJ6pL;g{@=3SbgG zM%3INMtdPOI4>);+3IiP<1tNmr1=%aT$bM&yvG~T!!j4pG6wgOQ4Nt^blg zc+Eo{4Mw`btk>^5r$f~5b z3IYpd0Y(I;`v|yv@HjGAN~wrJ;BQ5|dG&h9V0rc$D|*A~g$f2IkMe9T@^BZ!Zvq1L z*OeohD#8gyRovRb{%f@Wy@CcVL5rW+@ACJM!keX(EfEPCpnb4yNj!*GGDUUkn{OQ< zGUszDkrfTH?l)N@{IHlNM#$>XTO7c`zs>9-nSjM2;^gf%0h?qO$6WD`U^&>Xtvu6c6b&UOpWD83)uF zfwcd18+4_@+`#+0Fwn-BP;`=MFLD(k+pr1B?{ z1t`iGHmPl=3;2fhp?RLuvH_40uER0trU8ybg1yfA++!K zjCE@VyD%4oSQgi>a=A!ZFcj&K>}D;R(L`{WL+*FCJzOWwnL`GpIH~S@G422`r!jGZ z@9o-OBI~y>;XwxifN|rj=7k?Y?C_0*FpQg}O@&|WRJglMU>hR0ac3%>3MqS z?B7c|EKOClGF(O&;5nSB|KZ-!sfr8VX90jE{@c}$Vc4T(rb}@~0c@?q01AA_0&Eo@ z>}H3&9-zUczcGF;!?I18^2rrQYVpi_v%lpdDg=tj+Yb_jzKj?P#a$EnPfo5Dh=?wL z%xGRap?b7&t1Zx>gzfR$l5h!zeSHU#pE5j z2oqZ31VZ&v#6WP(yPz0skX{OR{)dJqi z0Iq6P&4=QWg^!7YA3loXiv80pfyv6?9171K%;L@8h`{>sXLF~c=QE7)>VtQw%m@I)K`>*Ff^C{pVvp{tl7cQw$&7WXj7gzhf9q*ZLZ{+3a z>YRT+IALCu%4drm#EQ0p)c^L%Z>)@w1UZ^_YVZ~}|5f!$oWSYLq*}y42ugh0%!Z6w z@#8#)F6S-)W>p58c2%^-f>JQzRjtpBt;?Vm-rCL=_}jb^$S`Coy&GM^yLm5y2I3Eu z{eE=kG`LupSS(j2U8;*JlAuop_%u_fNij58MTXi9y2pKB^x-_RrY# zGkxIcg9UtbcnN;O=W!yFvqbk&6Ry>MFaHn$%dZ+eh7km6{2OI`lk1fAFS{_&+v-Gb zfjbiuQw9&gu%|m*>m_PPYIZ;|YqSpvDU`@$@AUEpdPnFVSEpsdtGo{}tC{KyTV9{r9Wbw=AT3*z@X(b`xWRmcsvOaYH zZYRXkxIhv-9PerkI}OIWCSDq$L#h%CgyqoF9Kyb$T{$Z_YCcJFX!h~bWsE6`G>ZV; z{497rvrN z=A^>f6P(J0S~Rkd?sgHTaMNa^Jz@|QEpU~ zu2#I2m(b;q`VuS58L8R4_Uh+~1EtE<^fL`Sx(D~=%-}-1-!s(rcyxs zQL7N`$F~7^`Z8AVbGrq2Hv(iYa0?b7_$2~KsUPilA+kq^W$!d)7-gW<8jJ@L0FLA| zHZvY_VTV>sElq`=q_|pkVSdU0;p}oNzV?pT}!GY52_En$qas{L>-rK-yMCV%li2GFRKJb)<>f4)xiA6gMj$VS(2nG*?- z{}R%tSqvGWM}XHz9>qjSC)i-}=T~I2w|`7_(D`7mf6@LddRknR0OTy%#1EGZP6ne; z!i&!TEP1K$Kygze^q(>~q#&cFX!{#pf+g!<{%S?0_8ut|<$#UrwkFt-K4O)lLIL!> z2#hM&=3dxC3>het(uxaY{NLl|;lE$4Js!!P3A7xIY4|TP7a$xd5&#H-ZU>I&Q{gc{ zB<15Ds#IFKO1C*u{oZdO)1`uWvjVDNBUZuAFv$2ld5APJkyFl4DqMcd^@^P4us+F_H@Jj>Dvb@m-%6qPV)qW z71yr$M=ck@VAU+HU4o>gr zJ_j^8C!;!h7W*HT0V37cew)mg8$17%kD^q89Zn1Oh7EW3TVK?=URJ;7%e#%p#RgkJ z{@Be)b`yM5ikHqA^c%Jhw}vW1zIEyFjL#OK?MDS|KXi?Pz38JyNU5sFEg@6;QxS(Jt5kZj#ZgB5&-c(D@JDk3$#IvVY>c3FNBY~4wid7&EY{d> z?HBc}dj}wgTmsf>Hqp$4P4xEha`iZ(tYpxD zEQQ`ql9+d5ewh4S#9WebQb6k8kHY{S=TVBGdX;<-J@ZyN@vldu94+>(3W#v|khM43 z#9(Fcnx>TB)+UNx_a}pP@C+nD5HnAQgF$#Q8MO8AXH741HRfzbtG>|v6;FT(Lf(*1 zxMMD%-N+u1y~E4A_=3e(dh*v3|AZ;O>j-#xokT-8OK)u8$S0>`V2{!-!2@h;4R(DS ztpCz{WAM<;zXQ;|0ENRIGhT5VnrNUx3pu#!9(X8VWL3LH?Zt)*-_MgkaWV;$<(lLH zYu0VHx^kH;C;1vIP1+(8q1FQTo#{^=6v#dip>B1muY7Wr8bq2`i_QhFb~>oAY~B)8 zWO=Q5!eanCMOEvu#m=;=rMeOE_w)W8;eye9EzR2|+J+vyiA>a}TUUCKd308>Q@>HW z9unx7^hHzr04;b)tpDnra>G|zQ+LPFjZ~K7$Ue}>O!^D6JQaQPXi~TS)O{LISKgHWN84M6MYX-}!$+i*kWxxO zDM5jQlt>8*0+KQyjY@ZSI8us$3XVvZghPsSBMK5q2_p^C-Ce)637PXfpHtU+y?>oK zAhXwc`njKbtqtPSQH`(pu98x1ZuSj_M)Ki6k6w`${?=O*d1hWIgPurS5NVh4hWsd^ zrSii~u{wz#+_hr4LgMa4>aMW(WA*FC=2UPnx~BiQY+NW?JF~MR3ovS+hd?+I zc!e@dhZ&%LYt7rx{9Yz`4I@bhm@-avV;5Lb=~to1G} zOC)+wgr5U?{3P}e7Xvqnp4bPA?5pnY)RH8aF9hDdceiYqX-^2CLXs>ifdsCOjQxxO zGpxnja-Ah;l>;FBd_`JOt!d})oFFpj(AOzGd-p1M!CHK#Df^|`oyDmgNyj)R%-70s zt$HtIFmACCkPKE_lXbDXM|~u7G!OctTz~!IpUmO*B0~c-5hTd5fJW3lm@>YRm<)`7 zfDfm)XS!zzkRRq(j8C7xm4N+hU*GNUTmXlm=U+> z<%y+h@iRs<%7ZM>MF@yxiR}H8tZ^Gqe%ig7xkk(Ef-~ijmC>vlMI4ek zc+tjN3YXTzm-@^3Kltn4%M?Be)hk6!1tX5&sB8o6HR?b3l?xDsH4}(W!Ige}`$r3+ z-dCL?F9Bl;1S2FmUa$Te_Zq=)oIVo=4FBSautHAfzLA+Y7mxMTLl>D>!Z>$7&o%vX zsnSVl(=(DE$Lz1j$MB+=>@SV}_0NuQ7%Heq$G*l26neZV_^)^n_YNxr_kzvAjdef8 zKC64ZUpYc;=9vhv=QF1XO@4*53MnZV`%DP_BAZ{|Yx3l)5(<4+g1Es>wl(crdCE z@hXFmIRW8Dy1UZ1?~qJg1^l${S->_{-1stj)aN}aw|7VtTkH8Bm;Db22mN9H*Dl5A zK^|O-dk3t~1UUq#HE7!)mHgVw^6 z57rXo;c5Su@bCY9?yriXSrFJ!?l<*;oDhCPp#?Tzc!rV#YES># znB!I;;g?;tngsY?>-XA*QFME!_W?^|c)@z(H#ip7Pt3^6JTDI!Rle80bsgBsn-cjb z7m7){_@cyVe+{r0OR$)TE%(m<1-bl^{Qp#m*b+3r5;CfjzX{I0XM%I@#|DuL^$HoD zCx3`yEMW012U{+VZvAYUpZ+2MXSAtSgusij)yO)+ehrhoDrfSNi?Q9dZU=gw zU!9Vt|5rDF=Ca4m`|HyY6WXFv8=T9@k!q?zk6{ClYZc;y(EL=a$2xSw>=3-Z@AkB0 zwnq{1R{Z|sn8Z~&$5_xbirGP%qZ#|cfiB^{fBeyJBOm~3RCMTd7Xug`IrNzS;no-m zfE@Um!7KM_`*v!6IP|T-y}r?YwqbJ{5qG#0l1ZbeiQS7Bso})up}561iqTQ;7@xtX zUh=dhPw^7FM4mK7UJGLfLJPRd_l zFR*n)oVkC7+9KWJ!PB+$Z!ete#~L@hzC{>y4NhYcF`s;O>5-g%r{^J*6wUxVn(*WkEE6_Un4vth zc2wX!s!!;2)kWs-X-c6;=?}j_^XkRpzx?M1kB0$ucxH@!Y%;7BbzZF>4^kt#skHrm z@?6Wav> z0DS1ceg*GXu5TQ`zy44zK6#Og4ns~tp4sTEzxC+I$c|K6W8s8z=m}PBUt~JRTt%A9 z*DhlE>_VU*3a6Q`QU5_d006)Q8%Mdm%fAV6QBd&cT8xmv2VimB$h=QRwQw>t$4 zvQEJ+kuD0Jz<3H0!q)L7{*5Rq-EnbY;m;kE4Q>H}lgIO*Sz25HSe0u@F0-Uw1C}G5 zNSPDa^Wa=sX9t%(Z3B;70+@-bM{y=w-s`WQr!aAsAc?p`EutCOUo2~r0TdK; zQ^piwzy^Qdqe<^_F|e{*{U=5h;xysf{_>tYge_8C%Ysj^rE~@J=k6%c$w??33T6D8 zL`r!_a?L`XIILLlI}UsosBdDADw5&fdn@ooQD6?s4{5*t%n=I()7${h}RdoYa$^&H}<#- z7?_4~K%40qPh9_H^n^LVdO^1>)+s>ctAoZ z*9e0DBq1-LrDZ3Jv$lqZPdv6UI36&d{F5gz+K7!wT|>U#rMTCcyeHsuRSDOv`r>Uw*YGaOS>Y?I8>4GGdUnYOJ{a8Uqr_YOLZj%r6 zie?d|9QX@E> z9!67}#h1Zel$n~(w^I!14Ik)jtT=-FKk01`vTQ54v#ydrZ>}41F~=f;6F*iY?|$?f z+yw7e?C;v+5r=hPz{H)^o(!Fh1lhNsxO6X*4+UAyXA%(V?oC(Zq4hKGf%(aGs{gRp}?==U}Y7;;*})|@H#S=9fp2{D;7dux88 zEYaEiZQX5cf20rb%ro(A)3#&9)M;r+JgWQ&M6BME$8U$GYcyy1-?;(40j!H#cPgoi z1PUj(Xi9y?0W7G+>Cp!152|B3G4?jLUQT+r_3e&M$x`#XtafmwBO&dlKuMyeKF6OhRC3ad9^>6vc-J z!&6%BBlb7rTp^9MRBo7D+%1XF8l%F%q|gL`>_JvVC+Yu|0NP{F9IWv<2rV1x><<6(>2q50!}ze& z5V6Nw%ln6s$KG8VQ~|^Z9z#=+J_og?Wp5YI8a>$X1G;~b%OCalh6vcu(tCMiIx8r6 zF1#{C+r+XesGO|AIzHhxri*LhQ{(-;&;HT65n30Uxe2hQo!zG z;x^_2TL{-V|M|>+u^{4mAh12Sx-1h1MvAyC?1|6L(uwRTSb3JKonuDpYbwPdzx`ss zZ-UXymVH!a_FniE05j95kt7M@WekL<;M#O>Zw}?Sa)IRxP&Bw-`TT!c5$j$37q}8 z{+Vq^Ay_l1j1Nfo_9=TxWR9ynxR?44+L!%NHUD$PmG;0~?$pAvx*37}L=F(h9{+u1 zBUCeoCn@5>eMyd*17)Yyqe%3f5Qf)MPVlfDkY*1RH`##%l@DeO*zGjdfAKD0z)-m) z(jko?2Z>I_r!^4Gfcv0gV5T+V96bE&FQJf89d=6He#n~)p1g#EMQjhV_FJXv79aq> zU;%pS`=7f${_6iDA~Zb#TfN2l6)ljDX8?2T34 zb9I)Rrpj=4Kz57_PND@*$N@6`aTd)J{)JDCN`Ua`o*v4UhP%DwY*I_-F_%TaQEsDv z7#-qMdZH6lJ^sFZ~FhO&BVHzq_0n5P^F+xRTdjp7yEukL&G}QY~&0G?~#f z5`aVb*+Kr1m<-ej-Z)nFUy9_o&e0PA`)I5ce3$dMvT3h(u5_m)rJRRv&6mQ>58zgRAqBrhc|o_Oy@eIKikSE&_ug z119%g7)|Q`LVt}=Il6I=1*QsWP305Pq-cic3LTzXlQn;gX{e(&7JpYaO;G@Fs9#(efPkf%nK2 zD8IumfX%Jqpj-GqE(E>-ZJKWCZ9P8N1RK2x8sH%|2X%IyPvu@zYT@z_z|ZpdFf@;7L?z5?flkD*jPEE}YYkiq`3-~}@Qq8dZ^izbK+M4N&3*cSO;3DPjzBN+ zt^f(;R@z-Uff4et+ zoscA`r{V$#!Sn1NrK0yEqrfcddpP6qh{uC|nWcevBsjoi&GBjBS!C8%A{gE^6o{?v z1{;+RVUx{%z%XEtZk1Z0kNH>5DG?^bgs&l@P`DT@R3ws%L&fjm%+SW$IG_@UELuCWnxBOLzIs7;98Bm+%2+vAJKL)Y?Qru+7@v7lPq(CCGukTc0x^iYi zy%Iu>8@xcXhy#TEI?*A49>wnpf}oi^07BTQy8)_4oXS4nnU?wHzZKn>`BFe3tA*4K zP^3wIgp@_w#Hf5FLw}JbHx}u5*)RX%X-QB-{r;DaMd(g01A=FyKN$~BEF7%?!Bze3F=Q*AJx z|LBF!u&uT6WMRT45(+hl0@Pz5#}%v|t9E`ntpBJH5NdL0Cu^btfJWYBPrgFa$TdhK z-ze@BVN%>2IPC4eMp}Zy(a}m|+E0eoQ$Fj5fw*%R`mqLilVGs;z@woww7+T4x+&mUvWydLj;gXe6Nk*|atzVdjPD6+y!pV=g?~M3u3>XL5 zb8uwNoi`UuLoyz1W#m83{7>*deKs$6aDGiEt0sN+RvSwuq3Bk=F6HM1-7Nl|fu@i2 zn~Cj-{JS4qQ6}hV9^MIwXtm?!ElgZ3k{>SP-%++#4w{eAQV|eQ_T?mir&hO7Otv59 zH~?FK_|0puM3cJ7uw!BW8yP`>ck#;iZa)0&k*4h_T3PQ{u>0*kR|7ym7)#^bY5;!1-P`~84y#ruAErYYzt}UMB5gcgZxDjgPU*H4=(=Tzfeg${LI*!_Jgc5&@wVY)U zDzKeS-uosFcBmHtmXQ1|%?d3*{flth3!&%Vloh%!L*3!o%6YUMH2Q$Ra`pY`0N^QN zM_wIm9s*tkcB`fPr$D)2RvK#n$0wWZwxAtQ)o%cEEeGa0K~0T@0itjCFBT+r7BW}G z@3nWJe)PZweyyV$vQIwFM}v68tmH@FhJMa{RnYtoMl<+0k=eh&L~7k$SsJK+??LpM zBK`z;qy}zbzbSl7`M*g+6JQz!r`{9rYQvKu1ji~cVSFR(dGE5QLV`*OR^xa|k=j5VX#ohbo^?R_t7B&*h}1dps5;rj=!A?=-FTqUY`9vW;9wbQ|#H4$leqi9UCx~(;8~0 zo(B#VA0_d|_aG%)(-BItBKsq#=Kz05AynME)KXA zMMVL}kqoX*I==WKOA(>2sl7rx9(EKew>r`ze34q^p1k-AX$+q#z{@jqw?3KUHYSLL zt!aV`W#ik9mZ6Tn@W?O3{4u1hKb6t0rm$mp5DQR>7Zwqbg1f1H*~b!SI1SFLN(UjJ z!u&z&ljHAz$D9JfR7;g<;(s=A=7-@g)WQn!oiPz{9Q-u`Sp`Z8oW<-Drw4i=1F4El|*Ul7to-Bdf>9jr_;AGNI~#) z=#WJJog-GU&@ekxsHhuYZeBQ=3NbG|6)$8UY=J3}m0bxQN;CVmkfKD^TVZS7@6DUl z22H&4u=dxc9NCZcYybc2LnFit*wEl?w~PiKGCuH;94)`{F$k*a^90Q)6Q^JkZKe^Y zj(!7e{a|596KsXRQ;@&nYRKvk07ySxm%yD%?W!Gd6jj$QpUC=NDhWaUJS4!@z(ul& zOx9=6zU$A+S~@~#HK8iatSm?p9NRoa^JZ=lrVvL84~LdJYi98uBRdlRToRI5eT{Oh3DcBfFYMboJ1w29IPDu-*& zm$#A2+DUSec~`onCdzf4XFld#8^VK4m@+I&JQ9n=3gJSyNdU*$EUh0^l^Q7Lub>Or z8h_U(i@J1M6JzND*rtxEOmq^k6Pc$xN09=`R3|VG%;N-K;3bkbCytDk@!km3()bcP zs$QOAQ6k%Mp{W%ON*J#~Jlr~;?i>vv&Bjd4BRj7Z5vsC-56}dM=E{c;GSsENs$wuw zU0vcR%qt`kwAj=yC?r7T>pfJC<8A$*mb98Q^kH;`L!l85zLWf}x@rmY3XD=Tt$*1; zI=J?hC6VOVbVg&b`^CuRcswJ7^v@74Bha1D*e`^qkH-jStMl;T#K1HK>FpgnX~GHZi?hbCe)SE%WQ@kL$uST4DX&^HBFZ&d+Fn@PnqKC5ZUMj^}r0??U&85bw@505;DV z2_Ow~#6j51H*F96`{=}nM+RPN&r5(k_$iphkEN?ajb;0xZF({)X)0P(6c$uWC2B_7 z>S2WS`p(5>CMyMfth77%z4c-U{hoA1M8lM$J1_!&0MhKtI)aM!&@cOP+3~*kr+#{S z23~;a-u8o_4Af?=kx4x0oE8n-13!J{YYp(7JU~_0o!zma+1&ymgiU8Vlr`Y|y=(b% zRRJ@+fQ2H)f}!1K1w2Pz+8zz40`mK%{DTjb)A+BzmXZnxRHgmRzZ0~ll29q%>~V;b zRyDr;QVBI=^p%%gK%Wa&+W1Rn#yQcnWcwElgSS@}-Q3-ojkWZw|9vYhDW@zD5+6$_@&SpB~xD;(QTWyFD+ zey9L#Bvl^J$f~$}vQvH*iaz}~KD(cW&9fi_6g+bf8d+pPWcxq6`NRGU)qp#WY-dzY zNhVs4>33Q@hN)Unig0zJzOnenX2~j(Q7L~{>lO=3C~u2rP?yxCG!8L%h56%Vi)QSa z$%kME)Mb-covmWHpj=Ha25M zbu0TC!8>u?Lyp_CcofOY3;cU7d55Pg)7%pll+5c%o|w*et;$^b?gp{Jvsnj>OF%05 zH$^dbT}pF@o|mtou+R1vrgZuwoQ1qD+7MNYRuBM2#-Yo8_>jrQkd1qgP4E}OBxpi( zePHVWyVeda{r#EEijZvV*$yI?e3+!s-$@F$F-FWVwSJx67}5M9=aRv)4P>VT{;>_4 z=PF`I({1--m%7KDtBOon$#u;yGES?6ry3~;5*uxIsp25@Gt`u2ALQneg*cey5+P^9 zO3T8gpFKNUUBze)UQ`K_n*k9gTN+YFF?*KCTG`39o|kKVJst1sJ#Mwp=d`8l-X z;ZOaHK{jj!6tAf~l?xjh>nWh63Hn&IU}n;9@;o;4k_TP5r!byr_rj-n-zblZbP4tR zulO*TA(tU6BVOOA*orRL+kkmjoWUNP^`_~$87VrsZS?R!(1z6 z2H=9f`n0t>`7VQbr!u^GCYRMyEIPFobrhbz%#|H2B7ca=csD^4sTDS&oPAba+tcEQ ze)=*mj8KOKr)MpCx8ACJzRTC_YE9`iAM2cF8q1)pg~#9z`yquq+JuP|E`CX?Z(4ot z5DFCMfFv1L{w`G|4C`#J+xg+woGS?DaEUhZ^&8I6q}^(*BjfpU>JuIVB zJv)2ZtaQoK1=+czZs)?+l^38%|J(N21ub9Xva^j`(6K+kH88Z#FOq{h40QkxK#=&T zDPr_t-DnoG%m&jA&aBIGUUA+G4$u<24&u+duX7lG>!hQyajiF+mrtOg6$nN7b=y>C zXz+U03^Otw!%WX_?|zFMyd=#fwkexhPh&v^uB*wug5ev_CVfjA(<{(Ob;)R}%fLZg zq8_sw8#(;-;>OZJ8qMaiw_JHW=+`tn>u$TgkrRGha%F>g|fmVnE5p==VRS3Ux?e0KCQ;Z1lt-8BbKht$B?_SJS#84t*p}UO7Ub|YbXXStNTWBh$ASOA!0s`^ z>*Lw*WNfpS`90^qD5ln5uy|<^Znjty7V02n={znBB1gV9s()d;en~e=(;EU*@6p2> z6%oT@Ya5#Wx>O)eNIy%iVk7X%x6<$fAGCvFIapcl8Qj(Tl3UZ%l``=@r1`~LZ8Bfs zp;bB5`?|GTuta7LwIb#Qks?c5t2tmNMN#F$5-K-3{3?AOSy6SzLkNNE`#@&2PEri# zVC$__kH;U(0xYL-ha{r%73NQY;*F91UbU@irn_uX1(^9NaSdBnKxI{IkBvqO{l6Or zh3OQQDQM+5tj>wg6Ti*SO}j<)-Z8Zv?8yzvTIViZ!!4hBH@JXrd^B`|pN0eaIq}D@ z+L#Y=*E?g1^wfds=g8X#d8C^-FS&BzPF1nBofkcI$*i|#CZAi8iP8@E!bx>rc`CW7 z>mQ8gD>lwu^!a0aG@WH$0FgYf}D*;8cf>bGm~}BJ)xfSF3J0`UhooUgFd@3^GWTTQIWn_ahRaGWi;_U&@Vo?xC~h1 zGMukl7>~+du&!~jxCV)G@XziMYd4kwuP@RSCw&tFK3uArbmTa2RqnI0nYaHoibb5V zr$E|vXHLZyEldiJ)g;ku3>F0QbEfqn_CbswwK;WBXCarB=U$tkABeUW=;T+37stE? z!-&eaEavWsp59sZ{lIcw+r@Ln+Oas_bybSEDY=hI&xQXG8@ti(k8#0%9Y;R$bGDXoGsIjopye(E*@Ow{)B@+ zshmQ*lK-ptWxG9=ODaiwX6Akey4-hLl|yjCbW~#n(6VGIP^jq$2wk)stKT@gU!>J< z&*5A}Ys3C*|8a_OfcutJzPFkZ+Jf!f+*vioHdO$+26%#Fn-FG{h;uZr>bJoe`M^cO z^I=82*9KzRjoKDC*ASpu^Fg}*6s8kUGw4O0cjuS~bNYPsQfU5U4#ktY5r;lb!Szm^ zV#8ZiY!h1n5%;x|9**&TL7He(F*umMG1nX^EBal`*Ms}38}jWewp&(RnLYId6v-he zW9EU}9l$orDCk5RoV?&X2>6avaNhSsNbU1oHr1BO^# zOq={T!KE3m@@66r+L+D!>y7@$nfp(U_#6C{Sg3bgHSx#fCbpjZsZFCAAgmJuNlE)X z>PnN=9a)jNc{4TOh7KtwVF8393PZ%!(I+R>myFH6J8lz;Lq(2V%is)Qje;KlxiYNe zcSz`)o!}ZEic4;eId*IrN{M!}cc%2$hCU04NMOC=E@?mY_-D>!(YDSHX<|)EnHZ1m zE#DlQ+AKBgtpu?s5DCDab@72aOO%|9K-&P8O zVQ9-_HsQOyqrvA65(^D{5z;dsZW0)~%7*``b5aapW1-H=l*Qy`g&Mpo5znUWZZwss zaM(??ed9X&w}F5gGnoX*ecp)c&Fqcg!0Ie&LRy6_V(a2P;HFnarFd4y7l9-}{SmD@ z^2n`Yg@EXMN(s3AOPb>gzUqYW_FK1jHcuX4ZgJsaGl~fPHwiD^6ME&NB9u0F+<%HN z<2^Ck;rfjHJly_rP3K--Kif?GEPF&BrwZkDGhH%Yq_$-R02i!;=|3<&$w&{TaN}Ik z(MXjEFGS&)Lj)AHWpTYf9BW}F4fr|kzP&j`lp(Sne>PHU4zMhb17u^sL1Wffk3>Ga zj)gA)^BnCSCqo~kjX{;p=Gt``G=LCtNnx?}=Imk21$KBe!`Mn)cBd>WD zP7m(h+FZgDEI6@ro)cR*<*uvYM8UQ0pdvR)YrL*SSc0wO=Q zQ})s;WmVU;6!*24%AhmjmdXPjg~xTt$fV{n;G93q3%`>Y5wlWEvZVZRqck9WKt{2deb2c zQ;(DF^Jzsf%|!Hs=9Xp|+j90A2Wj1mgU(58mVZ3OT@kxC?bNq2=AHE1N1zX-Uk`xd z)FL#p1YDi$5GdBV&uft=CtI%&&GYh6DwAup9Wy%iQG zn-Rg`@5hL;A5?R)vW!@|iK9K8BDkXOSE@BT(1AMtV`X|gYuB~7f;C`H^ICpIhrh+- z_qV_!DGnn0<*eMUV>|hU${&9KskQD#^Y9X``U%#xGWDkHsuQTv-H1D!cvXehJnnZ4 z&K%b2%D6JBUKI=8Qhv`fg(}Xcw!ZxlXvP-J)F|MrZNw4noYlv@ZL93nATd@1D*rg? z4u&!P#yW{nIYNb$o>OMy#@Y@LGeZQQhY%*smD3kldz*IKJZmIcO}1gJu%36=*OjL* z1t~PDUoE&sez!2C>ni2ZteH#t|)w9J8AKls~C6X2U+0nXQ-6( zZ%&9Is`RXdsA8;^75pu?!>oD=Cr%22lf3Dfd>+sY0^q{BPETFXR&|V#A7xl;bx8Uj6%p^v zgHC3;@bYNC1?OP!)H>%8cDU;|+a(HyzSZpX>`Y(ecck4fUFMwaM>ev~$_Wk4TSbc@ z-cHGvJ};kpNaO{j*n*|H`$ISqzQi&ou9QYVXhH+S}3h-aIfS@Ej+ zR3TK~hPWX+;Nb0NrdHR^5`O`7)dzO}T(61gfbL9+KdXFd)h@AR{9BzgAD-&O1w{ib z33=n&_r+wwhK#N_g9BJkjh#J(<2|V09Ji=B8;r|#9C0GjIrZHgC!S@I?dBvsv&t;Z zi#`1boCEdE71?AyX!px!2$vZCEZXCr&@(As-)~Grqe+=<`y)MA;OtYnL?wjk@hk9xsowi7yn0*H16_2p=Y1mbz_sx=)Z2= z^cD1|`7T^4Nn)Yt4pXd(OyN#RRHi43AieIKHKs*|5NGsp_slm}3^!qWD_&nt$8!?= zZm`|gy6PEkdc~m+73t&ms$I!w+g?{4F5rN=G9>ceQnAM`Cnxar>yB0B(J~p=Io{Lu z?>soQ^Eq@_vQt5np>P;+!Sq$_VIj3RXXb=QO{# z5Nv`OF^rjJj>}Dn;t5*#Fk131xnYn=lh?Btf{5x+uV?pcB3Zh>cWp$Pf=~}mptx>U zzB;K>KaH9!ab6fm*_)nc*&Cte_v8{TI*2k})i?;#6UKM+f)8d4+_lsl@)ioRmv;9xt~g;2qtsq$zI1Ii$)6syrmgsGd)6 z%=>amg_3{v0?%7xQXUuGENZIOmGy~T5uIl3M&3P1XImAA-Mvv>uX%Ul;>P+{Nq`%6UQtF1n+Vs7&zg5UY zPjE#IM`WZA{yf`PHaLMJ9VdHGICcx!7?Davm#qz6B=Q*QY|-6Wv1b9nW18Dy^AHX! zpCwsBgT;QIZ{7Qa%wjU-!rY4c`v9|6z7 zue;{FlgIH)ezO?hTung|u#i1bkvBbqRYOImVRc=i54Vv11*bZ|wougS06ha!3h+9O z^tF6UOCEfj+DC1tRi*oJrrm7|C*r*<#3cgwZh(APmxsd=#L>@bj!*EeO{#mXRd7v3 zea+XRR-uV^tlVx#B&&K0sXt!7*7|JGyGjU;2Skikm2VDLp);Y$uO)s*GaB>6!x_Mk zIF+j*Ceja?zLT+HU0c;+oV(lbnz+^|tbDzGA-(Rc#Fc<9zRy2+YHk{T0kCG^*o(92 zIf(nr;by$>Qu4gFC$+J?t6Z&R5MoiuZa)`$)&eCH3u63KvK2yCO9*4BYHaMST<^rQ zS*TX!EpZ$K5tn{~Ni@pIpM@QF6GFi1s#CyNB7`c3uy9wwsA8+;q}R58MYz&Kl0e)3 z^(H71TY0>`;A1`P-!CJw6iPGNw;cYIf3H+IRYq0L#otxUiZW9)%IN1Kr5xOp=^y6x$ zk!)xy6d6izU6xL77TDY4d0Yz-R?5PDkfV|qM%Z? zor!5-P48FBb0^ZKW1HG>1$B;GY|E@bGour7VjyBc7`E6%IF}YO3-GnD8N4h~dg#<# zN!&l!FwahFX~+NYR)mzBH!EZJ?Cd?cJd87GhmZox-P56duKH?bF7t< z1e+ycaHElB!CqTJHLfv9_kqf(PbQiQHS3Y9QcCpl-3wE*Wgum*5$*QQi8?F?E97U? zu3(NT9RL_hg(tuN?Lh}I0(h%;+(dPj9I*0;Ru7LQss4)9FGLk93xTdEZzX)fem;># z;cGgb3i&=e%Rg^ur6yNi`%^#u{YEkkb4?_V*j!cKv%Qom9M6 zn0*w_87te*7gwL01vhbDj+4bBzGn=VoU4Y3^LBxNo^czo@L`j+M3!dZ5{Uj94SuNgTBvF{6KC%^N6b*DR;%+>MHV%6ss(V1W61#K-f zx9+<#@j(7IXlpY|)X^}x?8CZdnhS#goSBhs1du_8gao&^JfE+ry+tgn%{kBnyZG(c zOL7Ws%MavLZ0c~fA+9hvNgH>^?A%xBnnntAtW=_HlRrOuGX!+Ry0>+t*7bpVCsv#i zcQ@$|oIzw7*X}5C|2dX}pTvp9&C?ry8$?m}Z{vO|qx9%o8;!NVAH7`=Db%beclnAh1R$$!(o6}YUw*eVampymW467$V)3KdS>`NZM1%whcbI$7 zUeVylC)Obyrgtn??-@YITPUr)weI_;LUS=}CIXaHD2F)NmM){-yAEWjA*Z`XJ+sXl zT%#++@l-aRr}|?2-nnsjbj}p56DtOQ3d97NMM*se$J!ZH3}&pd{jaZr2y~srC<^m| z)~4)MOVvVb0YP2r#R$?>?iH~xo1n-$Ki6A1O$ARATv|*eG3J&_WE(PSk3Hj)bH2IF za3^iw9}X-0Wp5b=)9u&DC zFN$t=)L!k17V?^!mu14qGNT*iK(YXx=x+s97g!LsyzYo`_^r_U*)KnAYWy>^?cmfC;FVUe1MqzrlUavU+evlF9hLRdLx% zrKVCI^C+)hSKk={6AsKYM#(xg5=s8uwPb1*ye!#rJ`WBakER#A1%Z6EX?|7TuM|$l zuuWKjBGARb5Np}qT7ma`=GPrPZH*bcWeoseWraD}Ftex_*mQK=LBqRQLB|6`PhJuv zh6_BOqy#i}(rw6i3hfLDRlVD-YkFKiz|}<0be-4yFgHP)Rl2GlnF%skR1Svr>;2SX z2E2(1D?EKq@?qhSUL;qv9Pj6a&eF}a#&_Q!A8B`r^W0=S^pTmOWa^JM5$Y2ob!mtON`tHv!}G_uZu^@1{ILyRi0<(in$v zzKx}*g>IUJE9qt9T(&tBva*9WtG$~M9hQp&4(h2ga0T*3poGM^tsm8~&P_Pqm}ph5 zEo&`3ax3PDXM?HAKs+dOiqvh9C{M49#Sb2~h0xsLlnOB!%2?a3&naYWba*gW8~Ytu zdjW$!6T7}SNCtULgO0*`Y{o8YDq(Zf$rR%unHj0U!KNm5qW652sWDDL9G3g9i~C8* zk*#wpywJ&nBWpt*l8qdku57V`Q>g~&A%p})%VERbstmLapO-LTH9L1oVgd(V5!~Rg zkdUYs;=?Rf!DXz&|72qNYBuebDD`7?j=98Ev8Y^&-UVOes~L_g&O@FQg$+*l)j#87 zzkUKvsC^N_ErvJ@q4=PH&lHXtTU1NZ3l0bf$H`%lfZ-GBsEIUczki))$b^%`QetZN zgs)%~AXpVV5bXmVA{I8>&$4%UW6%4Bu`PX({Y)zkYR+@@<<%>Xt?I{RC1A>KoCOtB zQ?F;iMcJKfF43UO@5Dg#`-5~2<{rB3u`{976uy3BR}{gZy0pA)M~9H1``Q^~4q}TL z?;fRL*;(c_B_*=eJAGP>O5dI!tDaYDRtHsvpA7~-~eqI zR3~*OX{SG(`NKT`k&Qy=cO;nGmYMxh0r&o31v$70;GZTl$9I zj>`~58zecUuq9oCq|R5$D@VqkSFd98PD)~QA2n}(pVNhaYK3SUiwv$Pxxvd(54i{F6!pc&j2Ja6Y(IFPN$r3}Q zm;mi@antL*`cvuXLr;L=#-I3U zCTUn;B4>`@{w7L{CUyq&AYb0Hsyxide|DD0k2T`<6T0vC1eY|Q7ssD>kdUAXjHMO} zL8(O^2Bj3b%e{L;bt!BJMC^uZa7(ho6k9X6w>ikKFIr2mtYA zn8tO+0CYqzE?#pk%Y7wu?h*}+Rp|Ho(~z_!U^&y&etvgm7kl#DmL4s%h1x}*tC(+g z-_%<)C}4b)T<;xW3*f_H6N(4B*j@C=Mn*#V;?W9B~0)6nfQf9=sFlRzwiQ zQ-z7Ed<&LLTp}kG74RjjhN%JppZMT@@M&Ojeke4 zul$GyM*PE=NJcSG^@N;ORg{{zKP#A4AvtlK){8osFGFt!Dv?!kxt4cyF;d3r7%pTGkV-DuCo*EbmEOmcA1h6M z%aSqv!c*HcdEKa&+grK#wEd+BBOQAAFbFmp-S&U8m~!DDgTA}`QXVaTqdoI5ioBtP zH+sj7S<&vQL6m?mm+XM~hEUlOo(S{vP%-!>pja|E;LyP^01el|+Pn};j{x+Tvevtl zq^&@3ijMhJVD~(+wMnXsp99kv8&1#F(qt;*5b`IX_pi58A!lzud>1Z%jG{Rr@DNWE z9{edHfhfs0QY74bRKC|)dTWNhi!DYksh-UHfImzdf;D&DE z3k2gmCd%Qoxr&_$ll0HSnDx`t0OYeB+}TA_VBIbbJdBE$6-Pu9&XK%v z0b;&daT6bnV6FG;km&M^;w#tHE6qGANteGTSO6Yg*JsXBx9U&}fYU5=g<1rZ10?^| z@&_XxsbIWvo}Ydisx+O2-kbP4zm=#7S<4C8 z@=qRhnNyG4lzprcB3kO!gcG~*$xX!C5+A#6%Vp8QD!PtwknI4Z817Ls#}|Ihg{k}d{8$E2wsYFH3p3(H#FYH*IZ0&wEgA?ytp z#~;VGUqSBZLl_naxgjV!!a~P``LyT?U{DYlq}S8|0s#|_7Q4U4aE4=VbwQ}VZ^{{@ z?X^!A@s?7zVPsSxEz>p>r-PUMH2i4qxz$$L)Hpewk6m@~f>C;hr*y?H07f2Y2- zAi=Nx6cV~CYE%kPQJ6SY5~nU1?nH4GK7V)Jy>DwE*%Q!qZC=Q1e&!IDu*GjG;cSRD zBFS7FASm#cwN2Ui0+20gQOcN)lNuK2tao>&Y+ji#^1DD?a5(C^9K;%%T6&Xs;ykXO(3Z{yDDvog>ui;q1smK z%)F}xoOy)2^5sP*@D>G3#X?I@u4$@!#|nbQjE4gvTD>Y3GElA!u0tE7 z%bPts4Dk(OHyUFiGtZ%}63#_vEnUJ+^ML>%tL=)cz0TdJxNJF1PCV6($t^1{KqOIL zJC#>pDjBDd_Zo|XldceT zh{2VYFtJuOj3}zFFZ>)-)cz9C%t1Ix>eVPLro#Z(Vi#tF3Le2FQj4pe#dGP+FRJ1M z81*$key#Y8YJYT2Xt|BmtQpU+KRCf#mR;Kun5yG52+Y%I!sk|>(hGodsACyo4F+~2 zGBi7VK#7m%;&JAnuE}|F{Y%u}<$}wv#71v4BZ!FR0>C_PK7z~TO)hvPlz_@mr0C{u zo&lJQo9feAmu+=QeG@8P+?JqB%RB!iq#(osq`OUX_b02MEb&5`%)rK8U3*TXXyp)B=iDzxW$8e0YNhS7J~$Iy0`UXY?$g4EKX{fu&oWbzLWm)TV}{D1 zsrR{{kDFsgEd5?3pqR4-AX^c5s--&^%MhvBltA!mZ`qi4({@)L-MZ@y zC=|gh6RL4#YlXc1(eF*}tr$~xm!YjH<$DCUm)`))2TOClTppa*&{gXwJqis#A*t*K zR0fBYytza%fSq$-$mKl#9oxGAG_UR@fb6>$825^_Wqv!EXW1kOFfeP!KaKzVEX)wV zEMk23YsNF-NLZUHW^wvnJ|it3X{`~F5#V0 zbYZ)fRM*8z2&>a5sJmt%1q419H1#8xYBDnoB8k0Gg2+;Hw1s1%5RJ$Z);ke9GhuU8 zyry0zjU*M!Y@$!6^{C|%5L{x*r*D2+Pt#FcZh=~9f*ef5oFu&!47P;|k|niqkaxa+ z82kCzI-6eKx+k|~N3RomSrC2;I>+}Ut*`nTIQcP{5b^6w2(bB}LsM@dDNHrOfC1L| zV6ZTlQ)PUbKcI&M^T&TVMNkK!=w;-F?u*W>uTM|z~b!A4}Z%Je9cA*?( zIWw>#wCJLDp6}hy9h$aV@G74OgC(};mF?*JbMDQSH;Oh<^EMdgSe#wT`rtS*5T0kI zISm(lI5txz=hb)N9;iN}$y*$i4){zttR*!un|*PHe+utg~<%M6?V8=Np8kxHf)#ke=b4#DBU_&FQgMsn#U2 zRCQLT#2Tpax^d*R_pq4<=i9Xw=fDiWRii7FpZqaNB{<&>oe4I)1&x=2nNQHlF~259 zzFfXa9)jHvUoXhIqLwcIBdq|${s*{=${MMqo4SI&h-&3!d0WJn7t zTuLp*i#0K8m_dwxETc()XLui<7DOcz)c`K+k5Rju&=g&6!n@4k6yW>}(Z z$cm=dn>H{O)u-K-H(ZfrsaRB$pKtWrq{b_RNH;qaUkDB+Xu(6)jsVn=Boa%nS0$T# zNvPc5YW0mWWqQYMXNQ5knTcJ+LP)+BObGq4Z`ky^EO`_S+z4j)4kojLibo{_(q{(Vf#h)2l+(?q~}F5sev58z0?HU%U{=F@kR$KB9d)0(Rh@9U~hLb zD1szu%mm zkcmd{$oTg&PK9c5Qw4S0oe16QXZ-S3#sjw2m;55;z(LveE`WHBXm2)bIdmQ4l3Mq_ zb)6_N&=y?a25AKR7XaA+a;RhIUseNgzjb{-SIE=L_IfvwJ3=ff+a3MvdO$f@!I9XX zCgfYv-|=;2j%18&Dk>P|)#leF>Z}vI8FSik$f;s+Ap@7^5*WQZebEBrwCmzvoVF|% z#|7xWoq$WhiBDw`pvZO}>**w-xaA z#^<=g)-7*v`l*WAa!(S>M!dzsG#a!hp4@eqF(c4u6`0cj#Qm`PO$~d{Qamd^>B{W| zIym*)ZAT^utTQg}V6c{}LrA+U2K?7xMY}-vcgncmgXRMR2Le|Bz7tR75OzNX6rn}s zUh{LFd+!pR+;e72r*fO{RVZ=#RPa8%yQ-?%ov@IWOLQxPa{_q*6 z7uV2c6~}|hLr1;G3YP)zS^TojWdh3U$JJQ?o#UjtCog^_pqx$jdQx>k60rFN>FoN? z&+aQg6yQ3D`Cv4O`H|Sgt{kUYJp%UkbjRl$MBdw_=Jpr+~ul9m=pDmdri z$=L%AXYIuMTAX0tHt*-US?odM|A8`|!C)?WYHVjJI5x&g-S~F6LYr7v!_MokS7|)@ zYtQel&k{vxY2Zu$Xz*)#FMl1Rk~RG(XkJ{ml`-S0~8VY z$V`^`*U-I+|AK!E5fBHPJeOp>_AK^(1}tEvoJr-Ly-pkV67xZN8O5zBI-hf=v1`*X z^;OhgxDdglN7oabw)vf|Kqv)lRI@-1Ar@+aou)!5Y9=4K+S283TE7+qP_gSbw{8(1 z5PdF8pR+^jC(&Z#K~B$Z#y|j6JZbpRl-2gYODm{K!nyi=)@`XN#JiZfT!!$x8lhy} zInFh%wKc*XyQOtv>u&ERtdff;4v!x$InNJhK=WP1;v}OlcQsC3n9!4Yeg4g?USJM~ zd`yLdbFDGiEDe8@(ElUst;3@FzVC5GR8r|wB&3E$q)R%aXXp?F0qJfK1?dJ+x??B- z=~Nn|I|QT~$&vn@@m2c%KA-3JAJ6DBbMHN8@4fa~YoFViQrN?meBLe2R_{zzD&s?Y zD@d}SB-kRA6uy6A@N=0>=tqaoPn{wRTMlq(r!0|Y6e*V{sqBt~-YR>hXLKikxQCj_ z%$~Uqjh_lB4(~nMiQoj3@fTBmG7+2Yv7V=|VZwVUca!Qo=gKGwhXC3=c99qqf+_MU zZgar(0YeDdT+{^MV>Vw|fs-P=iO(@J?)?UBDgnQP^b=QFkzxyqqqwC*q~|V21ALB5 z8@+ah*o=NDlzn(Rv&?#ka;>$VMjyUn9rNRJ>sI54vc>#End6zOachIs;hY5Ca)b#M;y z@oaVMS2AlLN8AUFuB#)+1UO_`^x2b}7;`;CA_4fBmAftL!kcejF4gnU8=9tKQOzWl zhbIGs6&{1DYER9knVl&bxA!CaGx8^z1Z%8y?&oo`a#?(f9_QR)$~i82Uy;f-{-Y-8 z$+GxUtH+Kr8pzQyy~&%2@kp?1J52juilEf^Yeg)%P^e=4;f|zcsw>|f;$#-~A8wwc zLk7D>m%VtD#(p$4U8XB2*`4f=^XQ%xg*^C*^*(6v^W~QN!V)okvbSEGh02#yEV7a63JNPsXsU2!7j7XgID1yG;C;u#+~I?aPY?=Uwt$=}Q$Q z!M9VV{X&fOJ&?+#ycle#VEUNSrQJIJKAh9;XI*c7f#nRCjxY|p9GyG&V3NK4%gM1A z4&)`=lL&-80!-I^2xB=dZ=gBHL(Py9MJo<*?$&GH@2g#lkaNz>}05e10<%9gM=If7B=Dh(U)ugvHR!iqB~H=+7d{0N8Tr5I2UBnLt!Vo0IL8S_;NuXWGg@0j}H2v|2bj# z2#lGGfTMqWssA%frr-A7t*Vq`V^dx(GN5$CFN`Km+p8*eJ^k?$njp5SHJ13}KOe3XsOyn>`vAvbp7H`%aYjHUh9 zuwR^GaaXMgYWvc514ol`oc^WRBSvsuk!aeOhbu5vYZZavu6U;!qC$JX@&Ei~cYBi8 zJwT7GMheb&oFdG)V>di1!zm?U&Vmo z2uLC3>qsi#O@3O0f-i}a2J#h?`nm>-#`w(2~Qk49c~+V{nYRQ z*70^WE_8K9@}|Peu5pJ@jB%Fxo@Kz$Q=S5c=7wT}u@yU{Vm^hR9NmBrsXzW;bKb*a zJ#!fA_qRcCTb#WSjX42as-%wH!GC!k`11XgP7*^%8KRpHZ+fcRpSDZ=2322)zC$i7 zfPpbL;!vNDfGA54HGD7aUZ%$Dmt>9{IO$m|rSEup$0njhJ%QQ@DbJ?hRwzdRnsFfC(=UBJF2pmT8DAKvtY>dfr`n^Lc~q!@lO4M zhc`=9um>BDF&n+|M|Es6e9ec~n;3Ne&yh^vm$d^r3zU)#YI1Lkg9IyFy5&GisfKa8 z?&TX~pL!$4ieCKjkS{qPoaxSr+2_7oi=+dJ{T`{)bKd=SxlrePb=h>9=woA2)|5mU zv$QMM9$<-3I`^Q*v`3b;y6^DhE4!IVFg(SF2ts&1+fEm`f4cyTt0Ucl-@glXQOzT< z^lz>cx}5o~=nEOoxq z#t0$7#@yQT%cNzM3F#*avVjWw702wKAr`5)t}!(cWV}$aEBhvp8xv!ffap&ABjn30 z+n&)=FxhBSSg!TkIFT|qmpgk#1{1{zwOdRox^e2(2ZB*GTIh2%N~y4c$ioT$gNB9H zE{NenFy|5y};)DLcDfry;lGyv?fd~?WCz9e@fYZEyT6ytV z8EGIT+qh@jpI0-Oe%f=fbSohV!1^{bg0Tl9P=Y|U<$0&ibU*+<6?l3ZI7IVA7gMi* zSAP9k(L0gp0#?}-54SNPg}7HG@Hgt_@prIfizhS4_GgL3PrV^9wXz30+my_^jXa1B z9^}kqtCxM+0uSKK& znwu~e;l;)7PhC@eL<6PaL4C-iX#xyxBaW4d3Icb%cn;X+d=C4XE|!r_pYL7Vk{87{ z3v}yU*(C;3s=U{gznQ7A%loIjub&eCH40nD$HeuJP1B?RMPdIntn%ggA=wL30JjeA zXKiPI!#T8KQufan6-IL~;J^B0hp7vqG@&{aUeGFnRJwmTeuTBk| zk(SZZBdoV)v*+c;7u;SjFp1~%4JgW2BfntDo_5@;_g_R~AU>uepXc6ygE{+bo<7G% z4ht8}_3U3#G`>mQhUq%A%z{H0yxq#)VC-(f+6!jrHZOpeH-3n}xNd)g_}7syTG-{U zVHi6Cavj|k>~|{j_s^2+=U`l<^`DW&>RT4qIL;b!RuhC2%F`dI9r6N~YaTvUwtHb7 z34PqZae2eSy1yUP>8k}qI!?@jw70_OOaAclA|}PTz4_^Qeu{fo5{8VuJ+_=(&LJx4t_S^vg?rKw=n&-`#bg{I%_U(g~Nxr zf(KbT6`^6tPqTO%<(4$6qH6rdjYhM>XXa~5(xRJh$vrSnUlL)02VC=z@n3yDZT|H_U6RbB8S=;yN;+nWq+Uvq|kpdKMESTTY6J>D8Y*8OqaiI{y}*OiE8Isc;}0%P{<2 z8ielTtZcLYOLzMlXdAcoi8l#4C5*IPKerd>)iqSgYuC|4uc6>*9;4c`F&|r{_hj@7 z4&mqsvL2cC{D^uxv4Oy?ecz3t6`1(#)l%8~_*lxJM|`gW)t26-M)o6?9inx@kY254 zNw<03sQ&)0zrU71iE@drmjR|C%j44I>blT5Gr1XjcdkKVlx{vLF)MD1sFE&~gfC&@ zj?YjZF^i>wbND@lq`NPNzP_0ukc@hn9Ig(Jjy_C&G<7woBvQJYo$JitPF)3+j5WtA zAmF+SZs)>OLJoQPoW5eSUU|g=VNzTl)S*lFJaW#GXzloRiR-1pUWOYG4A9dRZSIVl z8dPgJSlLvVTo4vKxEixL|D5!54nLP-Djol$>to$0%|KZA*W_ed#tzBW7fkd&8mX7` zr-(4-#Gf%BpINtciF&5Up+~>|@d0A|(g7NBX<^nA3HOVpdGPOpMBe;io6%RuC3&s`VO>Az!?RFX)S*|e84)8K6wZQ39&s*1gRZH@L5}FGeE(a- zSE43p48%ksVS@cOQ#9ON6Wo)ozCWT~`pJk}e*QU<%F-iAW>nC`0InlqS8V2lMK(Ut z^-$Bkj^)MNE_SXye9PV<(oO%`xZL5)&MFT&Q79vWeO89N=_!w0g8)2rO$>J8`QGl zFLo?1+KUWA=u7HFeq1P~oIQy@j=6;*E>7wCsC57*BfTdDJVKK>a7N}I_jMQrJ{JCx z15c-X76V5^YXoaoEhrZENjCYSDIdWsIp}Sg9vrAJ zZm>{SNFqhsYR*NLJbYUsrMlYK)Ek`!&8U#_&X! zej(ciP0E(rDB{xB^1BC|_^{vpwx-RLI3KN|`SfEoX(h}u@CrsYqXN55B$htmi*0B) zrR@fFN{*+7bvc#V4~h{F&o}zzxTtwjdWT+mrSG`VX6?~hU(U=xO~BK7s;wdF&;!Z0s~d`F@7&(Y z$-*QuVVwFkBD#`X!5jh5?0yjm_?v5}5b-qje7UpT^DO2b`x>GZ%KQe!J{#G_huv1( znPURcuO%$Ul=Wsymg3&Ne?2fFQtG$BYVqR~)rHN=M7v|dy~&74x=~~!y1yD_4` zH|g1hWDVzJcILK0!`P}jdfvkmXG@LJ6dt8}1w1bfs9}r+JPa;4Ai7EY^r@wOWzN5& z0qef+Oro)Fpb5{rz?)6`T?09sy4h61CQCvUgDws+J+Ge=hu3mdwso6~mjufb4%Z#1 zThnW=8b+@?wtA@=dV`3B_~ z)jP>uS-feRLgQe%?8F1dZoZ!%oTo&aaP(fD^Z{Q&(s1i`*@FRogNNN?y(PR~#jCAV z?>yN}$PKBYi>Vrrpm9#dz(uWkz90UX@Y*`^m!V0b>#Bsq73}mn%X61j&o@&9Tzikr zRgTw6vz*paTORY6GBhl(51-wit_zNQ#%wjBM_&Oe(yMuSJafWx8FB2D^7vtkS4PtK z@+CY@|ETZFVV~Tfcj{Siq=z{ZKAz|^5_I0H&H&syRuot$GO$~jseyPXzn7u4yVtWI z7vG<;c|QX(;(yW$q3YD&7{h_)@Y zy!k$wiK7?Y#(R;ErKZAA;uu-cm@0#^lk$t$3*ozWbqXs>d5-DnV_rPk(L#eRRex;j zMBr#zgB`?NML|XJ`%;QNGaoc7R^Ti~U9Ebkr#j*Ixy0g95Yz4eP4DSmjkWbgN5%`> zTx+VGwv+O_@+hVf<@SpHDUPFqLq!v_$x?bEPjbawW8YGx+c89c+}$hD6I8L3;reWd ze6R9~mQUM8M}PfEw?bntv{Q4rx1=wzURy%nph{ME>B_F!zATlkWQVGrOHLD*q+Zw81 zDG^nPa-FXp&@9y&1RUhFLqu6|PgbIlX#Mb}t3`cloVj9pFQ!TavcvDC3mNNX2) zs@2wd7G!+na(OQov3scR7|Wx-FaC@VM-*Om&)t{gk3jOpy1xBo!M~`>t1Ps|q_i-& z*n}p^A;6Ehl|?=;`j*x747B;RhN-Z**l1Aax(hAy4tIO5j^%6#ujBLn0XAm#V+uRt zKkt@O8R8qc`sqs+WV(G!2m#V)SLYxIl8BxTL)K=Cm@2CsDsr_`X5Dw-wO1LvwF=EC z2kfup$l|@C^u_RpbIu0bDj0(6jTlg{Opq8X5AAx%CU8Z;H{A&&AB9PcRD@SF z^VuwWJ%!vD99{HinxE=$o87IJ5r1muI-|kcHRZ>=tJAc1+rd6L$9s5YSb>=ZvBPKf zQ7@;bK~f_|LF`_Dhg`fhR!zJ!V>}lQ2|voL$d7ayi8t{=Ak2CiL(p*k*q>`O;A1a8 z1(^7gW(_!XT2^%Qj_ldg9@6aVN zqqP)7X!x0>+yQno_c2#UToXJ$pdz~QzNq`}-wB><8_tg@G)T&kHJ<}7AE(PPzvPh% z+eM;v(QEq~<&p4v^)JpoZAzI>mzxRD?JCR`_n+(w%6w2I9K18?;B-%Vk<+C|@aYtB zZCF=ZXxgl5tFN39v*Z23to*N9W*L)?Y%6c+9vx7r(MaQ`zDY=W&VWg>EC$w-L>Xmv zeA-gLYTPN+g^&U(&Ih3&ZPwxae9lciDIm{(ds{T#L9 z;J4J^qc&Cqv7Ukk2Oj#;8D!i;<)&JRhq+Gb4OnJOBC$1pUSWDSdFo&#HI69OTz+n%GKcwmbFRbeYyddzlswwLjH-t z=HyogQUiyiHi(b_`rvo)KwGQ+(c=CL`9!NC2M&l}r9$&fkwyMCvxK|(qtpg&fo7Ge z*2C}8*8F(8HOGr}9}6_t^{3xUjFc2q6vJ1WBmVgL8{;iRDgh(1hrzJFx*R( z==pjvy;~MlLTwyE7zFyZAlN-BI=hoQ#Fi(+yFxn_g_3XCF+7_V9}3tRKE%``K)kB8 zD3_f#T{5o8?WW0dX^gLQeuz%VzJ%QFC)e`C4nhDz?)^#MtGzv4BFw&51Yu9d{`ba^ z_t^XcPZZ8s@1@k!Llp@!DK%#hlWsPVWaU#vb#o2dBb}=sn<^s&Z0WVaCbBSOj_nbh z%l|}a9$37a!63|mxZD;X4{K+IC7X2X51o3R>5tk}Xj?%Pi98h>+^TBA#fYP>=gUPk ziFU&=K)}P+Wv71MLB4Xhw%VFob=R{xZ&vY7<@i@$84!KcMuovF zKt%3AOr@yYGX25wi0QPboR=bBj$(hw{|}r=sf=+wH!N+x+%`%z?ntB1`~0tb)dTGx zP3g~2bl~7mfUmxcQZL;*BUK;;6)*WYw3l=emFsPkYBe-lh#0SybP~eV)z^|YwNvIc z-P}qh&e$Y~f&3ZvpQuSCCc%7*dr~wTg}4=Z<6>DI4cZDS%N5#!bn>+KtJqiqr)t z=rI?v#)m{8<}xFeeYzJhK0o0=t-e8ynJTV(zHr-F(oT@I%3y`+QYeB;VyS6kY&dbD znvsb1(DT^9`Nx3i+`;zb7%^E;2&A3*6db!8eX9hwz%_z=?lcM>dl{4U`Z|a*lWPKD zk-uM>vKLBUh=?BX!iwgP4F#PlJNj@M^GgPdZ@i25BRV7XY%O$b??Z#AVqQ{xtS{YI zIM?EPs>_WRbc(5KJS$1s3OmtguG0M$v;giy1_I0>Bs~R^gvR~R%eRVchLo*#-!KBfv z2)aOq3qmJ8OLTa>*=OsF~f>61?EI zLw{wq@15R}SIXJv$kWanzTJ2Xp5hWFvV$K@MF>O9ff)(bRJ(!%fR;D>w$0>O$wQWT*1hyY8 z6y>vIX0O=dTM;dZh12~{di*<6&MP(7;&PoapXcv-TWx(!ESbs6>;6PF$#5_rq#>=s zHEbqPH&lDC?fxvtnU;6@Pt~2@?$`zo8q$=Ntc}UTsW+}pw=j8jJ=XK@2UjL(P9)6a z;w z50d6n)Ym>UEvP}2tTreQYL6zFy!8vN;`1hFa3~m6<7}Om{%mUB;UiH^K2Kma25N9L z{L_nyn5ZtPOpXuBs!gjE(`RjRwCF(#)lLgGB3Tgbd})1inRknzohPE!FJ(_(Ex#&z z6X0CGJIU7CB{n8H7gs4$+Kuc76=8UBeurKmg9{7BQ#Kj*h)d=225#odHF+nGJd!~s zc2yf(rvH`^wAXJ%2fi4ME{rvYN%+4~XHj>a>4eH$WZ;Z0Eb)eGADAwvISYb1$fqdb zY(!8tQJ*#};6Y@x`m7h_dG0J7?(g44dCj*Gmt8p5JjI{>9YxEosssr&j1Ro$P*!E^ zlu13pXKmkLM{qU7=WIOnays46+AMO}RBkDD zMF*0#Zh_apuGKfqm(#w&XKVT>MGwOjbg;G^$4~&Q9FwtONdF7dRO}rU0xFo@sbnM? zs7s=EuWwc`C$?~R?0n(v5Uk%JV}SQo#2Yw$%O9tq65cHI>1ASZF^tKv z?_VKmicd$1@S47g-!?$}_U-!f{36sudL3Lcf>hJk;yE{%z(3R=Kzl6!NEZsN9wh_l0oz z^3ieUi2*K zg)5OWk%No^hn4Y;Mo2>zQv3_&!mN&=TJH2j| zL-xC6x?^KiLqX@P#?t%eF5$AYoVXtxWQLPB-{B|BI+30N{>rHLQ+2Mx<@@%Oj*HjD z!n1C?2vl^cXLR%XI5)-7m@Pox{>}-3bMKEmI$#PuKE+DffGDNO1jVl6VWj7bCldeU_?*QhzzS(jIajlfq7uQbuxj((%;SA=k?_Pslp7x51kzTpXQc3 zM)B4D?)fce1;vQ7Agn@95)46yX)@uSbc_Vo|Kz%7lxVIj%zc$IRTCrjuMNIGyT^@J zlSFWzK*RaDqH~lL?huaJGpdjVOwGV)bjB?2HeNCtt_;@vPc763>Kqudq2&XTpW|+} zKWReYeDd4(fxk!IOijU%A1wEN%1k20K2a)yw#wYS z%|s;4xzWtfqD;;E?YNcaog|Ns$9k1BZ2d{KwpWNIhk%SCz32qd(qL7yva8HgVaJxy z@xEYwy;U}-m*MpMY~LGb_9qcG0xTp4^Xi~3f_kMI#;kX96=2S9p2j;{G=}2~=(5H!R#Tmf2 zbqjp`0QKEtWNxhWK)dtbqXW0N_6XVW-BNUlqgRfFO43%CF|#U4*)g-+$>&4o7fWNC zbu$_7;y&`w-{d#cr0=WFIcAFxY4BN9pmNG_vlJs%n=A%u0qJv*OOM_zA@8C0DV3jy z)Zd>KF{cN&x|9u?)z{_aOeW=zZW=N726DOiL8wJk;{-EP>tVDY*5N|(b-%|t`v7VZ zG0~=WzV=~)sdx~ZLL8JPn3`&R?W;$uQ(5}9@yaI_Uvig123?|=4GeS;UohR2({eli zq**QFi)~lUXO{P!9{#g8{$9=j4V3QHPbVy0@k0y*4mj!@0U0-IPoliJE9FrZP6bng zt;!wl0w}#A{NY|S4|yWD@NG*J?&IVa6f3t?2!g_TCnKVBH*X=F4W;tsa1RXbaL$Tx zTOk}M)rgVV$waJq{hKtp!`F7c!>u|Dm8-v*RQ*+VmYx=kqhc}El0b_@B~Lg)p4vyG z^&$r$a0h`|yLs?UelO&VbhE>B>*kDF_R&FK%M|{@SFgyynph{vRD=SIsnwn=ZuakH zN8XU=9Qb%$z#dY_>r0&lq05&7TU>{@TIR9iLTG>CdvNTWhBseOjDMQis{=F`zs-$k z+)S?4k;~ZKBM~pNj+(a8$M8>}S9kA?s+?M4Xl2yN%P?_NIp%b-TO6$WLYR0>s_k}u z@HTNfqD2N!J?zK)R(}xEW%To(K5C9*jEePfS&0zML5Px_6_uIA$c#1{erXC5Wl=JL z`p#V@D~3xDM~(`r4zZa|)6XSgndc2HM$78^(Ho|K9y5*lf9bJMRl+cd$3PR%&hVgP zZi*we_-Osb$&E-cwE!qBg@9^wc3(^pADU4zrD!+Z>12Okv?b6h7>byA*O3$j2<yiz?3kWXAQyx9349-3co6r9kzMbckFS?%?4lj3;1T= zf)N*^{E$R~;4YKc!T>tVbLWxRhQh(b?5^f4tQzgaZ+_djPI#}W%||;mvUHWwNbUQ4 zvUJK5K)=bL)^lTt-a+X>DhJCGOs%MYG~~JvkQ`YF-8PCKzV)hv#Q9Pmj0odTCFee5 zK@3j(Zwym$-chkuU;Bkp#M|ZWW>#`NR3v)gxZEWcZ&QD;_xNmfwn03O`){ov2BzOv z5;=M=e)&=Hmbfd!T!QiPqYo14UV+f;Jc^7Y2(or%&t|dwzHjodu5W%Z(vyc_`kvLG zjhoP@P?!f61rTDsEFuq*_<)S!i^`i#mFMdSDond_Oz#kVOF)b*4IzrR`?H?=+EMbB z{cnB@dZhwDB2+NutsKnpMDC@wMyXNE_6s#h;r=hw+ns|;qzZ1JrHea|EQ7Y0vNltL z3N~{5ZOF4bNpKfhAh|C1bYSM4^_#QKK?!}OEP{lY%czKNE+Atb_*370`z-d`{Ok+Q zjv+eB!S*fb(D=TUE$Zj#%*YObkm^~zu%8UezU?47m_|AAe|)CzE>|P$BwM{=-+Kpx zX{kX}Su)`%{ERFLD)VBASr|bsyjRmW$5CHk8wJl3!^=oATfgWtS&t`^O)KN0KtPih z9A@sGQqr=Zf+F@wq%)3Q`bIo9GHvECp`refHZ^YnM8f<=kgq!_ZSA_y*{QoMUuwTBA=f} z3@_nC3=$wBZ}rA(`0XNvk_*)7_5myq?Vsk_teUpJ6is`1F!nQxkid$xOJAE!GN;>pN1+BccrL{oAqp*f~ z$x#`Y?rrS<aQV!3Zpvm5|A~8)C`R!|Ms;o(A>m=edSm;lo}}_}@MhC?qg0y(;DUT?k+m|NBhYi< zQtBMhvRO438&#_na^!k9e${(`?DnswLhj^^;L~g7o7wcQpvyyu>$pg2DLf>#WpqYK2S{3l>fp zf2PJGfyZ*pX|hu7NE(K(L5?H?uQs&N%~b*LX<|VsO68T&P?1$5`9>X$Txu*ev_VgJp7K0Rfo+Bh69Zom9 z88uYRocO9pl~D35`K;5#TPiDRW33J%O*LC0fms*Q5FV@nS69bC87?^BprZ(jL}e)ox_y5sAOFA5*BSs1zfN9tup;?j2x zyExO7cxX}Z!$1+iEHaSm@OyC5W#2<3AGA%K&TQ4Xu1Hh2HE~P5xNK^>D?$cgQ5nsM z%yC?Llykf}O_~ZcrO$4q^4xSWn%Um{7TKxZk?omeBI_=Ylh7U;y!>EH+951t)ovME z{6zeFrnvE>*<&$?d6Zq2MJ$_&?qxcrz9h)Ck!2eiahtZ(_8OIf+b;LRa@x9scjdG+ zSvuhO1+kP++|jb;38%EkKf&57Q6Dst)M03UXzJ3X}w7!K=ZT~oN?N7|= z?~?>E-CFs!onf*Us6R`TFZQgf?n2*$f&d+CO%_mp6N(7WR_Mz(-;yrGe|eu8Hb!sa z2Mz}K5{n6V&+FHVC@qoY)%@&!agby>-rh`hO>y1^T8#}y`^(yrA6^=`C~b&~w>IuN zPu+T$v#8NSlH>}h z@wmyty12yEAKH%=!@I12+gim zv0!V_=-?er?qHyES1C0tzjf{b+3$2I*l*2JzlavBy0f+xe9(UD=Q2!qIP6!JI`KUC zAaE9#!AvzWK+#NNbowu!(&)B)ST>=4ezsOB;lir~xs1F?X|(7(_+W4+Mm7EOrYqFp zuFh4*I2}|h2`R*SxLzDT6wnw7Z?UlML47D->d5F%Cj$$nsEq|X9*gRF0W@35VWyFj za1b_&U}n8YZ0IxDWzwC4Rgc6e;GcSTJRw^kP*mB~z@o0iv@+~FqFA^G+p1}UWDEde z!2jo%hdKSLhp(@p0!)eZ+83lolli*HTgcS-Upl;rtUZ)ZgI~YW?EHv0ELR!X;wzG% zpH~hP&RH-vq(jY-Bg3P|>~J#i$AC$=(M`(8Y~=__2E$^hW1N?@(&flv^eOR?@${rl zv%UQZaR}=j9k<50&Gr;Xv3AjlAZrx-=P~MffGD*n zD(;Y?wxIvX+KR3B!vZ@ix%neb)#F@^k=F*}u283Lx3f6kK z|IU*FwklSsd7V$eyO>oD9<33I2Qik7a{tMugK72PO}zi1UMs5dXI=EQvd1Db9UKFL1MVemtPE zUrg8SvrRc^Z>Uf*!|J5xhDJ7wrIm1!cb7V#JvO#F|;SHw}`C^M&KvMg#NC z&3=v$>Qn`Pvf{|9up*D0`Nz|_!-o~xT#xO!(D`FIbaGd{B$?{oaJ5#L!^`TYiB5|% zu+rtGY>C~PlB8xdyf37$9KR#E)3s~;I@-DJcX`~IYZTNp3^zaCpAy4EgTB5dk|5`} zXv>3=-))N!DGKO9~ zs$~qc#VI8Y?nPyG?UhM46(j%m?e?6Rz{-!0wRA>Mj+?7HZ~ak$MW1P+^UA|iMK?<{ zFW$c>hsQu^>rN`n^1G+v3SOkneKO76shM)1kl-m9-rb9~h%l^0|EVeuD@%-W5{s!+ zmhLphxG+1tyffNmjO&j%-YMjIB+|M}bY%09U$j!3ql$i!_ zG3l-vQ63bt2aOpPs7qamL|F_ipwDHJKd;-quU45V9YL#qTXD)8FUN(DC_O~;h82G+ zr;K)d5k829+b0w#JE-nwU#7vfAUUYkU%-g`9i`9&Zcxxxd{(L#ylM{$ToxganFN&g-qp4wfZ9R1APv8rW z;IabDNak5yX;|@(1tqwi3C#|aEY~6v4vFgl!d=9=UyC;;Y-j??5wshu|HFbTAFhVI zdgowS|DR}u$TaJ~%UVUNWJe*eE@2CAx0Mn9 zv!<*2R27}xy4?Ima#)`2~#L=Dw!L!f|t zqT(}PH_wJY^@bQt--o2jlByDl&xJge6AEy*BG;)p03K0ky=f_a-GzvqmINLz<0cWS_*8y_BZz8U2rt~5GCec~%_Q`03qxjiCw3MK z5yiE3QI+@eam&s2 zNEFU@bgLBV`$_@6z*N!MB0;Mj1ad7yc($6aMaQCX`r)w2urssw-i^AYQ%S*sIsW|{ zdtOCjW-PbNxSwYSeUsMDSgdqijZ5~&A>J%hcuW>n98bb;-nllbmLMsx7X&gh_w*@T zS~&wZ=e-|qCI8d8RZ@>h??*u}z;>_G?yJXvA_zZb-UdbaUyiI<6n}t~SszF-^r@km zSrRQKRMw=J)=om%+JQ{m{jGKnds8KAl>84#8TX}9xD1MjmgC;?2Bb~Ma4plc+7-)0 z4OHxg=o_=`h7`N7RE(h@?bq+;GqE9D22!R zXL-4NIZ`9yCRX~#ziOuvvUalAx@mkLQ2jRd5~iNX&;oS6V5T39Vp_(5^YxvluqTtV zuvk4GZn|U!5d~A%s^@j__?uAz3-<#`8QL9JQ-}cW<`@!f4inwEO;Pny=BDpHQ0y2Z zSZKxn04;BjuFCl%Qd~A06uSKGbHZs;6W;*Yrz%h;4+#p@&lh98XiXkv45HTG)TaG~uLa^2nmwG(nu$2bA3k`)4Aj>*7sy zD^t>-|MS16pH1pv?hpm%4Ku<+azkrW^Pbpuqu$C?FzyNvTo}gY8xK!sQRQ47CqH)~ z6#ycjNt3wD;wZY^Da_|xqFf-&5O3$c0>Xinx~W)ssT4T6O&ozm*ZNoPg*}0w#mWOO zON}Sv{ohe24hb`W^tTF{0-aCr2hg7gmoFUlm7ITh^I+$bC`}eafxi|I-B(XxV&M$o z0`!;qo713q_P%@BDv=jc@RcGnoi)fnM880pb2mYVt28s z@3>sR{hRIXnXL3@EJ|96n{+LTgU{F=Rg_Bx+T33;jD+)EYWhET(4RI+#6 z*%}?ZMWPx?MB&l7JYAT+)+l`<63tJZ)qwV(OxNRW_3r@yMy;NJ0L)HPOoq{=#lW|k zw&v6O8&{{x&8IgJ^>m7r>pjx6t2l%KX#8R*V_kCYsP|Q$@`tM!zl+aXaEQvzIT=e1-fijAor`6fd@hTG+dM3;eQxf#oVo#F674Tm zgc=->;=0;(3)&EpXR-g=^QDRgwzhyQW|-AqPn7?5{O#7$gHShY&KSmsuyHq_LQ*b< zNqv$ZX9;%mjl3KI6^Jq?12s<Usae)+cb)v63MB z+equglN}+W-;uVc2|7tOaB=3eG?Dh*JOxqvh` zhI}37Y&AM4&5bE}$sbk`T{-ymf5qHxDje#)0W14PkM&6#Mei}?V zO=*=Z?Op1zn!w)D!Si=no3{7%Y*PA9-4-_UeUK9v%O`?aBC#|rANOjdsj20ka)m+{ za5JH8&nc* z>`r_-6&9-W^})n|wwclC5^e%8MAixum4Z(uK8WIx56eTnE`rS?4*9$d5$%{CNfl9nzh0yLSh^)`ZtBA#MIpg*p0j<$qCqSge+ScVm z)yJ11{$jcWzN)@%;u9-CXxw1Zg&4rW4d0n4C zy~ZUV%Ss0JHY?Md?mw6bfXlqZwftawI=m;%A3&r_5~vr9$`Kdj`9T0iN{Ho=6;C3! zkgWz8SdV^lWY?|NEUmx&Fw8}`@x|P9ol7449~<{cS=u*Ys_@CtE(_d9hD{l%+8#5+ z^jcy7TdSR#6I?mA9rkVjpzB`}u~UO3W5FeJ?mJBrJ3G$c#Xj?Ho&GtIW1~e4onxO9 zAd}}A5G`X-0~+zogheaR%l{>)e7o^GD?U~;@ZYq0h;gUGlxDDvPbhPX_FE?n_jGK- zdyUbR8G44(V9R^lJmzOPg>AFNiHS>&GO*V^V#fbdf0c=Rae@MXxP{W&cZ0+@$!$g9 zlN)g*9pW*W$|}x76`y<3$wx$Y9PTpirv21SX@m8TN(%8Lt{6VO(N*^On>p5tRd!2i zb+z>YSL>(-+aP<)S=gOGLc5C^SRsyq9qTsweae-RQr(QTV6-zC59gHhw7I^A)> z9m9RBN$)Nwl*2h_T6YIY<9%W}sNE5m(eRs*UtK5P7fUMx?H{z#A|TfgtX^)3IpZIz z_Y4qtZGC|RI6tUB&GmfIww~-$w{P=;JWR^eP6FtUK!ubKqzaM70FTCxl`dtny2N`^ zwwJN=S7+kquXnPJSBr`U8xnI0{X1YG+#Rj-E3-`(jhts%G_4gz(nKIJXG>IU} z8}R4q+3oZypGU%fp3_oUje?wzuN^V;$7BWcwdjt2n;T;ukykKhd16R=iek?GSa$dB z$2Dk@u;8qj#BQ*MM;j#G9=8NLM7?YQ3>>OgpEvBT&=DUCADIqMar2lovAuNAOnKi0 z80&u*|JR>-sAAl&$+97E)ALWj?UX>qm(Uq7x%7cY3QTY|-L=wrH zBvbRQeO0SIbah2JU9P(a7=hPwA2rdg^OL+h)HD(#=~mBcNm9uTY<43l=^d?f1=Ik} zt7aVBP6zDxD`%zdU5NAF!;LAAqo`ZX-z~|z8SAln(G=5$gbW(1x98NB*fO%&kR`Jl z*eS(TL85&48UoC_V7j|Zmb;LLytSL&@n0pgTzT5NY~;2bOXXe_!x$65;7ld8CJa zF%97+{Se#6vM}c-D0%MkL5vtblZy_J`rp}bIhc7+9{em{H}LE?I%tt>eca^JB0{Kg z=hqa&f2mkpNwn_s>WPAfb55drcZTs)=c1dt0pN;(;CyqxJ@p^NN@m5jgblyKGv2@} ztY-ar6g2GQ5VQE&AQc{GE~K>UDWyhbLF<4(z4_;IRL|D5f z_3`B!k4hVduWx`e^K|&hFMf>WdO*DE*B>s8H0mFCj|Rd4!=xFbP=^#Ye+@gv(FXL7 z#W&;x?ZOa*CgC@dm1&F0=UpAgTR0QVm~{g8og)koGuRpi)7mta_+7lg6QTB^e3T~_ z;ZIiZ?b*D#-m7w;zIy}`Fzf0p6*oN!5N=r239f7}o7QF*MFS&jinZev#xGbrPM3j7ymU%T8!`9 zjRWQlOsAdyHvJc_N=_n$udW`p6jmrON9xi~zn>`ZDX>gmi;+iM)F_ z$8+TO{?B#sfy)mv^E`XsvF^3jE$EGqZBpTV2k+Aknv?`G(ua!Ch8JO>lEOw#L+;5l z-N*|RpH2S;IS_3#F_71AZ9V^%gW2U+CTWJKk<7L!`~9sJl7o%*3&OS9@n&UeHAf9g z-SxiQ%)UG-5xJ;Ncx>A=Um?uc=KZ0YCFzOotHuV5*)}t#++?rkQGa`HxDhhAn^#<*g4frz z$FK4NX(!(4!rXEQE%F%vNIK~?LX|!Q`Q3oH6H@gMq#ZPuU`4K0p9|XyWw$srf5Z!k zR&STUBXnT5Ht9XaCXz)Sy_1@eEuM7;1}Ybyb+)(H`SP-$)66k#!4q*p(aUB+hDjCT z(s0U9uHYvgv@J3&b?Lr#`ItR~ozftg4S>Va$A;QY7w}KaW4r%NyhB@v28(RR;|K#1 z=pZkWNs!gv-VGXIjAuG)Lg#EdSkUFY+O(~dlV!i4)LT#fU3ItjJ`_eMgdj4|mwl^6 zn&jg@-(}pCe)spQzv07)s->jBW+VD%dxQb#6`J^NVD;kF)g9Jrq_ZQDS%UgH}jX19ZHP{Tv2vw@X zWBB;bL>L4TQ>ORr(XkyRAbI@z!>N52xbQ$Npu9OQ zIMe&$+WU5&v%_!eA`C)2e?Lm`QRd#~*_JcttH;9iZTt0F#pd^m()DL1oVY+gpZDKo*!mqmr_siz=H(!*7`Pt1>GDc*6GGwo4cnl>g&taBq7iF^}wwur` z1A|tnRFknrfgVPU-N-3s2-C!EzA3deq7#^Yo6a0tesJ-#*g)$wp(!ohpJ{!g?ymRk z4DlVmT{n=Zksjv581iVdwe*rh z=3fc2@=6v)#l8ep@Yc~l@j6aHg+bM~4^GChnZ9fvUODSQQfrSdkLZa*{VOPG<>ePz zna%#Hl=rxkc9%6DPW?E@Y|GuY0`C0Y&*B8V`Dc%13Zuw8fc4v4by8nV=jdeu{&2t0 zud&y{k-0^SetQ@uFg#yXvoc6~b`xL>p zh`%PVFOGy^puZtET&XCo2f)IeG|&=SQmg#PeN+ouuh`-G;B93Z^*xPDWY2XAvb@68 zpvC-vH{zee9SVA%h|qK?z!ub2_jY+bzeG5?>9NK*q7(5fU)CeF<XRWzU-R_ocQJcBnc=f5{}IktS7_8-d=ZJd1$@ zh$1?FZ+%kxfA`)aKil+Z5@K%pIk(&+9>->VK4L56mc*}s$mX|KZgEiV9vlFE zbTob;7#vW7VYj-8?P2rfv;tFp&y&j6Zok$p1Z;bB=}##i1tNw-#w9q9|Gu3}N-Z@X zYgYYgV7HppCNO!p=Y25jb=yHK2qTv(6E~h!yCX0MyH!))S>mznUr>?)wH{zHqK+hh z_Lu{fm9Fu3#7w8$e#Fx-P!Ce!WzUfqvXDm|Gn(@30a5Ogq?e^`8pK@gEQ4QmAce6N zxOD%F4XUWVRwyH~P(2>O-2RAOF*sEoJhdRFHlV?HT#t;NJL(}qlF5+G%CZ#*Ma1b| zKjvj4&-Ht$<&2JBCB|-yBaHin~lc7dJ2V8jeF*)oUJyJvnWk9!y4heS$(w1B9&u7LwQ_I_Ai-udU zI-|m3r65e%-2YJqIj0KIagj6Q-S`U_O z)#Dq7nxUe3SJEL)AdYW{R5U(r$)HeU&he z$KIY$K<0DDj*fz^-S=geQ~gJZp8KDD9p1t6h1^UA4;!Tdqjf8yLp3!o$J3JK)m3A8 zZDxw1mlw^%yir+PL4tYjfrWF;k;FghjkA%x3WmKkhPT&hK^qhNe&iA-D~9)QdsP#L zb^EW8X$;-yi9#-#`n*aYH`374mg2j`T)W70%Z8?`N;kIU@IWz}N$gekb!Mw*x;!!^ ziJ0>qX2}cPU6#|s2|}Bh;~_NxJWRZOq>fhSE0Pyts3*R+{)TCp+c$kd91qgd8q~8H z?=nFTUhQo3hRlkDIJW`Gyz`_f*?_?cX1}o6#xHYRi_D%iL57uT>vggTFB3Ha5!L7$291?xD3Yyjjb!;UD?;_#q zB}x|8g*e!XU>LzG;2yG`YZxWBm}|T?2fBIge%1LgW$jq=QRBM)k;bBHJq_ z{S==9cM*NKG9*T%?l{I~URV{4R~`2~*H=Wh<4{@;i{BWj2SZYwK-ll_26s+-xA14kq1d1tC(o0vl8^xDc< zjvGcSuf`X%WT#EB>13byhu9BQM$uwJc+NKs3m|Shah7BFd{yl+g##Cn+T?2uPs1>` zrJ?AnrZDgoz|kD8$0FpMw><~Ec@Y=W?ZWjIAJIBhJonUzHAK_h?jcA+uwBb5yH;5A%LGj z8w|Bl4b4P*af=BUQDos3)r=P0x9vKG8sn4ARvy+)0B5{?0U-a0pNzzZqY`LdE_MNU zlSzpy6_n@$e9*C`ouKl=q2l*I5mNvvhmDdqPOSi4>v?p@ZT)xs-_nBpQ%8%m3@JMh zC~p(l=t+s!UA2EQX%@xicLk9uQh%+F?6R~2)V}Th=UvIBtF51c#B|bZs3XI%I}1t^ z+JsG%Lbk3z>UCx(19qjPu77|e&$G0KTIrON=|@4ffMyEA=22xJv)_*%A1JVThy8G)Afl3En*_X`3&|DbT`sa z6s}OM9NM;zGORssi(xX~@Tt~`ragKr<|H(v|Ii96?Pw=oPkfRPm^t3eG7E;5y-h$& zer;fKv;k;a)Ug9O-a8xfiZFdPpxa( z+|f#Wwq-6$@QD?kt%(G;VuF37tBF*M$_I4_&oM=6;{q>nwe>F-BIcQWNamMKK}i=j zQMjgXq4byfc;OFyJ^F5AhNWjuAJ+Yf>x39x{#rQ2N)@>52(gHEsUHH?7w8tU;aX!a z42sAes^SMA$>AajB6MW2u`(;Zwb`Q}HLNXO*WaN}VD9{5IK#j)hP(%4;*H+NSccik z5SwPtMy{#yiZb96LHPbXbau(k3rlP}k={ee0+>#jc_yI8j{S-eDU9E=>f!$GqXrozRmjC;Xn!in6i}WYt@ypAyx{}8Z&&9XPt^6g1Td+pEryP|YVjNw zv_I9}KeOV?>cq``k~#7D$rzc5Jm2zo%H;Ff7nZRZ*l>B%;@+ydp~H@OVF}MNVCJ^> z{&%%!pDUy8f!A4S5L9nlBKEiuF$N8iy<5hwR%mcMR3){4<#_=Zq1zX*3P9DRdvv08!vHP@x>#m3^q6=Eo#%K1Ayjc{csDkQ0%AKO1mFT?s@h48*e! zUoWJDmrNWVZIi)`suAj6;qz46et+PW*2??+w-wpHJuqUE93}OxLV;Tw6J16yt4o3* zeNpF$J?=g3{k;!+!GbcKQ(ZZNkb*|<7#bWo+He4vbZ6{Aw-CP==*KL z*?+(#tL#WCD-{RY6*n>hr^J^Ux)F>zKXpi=V|>q7nN9EApIE@o&P&oq?v#ZL_N0DI zJ4Wrs&5~29kq%4k^_SRRy85`Sxw*q`4hsgV`xJ+y_Wj%v{7@TNtVOo5vu+%Y$kO7k zNf!Zv;Ggnltda$T`P_Aq0;;lIj#bOu#Ze>O>%~95P&W()1ElpzT9b#ZWyQVbQFkoIO8E+CNsMEU~4sc10YdvpGqy3ADMurg$mjPqlTIKIjnK6Sv|5U>o9|0(mmfwAORU6qHV%g9_f!53= z*4aIGWgKX#y3(n!t_AWNfWyR)HjHpaj7Te3dNGLXOXXl$sEQ9A{$4hKp@NrxZ;??Q zh^{nI_35~heDqhqX4+u&eF{0_?~Hf4L(x;hLN!>*0RIt?;i4^!h*b(Kyd^3{hRlQ| z)!mL&1#-#OHGhkf^3;GK^3Dzhf+_{<7=hV>@xT{*k*rTS(=T=ycy}1Nox-L^Qri8#J2ZUrB z2?Mnof(M(G$7t}?->0FBY1c;pJ2X+ z^;m048}*Ufr;-JkuFRQCf~hN$#0tu-`*^u+m+Z2{#%~wP$0zLW(iwb_>O?6a*RK7&_rhCSsubf<;u%pb?6>rsO+yyyx_uSx}mmI|346U1H}_$ z$K4Ew4(d1>xYH^!j~1n^qA)zZE#m=ncitl>U4s5Qb|pr>Y?g|E(fz0{ss}0QWAMAEO_h`l#=g-3c`%<^<|L%qQ1s`%wMD6c)2_vXzcekKZA=qv z;W>%RdxVe~FZ~}fW1W0i{vC>7g~|T6_Y?c7Df=%w-0t`4NgFw`@z2BEZbu%ye;g2f zMTlK=G)oU|WNtQAJNni&X!=3F#6qIf8rzJAlzAa?g_33ePLF*|LZ`IJn9bhkt;Rof z9G?T13c0bVW#P%p)yu>X9YSQnRoWk3WK~~E@AQ+^e{GFB{Y?=}uNzkrHo7qwGT+2> zGWnb+X3`ZCW_hm3`c9Xgard`^>FiG6c~4A0E7*@hF2i#qDX)zr$NUw*Y&OEc

    8d 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 z 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 K8;Yu}Qf0fHz3zQpeQ^R8 z)s?=2%=62SKuVSJ4X2`}((cJwtF&;9uOU+QaMux8g_L1alZ_zxh%Ug4^zQ5OJ77H0KlGkndl# z_czH6213~pr=@k!jmN(BaW$Mf$e+yNXMd;AUggP;(2xd2_E&rDE}=(1uY-|=omU%D zJrd;!0j-q08uF^GQ}8X9GM8_A+&Nc~!MwCv-&Iv^AaN_5l` z2c_;Pw#80W_>iDKAe=5+veY;f3m1NqSVQJIkLuFsvyIiW#xU)Vrc4-@a1s8oHMpqF zdr$FlSBo5-m55~G9JTvKto9zmOg&HwHAce(wqq>E&;2_lTSEBzyPECaSURO7)_MKt zn)aquF!H(F?&v|fZ{%KU8=aq@uQ%Z`k&rlq`Iv+d+J8knbElZnY>)S(irfwN?G_Y> zm);vunxEyfnK&*sOIbo`PrN|HmM^YSA6DC{_fRw z8AZxF_PD86+TS#8%nQ&072zKeVrHWva3GLJ9)VGUr9cn-x$7L5p7pK~g0*>7BRYer zuf<>7XKr6o1D>?44F{nGL7$rW$cS}&{k-WqE!+(28s*F&19{Zm`* z=eWHkbWrL5uOC{u9gkXja@#-_x_)%1!P4#H4jDUmbA6@_bghpRxfMP-q4LbAI?&j3p>@q0%>uZEw=L(}RWGT<5_y4CJxh zGbX~rFEnxsq>=um?v;|V0@VYGQ$!d0{fZXHE5kMA7@D~i|2442Og`(&}mrYF7j?rrC4P`R}2Hg;y7%(=W}Eu!}EatIf+J0iXh-AieJDpj;7 zyapbtW8S2{JDxvhdyNqmGDow%kK?tQN{&f&N={ zXY>g#XbSK7vz`PsoP@dPqx?9`9!wRttgI$*0lEdhk2@*L0IGdS)+sPFP-9yV<@1j~ z;|rd z`vSy?`J+u(?yXvOb(YtjflDLwsA1^+Yv2*h1q1P{(H{tO z^h26nLeklmW{rxk$G`g52p`P6QoSxKnS6ZTmlJqg&XdCwPT9EC+jjHLAxyg- zXYa=&Fm-P`cE@92!-npd2S~Zdyx<)zEWy2x0<$eA_kRsT8g;d?#Vz#p)iihx5lzlg zmA3Dv_^f)2?F1(t|7G0~W>{By&@=sIEp0TC{H8<00w|Skf#v*CkZ|hDf!CY6eNf>y zo^O71pZa$OX-mxc2T)cxy#Uo zTKjPXaGrMUy;TcE!Ye}54S)Sx6N{^l z%zfjQl@>rP33`}lzg0c7I)z4^eSciS#W5yJUP|y-9_%e7KEqtK8VbG{u-r>Pd)~;t z$V<@s2%k~OBrga}$jz>Oyni(T-N7v*YnQglp(WCjMO=i_EDh*aFti^^Ki7wc^+_#V z(oh9qUp_;7%aPT?6D=uTvzW=4Bp&aNgo9m{qB&EhwxvH^UfJ)y(#h))s!Vrsk@3gg ziPz-ZOA(m6)+U%&-JoK3oQUI*wbnd7X}ssefXHRj1nMNcPT0?ttu~oGbou78%Ly6F zLEdsR^C(prUb;w{!Lz#z);PU)qLnF&CFr_0wcC6(v2#t2g;-Coa6}1|+4_1<^jqCU zp;9zuOct07>r(su=ZK4M^TV!6mPlmaEJ^}4VBQtQ@%;{-{#1b_ZBNiatHY{eMDjmQ zP@7v1LpID8J-Us$*?FG;M9xV&6q+;}$qvzisn22jwr|_Q=rk=TZE}*#Marn3J#KIK z>_^JV%kG_-6|E9woaHgeBxJgq-3GkfE^Z7fIYl|eO?3oJW+ z*F`*o?J)*fEr8eTCbJe9C?R^WRg_0pShSsfsh>H&7&1?u*WULrfoeiZ{U&GVs`Xg; zoG1GQxy7jj^h}JQlmq38omIs`UUMrW&sOuefd4M7fV}$g*yX2KaV8n2M8cHe^SmB; znp2G7j^y2iP#;_eQ;sPdbb1H8N>!SjA$>-&V3BF1~-QJ=k84Ee4cfdXOHy zZ!ePWmBtGZW}|PPWPzsxPCx7RO8LCH&jg}-LE?J36Q&teuH&<`Rkg_xEb`*!hM?yM+|4PRk@cyTP zIj$(T1R{>YqsS6W4{BfPA)VFZ_@j?0I|Vxh8yoT6y>)Y)r=Iy91AM107WIWTGlwD$ zxGc4S6YNW4=av`uFsz2xKeJxSbLx{|@(vIf?w7K(xRzY?4O?}W+}H%YG|%)V8$&}R ziTsfz@mV4f_b~^8SgJSt@J6@YsWOC_OFx#s0!Z6_+#hIbAHsM%B&0f5TGKEx#Jj|n!eT91|bj`N!ao9xq1(}`5ZuO(t zw$$SSFbOYTA63+I16ezV(rWp*(PTstbuQ=XWRT4kSG9617s1E5dKxl}@F#oeVv!3Q z-p--uk_GM}h@u5v9yd*x7zP)<$yU&!Rd&(_)|jNo+H#}awY(VcSAt~@($)HjLaGAX zQ7^xc#V-zr0*N?OD4SZHvYrUmlsc3dicA!$^2!p3OwR)uRpz~vK&_yUIVSZKE!gh@ zg1byd3!P$?G2nDjYmJ8Bmf@9~{U3Ax3{iO1$|~3pEb15AB^i}L{|!1vrr3zqngPxW z5*+JV)m5;g$6?2Tj~J1Cjw2?7Gg@d(NpiwXULzrxeQ|Rk`0fWo$7n;R41wY!a%-Ii z&yt71S7CY9_5<4(qKID83DczqBv+W>oA%HF%zYPZXEOd0B*gc$c|8Ug{@NmK+L=R$ zqmLL95|k0}qC_h^=6~or<24>8>_@hDq1WKsxbI}hxitqhhUW0*tL;_R6Oikd4UK&i zHE$8hye3r)GNP3&T;cN%l5xR^dK-0f89TPg9FBuE6@RpIQyjV#zqTWi z6z8qAU&?@y(G+`JBeG)5@pHt79_JHo1EE1=M0Mr%%*f?;gVl_sC{cymgxlWaFjH8Z z)VoWaju27#@bd3ymsaedIRo_Vcn0&Lxs-& z&0XJaX;BFk?%rtNEkAX>WYxKnx8i&aN$+UY=_oMsUoM&M>6C7A-&dI&zgq#AmG+F)qS!`qN{5vQz z>DxKPBgXg*#kDO_BBJz5pIPbssxFmGEBGqa`dT(`k zHJ65vw6b55J@Ub)aJ&d=@rK~%tmIav0^T@LT0JCZcpn5TI@nHXD$TxpTuNj1yU6X| znu<>z7ui6+32x$SVX@{fQ6KoqSP3mg{;8tBMNIK|cPhS$n)K2-KXNy*V@OX&g=bdA zon;PLYmn{d$QM$@Ejy9-^fI1YY}d(OD^VOt;6Uy!R_I%)16jLv4RM^sQ*ez98=7DH zv!=8!U9`xNmiWns^hj+uYM=w34()|6GQ`-2$^u7TZ+l$K_gJK=+ny0A%77f1b|~!o z;n!HPMC2#q9gl?xeTCM?~0AO0NkBJGuko3Mt`{;m>SKv{U=S(h1H0tj6u25GeECM+Dz z_7z{uCA_Own9mo+*#*PN&4z%y4uo)cO3QLtY(u6shWG5I9^+i2LN$_*Fh8&^G zSj=%oWzjc-(`ZUO5Y`;my~of`9RxSoY)z`&!iWl{3yKt9qa; zejJh962P%FVvf8~!Cr!2AxK8q7$lo1l;YSkp_DETj@5IFJJ9z|NM0ObYlmuuCD!8q)yAAC*G;>o9O!4mbWk}V5Uj=ynMCmr)OpII&V+k zn;w$dh_95k^MyD+>*{9R2u78$whgF`4;Gi=&$N!)aofB34Wf_y{YY!1m5s-R;TcGB zs17Gi1UzN!mH9CO69WcAW3l_Nwq-7iTG9j7Kt*eewi-Wh-r(h1ZxZ*OnUgjY#_yMV zax5!KeB94%m)g6Dm>DN zdv#IUksg-QLpPFA^!N;90=y_ud90(T77fZ67vFV|vo$W%ME zI`VUp7OL&k8k0&S*;@zoj~Df{6Zqb~Fm7-^Q4Bpm$ntwJk@8uXy^Jjsii zfEplQ7wLK;j>FYE#Geo|h~)m*q&fW|$GjvIS(*UE>%|pPYQ#WR=}5s)=ni8O89Y4B z&4yihCGoo_5oPvxe-mA@jNLNj5yiUDWxDCcd{4qLXV&FC zb@R>xeF3}GKHG{xo%r^N?jMd7ipdq57M~KGu zvk|*OwF5SdhELw}7ZyTE*)meuDJX;cxF-??Xj5gOH4ud!L#U+=xlQ@7-&c}b)`4vo zzfl9}&(cZV$IWq~gTK#RMVfZ+gIu5KWGM>kiw1h%mneu{CdJMLyXBM`$XpqBiB?Q8 zuOyQVsYWS$7ve)ia=8vLQLguW2K}A@5oLI!W<~#hgJ5LnEeM9(@latL;F(sEeAx6V zkFyt(YewC~o8W?;Cy z&hc~k+~Gu30DEms1?vZD!XMt90g|m;but%tVuo@FG1MXCNvrxC+LrS!OdB`cR^Ky;4&XVS2TMa`B_`kMr`QEC=3(r~4-@ zusy4UY9o8mt#P6rm1yU9DK^;!?%WgxfWTujHgqeMhZAAJn-edcZ_)9KuyyL#Z?KJ~ z_K|-=fV?yLR&t+IHNe&EkZsfbQ$64tTNocM&^Euh7;X>hQ*1XOsA3f>$wMJH>$@g2gv9Dc2e8j^*1)8d=UrADeNfw=pahspWs~Y|bD~n-> zSDZDaIc30YpD~?hw!PI6du*fzxZ_s~n_gAIeUKc#Ji_ zu2ESkIlxq@39db_^rGXEBE62#q(B;K*S=G!ZCrH~pTGAJ|pBSq* z&1Q1>Ss=-Ib690xR=0#|Pti6GODARfOi4#~6EV&l(-`-Rs!pa8S|56R(MwFMGsL?k{&CQZSP;Bn9PRZY}thK-tAgon2V=|CwQwjDK&EBM+Av=imx^V&`KHXZFU+1Ec4^psDI;{ZTWCD4A)+- zwBn#YvSZf^MMVoL4Au)eaOndQ6H}gd#5lPP(T)4aoP~9%-F-3dnZvv!ivc=9-+=Mt zzyZ>D_RwhVkri$#QRHd@PH4y?bKQBe^#FuRwc|M=mzn14Ve=nlhbKg)We$TCTVGv@ z^+bl;<9!LOuNh8XyzhwEs9}ENw^=_C@0{u0!f18^g-eU{x^QFkJM(?Talh&5b>s@^ z_PZx7zKw{6YWDCp{VXp+>-gLmAxV+hdg{Y@KTqRwAm&@$X6sk#J^ zq!KDbKWFz!gDJYz;7ByNqAlwv(_aCf2bEk!-8=mn-`DbW(1oM1aXT9Z`@6##`2UBl zw~ngn-S&q!9a5W+?(US7?ot|+25Cv98xb~0ccXNNwA7ZC4(aah?stLbyuW+C_uPLN zgE1JJ0c*}@&QCq-1G*SfZ0LnTo*L=lAlt_VSZD#vda+*I|NQt^Xg2-Ripq**MlFju z8K86UNM5kDNTSryCCDpMtwYwclDD~EvDDaMi9-~SJSxhu&Gw=~Mu0=`LOHKEnkwT1L=)aP27C&31m=7J(P z(v3zoG(U??AoejEcT%1brL`-ao##P?DqmH^au}e`zP#wzYs8+wo*PGK=g*twCG02x z*p!Ud&N>G06A*eHjGRnav<}h)GrGe#S0#+ z^qBI|my}Mx?Z@0(M1EfcGsO%Sg8?qAeg@#ef`=sL;<-w22m;q`Q1DU2(U6oz-`>@R3n;wc z9k-h|xB`z)951PN0_2%xr8bk$S?8S)ce4kx_#IgsV)#nK*wq8(QZb;Spx_^yrWCxI z-guN!GVY8!t#q7Wg`NO@PgTt$?M%_ zsYa}rJC)jV51|-mkJ3{-iPoxpnnkgMfx*e7Q{tirVasWv)ubZ)-&*_~tKjL&xq1Y1d$a!5%)= zwfiY^`ex8mX?{k@9H2Y@qbdINP3T{^M-_fd8Wd8?xs( z;u32zlhBA1p`Q7%ZpN&9Z3>1UYu&ZG2dI`1D7Evwt%n8v7!;$FAGH*ws z11wliV~~@3Ams;GkGIZ@A*t^L3IsCHe^xW0aghE*`wDF87b3reFq~?DQg{MdPYH!) zyiHA8D2=E?+)CWO6GZIY?n-}r7#nh~m(287Tmc=(gyLbG%=K21`WzEASP!%Tja zpis4j4ev7@X*nj2I9G=S<6ORuQ;A8$H^QlHak=uwSvpUn3OAZey|oGEm&qF3rB=+e z7mxP13-sXgZS%Ukur8bOo`Ahf42trB!vaS#Osj(K2isH-#awV-QI!uvx~@zq$-y0N zuSr$O!M9V-#m+ut!UxLLlzAhZt zq@b97t4WIU$X)dqhF9TdGpL5mhRP1xU)b6B7hAlMG|!0@9Y!88$Q*+$%W^&0jnJ)- z$Ji<6Vvm?l!#Je1S~-XHcK35=9I{nU z72Es8T`0~uS$Q%+(CUvZ+BUuMx!R6A-5@Nb20m5AdOyb{oaMGgT z+k5CVKcAD!tU|iK=`bs$sm`7jqz{aF-&&B<4zc)s8!R5X&wOb=yQ}-D@$UdrqJk9` z?tIR^TPr{FXG@0&VLG*2z*pSqS;S?YBnI-}WYgAxM#L~T`8}i6>;IxjJWW9NGJ`^k$v@~N}Z7?n|3 znM_L)0AHiFq#w;L%i|$afi9dz6<^Ujro2rdIJ$3hfKLAVXH@XMkYF%+ZT4Nzu97<@ zc_!0chwHAow=|rY6T1l1aHCYv!R3*;91DM|m>iGXLb8V~wwlQ#e-iEtEq^EYHb`h! zQBdLv;MJC+DfVW!F9|%gL`FG9L+Wt!yk@{1>7Od`a`F{gtH|gLgRDe>aix5xRsD!0 ze;phM9zgEtQcSnw@@bX@M^Ty0g#q*>MnxjNEbpYVVA!c$)P;44iupZrsnjPBEHs}k z>cRk1JTDB>+T?8K-eN`m+jfVH;~X8^F0vVIHf}H*vyd!?qXYw1_lpn2!JRF|wqWto zNL6-^tE59tNFDV9$+K3~n^*3zwQ#Np&%Q8%W}~GRG~CUi2j`N&(K@J$Bp^Q6LuTId z=IFZKhjH)#GEq7t#M3ynDeotVZ_2mSzP(ydfHl1F3n@~|$)!n5(DVniC zLY?HoVR8Tur-dVzc-IBqWHMMzC__>Qt*FtHH5guXe9S<{UYQJuInU_*mK@OSc-vBI zUez)YA!qwUaiL#Wh73%%S0<4Bc!^BDCA4$eJQwz6_xrZP=rd+MtExc`Evoz-V^f7B zxMN)x8aVEk>rJt5(^a=%xKdvxLXc-pehLT91^ImBUYU?7zATu%eRW0J+??|-HhcC1 z&dTTd57Q;xT6eUYTVM0E+S83Fw#J8T*qI%2tCcQ3MHp)tr!tsV~4wR|59-Pdl{X|g1jV#VNs_EZYaUurUG z3J(%XL}7Q-S1^t84ln4yme*|XC{$l4MTEQf4miB1KU<$WLF~Ot`Q|tZc*o{i(7D+t zhlCX5cL5sNq}P4ahr}TxW!xM7c8ax=L0U69_l(FltnjWKYr)ZS{Tn_pr@|*p&(y>+ zhaFkpv=r6Zns)>RQT*SoWW?h$M)4-QG1G!A1=C2tRc_!oj!@JFB=^fLQ)W!z#W6-_(eIBzjoL)L zym(M@x`|`~#|FFnP zh8V5~|Cw3AjnK*i*${FZ)Rn$`OyDb@4e_T{v>tgs6Vv9J$>$G&1~7}9IP}6-%{8m1 z+NPq$I0*tGI)J)5AA!7!kvAvkr0E%B>J86FcJwHZKBy}t5R#!I2>1F$LxQ^9>sHDY=vvc>6a$xv;-|9=X(@a+ zH23j=>@_zBsiIoD7nxZR!hZiAkRB8-F6iJA*0?Rfn16EN-@W=aCE0zgG<{5~hV&O- zQNYWHE18m7I6@9d1Ud{@dY$j9iJH@|hGta%uNE?q{5Ew#Xsasw1jstqn<3LhjTG^1 zdEy4=iqb@?-WajF>flBVwyRtXP8g0nn&(tO%gP`%BhC*(Fk)d=JiZ2TcLCKi7O6DN z8mNV67oz35cNN2z+dI*95F&|tAO@XtN$xy+S(hVNaSFbg4-f2+mvH;b6p|-qjTYYqh zaHZ5$k1nO@ZD&4m7HzE8_Kv6cSwuAy7*!-v9y(#Hop;W>O|Nl9 z+GR3}?1VBWV@l7FTi_+5@ujeMHK>PLXG2?MljSkwozD#5G9xBt$pa9s=1;f6V1ZAd z3EwpsE|Y*7WFQrSKirD^08~wS z4dPKksSQwRU$_`y4cppw#D7IGA4=c&7~D+&durbqb9huuC-RL zue(y88b}}(uvq`O;f}N4@w0H+)@IExCCdH2)h)WNOc^DV&QBdicYXN~3q%cHt9#vj zlb8k5$J*55is`HD1%ID6a&grUT0ME&3v;`45|?7jz}Nb}O8S=&>r?hKU0 zdStkSLAt9~B@?SnN$sObF|DvvJ=6=qcJSo_zM3F!5cJ5Xu82isIm=oZAKZU~<(sgL zc8>ic$|d6kY^afcKDSJ|dBBlS?=q_$Tg!oGF-srafpAeuqk;1EdwhpFt5Q7p%*nO_ z{Dl33D&w&~x!8%R@Ys28b<~N|(9EVjM{Y!e!tChUuGDP3H?qzU!{YcY3mYCN%pC7Z zEbTuGnoiZf2#&Trk#l~#fVlM4`xi&(+)0uf=FJ}aU9|aWo{@^rSz=8=RR{Ni&4uSW zp(6MX#ff#U-LjIkw&P+?%oAabUh96ZmWTPFm-9Yhf(+L;$C-|Gu%0@3;l}WUQ0J9b zws~!J*m~+_4I4$L0NdU5p3=K^xN1hfcpQs!tREsVHJ-tL{2phAp(75#3r@UWN*Dy} zl!4wJ-tW%ItdrBP5@&0(2K4`XOA-jd_BRjOe|_2GLc&zY<$NK7o4$s%nx`Mg3>~^rym6sUY$gYwA;J-}EF(maz|ev7;hW{Fx72W&6Q+8N zg?nD)&_u1oQtkvrP#rDE=I!-GAYKR@*U0|Ad6~a}(NF>hLPbg6L;iq6LWmqIrY5MM0kXMt- z6`(MxQ)zIOS+ujT*^E< zlL6!C^-H*Cy1RIYgfk);$}fF>5nHfZTt0M97(`v^)u_K~Nd86R)9x?1g!jo%~LEWkusSslDx*Kk2HT>XjM9XUj^-<8d&BkcX-C zVed$7>7Biw*StECoD=OVus(tbTXk0a@!6Ka{Bp`??_mw1dOxKKo`gzQF3Zfgp<$~M zY8#Q1RkL=Q$W9d5rf)W9#Y|!?1x|O~stV13KV^(Pl$4hiUKQDXjBaOzyNt_AL|aO5 zw!2XUeZeEYAkRD3fGxvu56zSqhHAMeV-vk%4vu|um4Tnue#YN>W;+=vV;hEzp zdIPov`+Zx`BuF^m2K!nUP-uVt4KW;w(7T3k3?=I!%~^C#r+p5o~1 zCJP>_Ih)Q<{U4iIfCr`fdHtG}3V&GqIycSop)f;WK(OdRStja!FYmyf9C5$Ld;|%B zFlLj8KM`_M*oC`NLArf!Mke{UZx2XL2BxHObq`p+#gTDdMpQ{D47b z_aLeqEcc>5BbFH)SV7rJ3xpQ$hr8FK)(Qh{?^eI9=zu1}LhE!BtXd}OZf~e<<1!^D zU5Kg1R#y!xbcFB;6vk0TXb6plOrU%)mx71jb|WdTCMI?aa%gyWShDK>&#XRmFb=TU zpa`hmUuImkXQdb=hLPZDS_X=$kB~&JP6O+v`=5cT12s#5G1GoiM|=lUwr0kRJx`_& zH1Z!8g+bbM4qC}f{G9WaR~@9U|4rx(dR!T0t{gY*@m)oHW;DWJpsOz;s({e1YD zu}DFwA13F~!_O&H_2CKT+yF~GW$1&e?m+~l_a8uurIvEW$*m@bQB$2%R6!U!u_SVj zLEMIPLDn*6xThm7u(>QpUPRB0_ZxPTS!LBEKbz!jp}5m+3fB*|0ruSHTFHRg3eAML z57ZN00}?YD$#36sdW5@eJeOumMQF9OrD9oola62khT&V~+H0}oi8>ZOHa}=lToDuE zK4_M4ZqR$u!nl&-S5934Uy%ooYLlhgE=m zjc)m8a_BNIpi-oJ6va`}{47xn4mxMquI}1ZdN+_4W&tR?4H?{K-V-90Z1YI=`%WmU zZ-rvg@xX#Fvf#I|kx%vuN4|-~Y@`2+T>Sp%1g+E}WAI3{*H4r9qm@eb)vhs05+Tbb zlGh13^9!=q&p;<}bI2LlP4NB@Cs4i7PwRvVe= z+4Vh>iS^B?DhDGHsx&U`hnQ_PJz9qd<2P_QO~WT3&!z#_g7V8|tW4JEKFT20xnzyu zn4XZ4)%iFpaw<0JxTD;7W)g*JX@P8k+YAz`51%a5_16`nAv$p)NhUT3%h!wB!G)f6 zH2fdEaAtJ`{=ll}eSd@Dr1(YA=08WT7z#WEmbApHSkZg90FkW*z+$7S8nlr`yX>D_e+Oo z*_OY5`N&^>vPSr9kzv}j7rpte<hC{+w?7}KuiC1(s(agpZ(Dh z@O$j=;_P1kLN%1Cd%EXJ>>G$OF09{M04CrjeNpU^ApmlAGmw$MA4rr}4& zOQY&4W%75j3qMC0eJ2LpD7xYASk_4}m}U$nlVpAJ>z!TbnED|4P-Se{<4|KXqW$K+ z9_5gOS8JTM!tzSWx3_6z)n_SQV&}4VhLinLz#WqEZsNn$_hw?kS=0#C)Na_=Jtcb6p2vl7FjBX0e61Z!A zo#SAD0}-VoXgas^UZ1gbgh8afSx;kx_r{|Ab0sx9?v;q=zYi@_?r+f2B)H*Fq>A(7MAnh1}47X~>pBc0}y>*r#R> zC7@u)45Sk}ah!C@w+)kIdfqYyntLnDQ3W0}H-Q|ev9j&F=vLJDB6e_rO+#u8{v!j* zY)t221@9bTOL%wdzpy!w@u)+od}x5b_K&DTJs-K18N2ayI_EA@7U@OUotN9>owD)5 z-F1IuR{#{p3iYeKO!#Cvto1p~9Ca@`8+VjHPvU~1F*qMvA-KbsSg7-zWV_n?OsYf) zB}oaUBiQBeUy}Ze7?iIt*2~2!(Ri0jo~soE3~=Z#i*F$HvhTS57&ZnxG=B|f|6STI zp?qrB{J-s5^7caO?F*1xoP;QQ_?&TMTU-X>P(!0ievcPXaFOw&fBV|X^LiMhr(5RF3RAnvwMETjB9}PsreR>= z{KBwmCduuhK5D9ZV~LTy)b(BtF4jgx*u`l^LjeKrg@x@4E7=J}iE@C6Q4LN2IF=V6 zNu)C-o$5`wKPS(O?KV&Rt}@t6v;ceX&@YKv-mb=vU#U=gXVe zdSk_+gc(4=U3%9Bm7Kw;pR}L}-5*K}198{5a_;Jg_iOH@GMk-lBJC79x0cDWp~n z*!?!=&8S!lk2u|}sX^S2d~;kxWyrkY-ngN_L3m2V>47>HVp!m3>~5JmsyO7uA755Vf7bG<}=GIdeESXHZ~{?6MObC$yuB7_Y=HWL2^P+Eh-j# zPx6L!KADFVgJXjp=*tz_LiOj7q#{LH)$3tj;^ErA>&1!bJ#C*vf6UdIe*N9$V#U7j z_Z*_7Y3D^kvb!G+v>7_=BMm9oj2XFXs}R(0i^D?-FTZDd{l#woI|#v11E1`bvGm;Q z?6-5?FU)**eRqhYEMc1-@M~WrPoF2C@jFk+yMXC&uob41y ziriW%Lkh`yER)aKbW~1{BVWU($j?!ZlQeQMO#Nz6VgowJ>O7ln2DLtb~EInPd#%&p4;;BLJoIE9ugq+xa4 zMP#}$fl@Uf59Wi84Krj@3fJLJWyM}STnc9C68_wEyUOe^^HFEfG?y40AovR}la9;DsxFE7mfNAbw94aH$WU$2@95=t9UH+1& zSC-+~xe83|YE`Fo1!Bh0p860@u+KQ)wG#)_y*I}3ca6#8ym2)I=ux@<61aGkB;d-E zQA9%p2F`kUcP_cz86X@NkSki{9nqYo69KYDS>zs?exYfYHmj;Y>ax)+=UlG@LzAjn z>_h3rcOdejZN`NLyTcdngp{RVk1@7{Kq3>%zk^l&Ab~Eg8f_gIR>m7=7V_YQ8cv^? z1RSo^rTHPQr#wxd)UEsQgPfsoU;=3X4r#azZdW9_>#2CV$z^A4BQU1b51;C3h*uQB zT-f<{0)GAs`HQaw71;D8^jyqT_MGhzZ;}P%;H{$`mrSaFJLWH+eiR)Yxt>gOs1?fu@A;#Ra{eIs(&<6P{CYyWN)0sPZ^zEo-x%b8z#L`<6 zo)QvS9a?uvwojdfJ!(Gk+v{O-7ch(vAi$bB#Qb{EG5Lp)TdI6cJ4-x>)Qs^ZXQpPz zcMW~}d_%0!YYEJ!;T0U^g@qr5dsTbH7Q6gx#GXDAAGPRff{2T>dGm1HY7(5^m)^66 zA7IVLl+k~a-5LBkpZai}vd4=UfMbn;E8n}EO;uyPyx^%N=pBa+v_Ud7cb5djRlR*9 zZeN&tk=UC$MGzNR@$hr3=Egxaj1RTcAh%z)=OZL8=tN?^_hI`^0xz!>@ja5FkwZwh zP)4$o7k{>wMA^I~4@}1}1SI?u#RqS#$lulm|I{IU8L%BQZ;#5Xmovnk;Nj8WM2UG} zuV8e6)@Ce$LAU9sn&tV~_$dDCQb^M(?eUUv%MgP@JN30U{rR*TQ`3`|Fb6E0;v!`<5O!en)Mh~#E#F0la!quMTX|S|Jf3eFdD2SOn-PSM+q8#+&JFx<))2c3|p6HV|J3ir;*#>+c0@OXyG!y3JJjv#J_F z^P^lF>G=XptWQ39n(xO-u@fiZ)#mOzxJKddDp^3cPC_yFT5I!?)TobR)6`)*whZin z&qoCv00KE*(+9pUXqiyH65J`KX{brBSUEP{c;f%&)bPu$xgpV zJjj|>Ba&kmbNT1ZfNu z=_l?oD>VV$GZqDKTl3y1>(ILmP2yqjIvStywt%rzD1xlhKQnizFxe1(XeaCdQ!#ma z*>vAQ3c3Tj?wU8$RO8Uys$V$&vuOYJm7yfv(;iq4XcbveL+ycm-kI(9^T$h_%EU@? z80vBogH0wJM|X;_Z04~1;~ljcN0Eg#j)o5>CRizTv8dw@qfi$h2-W~|+3>Z6b`5{u zB;b3g4tU>fBqs>DCsg4_higFQKc$Iscnu9&mih{E{C{nFwE|`f7}D)zWfc;aNdVZg zIBTI-D*Egzlzg%+oa{%wk+A;Sie@?LFAMSxt7~wNaIXsqY;Pfswxc|buep@6r_`mY zdI?16&frrQt-c;|Ht^kzGTic5XZdyaNm4YEVCc+GjIla7+3e&xICgd(E@S&##4S zXbM}QrdLYWRp0z#H;(*!>&*9*+{cGby1sF1)X(Iw&Utpm&qTx@D*vTn*oh0l<^Fyx zT$i>S=9#k7YugnSyND=0+6_#rn zB6{w%SCaThRIwZ9d^0_7{+u&l0Yb5=Z!sJ2=#iBuEZ;4_9_A$bh2Df2A9b5P6HGwl zOy1m{2@jo=;CLA#Fl+?GF)xfivb4*0*!5I-w?c!(*ERDFYJuIfcWlCie{Z~?XgLK! zV0kB{-RZLX;U-}Y{zJ|7k7%2K)UOBrKt?NSCVklzEFK0aVdn;X1ZEuJr(^Zv^k%aJ z+?y|ht}<-(*4#x>$fmW6D_y8O;HbKBBB{wLU6aQ&t z{C~4#i0H2*!1N>uj3hfnv=$ckPrzIjSU4zbdH#yaX*SWT&<+q-^=(UEL+yNsL(PJ! zVE+cIiXB->VnoPsb+^FGqAdD&k>H+TYt|z}1w`&JTxKx$@r=q44-0&2WQrO{QXLdg zBPEge!nLrrW&e{oQNn$UAuN@?|4S%3Hoa~xV->g?t7g;Em8Q=&7<%t23g$Y5=k_sk ztC5U;O2N;Ot4;cs3zR z_Y<*Mrd?RSru*CZ?Cp7n>ZMhu%t)0t(xPzxWMoBqVnT1O>B0voMd!B}i1lGIz7maoW~%sLBu5trzJTjGADfv;jv=P_Yk zLY3e;YL=Hb*tYw=?meXok8oSoVa?X@vooII1ZhVnrOB%c2q;CnHDU+Y0?rC@-glYG z!KEERV1br!CLPb`=N_uVVgZTz+We2Tp|({Y*bnb z^(Aj5q9_{PjNAmdz)hn1LU_-D5(_380$k#xIV2MQP~yZwpXXfII2!DN!~(SD)t;jg zvvnVayrctNB7qoN?Om?!66st68z@)3l5|?@54Cca62o^?0Y#`ZLH4scY)rgZ&u&Yq zxa0Hg5UObQQpAQGXDb{&->4qN)$bR>hInRj|QdzsH6x%x#%P`g4hP7}p_ z@!ZT2Tv>|w%ts_%_Tr@=uieiqria?cN#WLoHo$`E#^?7A5o5r7c!I1WmglBC@hU4N8)8F)&ds>q84EbxVt-RGkgRvkA} z1pV&D)5g3%tY;o?3bOw5|0lTrUqAehkc{6rmc_YOppM30Kh=1#N2S)9FLVv`%GPi* zO0Bxpq$h|b(|Nt7wax0oXOQ>O$kuH%MXy^J zqPCt7yRVLJryO3Y9a7bccXLg~-blX9!>AH>|46F_OFX%&;?OFcnF>d4-92ciibc^5 z)+vqNk+x&0#x$jb_&SK9z2BQZ&-eo721I3Ygv)M*LC9!{}*v>ee+0+CYQ*kZD@vC$2*Bt!Voo(UWD@K6}Yv;O6G+QnL z(%Gf04V42wZGNiGzQO*;TUgQY$iQD5tx(%%I4#SVCrGD%renv;#n-YuZuf7SfIk=8FTWhN7qh;Sz7$;QbP#?%e^m|1$$`WeR4$E0=T`xsZGo1g=r)@>2K$e<~wiIlS%-}1etTnd>7;uF@7j;j)$$iJgpcX_Lp+tNrl zGmH=XXZV)+<4ynm=tCucgjm4y`A-u0Z;6Uk{YC!DPspEk`YgP4 z8W*ItwiBziV`odWjs5qXDK3%S)@ntBUsI?k;Z*l%FqD*!z|O7 zT=kYB?6fF8)J3gfzVV^7W z7Bv36Brx`bTTHtnUSVFbsVIBcXmwNj;-Xvg9llLmc6lb72@0gOuKQIH({{HX=pa(D z<3%NA-`ZX~DmB&7Fj^e0F$xJW>>_@yF*W3F``)tt;~ry$wxPrWI?2~J3mA61Wp46z zg1KoLO4$AN0^E`!YAQ)>GoeNj4y4=~!O73e{Vd2J28Nw1#@EDXFA>)xeg+4C>gEQr zF~e9OsvK2kj9w{K%E4){tqI9;nFV37_GN&8{hBS7`GcZ=fBcRR*AHi28(tyl36B6b zZTZcpLWuf`we+WHbsm}hHf2<1(TQTLfk*uk1JMO;RL9WJ+8K+z3XdJnAz@n}9w$TU z+m>+uK#Su`!apLWqpe;=+U@rmN5Vg%NlY?kX-~5Ko!aOwBtKZ~2CX*Hw*ZkwJ{t=; zAtgjuJEpld7Z2nDK=j{$m596$xAoUJ4qx*3t*L4NTnWQiku6Ohb(NZMpc$DC-?ci4 zAFbPV%$Y|(@le16Gfm!5S0IFE)(2P$`7Jx7VsdF)Qas=W?q)`(;Qs9e*wBSCULjb5 zchAPKpPZf9uA@6GGuE=tA1Sp{S$Ah09k+t?%~ExiW~Zy1G@mlw7xPjoUg9D7qr3Zl zwE`FhYwGrAl(5ZdI>{~aQfh^giE}nhqed)+*B56uvA|+!lem?XJd{*cT}evc(=zxs zUr@jYH%n$1g22Hx<5|htqT(eAU;ap+S-|#_NsPOMe;?ivd)m6_0pFA`zp$3B1N>(p zJoO^vNXdYWZpM4#w>6_KOXvU)A9K&w`|n6Y4CN0!79D;bc$8tm;gOu4&hnT8*~9so z5Z9$)E61m+)-^YJW#MjUd!2olEr^39--u&A(vo%H@%{Fji4PVFCT{zjH)7j4 z%zXZuOfBs~0-sOK>BOMKrHt%9`v%%hh1Fpu1}H!D&*#Pm==!D$@)b_3qj!leMIfT; zHjL|wHj3=>4Vob?F4F)mFNW+%_kHXZBPQSs3a$I~3I=*&Z~S_LH{-@tSp2J*dCX&o z!0&F6z{CG?50nd{Y2}E3x#g%lV(9uB!L~qi_lbGM!kH{?Mctgm`x$XKO;Rzw7Uxr% z`GHeGl*;*snY0r8r;R_Air>C`K58YjZAI5#iPpPofO3SxR_-?ZCR0}aO4+;y00Va3 zSCljl)r+k>jf;5q!p(ZC& zr-NNAnXaCdlH6mW?1G}%) zaJnK)Dkmp+yEqnFM@JzcOI7#gj_<12v&oj?z_jbd;t^45NMYzi+;Cki^gTTVZ1Z>o zWGg01YWXAJE|Tyowc%-(XC|d@C~gvyY-J)nTOSN1POF(rXuCHfzMczj9c;YiIGMWo z(A8nf2?${Bd=9V5?)r|H`~?**CL&V+YMNkiCDGCc%Ned5>^lb9XV}ZS=OT-^>x{TO z6{OUeQp}B!I*kq%i8-)o(ejL)_*Br_=na^4)$EIA6S4Ki8Kr1o%k^6Yv1dNhf+uFs z+S!jP?f8>lj!mpm0hy{8>n5ifVBCBlfPXJ))I&kuW{)w+K{XG`dhd?Mc{`t;(ab7$ z%2bFQ5PuF(0RNkg2DUb_Pw=g)%RI+qruuP@2^8U<6HNiaOj-O*r(7=LSL7n93f)m{ z8=N5ZUOe;z1PUbEF2ye^I3QheaA!XZya?LC=*0!db3Erj1hju)X;PO$Qtndp=Vg<| zoGnAeuPkLaidI1yers5bC-5 z@>U2q5xfxqr>mQ{SIdgi=cm;1H{-m1r0nNb$Y?0(w|wUn-)V4=fIHtwH8k4s$A0Ah z`Ya-d5BeEM;PU);z01|eT7-sHS==frb@*qJ`eAYP@^chMWQs9Z0t#=+xOqsQ?*O35whchcy3$c`JTr>pZ!+W&FCrSeS=B%7^ zBgb!!R00Xd1$z^O7>(W)wp$*nrR>pLo~Q(^NS~v1i-6Sls$T9Olc@@*2oZDnaVutg zE=7r3lmETYf^0nIfvFb93m*)7wcuZ5<-Bs(>BH{j*_3> z1F!ccEgn0O;xUjVpmeD>cT1{z$H`o@> z=o;HG$Ts*zv2zR^dUk#I+AdL{9@vMda4tlH;AI7e#it}g z8RyDd`0C*iJBEqcN7S$3VHOTy8$7G=X*MJ4Vhin07yc+pHy!soQQSTrkMt#+tJ<&EAaBwHO!Usy7OpkjahjOxpa2$1)rhub3yZd~~=z-{H1yqG3=E3a*}~PT9#u@dl?u#jJPFipu?A)scGwJ-y%U2mP=qHEi4L~(Rm$to zW83$6h0Vv_hN2lO)hUk~5IFJzK$@jLe=lsV4A-kFu7vplXLBvyuq*I@^XVd=Y%hm6 zh%Pe9LB2Y~A7ZJ*yAyRNLQ?&0>X+b?a^LUSNCHyqNN!VIbqo#NUe3<-5-XJ; zZ-e{S7>Es|eQz)fa}_})jRrYC`(VJAv*ge@Hs@{4cwEXPSz%uvT*x@a_alv}XSpQ}PyijTw`)0FML!>n80vgKsQ>Cu zzJGFH|G}N^=S>+^ZnEU}_bMK?-X0~BJ(B?fsQO9KdgB8iXUfc2xDQ4gT4e~O9wI3< zvXs7JY*N|n_PqOWn8Ck76{tJ$9j8ves0zf;Y)nosH%m=+Qcy4Pzw7{!^_Y%^!S`gL zitjP_DZo;t-iN-XF^8!`gC-;1kt3E{Ym&P~aP{Vq?*T?7F&_A6kRw}eHngMBLN`C| z=yZou5WCg7Y>@PL1Zysr3hs!E$PPvu!T<=2?NWP6A> zaVD}A#4>y;vfXlg95?7TmuMLIDHzFZ=2u`sJ46Gl=$6>uFrIEFsPY$kZSb-pbB`7N zo?%fAM$twYhXN@y0ZXz)Skz1B%|~De$ESw>Ulk+v@$V2OFfDz>EX_pJFIm>|>KndT zlNCW1OkDx$WE|)fDvYX>mMzR-*@*bpJVoC4xQCd}{-1$xym9v(=-iQWw&zB(utVeP z^h>qnW*sPsLgqw-Zf7cnpt!Ib>Jg2614A9Y8E%1~#0hY=c0CnE=2;btit{xu|ADucd4 zq?vUdG}y=p->Brofy3x$fa9EYgGOuo-fI~_C?>v%+GZsQTJg*zcq*73yhO~38RHP0 zrrfX>Rx?{Ir~;cMCl-CkcDQx00Qw1YTlmU{@7IYosPR`G=D!~As&GkTS&1z@Y#lEV zzLn`q9ORe}D=s2GTUP!;a40*_&SdGw%RU*R?I5QgpI;3P)yEeKSD%fe!WSEN;=CW4 z3vYA5%_XRPl&sy>Nxsw=1;>QLMpEMAh{HQoy+JtR{%h2z-bf`_sHogxN2t!b17azZ zz@fZiO3Q=scwj^2U}w%wZFnvhCUt|hu<*1j_xCAsGvOw2+l2d(3*~T)&fU;DnS0%5 z$gORk3;rMeR2A5m6tP6zRGIe7zA?)jIq597%`+!>XV9T5DS?{lx?{o)0A4EM7*dc+ zXLYdW>Kbl+4o+329VQ=)K=TNOR&O;{*_Gj)J*Kp(gSSBXHm#)-L;aw}RYz5Lxp_k9 z0uRUqX0pw+ZyrQ;Sbp{lM1ET5Z0id*Jw`{9uF2-SfVs$r_i%3u(hr#rg0+A9a8ld60P8)D2Y7Gv9KcGsqnAMTiC_Q6b8 zq>--Q&qw2{Io9KK5`QisDp>?Lu)-f`9)u1VIR=>b1p0%S5Mi}A$|1qtX$NU8q+%p- zd%{94C>Fea)n(khIrO6!72?0&FQ;yNRgld1gJ; zYKbxmfUvt@>w2W~=dAaA;11hUjjCh)5=7#c!K`HyB7_3iMBp9kEh< zqsnK6VfI0?W>|Mb3~jbFpKh7P&a=`$359*c>j>T35|15=wkTj^ki2aQQG3rPmm>e z219b-u-63=8D2ij;R@4u-jqvoePl>#K!r@zO3|j=*)%Mf-~PILqV3N9VIM?xZbD%Q zj2wrQ1#Hj>(Ioa#v@*;Gn8lr(%T zxCL*GubP+ES88Ip4U$?0Gbsum4sc2^o*&UV7FhZ}iGW)>vq_?PN<=~Y+3v@jxGoyu z#Ph72kIHGmn@zeQLMNsqk5@|Vr3AOcX4g&*HWd$mrsK3=*Vcf}vuuIf$JB&h#}jbb z1ep;0)OD z6tTy>F%@0|{>8Kt`Sb$$r+XcnIOL5D_fe|pVr7&Mk-&Cf`dOD39q3sbe^~JVG7sGYa z7*hq-f|DICeHI9X?0i=8cc2pC48O>htEpS8@2&#^?sMq9TlML^hI~`VItTeS?R+ZKMsefy z)ul!vn;2y3@QCWI-j@7Uf~`sD%&Pf96m4;ka^rj3KS&QmS&EQ;kn&H$6jR{3N32_kwTz)|`eH{&8fdhX@ zq0i;aelCU-Z#mb-KbA6X4_hVrRK!_ZXo+Cb9Ng19$6p+VD9G=|oBR~^< z(m>v|pDs~1uu1Wz5prdQIJ50V^!UtZqn2O+(x*AHD`*i0%XaY086sB23p`+bdJ6w% zqWRR3*nwjQAQCdOZ-A*=fdUtX(e_XvA?j>CEYLCgb0@nW$8TP5^Q;>oZ~4D~6S_(V zG%~p4VMzZ>tYSJjq)@6|yFZlhv4y!$x1TO@z)A(?x##&a$&G&1P)gf&jv%)l7TB&N zx6Or#7vQ%ASO$dm3uiBXv{9J6AV>j)Is@rF4Ht|Odo zrmXb59m+IAh-rLLxrnL=;H6n;xPN1{VMCQ12TwAP_BYqoQ#}TcXFcL?1j-W1YU&5C zy)kG-HUt)M)Gpkjo1=g9JCEt6lo+(0PxZG9c)J}xNbzj8zMIu%Y%Be0))IPAg$8$3 zldUef-B9*Sw0di>fwYioBJO5nA&zieQuBXYFRwtoXu|EAV0--5Rzfqno?Yl>1plpx zs4#J{;H1XM#V_bw(B37~(uK~_=5n{cEPA+0XD9L9UESUea0Bnib5pPwGy-}!-Osk! zjX*ZH!KGC;*X+G2>Fxd<@9`~Pr?5zah}da-#F5^)c}aE9Q>XOlOhR}p3-)sRbGT>w z)X$72wxaKGp!ZmECqI;R3C~@Y6;z*I+zLg(@=v}KA<%EQ+Fu`<^w8lsNGCDa6T#~I zBE|^Z0nWJggY)T4VohR-mpx*8^Az#jMP{M?zi#SJ>yqbuQsV@^_qETVYBz?De$wJw{j2t_XyMuMZsn74p0 z8D4K}bS|0YGb|Xv&kG&vvo#sJj=}O}7zH=5@&-y%W*XHO3hpr*ygDh?E}(0H=;r6c zEzgV{{8%hY5u$A&mx8$s2eZljdQGUB^>6<_(%w6s%07M=FHuGbS!HLFUC54%V{h4{ zLb6x3Qz0UpY#G(Dj+G)Sqa?B&AtF-Yn9;G<^EpRm_xJn!Uccv``*q#ny54)gKOflF z4_l^51X?Hd?oNRU5-fi?Ih>K~tN&Cpc6p|`$HD(utQ3P$-4_E5GpBjQAEj*I-107= z@JmB?@^yr~o8Ay9RL8@4n$8CXGC;qVBs(Sz5=p!&DS75K8nt!Valt{ls)G=7<@DL3 zOHW5lVX2AE3Nu76*0;WdKh#xZ%&cu@_2YV;=aaecI$>Hf?;-053> zB;o|SO=)?y_}g(}fj4FW&$8o7knZTDzK-ZqC}7(z%4D~ds`N7H$b(fKFR;>bQ}Hg0Mn++TBr6g35oxgNpZ>B zOfp;D%F82?IaOJZNXy`SBcHcP*p(jqyE`xc+pzwIWs zo$#`ylGRWuEd#3f#Lt^2FJf-Ci_sk>cpmg-AnQ`wPWq&csqe2-bBqvM837mY$zg}}3mYZ6mKZdR-| zXZDc(`?RXY*jg!?5{|EjV$n?!Urt3doN+nHxKsn-Wy=!qCNW3?sn^Uv*^2t;x!|6I#7GEPfevSDdR~C0^Ic z*}E4|lNa0*-Be=M`a^bgk;nW`>z){fQ63f%qSD-7%n1~mqP!fkJf12!^W+;(@B zvoo|?c$2fhJR8<^{3eM^Z5qauIkY!Tn_^6v^&NBRk@wHbv4Yu8G@yY@yR`T-?JGWe zB*Hm`g(_~76|x2e*Bqx3ltn6(MJg7XNu_o#-XU{~F=cFR7IyaemGQJpJ7)XJgKax$ z9`mzJ_L6xeTZ1C;pRQy1j2%7zWN%0HNN`Dwi~|nEDV=Cli}1z9iPFK7y3Uhvx6(p3 zk_Tq)iYXkrWa$W$kO1yQmDPpztIo9&bN@JNO0j$zlBI}tLQkm>)wF$CdqHDKuVpSv z8z%Zx+#K1!d{1p4O6meCFSAHe2N@6?z7R@>BljjQW%i)roIn&*03y&-nStCQr2S4DF-TavH0^<_MBwAFcYDTe*l zYw~?}JETj1Q~hJC^WQ5Zp`#+&Ba#F^ohlrhx+k92Z`oq-`F`Tq)cRP~)cD0x=HAWW zhZT!MwAwR2p8R08_CU1H;xi6wSgd@hU;66vHP9#V?#qnsA&qYmC7R~GR|d@;i!t{V zqa$jIVDvrs24@`}AS%aXW~8N`eAsfFPBw;yQYzJMEQLn~hd20H)Jl&1oHzr8uN{G0 zyUWQQit$+(Qa19w1aum52&c2N|MYp{QE4Gf6|2wb;y{^M%ncJ&mnF}GYXT)HsA+QP zUQNP-wKS zf%D(KB#e;?8VmEMM*gXRxU~N+TfNFSse+hJ0HlAC{LmIddwg;Qi@v_(G`ooEbAsvM zlH16270csIG9*fjQ46!V_mAD0&-`OxuhGFOk7cPhQwP3Iq9Y|OJvCice=T9|D$>kt zuu^K~lx}CBuv!6)GlM;9H5UE0VIUBEW)<0S^dBzingEo;_?$kXs;(ie&-a&ILH=Nw zZu`>E2`e~l`$G&ellySGAX_HV9cDJ9JID0;1d-!O+i@CLYRdI>hA8wB)514iREj|V zTK}ElPp(N#@_6?p43SIMi^sxzv*yy8Sxvc7o;(YwET~rx-_Y}mGc4U4dO6t+E(aee zC56O)q)p@Y$cCFM86h*(ucbpOHDilI6ii>LeZGHf>HT0XS<9p6`#2P%4!}k7^!Xis zijGpN2}UUOoGh&R?3a%!5-?a#s{L$M^5dS~Oz!Ln6JQ9%)IXMOnSJ%P2YkBBdW!+0 zu%~hA#_m*W>+>qDNX6%)qID(}-fv!B=-^h{l>Uq_A9^=_#dM1UCcAu6(iw6kZS%you{=J60ih@x$qx9R&N&9zqL_ehp-`}ie zSz;Ycj5*_D!Cd?c9krT*qcN&dA@qDmh^2fOR-S9x#{^kB^LWT_dhtG!yHTCV`=kiM zXs>X1t{hice2scIb(#t|QfBI$2@|S-*mc<)=1-$F$_QCI?=LQO-K1bygtffn5n-vV zgNr7zlqIF#@~P#!i|i^DEYDMkq77r6HcaNS`PRyZ1`Hl=X@m*y^FDzxwzwe9Y}F1T zzKCK<-aJJW!P>bq3!oQGFW}L7rS#ioB~e~UK(Yn6ejxYMn)QTv!Z&{J_Ugv@qDQl( zOK;ves(36wr@s`cKTeyHg#hQ1egda1AYes~{Bs>nOn}g3sd;uuY8=yD_EeEOG2C`y z@Nr^zu{`^+fkYVXas(Y)BhwSF`?VE_$9iu(DfXAqiM0v&r-nRGW{{Z+-F^jr`ppi8 z(t>@~=T%E_a16Jqm9v%c9B?v$>UEQhC-YO3nyla=%2J=CE+tf!}!t z)#Jg|!LtucXShAJ;)zoFC@jY&-l`!h#lqhO_4_I#iLQq)JYxDq&tmJDT+troW*Pow zEUav$V!`#hxMeRpYZccOA9Bpq?SBnWx*NttIeeNC8it45S-q@#lh~o}a`L8bkMAdC zhjzwKCC$o}tyNoe>w$7J5y4VYm!*&nvn-H+7~t}WaezK;vY*|MvlC#ha$Q?~NHq0p z-(}zF+E^6{0k;}uI8d|5@T%y;~x%lEf6Ts+D8!5xa^p-hpJsi8ILa%syqpXHv+vHqMBKaV-+lu3BTIHbhU;M_ z*OV%o@qC{$f5OZAB8(Rg5vw9iBBdlpnk+zI{vDY-OL%WycEr-$YFO)t@~(MGHzdFm z;2#G+?I~-s;+Fwu2>x7dfqmbEHbg=ME zb2e0$K>u_6eb8rM6uel)v%U5S{VOKjU*8t|KYY1#V$gf7VCh>#ENC#i?QJRlt95pZvUSoxEiAl>O}Z?_&53 zg%Msbu0*Nne@rnK8}66B#*pg2Wi#3EL0L>Ec#!X}@Yf7*wt%3QkX;kTPhnN82+h2o zl!)kCmF0GoHBzxslZ;|(4J>$SBI2Ue@A2xhiuX6G0zO&2SJ^t)>)`i93-c6(ulJpI zoMl*+gZIhLdsoFwc{^^rhI5}gN;N~&)}ZWN25+dpQ@1du2MPF=`T9QV2JgsHB!qD7 zdc)GK21?4Gn5*tQldd(-&P;x;A;|gh{wA?wSDa5D@IflFO`^Hp&1t1XvXFC#ktAXw z8)qoX>2dz8hW6uSCVkJsiOQWP{oQ{w56;+eSzk@?9Ptl@2RL$~JtLgrvMbs)+gUa| zuR@>otu1rH+9pYUkMw(8t3z~&uF&nO#}OzJT#2aNpHXQ&3_0CLf^ZpHkeYW-jx6k* zAvkf0$Xw0W^%^QBXD(VTlw14gQCu=242g5}+0cP61`Anr7|tcC4{%WY)iw-CILfd_ zNi9+{_8y;99X4FdhSz>CtXkG8fkM+lG}_+!fV{<+`?52eo*^_Zz#Lrj^{Vvv8M!0S z=Y%ngs`Wu>jW$L-Gbe926o0&vZ}^8gan;t=&@}l?X7cST8}IEW6-(jv>~>Y~G0D+Y zW?j}?iG_c2{vkY&UXHl7e+*J~`o;HB6F6HH)Q6;-|>c`CcN~%>lgpsYf=Gld#m} z8yzqQnA;7N6!k0ouJzI^pYW2=BQ92A%1BeS6dqWy8f-0XnwQGx&*VoFcGhkdNnIpL zV4}h!jTMz#mB8Y+PqU-4K#uJ-VLdC3`mQUh_r4|H(7Wv>pFmH=M$pUOUDt?iW|*r* zM3yLqYbUHUw+wlB?*KzAQB&>%N`3Y;z#{sSMIDkmbk&1WV`h3)?EVi3!qt z!F`Vo_MJu>4WCz|$Cf8U<4DGQC`qR|JO;-}GGjS?Tyym>kZUktiZ_~q$4xVNqb z*_91Bp3d2#hd2_i{27C+D!&hMvy{GaHKkO=JD%k$x{{_V0sfkKqKqU_MbAZU%p1HJ;jzU80;8{q2B+xC zEk?gX?~NIE$7dRTI**4ao69<-_kBPysXL2!pZWX?#BW8AM3&LO@XIV>+uM!@K83-x z!(WNBR;eSm>e9&4eU|Bn2@moA7 zSqLvR`-LM7-R}N{Cv88p`q&3=zCbwG;3BRD{c?MzlC;k%x+3dxXbVEK zs(-oAZ4(`m6<~QKitZ$9bjD59n|HIvXtp^tf8+327`iMj(!Q)ko zhVbhfk$+lYo6-;ln45KY@Z(rF`(zh(rB%ZZvyrjrCs9N6yq_e~)xFF4g5F-R&4`-k zKL7EO!9}z@DTKZCIDB2ya%<}Xs)Wfsn03SXOoiWznV?roDq`Z6Lj}uJtQ(-x@Lb5V z>MAlzuHWSucRT)ytLIjgA+k~%&7k*dI$|-eLD&{hYDd1IvY_CjJ^l+NT85Qxl#;gv zRH*Qr(VOuZc8-p^8&g`s{3>}D4TTotp|_>e&Y8Qbh3RAB*t2+X`BmsOeGhctt-O`- zpR3)4ZC@n1_mO}D9vJEOG&>Yj=Neh9HL>F7ci!nsUvfxDxWAN-$4rM$<{k8pbdRO+ z$ETlCj?tQ?aR{^u;^pYaMGi=%B(MM{iq%J^@yrH`Rp~aMqUGZiy%Ee zTjx;=9IIk>LDl+G#m|9Nx%~h^KBj(yWl!1uK6M1(*e>0A4rlAlPyL-?<9q3<_&2;b z$f_}<5LV1`Ws+B^-miXTh}HCbPHOs$Axw%|YjeKO!@%8UQW+BI$SK5P8*opcg~HD* z`AB?OYn28vS&ZC28s1(Kvyut7uAheI44i||$W4@&uY0~2(lmZ+tr!s2|azZpJ?%n|{zf~xcb_@ z)gi57IOdUxuy63AT1gy8nsLdixt3@e0w4#!SwJ3qc0lB1OM*p4tTO{QPX`6F>diZO z9*qT0DBBo(JLGWi+BIm7Tjk|^O>#isEfAIFGYo1o;>zlU6;p@f?a9*Lr&UavS#9i6 zc!vJzDaFh3NM=^atH@~BBE-eKrOXuR0I7N6_JoBB5zSgVA^|y3ebIT=&1AWeO04Bh z37qdzP;Hq-eEf|LOnoXVFQ6J8kZ_8a;QD7zKX3!OD~q2Z(v@|P;)R(VX{oRSolzl3 zgfng0^EZUfO>T)o+ImfUTZ4PchT|Po`e|MBPTRN4c|}CgEJ+tm^RrP^po{w!+wH@d zX2>@oNNJV+v!yt{c9a1ikew758SgAQoG@e>jdtRC#z8v73($-6Q>;0bacNhZj^auXE`MnVJxBbEi=HYhbLYiSDGH_40Yq%5^q;w1NPLNrN#CKVbV zt)!U%zO|Q10S(MfZUBME1PQ_a^wnX`ZiX|py!_-8ns8K=s zMn4xv!_nWSe=s|wMS@s-mlVoa3f*JU&487je6pJbd2>af%k?IQ?>_GC`t@80a3ZYs z%eCn!Q+A%Gph{C6pm{piuyUa3sb(H3v6gz80H;z;(0Ed4Ary7$h0ZgpJGcm3xi$5; zoU}L(`j1H!`KV0LLU6*g5NyAqZdCzFg35NQ-ZMb_?a+TW0w1S>7W)WkNj*TIn^U^h zyf(Ao*1>LTiG8)<@r(YVOXy`@h+}AHDb0^8RzK-6&B#b4Z};ZA29OGgkF=Qb)tN6nH8 z+UblqmG=_Cr`93c`>4X=%vrVO{uF3SgngavfKAUGTG5g0`nq>59T2_Ky3So{Ya>AL zOl#axySVM5x+=ps{Y{np)H5zWr>>tD>m4E9-bzDRDlSlNFVn&(^rxsczF0IT#5~%~ z*zCR?YRLxDTe{vi2lF?JniDv=AA@n|wvK$c9~3rz9+;^fu9}kP*86`2^VwJ1s&MQX zm!Uz(>K=_S<|k~9_K^=hkcx*)n#&-6rG6p#$|L?#zbVl@?l-`^Af0d72@_wC9C>%T zAhD|br69Z81qQ9!-PRC`evPg8ye8lDBk>1_yR}&ahd)j-?t^8j6JY8FPxqz3Ets2; z%A}`~m?~1W*E^#3cRKvXtz)_-GNDA8E75S{5xr@zoF#}@X-@B&%Bo+x;+2p+kntI# zlKk=uQG*HkHqp(wxJdSAWw_BRd58(6|DmwlpMb_4Q z0O*MLZ%~y+LL%P{N=l6LykQrsFkEr!zk|j+ani4c4ctew#b~u^PT!}^;EoOEIlua>28=# zv2DemW7jCE1QIB5@Nb;Sc1Z|(a`_M9+4mJsdi!v?5~Q%p5tyc2s8S9-s2&@?72SJn-sHN6`*Qc z)l&<~oecZbf16XfS{PM}!F$G~_f{oLfSnl?0oznY=D&tA^2HUGP|I17A7H7B7p4-} zZWI)85ujog#kJ%uROermAMA?N>3$n-FfIS2lAaZdcjvo}C0Zm1e@$=$e1tt8$5`{DwR_tj(aj~E7z3+|${S|L6R&cL%n_~g=aKIg zx5nZAz}Wf&{ro-@pED!HwW}XHFFt~^L<-K4ei8dblfr@jASXe^=mG!~O2z&Wr2aoi z5M;+<&+q-=_7k}-2%+xro~+w-k0fP^j40P!ePJ`QF$LKp&}uSF5B<|CIb!ifVo64R zG4&ECh5kZ@ynvG>mtfMHj}Gyt*cNBITXTS?fMfHU%@jo%E5-a4g1%8(9IK1=_f`!s zrWTf;zkd4+0+uET;+!4b*!A^>X|@-MR{b>^UP>GWl5yA|P?Mr2waS49rSN#RHOZ_! ze)AAhNXD%}7PsoPkSM;RCYrubczeE)_0??Ux!wd)FpO{ldWq%)C7=1*yG}#3f}fb-o@^oX6(Q?iuxeqG4kF>OFpDJz9vZrGT$qQ1?x9pNSJj8y+}OT2?6k+*NC6_ z2M;?89^Na761#ZZ#p1yZ@c15|a1@viN@ymi1m26)AANA4btT`&F+rK+3mvS_=x@`n zX`mq~;+P_B$=xqA`6=1`wP8~rYq?rd8Br1sy2tY+EkBye!Dn2|j#McAqovi97?C>L zzT_hYeA+_(r=N%Ls9*weC8F!odn+m8=_mJGc5e|`?>zz9i3H3+M!F1x)9s2S)Bzvv z<e%w!!NT_!e(gg(gVa#7nKgq9YX%~IkA{Aou!G) zzD8h(2JG6#523dTq%C&S6s(!-2x-g}##YzdQ7@2R2J77l$7du_Nhi$|9J(MXv8xY7 z6N~UDg7D7NU5ERdQd>}1UwnDSnkPxbwYTU}cPh&6n;wy_bF*r;vWA1lzZUW+t}Naw zsV*Cb7@*IByM+5IW`w+e?(e9w>wY8e0Dab;xnzw#q$?m)UkplCzg>O$uG>W9&>m(8 z_NdWvz1KL;xVkIZ6G(CV*gM)Sxg3gm_l0(X3thhX0Tjpdo~rdr(l0vs4jL9?TLcHR zb>l+RLZZU!l-Z4QUF}451AE`t7Ul6^V8;hFr%jV>g2T?jjPwJ(lTg)Mvv8g<#=?q%okOzXY%E;N`hSm(MJU2YL z>Ul^e@b8i1V zwO>s7I$vcjmrc0Dby$E?feo2E+5ck{tBJ@T^3TN&qb)%Q_xqmNMdHiwd;Bv)&7P&w z)nJ@-Rg~33cxv!7<8m=~bo0k1!5NRmVyuT*aL$0x7vQFXBSqJ#&!(hU{yw35spqr3 znn?G()u69Ekq&cx9-aNll?`?D>Ye(q{n_$g19uh=`S#J7OBz@U7&G_yddne+2%>EC zF6&f#eC+WGk8@H4Ehv8)^I@t#2XJ7_#nO6V@;_*8m?l2oQsljaD=>5|ZN6_x%21-2iBq_&I*YD zhx3E()6+vXrGjhNia8J*fMNRlO~ijk5K$pAaa0cd5xq-CBPH&P?+uADngdSKd5tE_ zu6BaZ;35G@CUVY0bi}d7CtGsdzpwn^VN7uJJq#GEE2vzpaDzqOpo=sR^~asQDAfeCRJ7TxV8N>048)XELj;;wKaqHi&zv?{#w`b{3&w# zA2~V#Eyl53#2G>V0)q5ZigVAUX!30H=34$5w2x7f3#yRNG+Yh6`4N{JM33@kYl<>? zU)UN}3PqI*%<{)xj^A3yR5|^vMkB!f{%|&0f9ZHVm`K~8%pPgM2Mx=vjc@!8KafDcO)YCY_D>`hU$+2qu>>-Xr^R_WS{SO!f>uqCj z7g|)*Ka#@U-iyO?!7L$+;D%d#QNLBhpxNJYgEmW-T-$2rvC&i0e$jdAsv^8+8gG}z z^71Kbs#bWx3+1zwy~S^1$BgzQ0`p{ujSFUmmJ(?|Yqx;+pZ=i@>2I)P0P498xfl7g zi_BK?ss0JGqx7&cC*{ZR`(YP57%kkP5`r~qp`5w>CBj{rp9YtZ8EeuiesQx;w4%$?_Rrcf8nAfgzin1gQRYAGV zb!2{WXQpD!HBLbS=VHy1NO0JK;>Q3p2%N&%HUDZbj<7Prt`NQxZ*8Nl>2#EV=4iFZ z5khtS?C)6KaD65dq&{Gz00v|P@IIo4T}PjBImdA930H?YR*x*51Hk&A0bbI3U7Qy` zK)usa&%D1|%1UIjfuG{jo&5IC?3p6r>h%SwI`4j2Q4Ki`O&`-B%=1znu%OuKtxt`~ zP?X*P(WKiCB+oyHFfwuiL~dOjY8L^`b;^CS99Z(!zQ)Mc5Y3U)tZS%I%Fr$kyG>E;=nHAoWJ^JUwdaw?QbstOeKc!2nz z_59>6fn>z7>K$Ca0R|7v@bGo!n)-^0iXNSa|At_W=(Oyah=V4@_1p)u@h>Tu#WnOj zaRo(stS8Q3Mt;TK^q#v2iIhLN*%ZwW60`ynWhQxCIV+NdYkyCgd&PuM~{g)VB2FEA{22ve;ulttY+wR8H z$h&%Rcj_x#C&I`OBh$Pum=1mwV?P*+u+*hn#R~YyFF4LFW&R5KG@kDr+~sdaELum1 z;K268!$;P%$qw6|=UDj`IiqNI@k&Y2ZZF|{N)=@q zJPE@4K_qC;p zRZqRt%Pw|6Be^gkbE8fFxk^*vgfBG)B4;vTw_~{tLjkzF+-+k5w6DcsV$F~pr zNJda`z(lr;$gAc=Csq3CnVdr5oz*>-^ZS2OQxuvPLNoXP(+YY8CaM0TJQ5XxC8#q9 zeHv~f*>`w?ai0MOzY?uVW=`C?FVl-lNS{fD>k)F}&5jaPjLOtyP=SITTBY${0Zspa z88y2*NA1moo63r!A!S|(f-6#9k2!g8oDO6lk^|#O-vh1uOV5BtRbQ9T4hTD$p%>Ub zXeOW$0dpaFY<|0H+D*32@$FdVF4cdnV^n|kkq)J~2o>m;OHjUER$T~^+@T?yBM1E- zpqR{K0PfF+8ojY3chlgm%(pPRF0l!$2Sgj%gawunL(ST~|S_p1zRC2Y`md67n*2QG{WsVk!0`HW;z?A?TUx)LfSd1q* zAf4wl_2t8qz>hHp<%9V`CZR@y;oFb~#gpGL<2SRv$M^C_j0lz$%JkGl6kNgt9tNcU z4{W~$Y?9y^q)ZXUTK=AGxn9Wg;!tT7lyyfi-S_oN*B{hVP{$Qlwf>gkMCsMjNipyL zRj5BXCNW5KzQ$Z54wB;aDbzoakOZ#p)UO8-V97*6|H*FY6ngtF&2q63gf_w9x(>~m zykbzXzuoM^is`{zvG7#7W#^YEB~WGQ*5o5{@rwvxF1l4)=#cpal;TJS1qD14@?hO_ zP%7nB-{j6zb`*oM5Y6!eiKHJBM%Cp;Fj7kRKT4^@=S~TKkndbmTirEGf1@ATZP>{O zF22_t1%b~Ag@zo=zEJf=EgDmx*)x#75byw!$KkE^* zV>Frk$|rH5PEbb`v6545Ln;+VBo1g{x)P4zX_1O@-~u>c8l4TY*~*;;59ba!VNm|8 z9eeh8G#X5Yd8XLxF8z!vZb#2wB0W#J&iFvz2j?V!er0q?WnSlu5s68W{l<7)wK?CB zx4=G)#6J1BWASz@91x4EI8yCH%UB2XJOl0&iKia*+4lANO_*&p7#A zp|@=I)RDLg)iV8>v3|!!D~#LB-4)kUId;1pyLu~6^4lx>g%{{{l3Ti;J+|{MO^3fh z|I7j?U$KyJ+&xsiRK6%e$V{RGv?xJy|MJF;;jUo(OWp?vH_Lan$mCiu^7dBFu00NY z%25(YvhyLVjt^hK04;(G;xGElZV@$5^bt{My?Q7cQ)U?^HY=u?*~n-dy1(IJSy=%M zEl3V}s2O{~`}1Bv=Y)gJd!yIzp;9D_su`y#6FEPEQBl?c^8Ky-9ap=BBLxbT0q6ux zimgetNB+3jIfU$W~^-m*#-X~8wRFx+V z4QqaA=U^zz|J=cGG$0^Y2qfJC5O^ zb6b9mTTnp}wRy3*r$-~eWibF_}sa-2?sU&}< zaUMy$28vv2ANLZB9p878yz!NEmxTGy>{x=}b-__(qLa!=QEt91hP=@i>0V!`KcIKe zRDAfUUpDl#&$uKF5gqEtg0xw+bU7y=moy%mytS&UjsvT^>XJOz@K6$95TJO z0V+T)Z#l=sbcZiM7*s8=V@UJ+r_zD$Rq#d$$Gq?YTM=%4iRZUTr!nE6w_PJE`SVb-LCf>yzxqI}stawuV1Xlvj1hi zZU+iI;=;#>iDoRQh3U++E2FwWukTD&l~+l{|xG|}<1 z0E|&@L9TsDuxf+}I`{&x#k{7PnU)=639`l|9EhCKr~@lAW1tNfyEoiLVbjE(lNDKl?IV8u6pszKNqauy8n1{YeYiNwRK_p4zCF9t5PQV%R!XsE0u#|GU&K zok$wb14W{goH(y(fhj>TRjM0_g7%c}Ryw`@Ymf3+XX_-_>VGSSPfy4%;eP z8G#!!`3nOp$LTB@OIoSX_d`Oy9LT?OxPw%~H=oYXbnS&6H-Ww)-d42a^Bt%MCDq_r za;+2|W&RCf$PBtgXWu*=`+x1FG!cdrubFi-(q^CEZu3ilyPnS!{)SEln*%3QR@d*` z{q%%P)Bh^c3%1FAC8g(iE{k8eT7t5j*V6f(O6z9FDBT3USnC97y?x=wxHtx;qMr~s zJ%oVWE$BZSkixrrwjqnnem5%IU4sl&-x=2085RyJ!0DPe2F=6R z{;m@u1UkE+?vCw+7GT**1H6!_DciZ(qS{BSer(U%n^_~2`+JuqFX+|>MM^M^CZt_J z*}*95FAN#A;ML^C-#F9bxnSa?n$+AndlE9FqLV1Lqkb5`qtbvuS?ODw>FW)CJnP&^ zzh4`$1dWjkjCXD-QV-uPb8sNQ-^iPu1qUdoVx54Dg6G*>$(}FMC5&a)F=KTC)>j2^ z33;Lx!cVM;2AP>1KRiZs1c#O6_ncI0GTSpQ)@yfysa1xT`)Z?dzsC3`z|Ajh_+tjO zn}BrQ4gdD|3HlNBFENUhS8xNRiYlFVA7`g!t*#3@YZR3#duxQr#IyKm?iK+sf{K~6 z#HFU?eoa)iP|j-{0N&o1I8RCVdFkx9UD{t_rX6Fg;xDOBUU^L>eeXeE>394a6CGrku%hjtt6M(GIJwZQ)$8sE~ zbgh6y9T!BbX(dFH-3{K9*23Ytkf6>)g_H#*}ULQa8j1 z_dE0|W{5<}^ls+A8(=}CzZW(mX8#Ch^2?rtr{PNRpjb)IY$D)ekXJl4AwdWecGMSQ zrvP@8T&lA)8>&#ec!dIDeRpQ59ws$eu9kElJ>}g7K7)wp$ukIpUD7ij#BQl!M+{{k zc)kqt9Gu7M_WD^$7<`mP5lkI+AX)b2Q4hd>0CJ-D5&vo%{!i}V$w8W-F?+zarRwp9 zZ{|#>C!}X;t{@2^rNQg;l!*B!3M(89S1^0cH*m&FRr>i*YB0)@oTb|khKS`2FwV$6 z?wSP$6M*V4BB-rr3I{5Spg)sizb^b_9JV?Gs76a!AQx|VI-k-}AsjQMxXS|U(+J_` zyqPcJHf&gf=x%a(C`1B=Rx{lFJ?K2q4L_-Rp@#XPV=d{!pgc_O3#B%zA-Hi$uWzR( zgHERTvzNo{e!-Vu`EFWMME#N%=qUK+^G|;uy;}@VE8$$Gh8QTW`|Bu)Hbt^X7ODAY zq-<>y1}x8`wZ&%=KCswdpO%z%wt1!v58xE4U_6VKiYxI*C5d*ihdB zXXWVeo>@}wFd1yXlL4hs>~Om;qYYS!iQqtB%`#YOO9vKSBn{dAovnZp5@8UYTb6PJ z8WrSNaZk-Y8lKA{?^iOJ0h8*w)gt^;gi1*enb{_-?Cq%{T#sweJMB)FH?1K{bP?ikT2CBL6_jO<4llEF&T&*Hmu6$?dg>Ytu{ zu`lGo#%7ERP_P-yQq_CBHMQ*5Y){oY4(CF3b7u8bm&X8G=dml7_t<jDW3dO2Wz`66cj`#Jw8fY0~QesSU39p81phB3YEl|kGFy?9?9neFX7y*bZ6(* ztZuE9RiH}2aydj&A+4Y>2Ubm^)e}^ICv3U3)yKKf*UIBy&NdE8#A-*t98i@qs$Y6) zpqcVix4o`~O@%_v;b>R}2YQi-rC^2S3X5wUF{}1r&cevaB zW4Xo#9LJO8;yUm5Em$-5`5Amo?CrIiL)Y4qx^&L0(p?q2ocVQd?CiA-lw4#7jxfozb5vhgH+R zU^t)%GQ>Di!bgD>viyGCBXQyP?G^`);DgaY#}!8VG9}m7w)Yf9C$cc%aplB!X1yxt zlj^5G)}j>kOcSYgt&R*>a~#tK{em`G#uqY2LEwO$Rl5Dr#PQBX>4TgbCRPXoWvsCL zB+$$GJY9QZzf5ln?Fn!Uj!wDd8dishMdZ@lSFS;%ZH2~aqJF;DnBhYmg%QW1Eg%iT z@AWBJ(cX{XOG-uqL}hDfnbTRy{&o+J1^b z6oX@EfX|}d&^+LiTu6Qw5rEbvEhX=j_?aViFNb(fhQl_OdT^^W$@d%0Rry*)QKbaE zI1nu_z6ySLu@sW7R5LKxootPacLi=CJC#FdPZ4cEAVs)z0_QURe^)Di^20KD)%dA0 z&+pA=`Ziph#V6OmlIbMK!@ea6p5N8e9auQx10$Dm2EzT)NF7N060vAph;&%zCr+4fJx8fF^0ZvjU?=|l#5L3c>>I<2DzN4DNNZ-GuQqWhDCR2% zDxe`-gLMB_wvFgBuFDrpns^5-dt&rlb4K4=xS&Ks)CsCS9Zli=8)2qr;S3UvCy4v)k0%8J8t=f@I!I#{KO^L~%*{yLjBLo{OC)RN~JV%+pU%>H2= z99(YwIMqe5);SfB+C$!mG;)uIJE|C+MUMW8(2Tz;_B{6JV&4&pgY3w z$5VTT5BC-xAywveu!O1DGxJKJ((Z~=J!X*q8aL*|BtTFPIiuZ(W(Rq&7z9Qq3j}&W zSJF@)S}{l_s)Wp9*^o~r_D6EOHbLgY3Zl`+AmZ1FCoV@sMZX+zea6;WW6Fkt2z+(m zU3}5!6#IyELjlxy@?mb*lRc`LP<;_YW8hpD`Lu#CqL4loARi4PI69B-boE?@ebiZ$ z-@lh(RM(^bW%~-+#Tvetj zOo|UCZlYRxR#pA3d)JNYt`ca2IVU4fjQpOu@0C0HGf&aDYGUPp2H|JrW3+#IAQ9OL z44zf`4jiB%#4?zAv;!~RSMvELGwa6lU!|cB`N^qfki0CcC=v!;)bhyj{2KCKzLUR9n zmE%pV<(SzUn{0>3PlC!|=xbc7lm>_Q=ZBz_tENLS#R|wlda5{W-<8VDI2jJfE2arel7C z!MdfE^g)iUcYPu)PBf08oL zrcyol$)R6M#P51m!?_qOZ0bLhdCZy@G4fptS9*^UL@Q;R4Ckn&%={h9MsEoS#yK!$2_ zF0OBDYDpBT0rB>_>O%$bHfnaXe8wdm=ccVvE}gPb)4-B)uJaAiMdt;77StJ-f7dPb z5EVk72(&GDGkP95`D@^tn7kmBbKB@gD zxOg~G1+RpIrYkGnIXyz2-)xXs`*YtLSgNidr%h=Wx>)_V;TxA=)t~3b3`B5L zlD3w~ATLa5hn~S42yD0VVc!Pp{cX?fgaR1hBV+@3yrX>Z{l9p%@82|Kfxs!3*_`Yv z{Kr|u3_-fi0k|+t>U`S&*op)Pse&yXXL#%geoH*M7xp*~Z4WV@?d&k)LT$j}F0T5d zu~7X+dIQ}9_SDvtcI+L@p9)z`lSae7ms_C{8fkQf6U*pjjk@-y1pg4D; z;tQYJ{<%b%cbHwrFZcLq|FNw5!2yRpZ~!tBP(?6VpJ7yGO=c(|9e2fibp5!+zFp$K zvJ_Pbuq@|0dTd+>%FQZSeY0&S3O&Uub^+$*qqH`rbZ+)~&BX&{P&`aM!h-0%(;?Gx z_^c-=I|Lz^{wH9I-YZc8s_xInWq1cH^wMgpt9sPx>p$Q*Pdq0 zzmqdGtr?34TYM1il@DJyJ1VQUAA62O%r}hrga4yxw@;t~WsYKe;qY^QmKq#9qQi5A zm}4d9#chqi=|>J2U%_M8{~zVW5%43j_E2s7WwK>HNLIo8j9AOte7AxQF;ejrlx$RL02le9PRZ?$ zR-wEYLwD06X>WJtKfnXM*3$qJ)P4DxQcg;)eJAMb7!dSV7{56#0;DlPbk+jp4hvUf zRTGH*0hO`C4w~n45e!6m*N+#r;B2v=7>wAQ%HdmSRcjGNlW+gjZThrTk+Z_I<6{(_ za~fLQEmgw5?3IH7BqBc)0xD-tL0@hk(BMil#G+GJ!{q;^5+wFm^D3 ziEO%a!TR8N_a6^GsOA9q<)nN1CO|L!z9pAlY%epi+$Gm!@S35CkT4Ezrg{3z3Grj# zO_9#a_T@J@Q;$e-Cv2^eGk!Nu}>*mZO zg#&LsZjqC2c{ERQY3#j5CIlCZGuTiYG3~taKS1Trz>(F%=cVTL1 zLefZHie7&9#^d?%ZzLI98DGdVUx}>hv+@%_D;TCudXpmrLm`Iu{}N;8^$9mI5aa75 z{_3)HR3myzLR$Fk*?7@A#}qZbH!r>g(2#C*+Ap*#ei$<{(XqwSar;lj*nkSi^@yhehYr%c*$4C`F4UT)j3sQt2%~&lj8?zJtdEwcYp982!14`;C zH-9}`?xCC5swACTGBz>y1)yKX{p8X&jzKxJN+%d{wI%4b zd2A*Cf786B8zx{$JFGBtaIa zhK^{l*X?qkKGD~ivwS&SN-F%AzfooiYMelt5nTPeVPS2-p<53*zxVEKj(QBQ*ANlps+AXDY9ZRkpWlmw{G49Lt-Omx<%9fEM$wF{@Ze08+S&XvZ&j3UJ zI0G3NZtsT}DvtkoBO)`xn&uN6zvX3Z04?cOE8XJK;KSwXkJhS<6Pg1Sx`qt5{!sSn zCG9Z*`WPRWwo-2vPR2l1)a* zOl0p-_B_enzvp!{&N;lgy?>wE_dm|L&h>meANz5CJg)0m!<2Jjmzw{*J2;i}K0ce*54}c$405`L(Yk*NyjQoc#OCotySviJcXK zNyDN};}nyDSG{da=vl97v3$?%3#DD1ETbXyL2_&H$b2eh(Xu~*#z_qh)#XEXJ|y<6 zkQ#EHJ*V_95|sgo^%H}|c~&<#^&)+}@kt5-Kq4xK?P8eTF5@_rrC1DkAaa(uM47(6 zEFbhFRv%+5sUY0uW!_qRadm6aSJ)@4+lPhuh0b-YYv^u<8AXs__X=q&%lU2$0ie;1 zl8qrQ&^;EW!g%rhH#ldy5Q=xCPU9$nx1<;(g*LIvW9_9rM5@mQ0iG4Tlw3zgUoO%& z=`+{j#nX2KX(RV3Nk?GSS!UybSnD>D<@QfT($kdXnaK5IclioKgzPSxc|gkWhBc!Z<8p{P8| zx4<<_X*Sq5{lz}-)683AVy#}6KFLRqK$6ma_$&tjDJIQRM_gHT{^L4e3y2;YtvTg2KH$`eUnK!lFpmI-lE1T4^ z;4vDx9KhutC^zh}+Q8>ci0Wp=*4@8+X5tM4E@#w!`q_YE^+!$S%1g?t>cbXJ>zCf2 zQ8fN3_t76W5eD{?qpUoDO(@r2LhG9evcrlA7MQ>L0GBe>jz{H9EhY2! z9#XsS?V>;vz1NfW^DySU&-jUUv*|39tY`A)Sjri)wO{?+2qt48S;F;zX?NkhP;lY- z@iDdJ!4MJAdcJ$`)sSGhCb5XP^F`~@PRPqJ`7CM?gIbOZO4wpmWf#I_CHu$8V3{VG21pr}LT+YxgSKz8Sv~7V!~CJ|hIGdg zo0HRS;^I4Ajs=hBFjwaW7)UylUhHY!6-^BhxPX*Xn#PE#bacOhPZF*LFOuAMxEI`g zY9h-9&FAbgAW14PuYR(XQu{h*kgnV8SGePktQqeO_mKHHx`~Kxr)th8i03!6F*sxt zYEK3YmwAXMkyO zyb5~b!YAjJ(=Eou#I~9oYjUl90kW> zG>z&3^L-z)Z=DT`3+St=8i0FxRTQRtea##CT!WfJka^4naaoe8&YX z+0x_wk7)Fv6bT*-G)VX`=EsIdA$mSMu?oSU2Yp$f$DhG1uOEE%;Ab>}#+6-m8-;h% zgGtKJ9o$K=G0kyTfXM*N>55K|#$xPVxDe>*l6c9Oz=s} zu0qyzK`yM!*(A5CL6ZerM)kqqzN-=s&JMkfPx^>hiis3hjYD;Fk3 z<3_nyaPLGppmGcK@=4gdn}!s=udACHlYkX%fF)O8ZyjSdQhLC5I^iX)Y*FdYoS`$& z?ksEb$np0)@84fbH_~(k$v&bv`aE-(4k;J!Fmko9DC=E;;Dkh)9N>c*;KSoL!!%g- za!0Bd$0^3DcRFDnS?aoW{h3}OR7zs$i3~o>ju2C4F_}b?d|Gw6a>$!UZ>u&SiKlI* zVv~%#fFiNEtV`^Lx)Z0IyUE>DpZBc*Xi~pD{G3NN<7&Rmr=E|ROE-_TpOi8b0tVn5 zH*$R!bz%^8_%L%*ZUlz#_rWg#F$&bB9LMA$hGgJ{}8 zIX?zdv9x_jCU!QU8hF=Rw_OZ0!{w_FzM;p#HBkbFl%~`Q5`RqTngi+HzL;Dmpsd%3 zaa&#&NTAlkf{IvrjDCYyJ9rTf0};&J^W+c(c_QDd$YQX-TLmaR!F3S9R;yS%NdCZc z@RFax^aN5ZV6~T&Ff4^YU+WGCkgZ;G+R1ecF%dzab-hPPtz8YJgJw`%8;U2y<}9xB znH|>ZJuAkl0~GZEe}=!L0|mh*`p+kZ?YJo68V4)OJld7v1~=R{CLjs-1sd$ftApkL zNSJ>3?HHk5Ii>{4$)PB4_k{UBV_P-e&dMJT%*uqzBh>xB)U3)Y+vO%Bgt$v{Rz~li z;)48>I4KF@9osY|8W6BU{l-(NK2tEMNym=q9C+~n+Y=2hU*A=fqH+G~FCj;Ky(31R zs19=z|673&5NJb5Y&3}(r)H&(kMqr_ml*m5n3<>@+kg}R%eelyj*&UQR{^ z;{XT~pKL`l=YL8VurLS&mWgpgeb?N4ThALewyz?aIDgKuyR$hwmt*U(f>@6L71M-n zAuPi>jVnVb?@%hp8De#CoFv-23c(Z3eJ@k3F=f0DK0%f|F9yJpiOBpQ48=D*3T4dS zzFI~6x8B{6ssK`=Ihd|9do^5s+XSgC-wh`m zBy*V-Tt9waDmvK7*&3K0TU81HmPi3cGP$A5qG{}ZDANh!yKqK8z&yXD*e<0-SHTy+ ztnzNjB^T#t(iQ&feeJbQETMZlse%KRWFK#OsUW*a;UG4I)y$rC6O?LCP;~K;i)83+ ztVPW8%NPN)2<_fL-Qa$NkJrVNbjm)*`_1-)AEAH!|0nw_)mYWJ!Fj0pLp6e2Wv7l5 z?NU|`Rlj|yLCfAhRTfraH>V)g zUef~#?dsr2g{ip(sQ|)xvO&;C`dm4SR!~tmQ1H zhN24@g1%r!M2Aznvq%A}O>Q8(jG&k=7*4hPB$Q7}chO+7?2pSt{b8a5d@JtgX+>k4 znis%3l;6Uw+SDFfn(YR=<|Dki3qGGNDK98%$yqFZ4DvxqGEoeV0;h%$8KVQaAgW== z31d+YP|799I^N(s^PLj_WAGBvp~fAe1Pe z@tU8Tcb0Km?Alt1<0>1^t5Sg>%{<_5(XPNErCbm2CC66aeoD?A#7S^n(Fs5gt;1J5 z?B5vnB0*^>EQWalLwUfWA)m1&z}?!nxmW(NR_rOrfIm8etZ;YY+CIn~3Xt1!T_OPh zFiXAP$mLIU2sEF^Tn+Gt2HHM2nB-uQ4u*faQ+^T;qQo>9@I~aTC1!bqxtZ}-z(^08 zG>7npUd{^9C?zkv-d9R$L!@DDm?sY`YETeR8ib4aBj7q|f2~bB--5-Sf~4{SpA94z zm*&W;dTtCgz`6@Bls{NJb^%G>Zfmogu1SY>Y)cFgfRFXl|Az!r9Y=y54}-Y#aLD@4 z(no)Nz@>zjQlXN}+eA6>5e2%S9U*D7$48Xu?9(L^Vm}UuQ-H{40 zh=EbQ*RjQkzQaTnV13*sOTRF#&BziX($%i#?!iPFT@PXufV6oJ0N$Ax`sSfK4(Jy3 z_jlHh@SE$w6kGj0lwfi|D}|V?5)A$Pw`_VL)Br!pNG@D{Cv1_q3}t|fSfmTlK**ile0}$e8E(AjjY7zKC+--_8eqoDhob*vh6W%;Z!`}pihR^e zocEl9aDOEt0cwQ(A24h=nE{=bkiRix0IOxlC)b^iI_iOuHo+rEjxPsqM@Ld2_{iiw zu>QAq!o`0K;Ghw~qFup4@W*kX#NCN)75fM!q$*~hzLl?tt=naWRpcuRNU!xy=LpH% zo}Qky7o0PBq#c+_vmYmh3jkaMyZkM>^kN|(MCUF&frcMBt;mQ%NNU>*?OYyjXc1d4 z06qcE04T_Qh1g92)c(qdTF2aV`Ew|}eR{zhJ0n3?7^z2iqY|3Nd)ls;=dGMeK*oiX z;PxFu`EFQVAM|TMqf6j$I{GHS^@5NCevM$o79W}?g|8k9?@ng?wo_7t4;BJ6kMYE@6I!-(LJ z&oQ|UtU@ukV-!<%QukFUlCU;_#pNO#enzlX!YrwsBt*wF2>@S(F)sq2|3~yQ14XI4 zWey>>nxb29I4wK^JdQTBH<&1*EeMc2I5nhuarbi101`a!mJiw_a_(fdM#JBM2{N@i5H_9G^1L83mXmn4H(|cP#I`J zeQm7OKNUCtho1`Z6S!EpV0yRV()Y;Me~SLR%LQ?c2^dNYe=QYxgTV^dQIT0DPQHbL>$?ENm~tLm|6YAtMcNahPWP;FTZMrY zI$n$QD?2y2rPTCkfOu%ji+2SXk3!Was1p*25Ll_n|A^Zfnn=Tbl|8S0vR$~CB_q|5 zb5|aw#G_nwz;o{>_Ny#6I2Rie34w&h-vGk7m1R|0xW0aR8@FHO`NC&HJj{ zc(nlIl^p~V-aycLB#v6h)}&XJ`UYRLm^4k%Jt;DuN3E;0@qT6E8+}dnO{HB5W04y^ z`2daLr-EUsVRv9oz88%VYIIOz>*d&EHFaqh=b8=i@|3=BzhlrO-gaXuQ%$fK2DG=%DmOjgx> z?;c++Ml}Nx^$fc&!m0>Zx|B$2g-@KsxtzEuNwJ1SSIZgORZG*Wk)3eWP*(CbbYBmM z5Caw^d=%Ztu`WRQNq>}|te*CUq+)hCb^<&*7bEDB$ND_}^#u;B?c$RhR~t0piS_{| z-ErytMn)KT2<`MZ>bHMyZW{@;yzgT1;qUiQE>VONee}QFP0{Eqv{Cp3g&Ciwu{(vM zGA7djs7DVZm(8yrh7n``*OKLHt!k+F5dg8quP}{t)^iweA|?X^c+Qj-9*WC?st9~X zRp2oXJ$iHMx2i%PLhe@T2>i2wSoZayrC=K+C2}?FqHqP|m=sA^pckf}hPF<)vvpK^ zEToxOo!bYzu4;C|9&+v`P$D_~r8NjktKh2?G4Ea1)X9LUzEsu3TKzww0{VSa zwPFEu0%aY4W+&1!Qg^ID5bvd{fvKSJv_H1wc=d2(gDk1ayhlAX^Z*JeuZ~p|+A75Q zg$cY=)I4__n`0RFN>njaxd^+TqBsC=g4%DRy0L!CPNPv@moS0>ByJDxua2>Gh8F?C z>X}A^sXW)n%)Xxj;BmGy=kz0t1<>~jeEKZz(n(FwyP17BYylBA{#c3(Ipt`=PlKU2 zkaX)`mw(Y0-JT6d$~;%%^qNyC0L#BS@O=HGKm+oKt>gPK$oZ`sJA{Ng!2KQ~-v6*b zHW|q=6!IWFz{v)Vf)YJU)T+7nOLPl3R0d1CKixiuGzgM#%5u84q?vX8SvT_ zb8*r&jL`si0|cW@n+br_4U-Hs3JonlyO&O)`ExbT`)(cK(zjnhqk}ReMk!@^CH|wP zy0US6r*G6i3iGCFcwH-<66hOB#b)EgtVL$VOy72(+127A0rlcU+H?POK%P&fQeSh50V+_9bwv}J6n}EYc)CcC68`~lvhz@(%CH@8a?52b zZM~BbsK;s5VY7v}@+&im<4Iqxq#FZ`9My^KZg@1RQ$9;Ta$Gi6er}Mxqwpc*M~-jI zIL=L(HV74h^M{ly5dW7@QpEUh`PUHR#E=A5L&UWi431QqfVL!a0%N@H*5z>dKC=bVxjuM`eBD3&NMQ4v{NaFUDu@+bTh2L3kI2-)KfN$LFGQ3ky`!o9m zRUE@hZ7%e11BwC&O;9QV@T|H9lzE}K6HsPQqe*(V62$HYV{Z?A=n(d&6-T5*SF}UF zPwarKv}ShqkEPH&Op*E9e)|~6y<-tkr9OoW`S$0~d~q4eM${_6Nb zNDJK`RfGHCKc?B@v-t6u9nNzvkiaXV#`O#zl((P#){CW+tfzjg47hH}^f88ekHpXj zrHrQUiZ1ATkz&K0e27?>MW%cGFh%N-B{uunS)hUnD?5|+NJD4wky9LN<_^!ZW&{mo zp46}-GSH2>yr1y#u_ZqFub)e#^(VbOvh(Gy+9&|GuJdjZGc*6yc1=0_XIs1ffQwKb z7t>4#Q-3}J*G%NI_ZHr1W7euB?uy~J+VgfsE><3tGie+D_;yu?(R7A2_ExLy(+kTu z@_!ScoppYE##ttGO`)A_Znrr!D*Q@{cKgYsfd1)O>{-BBFkV{Oh0dd0Mjx9|o^cTd z=1OH?=jlR%z|a;;-94xE<1^kjIO9YLQJ#HCdQhLy;E0Di6vUU_NLpgDV?RzG#Y+4D z#Vo}*AHL^id^CaMDl8hzqLxlTn8-#w)O;_L#M$@f zUVHq}N?Bl;Tvzf@^WkYB2E@;K-cXEQNLzpM&UOctaTH9~RWgkzhUQJ`{QzYm)Hznz>VS3)iJ97r-@A&!ATl)nODw@br2;GY#W0o-8S($r_BymbB5=e8y3;qMc^u8#4%q2Fe!A?ophSh*)tfqQ@_9du>C5vS0N-wCWws%#wMAvNp6=eKPPt= zRwR52lOEs(s)zGp|I7jufd+Ph&ivOSm;$~7_CkI9%^9=+f@TmqzNGUs{P(m&-@n#v`{FDlsOzAtA)O+A(T+Li{n1TD2Pn3ZzW=j)AS3wwHp9jI}GG?k;&JCJ& z)5q#Z(9Hy!&{5bR_K?EX-MDnsPzaw5nGcQnZt)wiaHGHH1*sLNH0UpIu3IljkcGT@ z>?77zbo)sOpysfVslikp-_U_Pag49R-6T{4~qFW~mJfuSN z;pRCC2zCo*wT5OF>tB?oGllj$BWuYgF4x)J{(gZoU&cXRh@jL^sHd# zmS*Z857=Y)5`b#QF}Q$50n-l!oZ_Pz)ctxwnx_Ocuv*j+JCA)FzczUFiG10lzaIJTZlDBdvi|w~=6j1iJiUv=BG#|2;dQq6V#pCs9b`PiS^5>!Hm-60j2ZQvuMk@= zalDo+-*MC*8Y%jE0A7&ZnT6?cHGOETW1{-!lp28f4;6t9_EZ0<+_$Y76c849XO1LQY`E zh9;E|S;KA0H{w&{(+wvvVksxD{pFIqt1~c-mfbK$( zKop|w@!Nx0_H_A!z!G)n z3b~B)E@lH;_lT)_CVt!kuauok@%Oz*Iw4O!rvfbGv#gVGs~afiVRcU6_u-_!6Bch* zGmq^w+?44kMS1g*`Uzt=C%?VE6&5Z9&|v5>L$bShm?hTUqq3Nr1J4kp^M)Rn7&LC#7;`Ch6Nb+pe7Ro1_!9 zzOJ$IcFeL)u8r%K$?&M=z#2CvtJPI48qPgRzVaxjk@oCD4`xS8Q5jgva9aAmrt-m% zo;V>ixdWc?viDB%U#I}jNX|%p_3`Z8B!E$CHFyEujlV5#?%K+-B;LBNrYrfr1Y|6i z<a6FDBJ_UpM{Pv|!HFVGX0zO5eq@tnGgV6=L9^e79SwJ$sJ?y^yftc6| ziPYMxb^s^Vkc8G`J<(V+lgZ*uJ;5pVC|sk6R3tOwjO2FR^x+O=3}R4Ju|ji{>doyK z0T`HP^8C#ql3Jo52M68TyPEN68_L96;>CK#B44A`ZD~AWNS~2w3dBT18Mw|jj-Epd z;}n&P6~?gh0*6(vh#ZysbYO>{^CWNVi?5?pa|CiVm&l#4CYd1y?%7d{y#W{H5j?6h zch{)mqFNBP4E~aNr+fy79>lx6>tkJUra?i_thOlUuWAS~Wv(}#>~dw2_$sxen^6ck zpC!pg^E-7jWS=?ue515FUc~q$#I>}7M@O(sQ>q#o2lJHb#;8hAGj2DBZ1eSPqe=^> zFvAUo48U+pBAD=IzlNeq!=3@mx0G+-gOp8jZfmQ$j(uCV&Ms}oG`#mYm$f`^c8_TJ zJoVX>dwR>-1zop(DVZ+_vE-Pa!yn>JzV8&iT}c#lgjn{UzE1-TuF_ovdiF|06bgvr zPasohTK?`wzUgyH-Ra%MXs5i;zxFBG6JLd~Aruv&JfJL?XK7}_;Fn^gR5TUsBag+q zLpe%%Wmud<7hW_)=RK&&8KF`7)Zsnj-`0zD;N*Fag?hXE?hMd(jISRl zJEdyuIP{k}kG;cAV`Q&8+}U^spno>3u7?1Z>R4sfjnn$Jw_VwHj}!deUVY4-k1d-; zk^pMa$9#gxKvtgBkS*6p*Atb~4R+f30OF$&l1hb&bi0;&_T`iUS^{i|ABoj90zXLx zV-X30udy_4FbpNjv|&8Cq+LA#bcGMcdK~JS`KO-U0E*oERWhE``ROM9YF5_RgFs%B zMCX@cytfT|H821@I)d=wWWqwYh4J;x0O=gKy#Dpupt2O89J>3*K`4%RE; zN6Xu}7Za$kI0k&j1oSv}v_lJK@#+YMaRUM?tlU0iRUBvs&o@HbKx5$_jg)f1#e$Mi zv-Pb%<))w@*K=5d8m9wtc}6ZlDZs~u+rZhjD>{g6#Gh=-*R2N3pRq&sjXk%Hr?Y{D z=<66rIDG4ODZtV~Xz6k`ke=8{W0C@NM4lX# zxSHT9x`TZ>3yBm0Fhc@mHd%cwvCy+EmngMGdnBC`RvZc$w?EV@3wYk}zgg^Ga8;&M zP4;?lO>lfou+V$O8T*|ehlglQ)coaL(D*Y5=1?i*umG(8-IgAfN8L|3{0N3}eA#xx zGk5pFyGUGzGdB%lCX-f{S*dUF;j8=AAV;IPN0}x3nZ2Xz)hG&k!&t;49Tqji9RJ$S zgt~z{M*KptCfpiC;1+SoK8(5y)Xb1C>s((4^N439#I18x2y4r&LB6doCHOF(U=cWUBV z47j+AlNbML7l4e&g&2KX*T?LGl4dC~_(0YX@;Pe0jk&Vz!X5e9BU_CtynQuPvpvc^ zjE|D1wU@FDHb=LD*AA&XFI>49KY5GFln-C?iby|#xg@XDb5xqjqZN8G64N@%7a(A) zziT4ukGp{W5aono%C{Hq2Roa-SzuOm7&nO3gNq+V@AUR51?iWdoSvME^C@tvC22#F zx9TG^l8h(``5e#S!&j>f8KA{Yj%VNEqMB19pBrMXcCMRKMpkqdXn?fELpX1t~C1DPWfuBDcxO+XH(%UVf|9WhS_bw`MkCY4w&R_kM)= zPFB#(4Hhf{hoBymkGPzf4iErdYkI5)Ls6nDfW{t7v1*_H*=aed7@DVOyN<0Mu;V?t z2;K@JJ8Y^kDbB4pLKTNV1<_f0H+tYxVy)nf-iwjzl9P<*)keM(!Tiar@DPVTsxpr; zQpk4K!M3QX`m}zRV?%^RyPx$L)Ccx5dun(9!(R5|6r&=lEeDVA?6JOo0h%o=Z-0$; zLX}z1=E@@T*bo>9nz3er?X*GvP6T!9WqU88q>_fr!~vX2ykba_Y+vFsKA&>gprOzm zk=}m@&dE`&Bb!kg6VPu!=aR1TfosRyuV!L3>rk8qY3O0haQZ)|q3{waP=Txe31Wh@ z3TOqJIe`ZCOH_qn6v?Jw1^KVbh7-4azPX=o?wR$mawBM8POGCbg@pHm1qzN~ z81V%2LPtHO&3T^pMaWGRpGj9`J3g&Ka3*!kjrbbU)r#Nm=+HYm{3I{ML6qGew=U*VohW z-U@A^wS^o6mO;Y%KoZea5+R29c{v-((`t7T1s&a^zWRNiazz4wHIOz^*-des4D5k_~XABE5L?&X3s;kD<(X>w^hFhet(ngq%uZP!6b z1;1xVguUzE^h5Hn06T@UF(uD@AgkC4oO@ECQzaK;RAkrefitwq6~))A?il`7E0#L&-|L4kqw72aujSp^nD^FYs z8S>&C0l8)BFzIFdoF?CZKRMzr>SSk8u*aZHxitVir!RfZ#U#iO z7gaic_V{3jYZiuSsOY=|*{mIWNAhzOH#`8CAM?8+WL_&%OArouBic*(G5Vv*K{#iJ z$0Lat|Ai5|3f&znmPpgw(tZ!`(8~?@7xDj$e|oqF;jD~{#IM*L<|;3@)e63zB~Rwl zMxqr9;`|M3_lkaj){h;^JTR>TWyX(L02V@bZW)ssa21s1y-lN{qd&XL+R%B0O0t_) zK`L5)8~-p4EMxhomjnfPH@KEcZc!>7V|?rSGrpfL5NLEf#;N6{?S@YAVaEjaX32t;MgD=9t(4CF=vzf` zuUr7aE)&fsLQ(Ad&9+1^NDAtzBkmvUI4`AN*<(k4R5AURrKZNILHW}R;a}h*<}>NG zy8ooD4pAa|UTV!0M>8XGoxQ(6Ty+GMs1ds_OGauSPY*3T(I`?I-q_rdt7Poe_lRzc( zjeJZC%!B1u7*Sidr^jRqWSHQw8Za7>l7fYK`T9bL+y0Wladu1xjdh2e5~+b0e4MB- z*x9^%R1@j*;{kJm#?Zs?$3;UII)&h~ZC$TRc5=}ds-qcdb%K74 zWvB2yz@@Ih7nYdlPB}iRNPe+=cL@LMuK_9SpYGg@cWB2TgohqgEJ0JM5KjJJYOco1 z7&&jO3|i^*)(#GF_oLAac_@ek40(xJGD1R%@RRpibAUOO{K>{t2JcN)5B37T= zyh6QN>_Q}F&a7%o(tGR|%G-OS4YO^Fy16JcY@jjp6${(n$?Mkv)3~B=!7D+q2>ET$ zfN)in9rc>(Duy<1MI=C~&u0re!}1&HnGW20xmZO zg}^=v^a7~0;M=LVS!4WWzJl5++%sT~96 z=l?5=WcUy_XuF|nUDCZ^SyL^+C}jSTP<|cKCXLIw;VY%p$ctY)xCHIsMLAQ>Fq8tq zxJy+NgwI;r)+QIz;6|Y#UC(C4u!_;R47+uwiEUHl?9fnYofy)fBO+v2+xxIHS77K< z8Y3o?XD>c|IuUXUuQ%t0IfstA`^9Uqr?`k&pVH~ps2?XhbxND&&;gExZx6Zkx^LZ> z`1n%nsLYGo7LSB;aBr4h3A}PU@cHqccV~3onKU?+Rb3bqZa%;1Js;cjNK$M}cT5yH z?{H?-Wt6txmZ+Bs!|8A?a0@EG7`@99 zOuhS!qiDA(*Tl&R^y-Lo@$uX;jo{&Jj22!D3$`gSr_1d=hW~Rm#3d+qk?SojE=hP7 zPJ~owQ_cIfNk^|IU!QtX5FXKNB1_6tip(HBw(#_tMm+)J*+1s|dPdy<#b@3-9leSNMy;U~eRlFs*2FD+vIrWxgP zmWR1M-l0B4GTg_4q%&<*YvIDdZ+$DpRqB$#C{j|Dl5s{Z);~PzYT)_jls)`WX5vo* z1zU8q;hYxl8Uw5wb4`vgp3}Lwdm)l!=tawjAF5^q=&xxe0qtla+`>-bLI-Z)hH29~ zvsjz?ODgyau8z-z>~~8L+Rm7;(2T z8x~aebj|UWQ@3M@zk#kiJw@2DEEfIgrnR#!+hi{J44?D#0o@VjG@XR4*6?s(@@^kn z_hJ_NCE%oPwuaxs5`q*ZoQaB-?X&%d5V^yco5I@vpfp_DW!vUutxu$KmFAXla=sU> zeJ;xmlP$+Y4B7C(Q>b{~y_yn-n!lfPzo&H#79>TXAvPQ>@s*czJ^LWyKHbty#L&&9 zAF6LQ1NeW$o9#Y18@xfc3VI>_+yN60thaZMP~qEW*}c=@7Jjkat4;bZVw0WWqZxWy z0r3M8dNGMVJ5_DgM=b^pZI1BlkUQ^UauQeoNn&~3ksg|=H-V|mqZt&7S`V&yAg)KK zl9|36h?-Si%8`h&EP0XPQ_`ukmV4uV$*uOQ&%E><*KOY{N@e7(((Oe8+#WiW)Y`5c zOMjBxP>i-K7}TB*CZLtU;x5L&gp_8JG_HmIo3)N)FvnZGO?fGU9~G0Y! zjs6#@VvYO7E`VqIm`IQT-1MQR7AI;Zb0*v=$_iTbsA!Vk*;nK})M#?k@*ki2IL<>h zI;xa^#LB!+ZL&n2aZm2vgx*ViHOLK1H}DmKBHkRjb%k5_r|X_x@sE4cWha@M^?4An z(ZR(h5n<-ThONY^BRF%VW-WH+cE?ISq^1$FygfMR(k(;6LO~Dd=Io<{EzO zG(`PL8Y()|nW2g*EOB7E4|BYi#m+hYImn7KoT|5~biUy8qiUneQglG$c>aoH28XA0Jv?eEOuznwAhmVF|@|J&~g zeLYpP+ZzS{2$j$&*({e(c1IH~>3h^}wIBPvIIf~L9xIJ|2!BOLOte6oFLlG@)_rdO}INxoIqdqZs z4enB-5S!v5_vmHmi5^3ztuo>zN4nZnrh5o|rkY~8evzx2bInXR`1P7_R|Ch1WG=sW zW*&QlMXu47Gfh zc>3R(dbdUwvGXTd&u+B3x__U3!_U?rQM#BocbDd-Z7tr8D%A!*!UIuFknq#`8>Q-m z$}0;8GvCQq@^GKK$XfF$Vp=GvIN*q8?ZS#BvbS($T6W39!rAJqxapeeAOCpv+^$%I zQU<9)$b$2Qr?9NF^*zex2aRr^ht15+eUwzX-cN;UQ_b=&EXWk zI8z>Hg_efOsC>$^mTFBSta-fEAN66)H{H868Ln_&-hTE;OdU_?^L^D{_QEbF1s$n2 z7>09N=(gqY0Kp9T$l|N52C$g>A0L-$YyE^I1A0SIPd`D-MRs}#m+XGPL!+}O|Lv86FRgQ8W9&ZM#aNazFH z)LS3*K23jnEwfJb`JD^p1&ko`OVgQ70?MWD#vjJE-e)KyX&=1H(nyB=9R}ej%RaQF z`97T^|8c^?y^A_Mueg_s(%6on@-Mf$U?sRM?#;Ophs~OabIMLuA_riK#xB4aZTl7L z1V6}rW{OZenCjayRdVfOhHa=~tpCgD`8Pckgf0XQlHeGGJt6^9BydRQ88HX}`gNZR z6$Vc0+8$n2W#2R7{OywJPXe12aQ=8MHUCAplX@HHc*CCSpB9xIbJ{?6P| zqY&MtkhCTO;9K<=VeHfv#dvw>h?0~CDOk$HJB52!_jc5$?{|mNJZ^XL{)6%L%BRa@`U{Vs(|mMiK?K9qHVyME z@e05810&-P&SASrl!wLF0gmgfYzh|Jd8hDDdl~|J@_D=u%Ne8p3#XwdNXxcqDkzd9 z3kfj&NZB?abjYK-RFKR)y^>+a2+l~5PJ`?lobL7~QUD_u(QeVKj;{4~C=%;xS+f;s z_iU$`D;-aeo8+Eb%oCWomE{-JWGAK?)2vzeQLnDllya{GESv%yg;MWtWP0GH!Hlf69ujY1@%aejago9JXBRh$iX0_p4fBWVG zts9rLcLLwpG>zD!AbzmIwLOu#lJ@R_8hSbnQWWR9#$@w}*{&1Uv)U|yqYJV1{QpJa z1i!}gwN?BF$2rU77wIp@Z?L@^IJsF6$-kWR2w5dTPc0VbGBq*va8&qShLR;$cfMQBfEAi_a1_xZF?`g-lxH@Pa8b-hN`Zj5;T3Ih@! zA485&=BjmPJ1;PekuT|UoT+sb$;_-tFc#v3%B90V4z`qglSonu{Lr^Zb*ys4@CB+M zyi$!*%WF^8Kz{Klp)P|@&Q{8hq>sJ;a{!BZ*;hGc)0PH$Eiotil~40QwPTsD z*v$`&QP>nYRnv?ugtGpel1-a{^d>;2A0P%dZtt{{n*@+7IRAAntF-^l_eUN?hmO*2p`0SBfy^TcIM zsv>!sO*O%S;SkMUQ8!r)1YL^-!!E2GPih3^{-<9O1%--9UfrvZNBNxOv+#n#&YB=v znLf)e@fqcPZgxLMZmFzG!RPId8npK<$3z!)4AW^3?t?8GZr*L(K7Sl}{Ispb?6>^s zbj$0uqoQ+L`E9rCW(gW;>@G!b8{CWR@RHL^FE2cI_PzN~`N-rvqk3MIy{)e*kK*}+6&}y7tSZE0fv#r=lVmre?SG_}!e2=O!XTRzGGG){H$8GFYy7+wN;M?UChH zA}d3CuT>z_NFsfEKBc&ufk2(@N3Uz|mGiR)Iyhp>D{1r2gllxH%rSrTl7X?xEF_12 z`LcLEb;aWl8T|lfY_9)dy}}zh6)8nklA6z^aD-xuT8bZRd$`Vr#=$LN*M615#*eOu zfy$j8Dlk7^u6UOdZ(z;bk-Q>(@4J7u+~^qpAHPoyyMJYGkE8k)cpSWEXZK@q0zQpO z*scP2Pvsx*-Ur;5qKCGm+S(7L{!HyMaW~UnYmJ7mz4Mp9j6{oNEFx?O)LD>)tOsgk zw_;B9htzpA;2ki^_w>s6Vz9F9n}4pdJ>34)EaRFO}I65qgv0uu@YkF1?siajm!h z{zu*BJp|PAGjD8leY-aol%>e1M0@asMXSV%bT+3gpTkRz(}dZ`x0ZVLQ{@z-rZyls zkWTZeQeO*$a?PVzCY1_!sASEbk?{x!jiCg$a7zB7I-#lJIIy}?Uqtt0=y`DF9mOj` zY!59>i3<4?+`CW&hd&o7h7_Jt4AvPZ0_>gd!{7!>q!KY>q7E_3M}!tUmT(1uy9^AzNMa ztWx10eJs2z`4p6ohmz-_Qd$b!NmsMXheJfXzYiR>o)DJkd-+B0fDgw_g~avV^@RcA z0jG+4HnFh|rYU9Lk z>&8H zBBZByif7gXC*@{UvmZ*2J>=_OaHu_FHSjtA>U6sv4`0|UIcXR&>Sk5Syx)gcL5x)V zE(np&LJPU^akIp*TQKc&abzLE=T|4D4pkt+Ql72eT%K4fwCc~{W}cm^Aj0YFn#$^|aBro`i4yi#QC2B#cx#k*6SA=}}X zyCYW+2!kg{0+7*Da>|)@puDF~zR6iURo%M@p*?B-m(B37j1l!O{2B{*up>>xLJ%v1 zQ{_fsfgZzmjS7_moc2tnAr-Tb9sIcxw^%I~Z>K1AGE<7TzgXD!EzEBYoFt?72uL^ZcN;6M_ug2z1heFj-6XO^Oh_KK zHeXj3Y3E#|*}-aBlP-dMCfWTL z0I0KDk;+>^p8ew%TB?9T$4K6xAb@n+4`+ujzNXvbhp3xLDG})|y(kqi3Sf!UyzM3; zh)^yQ>1YUm zcxD*Iz8Ob(Y;WyftV&!r0mhTRT4Pb6eB?Gx=cs71S-xvm!#WPQmtyKW< zth=Zz;JX*^qyiy)dFW965|-N30c;x}p!p!F+Ahpu{x9y8*OO~Qk;=?*>yYfmDdXM` z5x3ry@DD8B>=PR>8O^LUeQzSILYce8=$G1P>dC5V;&~%pk7bF5KjrheYDHoI&#sSa z4smz=n4yw+)1*{r5w%_DAGOd>N>8oewfw_W-^p=eeeFe?l1#gQ-D$pvFo#j`mpu`QcuN~v6Lxf2zbxsA+l^r0z_wrbZG=rsA_{B{ zvtBP_SSpfj<8K+Ag)dXOOK`3ou$!>?BJMGo6dY{uJ#s9jP`Xn8M!)_`8%FDfs2<`0 zyDyFN^akleJ3v)d`TB8+ux;ive8$arsZE}!)1cJcRB$~AE?-ByrURASCMS^X-Am28HQ-EjbF z7HoYQUvE8mb-XvF%Cr>!%uUHgSflyctBMjKPqD}60#ZQQ>{8;kT;0-eghX9KQL<}P zz=inzmHO-RnW>V_4m4Xgig=&bJIs!qanF6}16wevYWzJ5(C{)bMge#V{RTUj#4m7k z^;E>t3Us7YIs|^c|NOC%K(9Ac zWEEDKtZ($XEB7;-gejeC_+=ogG12Qk?Hp(6nY+U~x-BHaDZc#mJ(A`WZKU`1CGlP}5CXZC^GcqP&(o zkrzEBFtg3xIHCV(TaT|PODJY8D zloyughO}5lO|JSML|9?FlbA3u&6`(o=*a8EC2W~6RBF(=-SYZ54R z;si_O!-p%+znrFQJ$>O+W%pTPxH^F_k&r-@?4o9P$-yJJC&F3lTVgQ^B3ufy{*~yl z0F}O1KJ=Rr+)>5GyxvX?OpizU#4;B~2SU^Hg1IIc`aO+jRYT5yWaOI)&o84dvh2IK ziey`_Q4sW8#|tScvaGzF>&tbFl#Mw;HDud{w`qxItkHUwVTI@BlFn*c`tR^jr5xnv zv{>@tlhdupXLMGc!Jb=_ex8&1P_P*a=zAnP{N1xEb@Hv-y1l*HfXYdR<-*ZVMF%Br z-c-6)9nl-s+q~7Ln=3!J`m>>Q;KyX*k=JKKjV_kVAbBdgSKD>hGD_W=4ldUkoOcmP z>`G4PrH8WDhWygrcljBGb_*?CRjDhbA7rW}NA$Ag5ADE@oZ_0@;2hW=P+v76?p?eD z{k3R8z0B`K1bRg6!L{aXH5Y%uav%K9(qc;DH*Wfo5}f^eTWt~xaj$nrWg&9~gThmc zEc-}6TVxeCY?zRX<7D`Krl;2yU9+x%I4=!n`oMod+Qk3J^And72^pEMLx3zHNzF!S z)020jwPhDyy`NwEfRo5i4lNJF|FZaCk<4`EYEBAg@L>s&jShR{mkG}*(<%X%nT=%M zvRg%Sv(uku9!bt4V#W|1z2ZNd&lZbL3FpR~^ypX|MZo+U!+ZumjICy61&?X;2>evJ zSkkdP!tZQf|I@{1%B{3?wo!KY&F%T8z=DQhLe?2>x5n0Gr&rw`FDE)Tsv?W%BYIz+ zuQGjT=AgB0I*)%~PSpM8(BPQCGyZtCMyGj(7pE8GWaSQ$Sw;Tj*1ih|Heqva&T^jJ z%klg<_v)r}q39Z;X`V-)1dqONf4`}mC!)XE@yJ80RPAz~1syFaFHD`2nE*JXG-e1d z#DQt*%6|%S&64|_9&#;|sQpLPiUUIVvG6CmLiKqaRLKjlvEdXTe0ls^L_!hVttVr6 z$)puI?Os9&JSZd0;Ws}T`4a?k2yi`o5-u-Eod(e4kz+L*-Wp+fFpc!;vf}4c*q5?lxG!|a(vEZW}P@Hy3Ad-u9J8=g_-RT*-ZX} zf?F37ZuV`4y{tXtpklAGS~F2b)9*QCHk(yO6QU9;Z<6zJt77m)9+F(Wn5G)CjmFY8 z*Eb9I_ud2hj zRB#|&p@K}W!`Ni-Grv3;iF1)fha?hAj;ye9sj1J^6<*F zkOOjgIj6F})OvncbD?6FjEunU%7-v@lw3G%_ls|ny z6m)Lm&fDCVl;NBkw-AG5G4I@3E|9pZw*=!y{wmese1yZa_!w;Z4~Fe@6Yf1 zPmhyvoa?$?pah{h1JHlT&Atfk{4_s0FM)_g&9pdSgBFY8E-$x;vwN-rmzvG z=i<$v^Y%_&{NT02-yXeCwj;0Nv|*I^z`j0?FiS2}ezRSjtu0M!qi_`1ulDRWv54E} z`U8Z^b;;_h@IX1QT2b~P#qh^{SpMCiLW6wGXLUu)NN(OYW?7A{(_*s?3ITu#?P=;()XG@eTcRn;1A#VL_pdiVK;Yt1OzMdhR*@ zO+Z<`SpP?kaYbT7(kF#CfUpqq#wVhZE}YQRq_2Bitjb{>t=!1-?Kr~=0dNVHNO7znqo$+F}T8n zT3FDOW&1hY)eCe{q@FmFpmC$gLVGEk2Z)Nw=rwQg(-MWhU2j#V6Qk)1$^4ZmA2M&0 zoz5n6p?3Y=HMdxJ6=%z--^qr578?%x<=!09Yxk-)FHk^0<`xgFgCZr9oN3ygN(?`m zzwJA@Vf%E9PHHkWAGuiWu8eIeiQM(h0hg38$D4gKBJPNTl>VV0%AJE@c7;`9pkwu6 zhS&Ovp_&L?=WM-CC&yE3E1sHe zI(Vh4&6FGfJDHiSkK-v*3r|h^UJF%xMJUv8?eF1R`YO<3$1mb9VeYk5R*V!hT>!lr zptd;Lt8pviICC87A5swfHIU%x;th8+g^f4}iE#(9sYK~ItQsYGt_ z=^T~ve6~2XgyU4>rax{Nf-_Lh9{f2(Ss-ZL(Qd6#MpfInEEUD=TqgAf3PK1`s{E{Z zd(@m?j#a{N8B3_%wtWJ(Y44q9h4#hlN|Zs^GMsBRiR(T=s{|cUHG}!gV^i@d7HirF zT|R%~$isMUAilQ#w$XK*E6+9yMK3l2MSt%owdxXi|X-QD+|M|WlosY01@&qm53O{*wqr6o)+&shhFY>*oyx7~jYKc9Dh!flg{$4a6 za4_+)@1ZG&1g?d--~_fMW)~m!dX{3UAO1(kJ`Lgn;^+AZG+sJ3aj&J}_Tz=7KBXrW z&?+|GQtRaI?<*?LRgtw>!F~CJ>8+ZRdP9=Yp!)#nl6(HtAm_lJ$N(i~cO18izuq#; zxW|$P2;7&smGtPNhj{ z*#pUmj+7jrbbW26>;nyRHk@3z2sBIj=~Q zw&)h=M*HYE?0Gtl({A1@%JLrOmeg3H8|n*fVd5Nlrd*qxcAzAZ=p_$1Uq-GhDt+5{ zc+{t7<7SY{#VO+<*$mZ)+kZ25Bs(!y+3UWI_nBA9|50D3+^c)m{W@Y^>|s^leHZ4n z!N^8kXKA@z7nuM#G1g9w#0T6jF%hFgQg0<<#_Z=5i#B8vD@&Qd=HKe%fjW4O8_}07 z7GLq;lEsb0*viJ%GV|uXbAG00*w@z9VK_JE@;bDHvCsZ-+gf)@%YgITS06;D)I-z4 z?}%DA*77mQxRFI=P2FB(<<=YSLZHWL%xz0l!^AI;Jf7ex+s}D|j)lbZx5$6!T=sXn zUKyA#pa@$yk8eMJ5EOY6uu$IlU(d*-%&D}JAOC^BFjz&Y?eTWZ>uM#k$4w-?B}wo3eYHB?TT-pum7 zjtt$eSM{g#!Q1L4ozV=toEb;+5|`3;moq|Xwev=V&G>hZUqk1%X z5#zL*C6Pv%A{Nq=*4xgxU?8(Okj8Uo+aNn>w#4z+}#ao^A@)04bbT-7F7D7O(R~T%K=tS_S?4wHWr@;8LqPWRwX?C$q-9tj**KD#3=`#T2mjax6$S z4{_S6(>O9ek^LgkmkogwspXhF6=rjwmU>N;j^#CYk_aue9R!S61CaSr!sBBh$=e|@ z0A9H&5@6Hh(vY=`2HL3d$urP(nDXIpG$D#lmVUFS<2itPGf zOi#y@J-n(q(r3$Me>~ z4oaQ_v8DEXJsH}L=7>5%mK*iHk6Q=&;GRBa8Ye$t~Ni| z?~N6nX&KAVU+0Z`Z+@)kQ1BMn&_KjaPu1z2o5&k-Crj+ZU<}wiE2r- zXMISXFpWYOS2j%1I7i>H}2+}At}SwroF2DS2Vsz*vp7R94QAt-E%d=87e z3qcgA=^Q5L_xaU9skn!tP+ez%g3bhor-I>X_(qOa-0X;Y2DeJO z#m~RTIdl}J#cs6>D)_3NQHU>0-IXOMyxVt~c!(o(;+HN#*7d5=o#=;Y+WN1P9n!!~y~EalY#2C6iJw!Ks3L0Rko{?vVSV{)C=y_RuhO8E$$kSg zi;vGSC~r0#kx&Ars&G^RA{UMZ*}ea|E1t8X;7voBmBR*H5Qb*EV#ikzDJhAZVKQbHs1YimoF z%?htXs3D_)orbgb7sdKk2k2Cs+IC#WqHv6+ytHYX&!sxr_RVvZ5>thte!b45II|@I zY1Bxvu^1^W8+J3WNMkb;CaIk*n`ZHYOWMJrERR*4`6cca@~h*Z`Ki_9y`t?^q&kxh z+4Pi4OiJ0)qV42~>ZftWZI&?{Hf!bg#Z+(4I(Gd0GMJAyHeFeui;HRZsj}(QU2zcB z8h&f8m&QA7gJj13hO=~-?Ty{gJHitzG zHgIb2B3k(X`LE=OGD|YJ|2p*A?o@DDW@ZZ0EboP@ckT^AafAv%D?zKL}LnibSB{4afXvf;+fudExGK*{c*mIP_O*R=CJ5#H zGkI4UruL+<@ow=(RTULFRP|LZPdR?q`L0z~aRcVU)83ZP zJjB@scJs1r9%9?XmrEE3K++|gH+t0Rpd6WL;#({rX3Cb8c$vNND(Obw)xm&plm4YS zEY-;y<`(%}9b}zE%a?0e_^OLod%kLo~<@_QJCpGk&pEmv?;vwb(D=9~$D^Wa7&TDPTg9~Rsjc-5 zGv=5K%Zm-LJCfm{4-)R*!Y)YO=2M&5@4UDwl3bI!Ad<Lgb>`{bunSyEsox6V6v} zMcWsAvU0iJ6}z9V^iKs3SP#)M@gyF^+~#_zjZP%73S`v^ zr+`L=6qJ~L4O{HQ{!0k+oA%$GcD9(On1-6WhU4d&ELKJi3M303+!54R#D?OQ;9T@A z!?3pESN6TD?pY@C?BKN2G_N|f&=DD)iBHrYjd^9CIgcwfoozc5nL`tRcfMEJ{Jo0} z%RQ#R((eb&JpaL*1|LCf)O(41zF>)MNTR{2zzi6LY6&d7vo2CVpBQDx7{dp&TW2Id zsRIP)Vt@6>=bFj%_UFazAk624kE@&_H~u};@>@aUXXHqJ(xW>H7SDbavRq1?^j8Qm zQh$M)B368UmdA!B@~-2vdC;Z(2#a-P&AG1kN;0T-E2laGNTOHIuvyKOiLJ~;2#&Uz zGlWjQe=j&)CD=jNWimB2luVtPI4vYYcbYV}RBm{xuER9Vp~|7b(u#LFm1d$;97%pGKMut^h7;;@AT$tbZ0CzZ=GOe z;?d3VD4?=R3{M@NCl|AHWEd*Cp)#Zz9X#=Ri7eCpquDTgeniQXtjTbTky0?ZmeJ*} zZe9#lWh&I#$nPf5HKg?|S6HI;L-;3ph;07vJk*gXWxzp1l)O!~6i>u#`s|8;!+xrTTg6-V1FheM6=XP4)5uGG~Z2?*b#g$%?6H za;boNY<8{Vs%)cgR8bQJXzT2ZhG)&~h&GI_PQGA<_j8;kN>^jn-PfzigzP*kGvpE< zvM5-4Ws2l3n=pffydG-f?Dn3dN>^bP)Z>k+Y-R>s@DrCWDw%>z(;SX+sKM;E&2qNz z{&d!~%sh93H!0!*K#|;6%4h3Kxg4539cmj=hW2!t6uGa*8+SOoM3kDjkPT}F8wp>4 z4Dx!ej?u{H)2P+ft?|O7DY6f1p5+ES!9%}>g;gLF%ekVf5#Cuz5@0t>V?(M40avrE~D6=s4@vdBJ>>$#V3;mFJD~HrWZv<}9elRIyTxzS9yRNlu9?*_z zuyiLX|6CFEL^OtN{xl6;&Eh)=-t8V=wH?q>8hqjCte`s-m&3Hd#aceT#VQvNNL^&H z(A>;1IvCM*4=`%QKw?EkJFCg#((^*RZdfaZny0?>VW>lx$=^G%O@q zMlc=&ruT;I${tR^Sl1;CTG_<;%6^8_6iSy1QeyHCGFJu z9?{BT(o{uJ`Ggo1`X!E z8+kaM8?R1tu2!h!Q7{Pc)fEGv)?mVvZ%rpA)Zw%Oc(NT0L$OA0tF_(4u&qxR(~*n3 z+haeAO>94YwnM(k1OkAcmMSA-8cVk_?GwV;N2RMG2iYN<7?Txr87z=?MFFT|&XD{g zMHW1GjsphdKWoB{CB8%4%nk!l$cKWl4{ZuDIg+16t-tW25}1df0I_bc|~q@i8dIyix?z?X53+3_>kO?QcDAr7BMxq6rfZ; zZuza^#m2h%!qXDXv}AXI@LWjmXEw=6NkAa?>`_N4ZjZ@K3`S|aWHnEIre@(pc8XA!fFvT-Ab|`vo$NBoU z)vRr*S4IQpLg7hYL>rb<(cI8$l7Th1iV^2pFhi$@s@WI|jxOj=QPrm|SFKPKNETr+ zsE4LnvZ0wsFdi&KyP*UUW42P*kt;PMS63ANL-vA@0&{|hyCmUgdm37UQR!%g{JIUI zRuMh;nbsaDbczA=d#;TS=>SJ~6&Q~NB3P^lrZYh&RZ2VR26c#Mb!O@##>_d8TuARO zlqa2iQJwm59gE#&wOkO+buwc{Xy#2yG;si{hPg=P4Z=lHuQNu4u^>tX<1ObS*q35aK z?z(6lw7*>afdvgWy59gTpr!Z9l1y({hwEe$cxVtuJChJ_lT71hDPKc5IA`_NLj|;s zCuo!w8C~5lZ0y19Q1T{K7=@F1^(be)m1=uQ;5le9Rp!H3={B>N@CWWUf4ytH zFwykZGv6;H(b`z1)b?BSsk19Y%y1M#!}2MlbZq<5Mja*#sH${41p;1tfL&_G zq&;gn^^l$Vo4Vs1$^}IGk-+zdu8z%z>il$+76)1gl%bNWC$(WRiU3AKp>;vGA|zeJ z;Q<`2UCtjX@2XK|Sv$X8X}}7EiNJb-!8nYKTB3cvv>+2A+lf5=l7-C@?Iesl$g!8D zEz#$sOB!9*7;8zSCVZ6PrRVDGm~u{cp4a-iwK*spy<~KOz;%@2DAfjL0}j$`!~Dv6 z^o5asjpm_FP+3#Ps#}G&5?T^$nvW1YNg)N6k&xCJP0)c}7+sT%4P}m6`hCp!$?SWx zz;8M^c3f@sQ+-P({Vqu-@oqx3cWOLk(X|Iai4zu9UMVfU4P=@4>(^dQ*pqUWD$bLPQzLVtVzB>*p}rJ-K^pfIWnsdo~TGvDQT1KZ4|1ZfGHF?ec?E{^LV z7CX4gB&=q)ymZFo;3FMhU53OTLflT*eu~fTnj;&@KFN8NY{(ae?n+qkU zi*`nAKF4h~zuLEjX;@4hW}Iy{4yeEBQS- zfTe>RMJH)LDDTWT%679urUW`U2c>?s0fB-x7;N1Nbja{01~aOGS6J3lQh0;G$TAm1 z_u{HWUCe_$n{=?QY_%c^i4c@Ubc+y$#TaISdDJk9rN-UY>+KS+Nawh&EfzGfo63gP5jdNBm&k-h9XNCj zN1|_!5G9>DJ5i$3EJ5q_<_m7?zmmPaUL~>z!f#uPu*w=JGUQ&Lya*S zqPCd{I-I0um4qGu&GY{}Ah3kbV)(%I=^_bvs3l(>>op?;kMx=iBtvhYl@kYxUly%<24V-B=8h`V0xm)K(i3)4%DFs7T?D?vdBJCAbU zD@Qgp>bk4^Mm((dz@o#Ri7b2Y8{?n}fD3JOp*soQDMhWIZPosNlU1N|Uo+}Ko0A1$ z8NdsC#}jo-P{2{?l_kD8#(94|TLzzJ586S#dmYo<4e{_+%Xf$OQlF)X_E5wW^m|1# z@2~t$B!Er^h;Xl}IDdSC{uC)T*O#Nima$`@Xt#hI79ZHp?1FWFJLiGJ0yKy%gL5$# za|~?q2^j4`vW*=+Jm)s{VH(|Wz%`iV4*RqoL@`Lv+FWCsNS;5Jw}5t1h%9JM^xSK~sD*TnD#p zxPCnqUSypvyT})5GVbt|5d{*d73dQiu%?LaCWR>Kg>KUYoNR08i6c7wiw zmmoP70<@O!;Pxb%)V9QFnXO@S>p&bhOWys#$&+Vy`5e|Lk)0|->pLjUw>+M@QeAxC zDXyP>!{W?lt1se16d@lj_BpqC_NBn|Gv?V@6H!qc^#;Xrk9u|#gMt%6d&#h^dKtAt z@{LF>M0*?*=2c(oTo9L{uQ;7=JZv2v{-ZlStou7lR@9pSTO%!WufNx{n z?)m1mD&*$YWxm9Ci^e`u?MVKhn=3tNfpq^cUFV=4%%(#<4jNJtfF?Dx7XIoxWmh=W zYi!#C`|Gas!M?^OU~tUY{}R4yRjz7CWYr%*w|Z{dN!0tP+5XOR@l#dLZ*N5po$!hO zGoR~<0CxCH9oVhtsU?~kS6yu%ni}rAL1)#m5TR4rRa*U*dFtoKZ_KiJ|8}jTCylQJ zTt%bL{u~-wYldzzQ>5+dw<7JOr;gdgmU;-peH~kp~ zHH~W{WQIAL_pSc?jU8~fi^xhnOng1%r`wG$dD?0Q&t`Bc36+ZbG#NEki-4GO_opXC zI84izLsv%j-|ka@EH4ARwL1d_x*gKtGP0$`OFh2zJ|St%C_>L%pOHiO=@ln)v1sl* zX4Z4p4nu$QBaF#`c+;D0uMIo2s6R=NWXDIrS@ZS{zWEHa-1oHyAs+hTEFoBm%F>KC zzYQ)NLxzcN<2E9`uc5?BJtmkx=woHiUV-rs@BIbR0O8P}g*lqPkl-+0P1DT33jR!c zBxfDd2MO@pxiY?)!&tC$>a?}bK!yQLo{qhaX(SniWAkop{l3dlDS|^5OjUy)@tJbq zm&#YLshW*kt+5auHMAWSni<_R((d((Ix&9#9v1;ZD}>C22i?n?wOrlZtm=b7?H?E+ zrCsR0>eoJ_~?osE|yBLh~g2f(K8psFUZ25+GVP>I|;n#S(%SJ0DLT9QQBMhqGi(uakF# zX2TlCrPTWfb{SYt?ir8k1kSH*=fqqN3pV?t4;sJE$@LC4<7jkekehEzPtI)NojYa^ zz<3mmKjouUwRb_@0~HUtEQ`H9F^c5?lTC?QzU=f78TW=LnJ|&p;a?Laz9}%O;Q^P& zXyLyZ<3u_0ESv$vP7=29a9Yx(zhLiS>GOEp2j}wK#nsYeS%q$+N0C)L(&e^7_iDlJ zVHo9K#@uq|1C-aYy;$YpUhykql9)?)O9mAv(?$}xa$&3ojDF6^{vI$&9$ov&`V_)r z>WcI3xWT_({`Z&bM=0eeMQ$Gp@h32gR6oy)a(D29M^kQVXZvGG;>hSbxqu7T_xEfI z_k%_J{OuNrj_^r3qUo6RZsXli7wv;t8+@J<8HE+kH}u-W=JZx(z?b7=(Qr+@vx zl`fjpYn|bCl~t>yqb9Q?QW28a!oqV$|t$2XS03j3Fn zev;x(C}2f_e+EMj;{uhktE-CUu4>0pp7o8WNU>VvyydrauYvuQVyitJl8x!UV+lUfXQfZro4Q4k>Xq!J`Ukqhft%hH*xVyaF z^B*)Lekjz!3pw=o-%A&Va!^g|4MktzUthAp-N1X_$`z-IVwhtIC^jUPglQErx987& zWZB!mP>g#5G8tDbx9X#fo7@%Xk9u=6)Q$4F#&Y@urYe55-_@?jd4*Xo2XD`QGHU>& zq)D<^qq|4ElcKO5_lIx_>!P3WA*i#)U05(G=Kj2cw)ZOZfPZFF6aoKi2nHRVM8W6J zbHnuQTDm?L$E2Vj;kPH7YRQ5|BS8LD?~;a~RbX^H z-m3CDGYpxpbASDZ4fEfCO!zkX^7OL7_K2T0ZZW^7`Z4@QC5zo$ds)4$w}>VfEj>tH z{$MdJe6nq7X)NmkDgLEbn!k$eGs9FG826l!UL_i;k3A6B{DiWiJG*+Qbcg)%Lsz%2Lcaq{Xgh0MtprX%qH z9F)D-!9i7sQw3exO!FvB?Jbn~!1km%aYW~<-JXpPgNq?;oI&`vOMhm7i9ey?O8N~R ztT%5UF-B)b7$Mg0x*93ZBUAXp?lx^)RsY4ciOKEzfwL*@Dg^vgUQoKvGHidtZ;KJc zALQ*><})>6&1$M*%k5(Ge-1h;5JIP~_(x{_1w5~kUOwU#mfaVFe7Jy2Z#!H5L1J*V zJ0(@v!t628mwNVA06jf!kKFwOO6xM_i>*cwsxD{zO=@uO%AppZ5qvufpGu6D#CY5v zyFwgPZ3R}5DC*_{el8a+Pn(@q9bqe6SC~&R3*o^&qZ!dKEpUO7jRyTc!C~(w1VEWe zi#bYXL@;_PwZ|Alb%B%ehxjj?$-mZz;(W`ecKKh^2?DFa5oOnL_W?+=D`Zvl@Pw0> z9zl03J*PbJ6~3j%0`7sOrUQSfg6u&dw%e6|_F$jt<#2#niKZ01}! z9twX4%;s2N6K4fj(67{XeE|GZACA}_d9msx8MM0Qd*)!ZKN2ub77mBVjQX$}JrH%D znJw5)7Wh~YNNCoE_7S_}8h_}S5FkpZfJ*)gY+*FiKZL3H-d?tq?Y#50Ih4njz~6<7d3GukH&9G(a+0Tyu81PF z0qgHx24DvLck&Nh15_0$%8OSB3e$UE!S((ibR)6MbUw}`m=P+Uct+mH?^v>eJk zLcvq&qL*FM_Yu0Jh6*5N0+45gVhNMYSz10lAs;XqPsdeCAOs8)z0iuJzUjDL_a^#A zAFc?D$%3rIEB@wK-@-Zq1YzSCaju*j!mW+c`mp?Q!AMc5q=}PSQKM%M zka$dz&Apvo4T>meU*fJqNn`Ut2UtA6I9jljUda!gXqY8TbxZN6)t8RINBIUb*FE|Q z@9j9dDnvyAVoODQQzW75I%Y4_%LpM4G_zQ~=?YU$J+PcZJauSD?BHDEI$5UBz~h9i zYwSI83p@}K?--xkzy}!i=kjZngC%~B;fKj>z4Cy&WHrxxOZfR^XyFqzG|>f)!6Olh zs56&jppulCz!p4v&vP|n6>dUEpH)*qt{2kYf0MWhMZv><7rsvZh7Ve1-KiIYO^EZ> zwC_iBSB)Gp#)Pr~0L&Fbt1q&B3>cMh;7FfJuW=0sw46m%?_c=TU z6|@R<^AmO0R7&kB7H&fr5?gxmt>GI@Dts2#*tHy3)m1pHMnj@9=J*+qhPO$z$22&y zTG$6NhHv0r^7!wX@&u;h74U%=;0k+e)Sp#QbwY_EY5N|f048LYP?R5gxn9l0*5&zq#B_N&ne3Q5-=Q;t;cw>RE#5`sAn}VBT05J&eZT965$smv0 zQP~6l_h3Z_vHM<~Ux44vrI8d8V@jc;u&AU612ucw`Ty8nDu|j8%(G}mW7?auz}GE} z3{|D%n_q*H!t=3T%HGuyf4Sbl`CwjIP7u%~%bk-l$XUpYTEAoWOcweBu15-MkL179 zVFbpPwZTUP7p>0g%1qI~Y15dp@Gu&VCV$x{rqU=`6C+yUBt{M0yIEDF65M!^1ughlm}m*V4K%oyZer*ICx134B0tX{=O|*9sBQ5uia$o z>D1W-4Zhn?F5Er;fP7}3`Qk5zvVsj(HzZ!tlLRrS0MGdA1-Ik&P%91`XDs3g7CbABR#nkZE+V9U)~?MIqtCLEsOvH zJwQ9As9KACZ)o|JP#P8=;2JOaA9fS#3w}+R8hsIL3Sj@~Ugke5jC~KQaSM(f%rTC0 zPsn21_f2f7A4&k=^BPi%ri#Ox*57;jnQmeYdEYuBld3=>z`JaF+^>q}8S+2dnWS?14HE&}~ZUxW|u8T&Hcihk!Ecz(% ze+@RVLEtTNr9$%1P>u!^%Po5;Mrl)PCqbq{a|Wc)Xpw;~6a7H@q~GF;r;!<0dr_xC z0g!>4TN#u{hF3Yj3q((;{w=K#SDMNb6jAZW=$09lViB^$n<%lB*TEXxL>3GFIA)M0 z1qK0B#B4Ix)>fKm#2Xf=R4S2JcVHsiZZ!Uf)%-V%0Q(t5f@N2OFy~Uu^*a8!g;K2s zqZ8&|ffM-^YWRr}->NF^jrfMSDE0M$NMmDQi66SpCu4+70vjo#gFPWyh0Yi7%hG!AXyU{e>Ql%jVb1I;+q;C)Y z{&6p3@N)yqTm~>RH&3*1T>w7QYQjggLjq+Ed_7QvN+8;;A*zj#3K1}a0G>uwOFP$O2h#yd9Xu!olO)og6 zq+$KFopb7ONcl7S-Ddavj%dn9iRB|(xnVnRLQACJs&v$KnOV^!0a6Lp#CEkroY5aE zb}bBk<(uYa&n>IaFf@opW@HH$!mF7K#&*&UfEqmx=DJf1;4!AC04vLX^%NJQn2@;2 z6V4ktO}23og{*TeZJV#@X!J$Fb<+3_AnR(l;QZCBjlt{~5;M`4>}$e->U4Lydl>9- z;5h%yAdy4fct45<%^Qmpp&*~j0qt2E0A>fdA0Nv#Z#`gICtAE@2=1ICa`VxR7p92n z7<=vY(b3W##e0_<#vGaggeGa5cHeLY69qQl%5V82oa`6zYDDBk0N(t?C8?p0?CZjOW|E#Ta zt|k#|7B{q6UFPTdD>0(*A=JtvOgU3{ZG?WVE^=DK#P>f$B)Lpn4O=GY<}TAODmw?B+iv|2!pWer(I7#^ zjy{bzj!*MqM?jgr8htm=ohd>n&rn%`7|@@s>olSzsF2&-2&HVQH@j-!*XjeDJVCTv7~zUe=5#&dpd2=FBF0`}<`u(nL#_xJZTyn;Q8J>QDm%Dh3O z>e9V;BTB3nWYg{8?H(T5;j^055{N)sY5jTQA;s$6$+gQ0)TJRybmnUUor|0{ij_MJ zg6a!?PL0I|zkG_zz)UPs0$dn$yx4ldxW{`&7f7Q z=Ku*%LDvX;UD4sd42J;%A%k-$rKE$7tlTBz$}^}By^UAO4|rZ zhXjL9hYh)Lx-jU>GoHnxK;?8!;oU8P{j^^T?~ZaFXE!rafTI$e`gUG=gb!J@6=td3 z%#x6c(cO)QUvNwvV!wF6AH$)XX@E=y`dO~W&u<3#8seM++4wH>W!)i8D^l!Zq@giq zz|m$?e*0$-VU8d3VK$C{tia+VcrNKNs297539UMnUr*S!O9)!?!p679dv79#`@x#j z<+0cf+ux+pr55ID<0zlGm9KSmawWUe)GvJ+^?w#*hxRLyH9DsU@U#|xcW!Clc_{eS z=Z)#u1)}xLK==CMt<$OCO>8_Ly;n3IQeoY6$1UO*wgNYl84k}<>`0^)*zd&HBc?2vI8NNuP&TE!np$FA$(ZGN6Ptl$sV z99sh@6RwOKuFbx59NN)iFYbDXxO|<)>U#K z8Y_H88rN!05v=EXd?5X((<5jSk+~C8?3E&fh#|@nD`nmIwdLlq>{We+(jtR=!zCnG zXYjh+3YiK`6vIxw=a#I`qKiCCYu75?kOe9t0FF(DZlqf|C&dR4h&Wh(eoGF-f!~bb z_jgdpnO1o;@hgm{FZw>X^YJTDGA2S7_(huT94QUODWEb&QdK zirVc!KE>Sb^=YWb8>(VzWwM-S(8w(~i-c>HHaXQsbA_ci^--kUW)8Zv{lcSc02$tO zE=D$MXjPChvZP>i+I)996MlNR+~xyw%ScHF0WwK^hP>>XI=oEY-hN4U6lGK7(;iam z?htN@uLV{o6ly3w_|wpM>t)=tB)au09| zr2j-T{Ih^7vxjmGzFy|u4igh0S_cQS9JVmIXeEWOg`l}W5zK3>~M>78HoH$6vF}G1G+hjIJ5Ez5t zux>1n$OlS%sIew3B7UPaF5Rh(7$hMo z<$PCaXd)0Q;;`LA4k8n{udg(%CkG$Vnxc}BVRHT<(vNYmQLT3-*@OjxeGjBdXF}gZ z#J~QZun$xlGC<)bdFgnd24E8eJJ~+SHIqeh?ZxuIX7Y1@lK%T(s)h^xGGn6o{HQyv zP0e;@`O;T1aQ>}^Qk3jj#bnAT2>{lb*F@W=cB?Uh=KL?D=^Ru@) zOf=UfFUdS`pV|~%HL!j16;76@K?PW4DQFWFt^qJ;SMzM*BcvGF@y<5Sis+sQH<4Qm zc2^MqW+@)MAc!Xp3axL0|J8y0%k?qTWeY66Z;WP}0Z?C0(HM7$3h;p~Q!IO`fB`DN zCQuRv^u36z6y)VpsGdu^%@K9U>6523BEU*!nUwxa*skSlcl+Eh6U%kB?CTRtvgT>~f9T)ZnR422X!o3g;a7g)Nm`lxk$w z2tV~owyWCtz-=G5B3m3Kj+M=qLy@NC@Qh#lH?Y{9)+(Njx4BMhQ}3Gq0TDJBN8qI1 zeQQ%eCSC|=1c}&_-{9@-#6fKut8eHx-W|}vtwUcfK$Qw$51?2H1MzKl7p!(6>Ci6U$~ep2;n;Pu0Xzw{n=0Kh`jY zz$${BE{I{r$D<^_7n!(91mW}BwvS&Obb7!OLd&P+&WR_Bj4Cyq0DY1SKw~Q7L7}D# z2vS?w(?_XPu1ey-3q${uvuuau>>+o_G(*MFW3Jq`vwkH)-$T-=v~I(RwS-h;m@=ScefK-5MJ z9v)<~UHb$O!+PJY15lblGEs1ocm+Q8A~cFU$if%NV{c%aoT47240$mBCje<$XUWGM zpAb#BK~IyMDe+6wP4xwo`z#;!adZ|FvX0GDpQ6bO}i|f!tKs}E* z&}$^-W27!0M_nFc@QxhYYe2NvrOrA3l7R~L(nZ-|nZPw2i6-){r^&S=2?=48!6o)9 ztJoXsKJ%MPXG|A|MLvr*@L8OEKz3G!CD4VJGjedm%&ivMJ+yeT_`8W*UVz=Wc*vQaX+tMoHN4BBC3Ecy##^Eb&Jka2_wa5t#QOGhJ^_5- zFXF=jxV^3T>-FhdGN#_1gEKZ^@V}jF^b?$rm|ZT21y1#*;%^QZf+Ibev$!P}60-#z z+(-a$K_@VbNsqOIR8D*tJ=6l=C%3NpN*=5D5Bv@K+7D6i zv;{TgztJZsW1&Z^t@v>1W4?z)wVyTEtDkIBp6kOn#@B;c9K`i)7eeRlsHK?S30BN8 z6Q6d`p6fm9hPbN=Y8wTA`>lEftF>>LBJT$1krAvM=Mw`Yi3yxUQ~cLsoTspF-QKSV zoT3ZcfKFiJkAo?T5Aw1^Zfp1#9X!dD|2%{OHM)`kU?+q6+E?gKL!o(xY3$_luOb$#7Mk-h=GQX01@oZKjst` zon5+Mq(7#5A4pegU7YQk@;zUXOuW4ZfW;#k&eO+#mmdjb2+mTy4}=0TWKT5q$`bx! z%vQjO=_Jx`&1D+!ab=kb>a>8&jvNRt0aPo$!T{`q zg4yk%%S44v+5Y6)a|*&x*bX->Iq<~o_MbLJ8$80n^79EO>bGf}U88#XcQ&ED+s9l6 zF{$0m;^$BAcAKjFizTrGPXFgH1bH-|$6%)QHT~?n_R$&nC3;e8{&ZJl`YgB(DCpav zYO3qOx%>xIw=sfrAHrUjs;ZLdt(H`;y{N^$;oU&{ zE2yyt)7ZC|@*Iplh0aEqW`u7|RXnqnNN2GE+dTjnsbig7cB2h`1s#~OSY3e&fXe7&SsD-z+$sosfWPcUT2 zf;2B<;1XePuy$q5zfQmNsPyKiGcV*xI*E>5WxMBx{5M@6#6)?Demny%R?48!LGPPL zLfy^@mCMc!!3TnnI2$S0o{M^f^BZ(^I|$DDZFQx)s3{g1j~Ll{fP$vK8!0x^*lS^# z2CvpaIuC+}Aa#Kn$ZsR%TT}NTw4$cwXyRxRJO^~vrlI6*50kyZ&WWGXEgMdv;L~g? z_TtlqxhRx za>*g(?LE}$?(8u22NL7!!Ko%}9{FSprJ4C)X2Dmf-y|pu@82~I_TVrI0zuA} zW7j<(U~v$G1T25P1778-d^Y75&U=9acF+fH2gkhDysMe9*d_PV99dM%KCb-ean-Ql zNdSmP*?gR9C|8xrT?A}CEvG3280G2%Lwzk}kPXG-Hjvcj|Btozj;H#4*(zj@>@C?dd+T?<&cVC%`F?-DKYsu8 zs2s2Jy6^iM&+EFL*LB+rETYSmdqX#W_CLY~=4%;FHd$xxr}37}Phi4&bzlo=(*)H= zZ{7^d;?s2aQZR8*&??m%6NZ(dN~y42Ca+LO6oawX6Ha^22w7H0Z5QUasN(ofkD0mb*r2^>^kL zqIRiy3R4EVDMj6Kku?v=m5c3M%CkANgozCQ^gJnH5Eb;0W z(X8?7ych`*Bt#`^Y8O*rfP;2J_kSfligbpnID#2_i+fcIZ%0)!k=e%$q{N(2<;)|% zGKf}u?Yb)Wph%$~Z%1TDs4E>}{?9*+qD2+`L6bj$qc-i$2`FvEcO08<@#?TYexZ>s zqB!;{lMi|7EGO@qv0jdlIy;-=n($xIN+A^7sDs`tC{o1)_&={=_IaL>7(KEKGXSXb zPx)TO-8o^4)b?-jbE<3H?YC;4RJ7UE#5C5#PLbtBUbSiG+E|cWY4)m(z45;D_E%C-N3)F^zu3=>O9f7ukp1dM z4l+Y|l`P6vVck;9r(V!LG;|TraIq5!`u0uk=F&9J2a5f%C7wl4jJZI!%Fr@~Lw!Cu zJ_fBroRgFM*bjKK@)P`^VP0IJV&O}(4H1>c$+rw$N`&)QP^*GOYjVuaydTFOlCR## zOX3TXMSFeK$(DjDNfv1+c@ocXM9YGoL3R7TKbp=MrCqzj9_FqTlKeggP5Gfrf4#*m1dDh$w zI-Oj#!iCmr72;3x%ef<`XF0v=<5`x}D%{Yop>UQ+_{rSHO6G`g@>1)GE=NhENT8g+ zNetzrGiq<$Z-vo`H1bjh>v+#u<;88K?c9{6mi96W|MuP=JeyxBV+GyTN<4MCr00y6 z3STn(T5N9%(hq1Jn(B^V^dg1SvVmvHObDzyfWM0s=%NWl|?CA9QQi==kX=w!2 zk%Y}N#BrQpb~cK_{I{sL%V+6x@4tP%H@@vk6}-2xY=q(PAgocy%sT|f3-dY&nU*x* zOVz`I8!?(7;ww&XMB~O?b|ww>C<_wN5WWg$3w6CoUd0hjj31RG)6H&r3w>_P; z8N^^9Z2SUSGC%W<-@Yc-b0^4KKi8D?JP5Iv;;<*^+gnOPqbJcoqJ4_a!jexG-H1y1JbZceCXe5QL`>v%IoUVT zw%4!j|6U)3JPHAG+NF)&XMvlLA zQnIpKR&Pq2^44VLF6`=pax}47T8{f(slZr6<=|T`-}c8pw#!OBYnN;!0!gmf2=U|G z9Q$UyruuXpfSF%C;(Jv>%V&c@!FjouZGWbsXFQ^X(hv%w3ewJ_&Qbud)>@ulUT(sa zT}P(PqF@l@CD=0P-GQOG1uNCxpZ9TIS=oDAyVhAbkCAd2%{3;`vh(Txy&STnf@}*NbWHvFd35ZZ3$)|0(};IoPI( zHR>|Fv?N~v#NNI9(|^UFz91izOXBvAHYAct!FYGM$RVR%5el(bF#>Ws>83iPmBQA} zEjLR8`z@{hp<$D#@bIoEh};luul4jYzqQCCIf>3~?XvKMId zY^p3c)NoKC*=;_}7N9pJ3y5}V09H8JY^O8ICG85w;eZ#V`}k~V`;Lu0>^=QQL9SvY zKpLMdzrsRU?B$y|Wk+tM*`4wZR5NSIVkX~0+;$9K`4NR_=d#eF8>6$|2{s5GrXg2L zYHT{t47rRYG1*|OOr5G{k9GPX{rdc+-y90V4 zC@*L_ca-lgnSIsVQM&kCjYcC#Kb)#bq+dF^qx$sh1=m>g)9aHv&z9>9mN?lrcRW&_ z{`$&xLg$v=-luFM4Yt05iAXDBd&RRvdrw=0!?0!ufdoYoFPW57G87x>K^o|g2N41s z*EG8nly~U8HoPv<+5Z?c8`vy&m)U^Uq+!r5gXN*&Bd4M|l?ZU|;p6URUh(PeK8~^@ zK%TM;aRU9#>@@aTa?SNGvuHP0Bt8#)rvloGuNGQyGIjOOOD;B4H$4f6XgDTI|{ z1HiNhtP&=&9noWHC}mZf?=|G1{9~y~nY;KlhURS#QDfbR1J2|rtnMlWFZfY)tL>au z+q5CMeM2n%p+PyfCe@D5P@cNm@UNLC{fz6cyNh?4&T#CVC+p+aq!J>&J1?6I_Ft6E zz>NvU5|KSvVxH=fA7w3Sy>6{_aSBJR$F7YKM&T(Od^3e z*6G}yIy!E_Ka_p<&7`@b9`KxRKE|u` zmI+Sg;^*9sV%px3u=PIJ(zyFORik-L)lGJTB@>7!8(EV7uF+qI*Hz?^zjsMF-gkIH za1o_$irb@+_3IN6n%fnb0eNUItEPfvuhJaNf4CdpMeonAFil3Zgc^-3#YuBzXr4lK z6A~wr_I27o4k?ZrvxgZ0O2KxvKEi^x|L8_Am$hIDl^gqs?WpBh7yOAo{vcE_)bIqV@AT#H24Y2 zEfF{m*-9(ADI0WT<{6S8qkDZ6`clQI;YM7v!OpkmyQ37Di zH;Sl2vrvd7P)N(!Fwb2j-`*4ukFBbS*85*pZD!g_Lc7$6tN2Fier=y!)-dk>Weaf$ ztH-%-n9XGd&_)GR&c!g;r`FB^;9G61$20wioIe#EE1bu^T#nN~#64E6OZ3Y#W&VwK zKRxU`ndYy2J0)>qU%ko@u*|>3_V7f^z5! z;)eHqjo3gGAn+@~6J$t>SsGYUyVZO=Oz31Z8-tYEMUlF)}d`t?0$_gDkct%2bz!UAOR8DT8ZmjQDNwE%a<( z1rM2V-Yj-9HNqVCc^QWdNSF$}8Hk8^5620hoNVDB=XoMAmK!Gg!%JlBpzEN7_asJ` zKFU-qxV|e4`mw~p9eNt4>rYq}3z++UY=D}y0T3z!VY!MOhQT|@gmOPIU>hXC9OZ89 zqcDlXv+uVMDTK&9w=Rfn9Id4fZihuCg-5(QGBz7SB#n0@*l?xdQP8K6$VotAs=WRO zjz5nqt!5J-!;{4mxlxIlI9QHi?#@U4H8SJtaR$E(r(Jqlmueu;)Y$9sc+HhN;-U#kJv$tmvHvN%yBbDo5I}5Q&h(L>8B6yc;_CU}R-XnOjf>Jq zfgh@S{fM`VueAsCrhaf%sK0%HL{a1TxM$REGv%(V#8{9urae~!$m9cHWajM5vbw%@ za?;>4(oLSW;B3_@4|R8tTNNJ*jL-qigW`7i5Ia%;fjNIhvdNZz&LqD4`FB2~VAI|n z{TGnI*I|ACCiZP`aKx_7zt$9)f43G)UPkc=GlQ;qW?jejgSIh@(gPdih%sC@%Za`L z*ZZ5{%G}@~an#N0#rAe4IIx)=;zliqw$JiJ^CF6k;;;UtUtU;*tLir`iY^=y0BuYJ z!=spL074D}aO=O#hJLz#vxzg|$`SeiqqlsbF>VAq@rq!4kBq?Tgek-KYr$L&Ml+G= z(`o%JE=E}1`tPTSN`){(N0Tz|pN{Srjs?WhXgq`eu@t}w0yP5sMs5t;7{Yd!eMqaW z3<6aVqcTdPLzXWH>&5iLyxP9Nbe|Gf3*qh%h||eQ{FhkWrS<~^Y>>Abpu>PAF8k^F z;ei&)rWP?A_7mvT%R|?uJGMkh^Y9{dROE%my@ju<)m*ZgGkyn>O1_ZwG_~9PxO0gy zF{zcs`_cX(9OeOSLn{tOFw6_6t+tt7I$L}GsPN*0T2k=)#K>ZQ%(@S+wBw} z-tqUW$>5R1lnN{UtCSC$0SE&$@^kP@L<26qs+Z;$eyH7;Sofdu_3ZH&ZZ`H8QU%4x zGNs>>6&6x|cX=1IaB%{PW&|_lj0iXQFTA7ddXT^CFBj%9g~eRK~X0xn}jsPr3v0ax%;xQns6XAkulxn;n# z&7;O60Zh@gkNQ{j5TrMPioj=}&W$twu+X=(LcIpI&Q~yWE6{u@Hh;e{^YiYt%v4K? z--&&1-8A(6YyvOZH2d*T8Ne@U5>Y9^oFAvon5RW~SA;apvL5Y;+8|5aVfd88#m1b6 z+-!!*;%ra4x|u{-s-|dgKzmf?>FT5PcO@xsa;ADPF&atVHcIK%SvV$89iZQ52%)2^ z#bctb8R`#EGml~2GT0r&GUQ8u`YtF=oNnJoj@?3 zYB=-V^hvaW3VW`Tf6r=c=z_=Vmw6MjBEiH#@7Dp5h;HF})l{)OK<`s#NfbxWd(A1_ zO;~*ITSqVEep&jOFR72VaIW@SzQ+*GD!{k|oyB^P*)Rk2A?u98qwBx}tNXIfsiTZ< zi)rdVO72Ik#U91ipj$laHMYB0K%TC~^<58_wP<=<(QV;I;y;}Q&wY7O^MfY%h9OST z$37BtE+}`AFJFche>!*033d`%rbRiI{S2v_$ivam+mJIqS#Dc=b>hEEIwmbavnO36 z;VM4E`-HaV{6*W|)AMb3j_OPbL$1Kh4Rnd7{P$^$al+TU`H44 zeaJ|YznyoDBLuroCxDUd7{6`J)+w&w8+1n-yWgQS<*8ME?+Hz2Ycc>?99zs5G`A)f zyu|Cf{QeC`s7&oLUQq*$*WJ(?JfRi`Mh8WS_xzPVGWjF{9l?bgH=p5$Uc<>C!(VzQ z7ge?m?CX;*8kQp{u2KoJ_P|9_#gCMVK#id)0lVFoIWlZL=p0pz?_P}eo|$isTMn}3 z)n1l$bv98H#1w`0E}jvy2?U!WOj@phBa0?HTAH_gMR5-v-Fgy@`8YF11Frs9LD;Sc z$X1m>e)GRkP`K!gZ}&NHvdQmEatZBR@|{ci@=5zLhyF)dqk0JM8_r1H)Pv6uuYB`l z+E4O=<95gOMH)VT>5Cl4J98AS~Dv+9mh!&MTMsqIhT@}y> zRebR~aWDQCA@BO<-hVM=3gQolH`{k|7^|mHlW+Py+uZ}Zbx@UW$S5xe{hO~otbO-w z^Ut3)?Y#VCn1XUeXwM6t3pYz`7&kgE{@=iZ9aR@Zbz)--?c_@SrE{r(Yz>Ew_f113= zIel6R(~xZ%k6C@+@^uHYi=R|1NPZ*R{Z9tF1?sLU)KU7r#l!&^M$c$4B%#F^C3)Py zEciS(UvjUL*k{8F-x;ivNf@i?TF&D%p59Egk9U9dtX;cYlb+sYot`5xMgV(J?*@tV z0M9tfn+PRx(IOwr3;lsi(s3!a5Y@8=fNkY`56=+iz)g2% zhXC|afLdGH$1Uqa-b@@cdrpTE8iv4u9fkl2RRbYzp+ApcXy~UxzxZoM*m5C9Ml;!+ z>?Q)Bbi?(n>3rtSB?|?jJCLREL|5EAZr1BKZ~W>5nyTdsqwNFWrQPETnI{(9)^$!s;T{O!{+XaGDe#wQ$N+)NMZ)^V zpRNluL|r2ut@kuzWF*sag4ie&q4i7bgt*Y5k+ac4pGGO+f_C4;&eQ*z&l&9}*{bmp0`Np>Nn?hu^##O_=uQ`|$LeVX70v@fSYa;CEB4G@eMS4K`7jhD;jmEu? z!47g=Bi8@~DQASSXWjcL3Q`r?BeP$64o#9d;0AqZO z8qDmgry%M-fLxNisnCp)NjntXdbY7VL=;F**lyAwK(;RE^iE@G)~+|ftQ`t4m_Q5S z8_xLl9E{ZZ&v5jDW?6nPxxBZJ%kD^p3uOKrcI_#_h&k((R!_8btro% zW!A=8sdic0WCZ5YYs}jhL9O_f^K2$Fa4=e@2pxS1jK=~g$|o2tRtLvCv-P>|6y@)6 z#tcPSd^tIo^p$M)&1U6O%Ug?}=2mP2CsrgdRss6sF6e?QuD-Du zt(fYq&sqH&*uVyi73+{C9#evcPx1S7 zgB{@qk8L#1qRx^5aq{4K`S@>Tm;y)N&fKweiwZj*0(iBCu2h$u~rrJ5k6`1GXR>yLsPm~UYIchw00B?~w$>(ZY8RPo@@ zK7*+7tm^(KPW*!2wK*^xW_z~h0M{PK{wciYPw5}AO7xe-nXV^c&#rfX2b205VSLl% zTUIYFD!7o=D57(LX2;i|)*52*VZH@~vLJL)qXWr?{j?J3cX`5pHOsD{(@rbQJ2mP? z9s%cq>E?$hA!vxt3)};hB>;LA;tO0^oC4X#ub$#{KK}HrpFf5cxPq=R1-yAFZ_Gr( z0P{{YJ&ymmp@>jVN!$EliF!ttlh^D+#8tCmi&EI^HHrA7yxpGO*b8&bTIB4{>YJWF z3nbJ+sESt_8sDI#e^c2wFVwu=<)vA4O^~Zuh--OPM`YV+)1!fZXjyo{#?H=WoPUUw z9NFq|HfAa!CVeCWUr>|~qM|$CUn@bh*u<-h?_AQ|SY4UqJ%AeHBgW8G-Gr{0EOTQp%r){X?a*4}Jog_?6u1b~vc2vy?GTu)3R9c##s$A7# ziMGAp%FrOZFkpX5pbg%07e5}d7xlxlDIp|O7ko4Ox^k+?*KNrh=Wm`vk_5d#2hbK8 z6v!C{uIKxl@dCh474LZrS#aRUgsE!itKp;Tplbo+Dokhx)_hJ&s9kv9gMU;gL%<{+K3CXj2*vNYIS8TXQf2Wbw9rY{2O>c`3WCi+{fEBK3D4nfqMq0mgOUeA zmQodRnVtiz)Y7+&fjTGU@id z_jF23C*{Y+tAd*H*4>ykE1r*5#NpGur^69z_L8YxvauBl@!999rfSo1zHv=TJMC4Y zDseg8Ahy|PYtL!`MR0gxxp9b=93pRY?yx~1>2KPP*^D_DLOIw@GfisZ{K`EfP27X# zRVH)DzUtx`9Oo@Vb`&S8?4g|=S@Lbx+C?)s9@;fu;$c*PS!S2$yXiRP*Nho@b{hhNHft;k7+#!N=ojDtf{e&ij~ z{nC5Sx;3$1MvOe431M_bY%+K;d0MlZIJ}37!De_LIt#wmno3<8x95B`y%j72r@< z8_7RGF4?qar!m5T@r#fz81_6y&rJ8w`{fGq9Rm8|u`{>a_Kb+|wx>nzcdx8t3Z_y_AN#`3mtW8Okpu6#A z_dR-N)y35zIho>i?|#w>Q4A`*r%^!2K71a<4q!Y`7VyQV2$hgYc$8IAGGau54jWA; z+2k?Ly8tJqZ736y+e^}Ec@R_?6M!sx`-1dvQk*FlDlXKhXbu%{LtFiu1rN$so1t{Z z+1WW6mM)yVIwF1}>|=JPw5qUL&w}F(`gr?d)%pAZ?X6Q80T(r~ITRKZhzMyLb^!9y|dtiXZDN`rz`Sg$!&pk7E zyRO>eq3rm~_^pQDBG4Yx{5ek|Lw3sGPmadFI$W3>%RII0>o_2>#hPtOphZnFgW_W3 zc85_BLYaK+7|t0=J{2(Mj7|4PTGV9)!xvr`%{TZ^$5rGQIjE^I_NVtI-Q>ibq*`#S z+SeXQF>1n7fCBf^9Ro8vQjDCFKlQ?90E=Bcbc9kL zuM>cA%i3`<6Cf+0#VZOLkhK4MiWe2+!uU>ugqNXDyvZCR|W?&Zm1R&?>Vl3lpYJ`@z7E#GJomCQs-7S+b1K}2O}Le3LQdK0R<~vdAv&!0 zY;)_v`lUB>=a2->cvM8FHDXUI8lsiG%I4O!JNh5?9;5@SfPw)yy=4dMJ)-s$%TTXox;E)Tcj9su##sJR+$-pBdNUIF*cWbR0CxJU=j~)UAKgtkGkM{~ zsl)l|xq%4bSXyA;gVh6dj=UwYDHl+w+@9yuw?iTPVTr*XzoW4V7w8b)rV?(a&EVd! z^j*nZn41gtez#WH`I@Zf?nt#()xBg;_8q&_T>NB0`qx}W;6+F51Bd|wWXMXEU&R#G z5Dd5*T5rL4{Qfbor&h3_l7ixuaM0-54hQ%^tIBkLe#bW9!k$a#pU`Hvb?MPqymlD`PdQzOx zy|8q~DXiV%xceQWOLbxK@KXhr(E^Xt;=Dy{f68^O=#X1UbT22y$#jqScmR+D zM2M?1VBc?pS*|xY_CnD&keL=DK_em=w9>u%a)Z#u#}!_ltZpXSV0_P-&wcwy-7NPt z1bU5mn;ei*3&>NgeT z`hJ+}`~}}Nnm6|;ivxlv(Q)2kmyo_YHRQ!cK*sDp$xDNW_Da%Ca?yi~X(S`l{>{uZ zB*4RqGQr*S{9eYxA0AY`untBaaxew)j7PDo8aP&!;8ezoxUSD$)vL1>MqNHaz<|ol z;IgxY9kwC9=o_xyX|}!I*Rk0~HVXW$Z3{1-`eEIYM;G{4-?p00ifK+rui(YhdBF$0 zC0}Jx$W~qT?xsDpdRgp=%o&Wmm z>quM)*xH?iv;V&=;5xK`I+^SH_M3(TTEW$0p`UuBpPagMH8q~pH6XR%?Yslei7Vt_ z_BM4)!q5UgUEkGI6$ZLS62$O(M2pGI4gR_lST7d0i#u}sM=W`seMoIdSaTvp-q5?6 z!)YN7pcT$Ov}msXMLgVv^3a{^8{`%Q%87`{SmisZ;&A{|Q{#wQ-YbY$KR7~vc!sFi zKY=%t-rp~UEW6syZ27ujS(_YCj=-G9lNaEJwfvfg?^Q^n>POxuS zx+Cb+f)-kv(nsSxA0kZBDWuqKE8lErJLQ$hZ^8!PkgD)#*h5|^D`R$#ylI~o2opkF zSEiTiF-`qM4TO;WkITUuIetHuvV%7yd<2* zR5U4~{VpR*x#U*<4XING7)EPG>;~r7=B^O0toMD>DV}>fX{R%!-dKoK8bcWN)J{(p zLN;syLTOC)j`2g0HJ2C8IJ;EeI)-W@#mb(bIW5OU$XTK0iKP?2mOnI@2o0axb75ND zn16FO&eJ>?j#06(}x2aPhqtc&^W?IUOA)tRFjnA*Clis%-e} zti&syNPu&dSA6y!_tmSYU}r`BeDToCtCC|^{d%0d(_Xqa^I^Xh+&d2zrjiVzUAIz! zd*Xy>+t2Xpz$b@+hnQUbLvdiyyRW=TO610im%`g4)*{KzAI6;iH(E@ma9yo|J(1U=`rO6NksjuKXoB}De0}2n zk~v8~#5Jt{FOrA+KVyoe^Od5$HA$}V$Upr{BUOTd-0%5^S0WZ2 zzc*X^xfe$NZQnzA5DD=ZZDViyajrBI+n+1p7Y^1EfM^lq;1VCOn-^0KX4@LSi{6*P zgUm!DC0OLLZzSirMR~&d8sm z$8>anfykhTV!e-4y+HWfK=8#xk|3JjJWo7CtvQ!19Mc_r4*8(+IVrfGWgL4p%4_>s zkvV2!MH5+*_LPRm!aDz@FKKOkR_cb(kUGra2m!=M9j20KS#t80GI`nSgEQF&l*FcS zz_wrTJa3R1cT#4+A?)192M$cy;NSt!Q&70i_5KBCM`tO(b1QD_bz16gV8-|%jse!# z{4B>2b1P?+7{1OYn1^ zD?nT@X5H~mvpzN3EHPTSd7U?4=2Un){~RyN^~0(!4GZy*P#JxyEbrh8@MbLoH~$)9 zJq|1`U3I?_FnRXQ%1A~XE6F1S3`ATwWY{0mv^A*F=d=H>L<6V3>#YYX#Rgzr1R2b! zKyb{muQaKgxUS{&ewQQVDcs%NeDP|dpKODCBFRrbC!0GlCCDn;Hu9^spV~QA=Kprw z!T{}YDQIqdvT?Q}&U*#Cg(!|#EpN{50T&>4?0adgKbr;ibWB-M4g%ZeB$~YX>c&g7 z?g8zzx$4!1&>aq#GsT2q7MADK(i&fP9+f-fIn1i#pj9W}v7%M#0zFJW>$3d4_6S6a zY)aHuWYE}ZGCnZ$EbB3450#t0sVOLHq&k^|O(8MkRmsO1WT%`WXGTlI)Vi+`mMoG8AR(EUs z!A_}mryfXj>p^{ zd9V-A8sZb16$dJizJTY~*_cKX> z@nJIN87F%%duyAH0fKruCl)$&RUHSmHsGlDs>PlvuD?-Z`^OxXF_ zeK$47P+$e+ITv~Zj+CfC{;b`ZkCTg$ZSiIC$Nvv&`#mV9Q%b-rrvr(zcZdS7J(NbMR(>XBM4-a!d&8-x7gjArQhT_if$Jbvq&Jp!QGm*x!lap=Q z(g*eCRy?@Aa}AQpKFumC8jJf&i#yWOq!kBSjk2S}ck1NivH}a)K1=8Jr~QYX8aMdG zD}1G}l5GB_%Ky76D#^LagRR1dz(06URDQv)e)ykO!CdVlc`gz8pcl!Hmq%_-^lpm= zxzMdFo(F93B4G7$0F!5~m-R~}K(Qz(01|up#Eot-l9IWCpu8VP+Z?~Lt>*!WS5u^K z9pmQr_OIFusvi#Hy5}G>Q7HBR3G8=43N!Xi4kQx1n5T5hNzU<+M}WjOC$1c9U3&hn z5X%_gH;0$YVaAyWGLB1RIzpHI8Mk;&Q*KFUt|~zSC+w3TY3A!q$qg;?ZEOm zD#=@QrIHD`;_;ekOdS+H(wgr8d1C zIYSwM7;|~$;58lI4~N!v|HpSlP;o^5AY;ATuJn(08u!0Jcd?JQ&4Glic=7F|Uv)mmeAff^tl}m}3meg|o(GeQh)oqy-H0_K^pd=2 zPr9_;*=zjt_N!?pcXLzZmobT;V9{Ell(LqRRs_L6~k#pXr$Y|-K-l{flj4)6IR zC1*fEfL3uzSMj&h&mre&Ks5Lr<9=yWW%fUbPgwtXuAC+U0ylN@F$tnsD` zf2q{vUX1kzF7KoBzei1-fX*{0-%_!939gJx67Gt6cksLW?p{EHZZfIO(#15<#$K$3 z>*9sS>hr>`J@GL~=~3~SN~=vAt*SSh;-{_6roHPdIs3-E2BkQI(T3buL5X98qIxKa zc&7|ccI1zu2syY?qFAVPK^~N`*r;%iL-mOmyZVTq!Np+o3bGJf6L;g4?xc2;p^onJK#;%be%bG@tp_y*Uu& zed7?#0x~^oI^cT7V2t1@9QB9MEP%E506OBrV!Fg|>Z@RYPiW>MQh}8D!>3ALckZHv zd&b^rVOmZ5mAm<3t~2|)cJ~uxdcbn=^o#Ihdj)o~1y6!FIJna~!CpZN4FWJD?^wwTQ zs}!FXK5!5RaPtau98LYtAaoLh=jdR}^yMHy?GeeDa5O-FhTuoVO>jkheV>9R%vI(D zcX1Gql=ekGE|?qqrk^UndjX?Nz(LnTwI-v`KJrx!1VbQJGfM>B<{MWp56$5A|5|uXBbn^ zrl{S^tx~}qL$h8dq0^qgvhWM{m->T5zU%{|cn`uS#ex8z@FpC&8SWU45#DpX-tdcW zKx*Cc107LwgP}BV7hT>*RTp}l6_;1bVP+q6cLb`CMGlMMn4Y_1IH%abhPvy&$gjPd zE^I6KG4 zdrl6_|66Ra9tqJ>7!E!(@*1?xh>lVh?gE3sEA>pEHPRP+b zgC#hLW0B`I@&FHULoJE2nEJ#)f4vPHuf~M05tKc;mZL6ARl2=DL){PTYTPFru~@J0 zXh~iX+Ar+S&kTCLJQ5}VuCL@JrGIgY7vC7r+XI@eiSd$A2F2qsD#(TX?n6;u32}vE zzYlH9CQBXUwS5(&NMUwpGecGo$n zf$FZ9bn2*KuWxwb26EOeynGx|`(HNs5Ea*4*`PjEJ#imcy`CY;25j-<@NMV}F>kCg zUwzB_P3W}p7mTVMGtYa&^0oVj3B`v(#Ld&csuz|9xVcB)^*e8UkPw#D;Fr*SI~{#5 zJ|#EC+X?+)=+8_qyW;izDiTVP0KBidWI!8UXtp*Q|qC@P$$?#YPS}dZ<_R!8;fkABdl0rR0H<7JZw+q z(xy>6Y^XoLanOoFz`hy+Py)(yHRr$Tcv!lKyo!fMZwypK{c#8YZi3J|iTdnSiifpl ziR6ItteV*Vc~D@U6bQUsk}uL;c#!DaS1oX~@>sg5B$u?>`O*jbXnZNU$>ZPrYQG42 z1oeHX4OGVdx2eVcYJ1IP>@fSv3J2Li!_}?4ndtc9CK7G!x^JrW=_&3si%aXiE27=+ z8pw|K)){Q;4^O2e@Qf}|*B4<_B0B^gfrny@$ zCi~O?`aXQ_TP7Y@SoJxFvhV)y{>Ec~p|mOhhFB^?#VrElr3@MTw9%?!7H7)(3np_;NCrF<)bk?rGR+Q`QR zuC@v9IwulM9%gH0aT#|tOR`{#wiwq(&C>9pH=hW;h2SLNz~|$u7SuazBxY~JRJIt7 z*}M*)RSM`6ZtH`MxVTQ#Xcq9^|B#JZoJjA@6Z1}M2vSs*KVidAtEeiSdOlr34&;e$ zpy*64+4ur|vM7GFc_e#E*K!wd670s4KQYFfV3!NFUOlJw9o7DSx8u}Hz>W(T(ueO) zsv7{f^`8eKU#4S(Kg(h4D;o5|fL#J*tX!-W0W=HOaI}lMcxT7Edt3HZX(R5SqPLJ$ zxFAFgf=Y8Rh}6hHH?%pi$)b|4!{FWdOKyb`y74d*b#uY>Cu)Tc;nO>-F|y5ITv%D| zI{SMzVW;OT0ixu=%;+f?*}@|10$Cd^1tqzMog2D*SX675wM+MntGe1X)wjQqdtm&Kk_mD}66%qTofqZA# zk3)S-qzFt%ZZn(WRqVU1ynFZQuOFHJrYlBga;g8Er{3BlRrD_xuPmd7wO;27 zGFWro3@9sp@ndtQXM4WYC?Fwx<7CKup9aXwoDU)xHQ1FGU4-oF#X}0&d>ivoN<>m-3u`J9q|sD@dsjBF9D{$22sZ-s-u-L z@+knm){z9%+s%nUmcCc_Zln8s#m73X*`86UFh$M)GKo<>68`C$es9>)MUrshfD*4+ zWNWm+lDY4>U;6V)d%|;;h`kJkH&iuc-;iaU6+Ua}KVm|POMaQGR?40BbE{|&QD&+h z0*27Oovi%f5WUR^k*^y4sr~QOKRXQewv2tb$ zwtEdml<&OL-{ka8`r4$?%C2Fa4%_aR92&7_p>-; zkDf*Z0FLxNn}MKe)D~ho2%@cPAiLO~XMpV-{q5su0tgKVB}Y8GSSrFjx-vhl4U;v} zv=s=%hFV%yC%~;MPdWR{;Y5(TQTN<;H>P+H;QtJNgSopGQG5!QpFJKFY_kM589={@ zIj?W#GKGW)JyTZJeMt$mO^5j|_wvB3sD)0Fl)0jq_kcLL`#Qvuq>UNf&D&6tMJc(p zU|#H%tMqyC(`;YW=rmIz_f_NaP}-?tLDShgPP1h2E!5^#dYw_>_jU=f`=K)hkK0(K z*2R;{*x?s1P;X0@2riuriDJ@-6&RS@nA_MR#TK6pGu_d8Q5O}Seh5@{;n+UGxfy!l zl2xNgpow>CN6S|!)wb^84RW&&wNgLm(<&3jSI1ggw)fKQRNy$;Hawqu?5z8!@tpb7x#f^QRJOm&7=tTbTeB#2{bNQdwT zfP`Matl2z0!8w;*MxJwNKh7o9ElQ>ePT@12(Jnkf{1P)&n`7%swVLDpUxmr$ybG8Bzoev$DEl0H4~iHcPy>7;&M-b}sp1r<1a4paWXr z(NYzP@IAHbxo1e2y({UAoiN!7F%X#6Bv5G zwYRkLR*+Kkz14yU3BOrcA$qc~P;RMcQ%^gH#yOc`i>zFdYp#9NwJ@MPIB$)mtBl*@ zU6RJ#A{E01v3&@A7VxAKm)A zH2T_5x>T~-!tfmrX}kg?)+4$&7LSKe_K}a z1#6+(b01-9HUW5|KkN-6#hrGpllAq_7N*sh+l04=KKCKJSo8F@nx3%!kR;{TJN9C0 znwbo|JX_nj{Ur<|B1Tflzhdava<+4qw`CzW>7}dPgs9pR3Z2@n?C)}h!jWFGO?S_C zXNNUxOVgedXY!fA5JOT=_~%C!$=f_0BE=Qbctc|M;A{Ch$qP15dznsr$l?yp+I-OW z?go6R@qS3wRzmSBg&4C=s!GVc3P=E4_DLNO>^}8R9-#<4t0)1j9-qV5iJ?6BU4Txm z8r8kv{+>zsS4gdN8+#ZQAG1Ie_tk63x_t#xN(WMJMxG#yb+n*t`B<+qhi(?+DemB- zDu=t%8@ZLl2x2$&QZmbU)(dL4UGs@LAO7f+HqhM>QY`t(e=_7L7nHqA$Ma6fp(PKH zh39bvOi)};qg6M{d1|_ndTSeI?^)xeR^1=0ALG-dXIRZ0QZ_Z^cc(vK#MSqTt#YIB zTYY~bA2;>(!SgCKqD>|$<&=i+KnB8s#Ie@JRerY7U2bUNMP+oK3C2mQ*#43g_cIe0 zisifx7)mWBeU6cN+uQZMpJq=92hG%-5330!3~x7|D5Fs{DTl$_E_FA}#x66sS`qex ztbGal027S4i!7zO3{we2&T$zk7z}NkCG*m-a85*dyU14VWw9)^O}5)ww#Iu3k_VVx z{$QFtqd;px!LKGHtlh4sulk)H%T{~33`WoZb;-biP^7O34IqMmC);tYmty<1u zG$s@upzRMrMlb%)>2QoAA4hZZ-KaudI4#3>V4jR1=dd*W29wu82okhAO{HFBr^;({ z3S_~FzCtW(^6RF=9^9ue9FSNOf{y1=o?8rxejp^Q2k-qbFFg~F_5oQbO0{Wf@JVe6 zh1Bbx*_Q`)gcg@P6$$|qsEaz6kUY&z%Z z{ao$hjf(CGiB;dX<8$Jj6YQch8hL)_6-}&20w$We6y^6gcmucAweB}r#C8igy>ko@ zlrVg9Cfobh^6pO}ziAWudAEMu?3fo{`A8gn(@NCD6&A^)fHl0Hc7G=~I!m6pr2NuV zV;e>O|5!RDYL5zBIjJ)Bi2*OhK9r|8(dZHCH^Xt`B8l`$BH<}Z80>`j~346v}u(o^n+f1 zj@Qz+vNL0ofxOhEv-zdB?s9k{S$D673O5wx_G;5jE_2wJ3}6oR!9uCx+7YkB%G8p2 zix4W*y#GHJYL?G8-H#}QpYfLG3_c-7ifIXgo_-rB_FS&kDCV}@mO5Z1uCNv%VrZ5#f%%qQ>(#|mi$G`0(tgjmv+yw z{p6BN&+|$GH_1;L@r*wyPc=jiu#d7W45?0Eq@@zPt)~COtE5Tldz8wQca9B1TBO+} zjghIvVu{%Y%d5)`dVHMU)_1{aTb5&0JzkWJx7sCJ7SE^u_Ie=TXUlGHbLxA<>hctS zQ~cyhW24c}`|a0V3!BNf_0S=5=BuhoX-F~g{4pt&l%|c!Hr^Qc$iVD`Yf{967GXz+ zUnyVr6vT&=EqubeGa^`|~+-^C{fIWcdfjq$3KY_c|QV~<}n?>DV{YH5&IRYX( zMmxXpCwlGmKI*@D`9k={>I zT7mh6ZRsDVMnd9FFN%M0G64zRX$Rnhy^Z9NO>Ebmm7 zFA4nIWsGSGAzXbIF@$srX}+uoFU@BXUXzo`%^j55T+HfBMqWzch;q`;v-5Yy@5mLn}z{yjgs{>5vPWm?UN$%$&m*>KSN^JNFOW)QKp9ZtO@BA8XO<>ZH@Us_^_w2Ds zN$D4?+g00S8@}re&B+3hn;C!jX&h>XH`4xYJ(W%C{BL*RH#l5twm-xUDUM8Kvxw(v zkvyXX0oc$oe_57sus5jT(~e83{1OpVGFYB$Yk1v1$KsIIDkPz1a6Dl~jo}w7OnK-L z&4W9olZdnjfaDBQX)sZFZAM$n<9vDWQ6H(cll4vUkj+{piM2w5+oE{l>iX6L5uQ08 zk#|yNwbFXcAAfPxU*lR!SW^+$j`O+}n-$Cd`0@9pc3mJI4`QYLWA7VuZOvr;&>J0= zWoC0;{Ksuhq7#I2{hZs9Noz6FEKIM0hE^`-kPYdNOg)^kDS5oT6bgLOM)&w^TSt(^ z9-;e2+comqS|b$#w+y!~c(&upon@F~?1HTGfaz#qvB;B7_8q_MeMFM<{EAUIn*0U7 zipw~2M>ThV8{AOEDhFh;QwaQ(tLE)DFexp_8Q`t#Ia=d$UTe#WkQZH1i7y#Ti zAU5hiY^n#oL>(l}49ivuOsEC9FN1!OW=KU7G0 zr(J7JG8YOCs`Pru@#sEl;6M~NfN2pkH`OtpWn~5F#mjpyyUnYv@e3-FZHm#it#5`j zxuOD3ZN1?JvAgLfs{9P7m96p{1FjL_nlpk(BNR>1L#3 z82BI1_nh}T=X~G4)+|I8Yet`Y-+N#Cx~_fS1e9I#3?Q=0j%-8iRe7^u&B_?Y^Vt23 zuv)-S#SJ?y)6|wZ5JJ~D|8eeIBe46+*PIFwsCAw{VC1cwp3!VW2L@3rZUaZeUDxC+C(;E2CJ5F)pp%?mMg8&eLf=MS zT2UunY`ZxDx?XLXZ4JBzX|hsVX%Kb)JnQ~%vCtmy()xUx4Ftck9hky;n)E{w2T4Jl5`Al4kSJ{Jiy)D zcURsqFh#d^>54l-mQ;L+;}JCS|M_vC6~%i6aK=p#w)k)VkO3cE17K@n;3yU|wnd}Q zp81pAZL!FT!~sw>h$cu|?y4PVB=w}rG-K>#z>V^jeQj1YyD-|g8}nLh%~6g&tTeMvIIr^308hqe2jch*77 zks08w{J>{!XUGF)@PeE+8{i`lHR)?Px|j}5&)S6|mhGKXR*17r6J*>*+O2lAZwX-H7kiB3l;UhA+wQk(V0P7FjtMZB!1-9Ft{Rap{^C-Pt zW(mOUxJL-B1r7x$Z#8EBZ|7A4V3;Ji3TP2Wz%Zl#p*=T?+duw2VIe+)PRAG5GA;~1 zw_^A;<6r3V(TQ;)zwNCk9pKGiU_~<%(s{A_^NcCW2hPSX!MqiYu3HE*{<*D3$q**a zc;l+a(}{n6b2tez|D4;A#t;+%V8w%dKNyh%?pMhS{oLrORq#^$qSM?Vy=vm_ z6bIn;PY0lukNCRlZ(P;j*F$akD?Lt7L2hfa=diBk?xm&WK=)M=tTD?99=L zv>$*)yfHI{!CJ~V&o#U9s`rNM1Hh{;ZI&sK-g2Ucm-|t>;k}W&Jy(?xf!aWiLTYGf z%9bctXwaY<7!+CHBCOwzsIY%1YQi2RV6(<;vv49mv#^_ukhU}qy}C{q$e-V!Z3d!g zcwMeY+o8nVP&nR?-1Q4PljvpBtz23lDmOoKttf4x$?CP~$xr&+Y@(?DLZE@t+P=NF+0j)28LjuOz8Oh#+RR-%XXUn1S+)62WXM(`sE5R2O zltnbUhn-m#3_&_4NQKqy(8Xql*6uJsl=?_=gBHU;oB&#k5chwv19U~l=FK)It&#D~ za8wf7c#4+ZHa^6z1I;Nu7qsZi$rNe~3<)QmE4xKLp2Ln5Bd(Lt<{K4Wi_Zl`9-TdB z@N()yu5Z48xqu!sUe{@s;_(@exKq`aI-1?Z^Yf%0sja~|XR(aY6GX@m_^6CMRh|d# zI!8*4d0CN`&hgau=f+?Adbm;}Qz1>FVhI-m2FoYSejfVOj0Z340?(Bd9p35N!%q>O z&W;4#ejrnDJSA)^V9#U!TPoj{0K3Lmw2UPf^EomA&_LyCP67{|I!{w3e_|r-RX?7# z={v`<7Q3yq{~6m{jRE)|Nd`~V8eYImZeo*rZBRBRT%i^l;b?#3(uTYXb+z8tXW*zp(t zv%qh7+{!}r>cE0$YX1K(_;9m*)qh$^6L7!(me>X>Q7XSx^256IR~c;aSzkTI1n}F* zOmJikL|iyv8A`J^!`vu_^fvnn|4gWq?g6a!Lx2eweJul=R%Dy@*Wv=as3}wQ;VVF7 zy(o?II^>His%pWFU$)lTmRv_#V z-LQpj>P7=IYH7ub_Ox&NDMHo@#k_U|-RoZXSyZOa7s_hjJ11k&u&(@wrv(0w$#pAj zQoGzJIrm-`7Mg6ZnOrgvoR6TlY&!vbNkus!dwlN^GB;`zRbg;R$z4F?w&kS<}E7QAG9#I$)A zaU*;gQ{~c*J^j(LmytY>5nxzw1z@P!)%k4g{3DlE3(&DzepS#5nrjN-&amUztO2@g zoicTe0!a-yF2J_-Jvl@i$Z+Bo_w7YyATEHxlE<1g;=d+tbb+b7YHp%;H{-;#|BrSH zm^NvXc zvT;cQ<++SmeY>4DYtC-2hK~FGw9bpJjI-u_DH_}|j&NfDLnpo^EEO;VhLTZpd%U8$ zU{tDqte6rP{YU$NPMP(q8Iji2*B?y3zEUoF{1cA8(OpI$crB2vfHbN32|P_PnU&{O z)4Kpu6IVf)mt<<{zBrlqR2N>BV4*~)ua`n0@-3+=D5XavTfvU?qzO)8Ot>2;as;@@SG#`{>?X>IJ~SC2CmaA}r$dE~1%dLll6y zE_g|pV;yz}+lkIR2QjzmXwqq~El)E$*IeuZT;+uJ=I-RdVU(IIr(S+wq@nrCsrgI2!eaMtN%Gp7);B=>T8uCZF+XkZE^z6xZdakL zZaZJGM18tnv$H+<*JLQ{0tz~uWvA&$v&x}CM9q(Cc^kX-OV@DLFCyua`>*n%KCp)9 zUm-NF@;DMM-r9$SFSI=DSTMKGW}f)cIZJTkD-l@Oc0lb^+wX-n1rf>QAGPFNuHfar zOFbcyP2ktwZn$`}JuaQm9tzqu_#B~GQ@4NPEgS5KAfhH=fgZC(-G{8R4K|xsNy~U@;G;HmbINNJ0QZ1t43%Gfj{^7H1B^6sNoY zJ4`ZJfoWC0B8c|c_QFL8Fy2+!uT$*gbu+?HqEUt?Rm&P5fEupsc<#>$_TWiT2!LuV zR`dTup%#f{Wn(E=g^DX~0is9m5f-zvR^6q!|1WpF$Ev09QPrloFGs3x45 zNf>XNO6&(SijKFqU(+_izPf^NVZ~rU8K&(OpM2 z50Dl+wK6O8fx^}`Q()m0(J2>+Oh8_7?>!RhdAIlnOP`y>6;+wy#EX?@WMdvdPS2%C znM8uTUtRP3a?k|kx8VcvV?=XDEAm54ML*8?fwsJg3__c8yK}bii;o>Gniqj)be(1p zxEuUG`cdhdWp(I$OR~7faFbf+3iIAYp*;Xkd+f_MFrfq;i!I<4V0klr8pbzy^KT~% zFb;mpQ+O5w=AS3RfY;(y&M*d0%TB}S&J=+)G94hM2O5+L4jh?apE(++v-(YF%n7bF zn^I5PTjj;pS1_uiF)4YQeOTzT8k;qLX06UYIK@0xj8-Etl4h$*NF%AqN+v0g)J#=ER>L3OpG zM_?7551sv?FmIKDO9RhXhk5>s$BekCwUh0O=McxPxcnc4JrI%gTjNzDCD@H4k)23Z zvx2EcKjrG1!9<}L1I)#-Z91(xNB}jZk?+>S-mx8angS4zcsM?Vriq$Da>rAEd(8W6 zw`#2w7}cEZ+-09>c3h+zdFAU5lU!ubi1&AvTYPlmz&w`9lT#5TM!tp_v(U($_f<$X znEK-QEw)(&G-EiF-JUtYnyPa)yzkGDYA+rba=Qm@Ujw7DW@}G?VDm>xs!*99O#4v)!kXHGk&9B$md2qDpMMB3vop z1V`7?UJYbFm?=^-I$64RxJs^OQ$Y~_+5K~FDVtI1w6R_Pe(=tW^eUXWdLNuYAK^e8 zV7^JFrn7%lGOcIb?-Lqd)nZ&`45`p%hUJ>G_gh^wuQL`&3nEPL>OM=(ELC^A`pIgZ zPdO=GC&zq^R~lV0PKt8Sj%Y9z_Vc@nYA($dwyE8`U3tTc+DT9gALug^kkF=G5UE~3 zESlly^O=ef%%%0vnTnj&v_0S#9eWD5N$Svy*9C&HV!&AoRPMHs)0GYFejmwF!K;fi z#SVIVo|l-NNPTR-*zvSyM%92RM@A68UTZd=A0tkTlEE3C(@XsCa?Xn}>Z?%5bE65r z_@6okwWO`e*eGvJll5n{e;)xLsq{MdPvHI309?0IDr-~RpvsNl@Zq`=Q;n+%PM2BI z=X>4zd5l2~wv}wtHqo=4L`AepSSl=tK5CLJb}!QBGT>Izp#@}(wNFKMJlJD_vqv{z zqdX^3DJVXzf{##7=nP5ZOZdEH7@r2G$-dJHsutRpD$_`pwJwKJu=X4*Iv*jR=si;7P;aF+AsX}9sL{g zS5F^n7Da=k^n&i5r`jB zz-h~J1*fwcgnjbjzU1&gb+oOlgU%HgL?OsGkj7?zL!^;tqQ7C?!~|9h1$RMwb!4NY zv?^|V-Wp(a^1&hJuX0eC-A1QHo}PERH1o~<0>HUVUqxJ$KXZyg)2s_(Y8R+AK~Y`q zKaS>ZjQhO-tb77jvb+fY(0wm};A8v{5Maxb_KM>|R?DX-JySVLHc}zZPcqi2#H@-!kCu?Dh{MXqt ze>&QBKrkx?8l11`5jURF+C|%Du^5N%b@5y%$LL4bYC}20Qeyu9aQzQz0wo}Ui5{5T z0VxUmFUyquq7A(ksE`KKpu)&i7Q84%c%LA*0k+hkT=R=z;VCLM0LH`P2}YO z#Tc)5Me0g!JbN`I=o+1b6t-C*iHK9{;kb{R?jkTDj9iYgfX)-W6U>g=NxSMBRV2%5_jFoi-&DyS$<+1kOWaJkOhB_cZ4$<`|FW#73i0-}cd{HQ_=xSE9U+ z{fqIvyv=o7WFu5^yE|)jFA5QM!B`^40~ixqOq8z_01bC0I%0|v&_qq6i>elIhf*#! zEefSV<5x`2?Sw`c^fU+%UZNx3CQP#Lb3uXV)@`UAChRcNVvdwss$M5;`)|5a(Mj7< zi!JfOgVnlhlrO9QN>MuYFkWj&x}V8X(?WEbuSo&=*ZUht6a1Sj-D8XgSe*rsn`GUW zLf=3$fpY?}N=2tzIj6X41D`VhR=n#e6IgG5UMc2c>DsRv6r}IIs8T{ck@?Hcq&k-l z;3T~ej@QN3K;8pLcC{bnK^i&(?=t1%jIDCvY+_l)nFB{nBQByh9n6=FXGPjZtEo%S z?FjGnoc5vX>6Qi=Gr@6tHeprdFVX%d^pI@d&k%M_c>?cerP~{LM-eb`K*_H3=Y_quL;-Q zzkABO@pgFb;)Mt84j%lh15m?`R%w>b-r2xviNdt9S&hNRGvQuk^w~TP>?tEIwsM0bAACCqRl)7Sz((_A>G8pVz!J zh=xJB#0a>cwc0&SzwMk&wUP~$03^RubX9EUr0HLhOsa$t+CY=HC2wpqVj!B7vpxwG z(-bm=z#$ieb&ZnI%Vn*;{XiXnx%U?ZQcc~~nN;4;S+jh5(;ogD<4)t}Ah|I;YQBx5 z)08&x6BezyAuQ-`pWv|C%=t8+UAPb>mh>F+C%yxwn{{nkD1Hk{KTdG`+;0@EkI#AY zOab~54A7U2EG@z$@zezoj@*R7kQ?sc9dJA!Gek(a_Uf)JK!AN+w7os%{BIie=2z%% zJTmK7K<@D?H;m9v@jE*XvtIkPQcx0`O@2*;dLnv|b2U4mxNF@qAJGVUCuVwSFr(X3 zIsfXIcudHvuI~KZcC9h*cl(MIZV-21UAQcOrZLkd{>=aqN`D+z;wqqHf^peEtqHXL zHB-jg^+tzWTPbKapartan}qtTP?I3$;qS`I5_3Bi|Nan%S0Be3rO>zdM$U#<@VS+K z#8Py}X>0~Z6m^=?EFsNUHMCa^>lT~sgI4R3-&bR5P&GeC@a^wZV}}b1e;_!PlDK~3 zJ6Xp?fwIf?J7{JC+Pf)($MFO%W74Ju0xZ2+qMCIxmilfChY^qtzPRjsYX#1Ll!%Na z+74P3?Nt}I@6Z;=T#@!ux-FKgx=5B&lI>U-k?Ejo#sn;F2U7_DCrw0mT4&(#!G#_S^Or~nQLVG=!);4Uh zUb2x=g1I5Ha~9ciVIQDYOql$8y?~R;kfks7)B)J@T8-%MZU3)C@v0g?In(ZPfM_Bz z!P-{ZLjblj__h?8f|?0sdtNo32SC_RA}tcOTi&?>{q)v(cAkO zn?l|u1=o852gP-L#xuT8kt@R9ESUCJY6_P9#i}&p!`)MxF_6^-eJJRU-^t=(J$F5J%-rr00FTyF)uiIz*KfOPhCoE{~%iVv5A(MVor z!6O4c@nmB`f81sJRZ_+8CA?V~WDoywNyObW!e+wR;!8EQ57BCtr#TeH>HG2y=gP9Y zh<4DXu(3aH+BLqs*VlaOiTe6o^K&B4mn&iqoek=Q{yO_hYMO1fUY!8_?UP3*tHYdX z73X=8y;Z8M)MnG_aR=kjO9cIJ(zyUfz^p^K+h*)CB zx6R3txr>U`V_V(p=dA}7&b%_Cspna%-VN=Gf@rVrpuHA9ek2alBw2=$Uly0L#yq@> zedj-3!5wsWpo$jdWci?Xb-k^F#Ppp8PcUM z&Pk)SKaANhUGYlv+7N{GUrXWl&0C~<>UE{K`*ly~@NKM~fV#v#hyf^*JwMtS>B0Cf|^^$LP>I(blAkMGj{O zXAJt3g*hMe?W-9++I?#5l|Y<)kc7O&W3<<=@q%r2*XCM}vTHulNoNlfS?CImMbTX> zNYDj7>7i85T@W0sS`uw&6wL>r8suX$1tE99u+}zsZ=ulMukT#bV?pJg{O6n>V_Z9Z zDOz60NVN)7lMb>@f4ea^<+0Opc?5Q;90FtYCyXOoUZxcp4oDu|$C=BE;EM-2_LakD zSNRHax4Y*HyG$(Fm{1*#({?a>`i|ZGzjiA?Y~k_laRz7d2O(y)Mm3G1NkJ{I;$dh* z*DE8H`|O`fLIQZ=>!c#Cez0{$sC($DvFJAL$w=p8gic`2PufM*Y%Sqz_WMVKH1E#G zIQAASXM4m+-TxgjHIMEi4JCX`RUWQq)jRuqnMRHq2FioCoMZ;EZhzzVLjC?KE`|46 zyMQyLLKBKE`e7Qfy_e^p1XToLp~m`2!84vs*}7*1%JybcpH1x|MjF3kr%gtH`D*4; zXIDCeV=i=fe;iJ`mgyi5vUWlQLQz<)3JcoLI8Kwv5C;L4m9^Ah*S8VdRCiFcvc&y# zuh9#R&~XSD69}{dTOm|v0@yE-D_wYc3zrmLqXhc`*S);&txkf87iw0_5C{ATDDgR5 zJ%5db67)Qa1--JZFWm_pkKejXSF)Xy$Zm|mIzLi==vb&|HFiCO|D{43$_*(VF@tZ< zs&5zBEi1&Lp11Bko>F|ovbiO4KvfbQX&XrU-mKl*W}-825UnX!4jY0FTqwc*M%xNh zD!g_F78vZ+(Pn_m%VbCQ#sPdJ+^*I5wv&{E9=%H z5VP(vb^q}iZz#wUN;?5Ln#CKtN+x|E2kVLsF$ zrgM*-AmoXT%YLD9jd&gw-q6x}-V|jlk{1Y`KQ;+ zn^{t}&We_f<#SyyaZbPPqyq19mTGoHBpZ7oy|BQ&&o8nvoubrfvPS)c8dxRZ1!hp+ zOieNOdk@q0$$3w4yZeCz@Q+vFy}R;YQuie0rf(rw1$=Auh>d9tnE9GUl(2%-to>TQ zyonYmUY(FntNFg9bQVofN6PRwHq$GI>1oR1w;G9iYM%2E3@ z_%I0Xt}oN(Jxv03HQ6>GlPKGv4DB`NqXh*js^KQyyPJJq`YZRsNafTzN61@o6}0=$ z>9}|EK{gB4EP9_`Nc4QFR8M4~wrbQb9yCdOa9|w5%e^~d@G$ahsP*MyPA0$iT0qga zJAdcT;HXE{6;qc)rDw|oj4%@v73l%o{SoC4BY8(+=a`k5W6Zk9Uf>yIS7xK%4GEoh0+r&`Fp z04<<@fS87qV3B>rPq4%CvR$sa;o2N0^%u#r=*E_=0t=VVuv#F;$~+*QGn9;y&;_RlIx2HEhNMC|nxSrpZ+#?f6gOSY95EuGZJFG3VA zJhy4Pj&G`4+J-43okQ7Ijzg6x?al`h5dC-hU#+#$bF3X1b5nIDLN_A)1y5j0HS)R( zei2j0fv>HPlfR7~Aii%^B?u3dU%7{_Zd16$tPNLMW4WT;y{&7-T)~P1jrcQfwF`b= zgdY74$^YXk2RWKJY#35vw28@Z6NYmE9=jkgr#l$5_$W5QJ-F+8gF66Zj?g z=+z0S$%Ga=#7RneAgj&65ydh)t4+^DZX8xtq)*M3;jtAxH`FSiijlESseArPj>f=@ z6ZMenx$FDs-A7@!sq2k6U3{g#3I{zyxWa4k7buO-Q}#Gav3}k~@sy+LqE5A=1}=LX zyPRVjaCWv6QG9nGY#ji@);%WEV4ivU9;)4el_&9g|4 zCLNNVN&2;HFtnT(=4(IU*^_;mQgD?=4TfIxN`@ax{A~YTR=83qN+BuyF@gdQB%EX2 zf3f`6SkVqO&8$Uf+^Pi8$Oqu=BboOw<&nNOc5lTo(FD5hf}ULySCu{n9Yrv3E#T+2 zoEntK?Tx#pO{5m_B2@I=+uaxj2e+YF?bmW-&rGEZjkiQVV&lF0F^w_(yErU zbnNRRKc}Y`l4}}`W#EG2=28l@gE;2}2CH^bR5^#rd+p8Yhot(NiLP~icpeJ|DP9Lw zCX>GV@l57>^41sc)9gN)TK(O7?%CEOl^bX9rnY1}$dSwJ$z#0T)x|~KC$rUVwT6y0 z6><#-QL5I3WA*ikI**-WiY06SmHxRjc-@|xrQ`kXV)>|8T(@ikxl1_UPnV3%)8;xEjD)xt>Ss;8?57O#qIBR?lLxR`-bf5`WNu<`>5q)To$1 z^|jYz5_Am7JCJ5>mwt_P9fm_}XSJiC%t+BKn}F)BnTLK$Vob39GkU+|BgTMJ*q~5n~%03r`$3W*3XZO7u|eqD!fL|i53y8K1XF1}a!{iF zHwMJ1VZ0cy8Fndt@YqbWI3!48kT$NkFxkJSCk(ZgQ3z`^*DHeem4YsO_H9Q@9hcE$ z_5wCHmgV`?$<{~BB%*ev3tkrU!1PZCBJ9Zv7+OJB=Tj{iJ8wms{W@RU$$e}p@qSPx zSR{)#(R)zLaXn0&GaG0}GF!Dcx^Ay6RL$i?Bsy!qVYALm0&p=q{Uf_@_K@VKk>Vd! z9|2L8$@X{}CD=~&V-xe?bL)DpXAc?btJI$valNuwcX_k+jFM<~?>ZsE|A$5M(ClET z{wkb=Ch`i7-MwJ2GC9Xp`)TqJ(U4#KB_K70pC~QdJ710L*JPrDo`(~BDED1agsrvy zFJSX|g&4k(r%9yB{U9@Y3iM-$*$)1#$mV~G>Uy?&9cnbjlhSzlLS6MR-ftUImu0!J>Dwb3>ANmmAEqQExbbS zE!D;YQ4S5oXsb??&KhrVh_Ii~9#d7UBfUd#~ZqxoM6Sm7XK&$jnc5 znpC?U5SG`qltJxQ%5ql;q%Uk~oLQN3Qm6d;4jE~Vi-@eBo=tI2GzU}|l6}huU97TP zisJapv$lk98%%y>%{Fij6smGziV43&y9*#Y=?1Qzkk#)5jBaYb4C*{-CJOY5e7=kFAkLw3kW4;Y7C1cs?7B< z=y}W+W9YV>f`m4nXkQ{V!Oeu-0Da*p=@IV}8F^yASUm@iln2=RiUAC2U&+eG8bZJz z8Sqhd)FE|~_)sK=CQFLtlyEdS9K498MOrl&wtWvM!J`J;aw5MGwgYfCl!Knt8|?=| zK;igj?fw1zM{^VaUB|rC#1)5eF-?*|i%YcIGh&i>+7xh?!1fxCig$z(N`B6$(SN3nZ*StqEWQF^<8J^PcWW_Too>@9UrMfQET3p!dMbW$0U;w6#$t+^6T{ zCyBj~+hSVpcKYMzQY-Y4U)P^Nf<`|Vy<9(W@uK)dwyX=IdEoPaJNr8eEzJ_hX@9x| z4L-J)Nf3c~y%J-WIh&O!qqI z_oUhLgOsn6)Y{=Nugp&e>;`iUdi;kZbUTI-?aD1QS(N{K$Ff`ig?akWH<>cvVIRjXPv>-cj(XBCAs^Slm6JE>iTHG!dFc{zI(`CpL1S zp)ysv%2hfVBzK7b!-W|iIl`g#>Duv^y{i^Y8t+$;BKTEm@@!oI({sSt!8!V&VaMkr zwKg8q7#G?%@I)^lu%~xF+DPz(0b!{HKULC;F+Qa8OV1sECMInZdFKmdzl<`?INQuc zd6#xt-T3Hp$4-q~8L52}SHpfjvb^clV~*^5trw1jg3%EsP9p;w@>OYS-+jHf6VFfU zzPEv*&IeF6$+7%cqB(B2P%sEMlfd*lj9wlLYgCuV`a3ZGk@H7_@7%C{KmN}5YMKO9 zlojR#j8NIh!_T-S5Z>y-gnQHYu3AkF%zSvHj)_*I-kX-hcSt*iMuX}4 zcB?4RhmCz0yY@mNge~w@LKmMEabbRkW(2py25zo;!Q?V=o}^hp5_S>piL+4vry#!3 z>_WVB$AKqjJ}61ObJ89c?Z7M{EE&f0K{=F{bJr#(0O*zu^{=!l`}B-J8w#zLql(H6voM1mE?Peo5*}BkWQ?azva~M5!99Mv6KljicXcJ{!zQLl z5Z|gvxct^S_EQ098E%(!N!1eAE@H7B_^X&T7>vayXK-pNPFGRM%%W^~2t8x1aVjk} z;DSC&9j)0hyV`14>veQS=A!W;%7jjy(#=cJRE2CoR*cPFKQ%fH%ZYNQzKf>J1>7kIbo{9+GEzR+cY-gdUi^^C>S>ffKjN|~ zzWgg=$mzq*)3Ug=L767(2(Qy74f#w3E(Qyc&JWH>og|1 z77j=d3&MJCUCspO7Q~ufa6Msfj|^m%UVoTm!ggD#@;5Wv+)i=^9DHy+R@S_TKdhuR z6CH+qr?yAG3XJqPZVHFAtcPRb?GnVRt@~ohB&v-31mDzi&ZMJPSNgwoc;UqgL zGCUVakG-~COjB_ROLJu&Qp#o`h>t!H+4q#V_(uFYOt*lm8i6oP-1Mz@TT;c+^}mqG zNaAgv?jHHdsl!ep-qGgyd*&HO)v#BwAxCs-gsP`ehNaqGW=Tk4tWCx^IzUY4Qfc1Naq{`=z z5Bt_Rl73|Zh?4JVsV8={BG=IPMch&nCj8X7B>wFV?)nr|#h)_q*!k ziYOGaIE>OJ8nk6%8B{14mpJWIYVtuAO`I-bgZ{tPY{~-=^Bg3~=SJQ621m0qCc0D? z+;3%1KK;t}>Mhtcd6J)&5R+3l9v!hk%&(d@M*bEWOIhCz_HAOVw1Y}?XyS~?_F_b~ zUFvMpMlaE6>EuS9RQ_`B{j3YgBFM2RrV=`wDhhI@$ARS+S+Gswvi3eR+G5Z#TWTZ> z5F_i0t8R3B_0sS2;cIH7n&X+z?{gx0u(0&pa@|%4IwNmyV#c2tRh-IWvbHgSh z76Nd0_QXZtw_CK+J3kkPH&hu&q!6)ZkvoH-(h($f!+=h{GaVlDTZuS7C12#`>282* z2(;Anp3TPkYfZwd-W&yUN&`UN1?MpQ-ltayAyKi?K)COtRYa(dW^KOnd zkOdcRnW-=Nq7-ZqATg?`%rI0+^Ql!2Qa^2{42*>heZ?+HmP|5t(Gel2xB)TwI%*%k zpO`3^xx2`n&RR-QNhiU4OQnP+Zmd1t`pA`4>Vk~-vLW6ps0XGj zB0S47uvTfgh%T}BzrIT602irnR-nJ*fL1)o7o;eE7_I1@7C!vs^S*}pR0T$;De2+b zrC_?ST~L9~+gSe7{^0ePZN2;gmd>m-LeIIx2@he56h!-XP4LKbd z;Y}BR&Pelodar&w)aCK~uW?im#G5zVjb{jPmwHV99nBitC$C^ND!4=q3NTB&46zwn zQ8#Gm?6UvEGztVzscs}QOI-P=DAB58a6WpW@CtiGH-1^;RJ3hq{P#15^7TF+@c7(hmTn4bMsm^s*PZ{vZ^b;b;RN)!Jqn>Qs;myn#n7v^Y;q=Lt}*K z+{AA%mer`&3?M}s&SUEJ)oK?Abh<@`GI5$wAo9j1rI@B~SPR24$SqxAQZh}GXx`*D zq^z-lTgcNEnKvN_XppbUTzJC|DkUrh2++a3U#P&)F+2iKpf}h`c%7*os$c#JcHE?I z&USuk{0>9#Qne5_N3k*);7FiF_K#GaYT#?2R=(A0Ex4mWn>WtRtEmh&w+$lTDhpRf)?MJJ@VlJsY%3sYkm z4-GM(gA~4*gSe7~xTK1704;y>P=W>N2Ac(|UOyJpf7h)YMmZNBnC?T|HImmP^s>6T!d?j+ zRTE;RC0es27SXi_XS#Zs8IV47a!@Bn!etRC!Eb)CQ2w_U028a9JRl(|D~#((>)p&>5z&zeeMOZWYiu{64#XiUjZa=nn3e7P z?1L2H1Yxtu1p$QZAz2BA%GN#QBO9|-M^eu6S6fOwRc5Q)hY;K}B)4^Y^~);YN}J&4 zJ=q`W{0t6ly%&n4H;%oK5eXHm6BTFr5M)>a^VAG}fNH=n^i+KdTO>)T^O~u8-A`VH z8WZgmAlU`th_);zu`T^+@~F`6E}qmNJFDcwu`_#Hqa&ZSN?YVgnN5G|otru)H+*A> z<=#7FoGQ;fa*Z25WnnDp<}UQO0v@pChN4vlwRF+4thjIinq8A325IJlO+C}5lkn!> zZ*D?!lW)0c0isR+4@CS28U}tsfQPni{Xq1C#=hp6;vHxdyU_@zz$fkY5G(pkjvy1} zR0Y>>KMF_-F!ZBM6hqloHQ#dp36gB2Vldz6j@G8{IS`^mWK+?MOlri()Zo3e4n(G=%%vqz{p1Us3qbFo$|qiu z0e^46;P;QJy-$so=@^DOg7?087GZ@NeaZE(;EJ?f=2qo`M4^Ac9PbDoz$_OE*dhBm zmk%oZDaq4R(HK~k53)A4z5sj0UPYOnE7%Qm8hxS{C1nEE2y zUog<{edVeJO=KUr^koi*ThbbKJmrd?&Mdjt{KxZYfROK%?Ahtuu2>t+T;m^|=%Y>Z zf0-QUb!}h`?Os$RY^I;Vn=#W8v7O# z^=sx(ggm{(_W%+1f2yx}0u3dotNrkx;#sln5QY-pa%4z*w;^ zU4%l+CGg2W!=wU0TU&Y^jj+n@5`21=97UXQ2wj1?o<4&eC!+GQw)Exs8wW)RGN268 zIsWo8C#Z@Y_Z@pB67SRjZr}?uzG>6+WS|$=FnmOrmzc9(#aHL|uu*flTv^CXX@&|x z(Jet{&W~39q%A;Gq(#{^P91noenn}=$2RLZcd)))V0Ae7!9IB)THU?O7gs0!02({f z=Nqd@(5K8&qG0Rgtjs8La zN3=a#I_&y`QfKqm71}0lx!4u{DCz;r3Gb`6xe*ZmdRC&_4CPZZ4*tMJfDimRivh-r8oC@y;uboJ613#%9IK<=Z>9Skad>O!R78KA z5XuiwT7jo_m|7Pek;dRBtNek?iAyl6IdF=Sp@C?$mT_=?tmTdVRb~X?_}wCnzDxca z%^@~Q$<6m>$I+poVSy=U-M8y=yCD~7On z9fAhzI;I}EN&<4Z6&2WZ#_{VDfZZy11b9avcXslroz0UDT+I}DSVBm`Bf+!zq-Jd8 z1bL6n9iC}d8gj$Tuyh>Mq-Pl9tvjxoDq=U#)C6GSG}$4M%oLv8o#Vsqgu_U^&(>xhYF1u9N?5MxUg&>i4KF{8*r<`{ zK#+V_rd94Jy9Zr8MUW7AIr0phrbr%{%y`lqe|M~3j{UU#@CRdS{9bPnvOJDShXy>! z<8T%#ChGb!C$@1Xbb`CvE_YSBBA_^xo1OgY#fLeQWgJwLV@awmBn|!1<&8zaH}&4d zznopgSSS|oF*$U=A=;9fA4|conC>}p1%C|WdfNnFaed1By$DJ~nnA^jrJ6*#6`!=o zt0`L@Q=hH+Rej1bTKwC<{P+aW$u-Yue%^CV;+B5+KjM;@@y0mj{P0#qx1aQU0gXy} z|JG-TpLO~XXDcL|2pX0G`Pg*7dsmKhX*`88Ct9ogqj{2MPBfa+A;`itJ%vbCVzOa0 zRJ+~D>?Pn6d!dN;3y|We0f*2Nyj1*PpCkiql(SD+iuu$v#isKO07aUtBo)Qkkt7uG zXb`kwJ`=1bEn__NS{$`0SDy_T%gWOM_%B3NILFK z&7>+9ZbI30N)f5Fb=$&a1rirRP_=HNmQ|fT_lRhj)%yra*2hE?(?0Gt&7U)f0oUMf zd;pjRr0Wr)3X(3LvrA^vlqxo|JqSxE9Am%iwJ6IAw=h@?H&w}+o((YaW%vxju0tL8 zYDi$`Z%ydXgpZ798ulwrg#z^qMi3Dj1Eux=i=kW>nZ~`H;CPUaY_4NSgdyvaTxCK} zRk5S==*)9PsiP>p6pDdE2ZKgoUWU0rP?~_slxEqGL_kKW`+kTa*T7ALF~r=s!fDZ4 z^P^CxWt%=w;j{PJwCi?|e=}LoxEd*s9I~NGgWRyy8d>v=AJXye z*W&iOQQPvz2qgUjlWfkaKV7Onx_%=g#sm27nn4p%zPC{s48jF6quW9FBT!i7$q)3_7B8+AMB?3+C@&RDb4u+Rejs^aB0@GiB-QyvVuAF&AhuimNr6$gkA z&?KIGBZ%v>ehnB7126LwMx-O{T0y&@j!4*)luvo?L2(qkvAH<73RA7gI;6;+^p z4;vVON{4jE&><-y(kU=QhjfE9NGa0Y9n#ED(hW*?NvCv!bi@CS`QG-(+6V$A}b zx!im1Is5Fh_qiavY8|n2i@RFqAr$AMRsN7)vjK-36sgjfK=1KS`JE-H!fg~Fp|;?& z!~MCp>%ENG+f6R&s>IeDfpx78+kQlPQk{X1mWSwS3fe@_-D1%OS+w3_v~n(uwG+{X zTI|lcav+BWO4TosrQ_JFJH^J1JLB9q?exq)9aFVkd0-12SDx9Y-T=i2g*xzL6UwbyyIN|(xlgqY&ft-!M8%XIPq-4D8p;KwdTYup;z?`L&;|d{z*$=$_E3sW-@7Ep_6Ie6+eiC_AL(qd5+WoZ8Wtn z@BAm3wzR+8a|>yoPZ0Oui`{V@kaA@oY*Y|W-NvN*Ikec1Kw%+yCHGU=mzAP~S`Tlu zfiJ-;bYtyAX9lw~3ba%y;ZnNoC}7@|=7PEB@vJw~C8aKVF<#PE*VPTpxc1GakY3q$ zG@bJY`=tK%aji6H7KUjz*v+TA)8_^ru%f3K_&)v7rv&Yb(D{+~qt_r-hb z9}vLsHw1VP0RviPSuP3!Kqn_ryb5na4p7KOzSBLnhBhjg;oW?I_~W2fp}yB11d@0;{&@9X?KnCu4wE=oXQWCm=83zul-1y%2<)%KJ7t zxs1YZI9(wkMmPGUL>?td@#aKftlE)IF$ca3iyuT==VS?ztDx_wB8Syw%2EyyGLD}Kwg2-1f57d6jIv!<&9+PZK=-fA=Ji&Jf%4oOnqto} zANki&SCD(R{!oD35uu!PiWh#<;ptX*+G9C$u7i(bDL93lb+fPbX>(3JR}xbiNRR1i zQKXQuuuC}jEfW{Rz#@L`z-X#*xtz1I>Ubpn9!zyssL6^dCPO%Pf}mM?s%#*)9PFKI zP^eYP$1T5wra4usQFiWO`K*18TwNTJKI3ME`IPtF(uF+cSk+^@C>ZLx29JA+ddP9% zELKmKl4qK*hx5mrgV^mEH)6vy1Ix2Zjj@{V!C&xa&)>zeNbwKx9(;R#ZOPLb? zK%~2IIb`dKk1}%7LK;x$3W-k=E_&_s9U2_&$#T#_)9c+6)Jn;)=8Tpaboy2dG06)<2}hM z>R*v7i;ZIOJ90Bn#RE*|rsmT8W+ht)h4yiXDCjbT%98zWl!b4GUv0GCg@&}_8Fa0c z+T7XpXP{vdB={=PmkQ?DaMym zjhn0&Cn?Eb%Gi*3t3G$^+r`hw0a3BEOeV-zA5>aZF2hDB*X30D>dTp+PH(O%4yX(4 zMVVLT{`vVDcPB&I^Iu)TJHZbaehwD=VsXmjGB4wHyK{8slFCee6#71{|?^B)uuIty_Y|i2i_33lxJ)RpOiFtSVjYZ2x@$1SH;7h8p zItlsk`m0#f&TdUT|FTchF>(dt=CeC{r~;#QfReb>_h{((;q>HITjT65ioP8l$Zt6jni*3gwDYzFHZ;v2y5Q<`>>@Rpz;!-YbH8Z8ei0#-Zvd} ze3Z@Ou}00L`{E-Jpif&h%mo`VkS& zo0h_@wn)?K*_vSBmN$_{E-`cv<4!3D9#M0O(q-d1Mw8RC&rJw zRpUVVO$xT444YR5MnY;@-i!{;(?AA3qC=~xTGE6*E1++S)5U5gQ9NdyM=jPqwxmzS z#R8eU|E z$V24xXy%q4LVyQ_D)XjEs0^WU%32CV5A7)lB}uk|u(|mH<;`)=BI+?2wcp6B6I^Wp znRwa(r*I4(Zm@uze+l=Agnly2cB3enx}0MW)T0VJiye;{LYWeMS7s_$Uxk) z@!lM^h#&c^+c@1LD~x}tykQ}Ad9=M@=OxXHCHY+4QI6cRQr@AQ?c!+It9gs`U`6u_ z{fU0ExxVa00h?qg@!J455N`G4Fu$ru1vEM1QRr8(JC~lL0PTY7Qzpiy-+FVN1s@@J zuNA|k@fPR6%q`q-QK+&Jqk{VUI>lesHuvZb8sYqC_qaWPHb>hz&`X5{W<2t7&r2E8 z(UYZG`#2Yq_r*q!>wVdichY=uz@=K8Z!}k*pcF5Xia8pP_0ne}v|pvI%}$@6p3K~B z4#st1QU$$al^5L>SeXNxM(#!ZeDNI@GpvBGKEh#LUx~y+{HcoZ@Ta|k{$aIO-bME>icg)B{i+A*&qDw9RB== z0b@Y%WKxFZQas0O$@&5wRlCJz{R+_^6+%C?fTEEg0na@HAT~x6)C5Dp)5&!$ONY%Sv{1HCz@qO&G8j;`ZKfkbLcBNihT=p(eWuyiJqRPD>Bw105^nD z$w2M2DM3wPx%HCwht1h2Mby8{!*|FQ2>^We>`9%KZH*Ol0x`^hAu+4^#9% zHuqU3br($?4LcYOZRJs+@B$MQCvjaYafoS20u7*!2AVdYi;AqUD0eP~LD6&0Ubq8te49=1otl9Wf?XZO+aREAF&4&H-XyJf|s`2ca8IMpyp z2w>8Yo4WlQR^NI!{PdTuFTz4So1F~nrc1wU=0_h>fzvR~-rC~gk0ii^E8}6#7__sp zvU1fr&?G)DOzQjqt@3ROhOGx9R_#boWh5-DgIeO0#wBF`LIdOgT}>cG;E{r?g#)Oq zxp?)cAD>^S@O3zLBW0jM^bdQNjnCYk(%u8ZM;=+*f=lR5HO0m=v-Q0Q%Kmw2GH)kYqv`Ed+=TjkWDmpY|#z7 zh?d9EnEnEJKbw@_-=%4Rt^wST^#9)(S9P-Me%GrlRKIrBLl+!lM9|0r=^)B@BJniA zJp4Y;N}kn)YFfA6jLfA2#VrI;VnJu3>6>b2R@NOXwvMP==C4Bw?>c5WrCblS<#Qnd zhC*4!KU!ui$`j^s%WVb<&O{JqJzxpc;e)H}ne7q1NFl`$-gSpoIRG5{0z<0q@&-vl zt$(taBTO0%-x7v!71wk*sr-P_=kDA^?<{Kx#x{fB z&AnumTswOYZr8)=U)-7sx+jHAZ~T-4+cbjmrx2d5PrV!=Ki(vDlvTVX6#G}}p11Fs~=T13Yd2Mb(rU%P#$QswB${yDcYK0z@WmB$yiQV0N6ks(3h0uoRWj$+9 zGq?HhzbSWwKO5lKTIqYfm5@{s`+=I0YyglJb|Ok#(OWB1yUM9*CoR7jIZG~P+_?WEpa z1n@g3^v=2MZ>_|PW(?Ex>y73h?cr1D&CZ$$WiKRSk^MPAO;o7cvzI1l{9hQEN-sGQ z)vWc#0bD3DcAQGCcF`cV6En7JPc@S$TyTIvx;#!qX z!GAwi>Lmzk@|1=T+mw=FFhPrF__>2%%1`GgXQg`GSiN$C80a+uG+-+I8(?<+97XlY zAKWToisr-K^0^C@gWofFhph15blXpF z)T;R;sJZl1I$IWx)b+KTZA~{p03{#8XmJGWAr_`t^BJEdp(F&>X(?p6LcFX{yc;iI zw!6a{={;+puD&*_A$NIUS^tZ8i#b7#Ls?NQmg8OeCa!fDIdbb3$t?-t7vS{W)EQG1 zO{4Txqu?i3ix~KQ&)3+m*9xUG<0(yWGE`?+;xu7|+YgXXmTn*qFrM^3+cJ%rnU9~@zS)-;a!=uAfkCXIOusP?u$vnOpD-2B-j+YCEaC{M)SK%{(b7;C-5`r zofo?%D!0AB_ok5krx62^(qF~*DG*X46q%sN61#GcDIJ71)>L>$R>@Ah(p5-lC?x%3 za~`<)F2#X5Cmle24YM>Fyeajq!Sask77FMDh54LrvcWj2hs zda{;;jh>>{j29ECj|u5evM@2UsjwiauPqoAbnAU6)G;9vhh)$0RzUg58+VV~Bmf&t z{KnLSgS)>+e1K>1xMd}jbq`vxTN_t$2EGg+u@D|Tz9KXUhz>EBS1;i!E|5J-_it## zOh4giIMLmFX2ED-P@jS0JULJ^Me zmY7ICq|`U#RzFm#mS&hT`i!U%V-u~=-{T~uF`T41-ddvcy!(Zl)AI)A z6vf;kEd?>fJy+G>t0zYGRj^7+&5ZwJD`8%VR{4#Hj&ep zHH--5UheD-P8O3GbvG;jDP1IvC$Z9XXO0bU8=)Ob?>}T5CEu`RJYr|V0(dwpZLLMD zydyaMRM$rS1YsjwaNw>uFs)uRO{e}x)rsRr@SOeni3|bSbvVHpNBfU(0tW;63-VHZ zq{SUYP4(Gbs3auTxFk|t5>m1&?j8{@`DExk2JDoeT#cGR^B7Pv*JZQ6xF>`&X4QBw zyw*bUgt_eim5wUQOos}I2h{*sWgbZ@oUo!<-y6Wl1QC(IX|UHD z=nu&tv^W6#^f`8u{}}15-3AeM?tu37(1Z=hNxLYG1z>6@SXH+xUJbSU_jMD z5iQ$jA6jMQ@9d)6jVSFcr@rJy8XG|AH*xM>^-!$lVsxsD<_RS@;~aG0ft?WC@5Q7n zFGn0_{dxxOg|TwJ0b*v9UCyu1cKS&^ac|Z_?1)Ww8TI)n>tO1=f=+4jXmL`NJwSF- zOdK^Dnm==HGn5fKdA#((l;yagiuZsNef?8!#yW2`{=(C|%^yOMNsZGwZART(kM5$) z@AM_1c2+x7^U71h&J?jBbFbVB_y$i-r0o)Vac6jVh9Um1S_3m%ka3iFk~Qbfc$tc$ zTj*sEiIhp~!xf)c5Udfw`|?ztUoGCZattq!FM7u>02a$MG;<<>{x(vPuhn}>e{R6- z?dWuQPszBPm1XhDfr9_eMEH(t69e|xi;uIwLl)lwtWtdu{rR68?=O;h50xQV<9kd8 z0!*;m^_~;IRtNlNegYih0Lh8blZLbBGSCGBEbKzsF>fV}&qz0?pGq8j2-QQOgNnvs zd_vcaS}77FiJ&0MLD@?n9)8yN*zWRft<`gzK?W(qUiI_Ti8*@PxQwTBPpLlW7TREo z9CHkzDo^;$5p8d%FYjS&mWN8(DA6bZ9n&Tm=@a-|^ha!IG`#k_)mvqgv#9f_xdp@s z*x?7z^I=nFK><4PPJ>St2pa&gRF zTn>CMVCcuDq}t_(r*1{NG!PTPcqC*TFN4a5+ms7pzdct)9DscCcZ#}on+XA+!gKrw z=6G8g!lc@3>y|*l{uJj$WJAaWZN(f46ZkPVvl|I{cFhDW`>z?x7xGqaG~g=Q+bfMa z3yN3A##l_5L@5G}*JE%gvbp_?B#aEK(lL2jrRZjOX2F3~`#gxKekE5JmaaON*5O3x zPrs*D#4f91(Urqv$wZ6~pDvmtM>=$v(BjjET5axJ(NS&`ZSOOGEh>SY%EY+j=j}S_ z?w98z?@t_|%INdcP&jy`7Q1Qzbu!y&6*n;nXrE4vKIHpyQ%%kot<+bc%gYuY$C;bR z?q)?vZ+yIRdg{34e03mdxPf?b)YbkcKWgn`=@E>H{;azkXIwx#I3d}l5M;DaKT$1E ztsm42dyqI~*!ZUA#W|tQ8|nqke5C9F!`Rd_GHis6=wHcfGa#MmU&)N0#l3na5~ zwm8avC9`OFGHX>YU;2^E0EN;>Ob!t`FMtpjz_fQhVdQ~Hz$}XD9(1dLBE2XxM915{ z6OI(hEMJEXh_6GJ8FjI`_oC_7;QgA~SD5Y-v`OrG>gqv%`M6CCVPggU>^dWX=bpn% z{n~v4bvxm}1{8N}CwM2rO^8i@&9U(37M}Awp(W(h%Xtbn!Y~7`7 zk>;Pso;i6`aH?9M&LRtaky^f8Ie-KSNHw*8$a;nuNAS#DsXv-AY zq=r|U<{- za){tZ+!N#{tQ`W)H3832e7f;*xm>qS*Zu%dd(0y)D)Wuk86RKAVY7$`I&7Np-qYdl zNVn?GT2S}QZzSdbh)Xr}hi`8oDnzRlqMQCBo!xpEh5m3eNP&eK5JPJJ6XnCjkUsYi z2(g&FixA+EN7;rMIAFCiYou(gM$ylsg))>0XG+CI>cp+MIP79 zH+$nAh8_p@i3HhUtvgewcUj$IAUq6JMMtbN0JXtXGwoR(oEV{^M^#~m@h1Ss~EEOJ<>`WXf4bs z=J9Tl)YVc8Vp*nKxfxX}qQ80ySn=Gow#8Hcg8bYrqBhQ%4yz7G-klr25WR;dc==xp z0ks~{tZ4~V_7#0ue-xCafEage{W7bv*zb=YT2EjF+j$~mTVV`Yz0P((Gpz_PSg3D0Grw^r1@2TMrzB4M`M-3*vF`@@)PCjCeJ-q^r5{t$f~ow-n!jH0dle)y1V zn;D}PF%T2~hBZvh-NOV!w&^LGY_Xa^*oIS&;-ar788Grg!{VPe2%;TkSyZ9fAk|{~ zigSe|^L!~8b%88_wE0`2Lw?{@m+dT|q9F^MvUKqC0L6xQeAzfp-(koxrF9*iKZz{G zq@e|!o8PFHMO1zo(B=Ko6({U%j34-1NIKMTtldE{d%@WoZCnt}hJS1o%KK;N=>b~I z4E>do%ceAwrudxB=PWY+NS(Qe?>||p2oA_cF5@vRoP3OiIDS35uV|rcrT|lwgxv3! zY^dMv)0cU&o={qWZi{K+gsQ9ZzBE!_1qnisN#x)x6b(}m7v!jziBEbHR%;h=JCn2` zF;63xOlT_ogo5*YBA7!rT1M;m)i_{#nA18)u+FiV{eC3yXq$gjw=bKkUBm1-oR9RhdTJre4Ek{Z?GGOa8=%tS>fNr%-%54 z<9ifjmX}B+tO4MyS2~XkthC(u-Gu*A9efW{P7Jya^=Pm8_`}OvPPe4vDp0?NWAeA{K;=F zwPcvIR4qW67>FYooSe%Xt=9EvT?aUne(H7#3dPW`l+o6`EA*l#*H#npSBo0V`huR8 z;zZ_hpz{q2li%fCfxVD)2zeVX&B-?~F3VvEEI!U9VUu6J4#8ul%^N(S3_1xAZ0s?8}9TYos*Tipz{NlJQqEfmITlo|auidp*Vu z7o5B(PVvaPf*%JF5u#z=*q#SB?5`33qk+YX6;v^blD_lxtOpsO?Jo!fSN}Km?Zrv* z@v%<@MJ;f~c3;rt?PMQ3&YmnB%>)C}lDZ*@4K%|XrTsvm_c5$rhjf!~0hQf3Ui-ev zY;B-x^Ciiu4lyc+trulVaqcb+nD%%V@bOeARkK9^wqu}0)>`0b+jxswEQt%uleD^B zKsarfMNIwXTn`kYN%BHi;1%B+umee|2t_LxVn;;DIOs;34p&AR4;yMuC{#4%Ur25? zejTqVIla-7X?(kXxA*3NV#NQ|a@Lqhm%~ic>-CCbr6!!LVNuy9lSmu+=bm87pb?=E zHT3V7T63?ng>A|0_?q8_&eQ5wTWMYxImoaNN8L#&C`HF95SlQkF zOUW{!!Np4wUJ2WAnCx?hhmVW3oei)x6IB`1WXl4LvTj&v8*ImP#v;?nT-dZ7U|(GY zHTRcdc~kZ#rN*sC6|mgP!|KM0vAeIQ&qGi!N@wQoHd#hrNrAG`{-nIpi!ZIY&wn-}hO0_)Tm>aisb3rN!e=L(<=1RS4@7~w}+JQp0~HBK+6 zi{Dm$J*cVkp=ls( zCA@D_t0uXWc$bfE=U@_fLGX1Auo=XlX7^UlKO-&_9&tVKa;t1iz>H{iR;>LW5ho3g zIH1{f2HeD z%@T^WnfF)U)he3m(Beo~EYF6lc)WxyL{q^nAlabXoN#t99i7n^k%iuibR^e`b5(Lh zA+LDXbh6~=0XbppvI`G=E4|J!X=g>2+Geo_Q#+CGXnQDXPK0}1p&KrITm@344N87= zr*QWOr4uZkm*MAxSX!qbJVmsT9K=nag#jc*l?Q)=4E6qdV=~+1u%7bn)=bO(Y~JTH z>XyIjDF@D1aSp7;&nr9tqPyARqE1Tz2)IG!6+#MMAngf9x>O?SU zX~s=ez?uP~Pz{v7M+uRS>MRKLXn(10XQxax)Duw_Y~aow8xYTme&Gvr>1=&2B6}yc zn|dcP)czD4Iet|m1qR(+XonW4R8~=08$v> z2(1Ky=^-qu=aS?X`Zrt8lBviWZBH&NYewqIG{T8 zIU%4LY3=V5H0MM8=sC}}qTDu!baY%Kc<;0vApt-|AtpV@~ zPVmXmIO6|C2k?_%(a#EXL~qc4R?6F)kA41}%s({PyLVVWwg_s&^*NhL&4q+nAVXqc zzksD}2YfGqI47`|;4;i|ef$Q11b;x3h$4X|89|PUC`V3A6{>#gIIKBKEc zJYYAdr?6}ZKHHGFM%8A`azF2Kkb_a7-K15(NH0Lt`gYp_mXWG$#UfkHD&YB=FA3|0 z7`4QA`g4>orPhytm3?serde>ng4bIczCE#I8-UOT1UpwA$FqE&3iBEct_tcYd5e>B zGS=o_KerLbd+6k8BJNM2PGY&}BSwqJEh z*YkSayLocC`iZLt9c8H^|E#AOJ6cq5In598O2c`6kZVe(ket& z5fxVzfWQEP$rEv5dB4mtc=IA#;l7OE-%LPBHBjRIy)ojo+81x>e%ve9FYy>RyEhZp zE;)6}>~5znu_c{nbhvs7HE%3mL3?yVS1ar+QSiRj=5wo=dDk0(2AHE&=RuAzVy3m4f%CmwOXAg6Ut+UQ`~7Z8HOew0-$I*llXdjn zcD{{}?S)fh!wZfWa!dL*Vw?AM;Md?5N z_#EnlA6I7r^2ui!%-TrAr;$nv=z->Cx$PdSKS|;$5iS;_jSAO&ssYdYuSO8k#UVqI ztm$_!Wfk$232v3_ri|l06OFRwfd-)Fn;kYKiaMlhoSSj>RaL#I^5+|?aNM_N+r^SQ z$evFP>^9;Tc&JkVUS%k#GU(>!b!e!(z96S+1zCH6b`qZHM!yR84^UN03nIb(qahBWv5O+%=P&kK^&Hjn z*`lRxyf>jTu12-fBk?UwwGItEF1$R*ts4q4Qx&L6L8xV=c~UyQGab|Cp%AQE=RRkz zv2+9GO)d5ynwdNc7PjYUGIiH6PPDvvC>k1Mp?S9aaa`x3!o8u~THm%^-Xm!A@!i-r zI&;u&H`DzVG56A|6D{#F#@5W3BbPZDp-b%=Cui@tZ0D;6Myh=eW0=o`b^c3^iTeKI zhIP*HMcyV;H=SKEFQ+pU0^y_!GV1dor`;}XVFGRTe1nf5HcHLd|?_DgfQp~(Q3Lpn|uJ`1$yVTk@b|WW-0K*nTcrs%vXcPLQ znfMD9Kbiu+)Xk0t(&4-x4Ll6~KVPp%09ToTB?5rqORb(N6-2{2@Gj8nE4XnHI{Eu!rTIF89Swcuyfa1W*!K`2OUwpIPysR?a=gI~tte|TW!}X4 zXXRTC({~q2l;ZO=ioiB#SQ%w5w2U+(S`N!RVX&4g|2=s66D5&`p;Kir_ck+)a9y}t zQKH+enSMoNx51gNGmjY-@zc3TX?CN^A}z^Yv41I&s<Yoj!& zKyR#SxGH)~&vh};hLAxagjK185j3=-FN#d4Y(0be=(pWpy}blB%Y8u^^^bpLeaU5|Yb` z_@c}s-*I`AcCc#akr9!Vrt)6QRJ8@Je_@-Yv%rC78V}*oMp0h-`3=`vT*9+!qb1GYg+pGvl{#8t)kcp%g<}~E;(i<6M!cqOFb1hS-dW1S-4w0Tj(MFPFrV{|6L#4pg zT&-3BuUv>n`9ZgHfBhS$JXCP1zIzn6=ip%R!Gr4n0^bM09eo7YwE9XA4} z8@}r;rfRyANxBE!ey>Ie#7}_((dPfIQn~fM3;1O~{Ok*ut`B+opBw$}3qklotmtYq zK>pFwV4!0E5iBx_CWeO&b_CK0r^C*DqhPw0Fl}W&NLfULW4YE&9vO`kaA4(<`>w$1s>yMTnNg=lGFaA^LmjilsY%L!I#bvf?sWoon z#fSMI>|w|%CQ7c6t%@Te>j}}mp0eo+N!~5ExfUmNc*jnW??~lEC1U1B>cSGPT`np! zcMiPqW)VK{i4`xupC_Tm#X#v_KbA=vgy>Ju`R&npzaB*S-1{EvjTl2Mib2srD!a9Q zxqg{}!CTX|5=9yDSKuS)gP`{I*fq&dOFkefXz(dd<9r79>SOAciw^>y8_F1APbE(c zoyn!KJbvA?9;fLo;pwJ zL!=U??au~hZ#VBszslncL1c;Jt^R&{!=*W%-Awg7^+6xEeK_Uv&g%K%L(xXOsha)L z_j^_ibC&KRwnb{^WU@iWg=)m?Hxc$O>MN=XdWHEfB@OqFr5uAjjva#onLS%XYWU&! z;jzQ@bSM&fuL)PJ?Y+_)9dk1mkj}M&(YK_p{Zk%KE3-+y$V8QwTaE)aff>Sc`8!@g z#hYuT{qBa#Md@Cq01T+LtM>{v5WY!qakykVJUUrwZd(9^y%3e4d8v^u|gy=Ki6?f5_h`;Kk0`eY_hcu~i)e&ht+ndY2+rmLdBDdnPGw38Vg!lGFSZim zv}rY5XMfq&=6SQwfi7ZB8xbz_r!aSkz|td3#lI&V?8M*C4D+dC@kF5PPdV932SXtrjYrr3WxnOe z=9!#ENgG`bBE~|LWbVQ!HdRY_Q6>M)kuSvT>GpQZZc?QAogS8#f~1OQQA`BadO@16 z3Kg)Fv&rH*RFiH_zf}~b#^3h*kCO396(ND2{Y|-nx|!6gXRG>dhIN&CG4!l7{R=<= zZ1Q%Ji&8@I8MpNEfz8LKl zS;W1vv)k-ye4IFU8vcIeyw0A1`eIz4@M`IM{dRlP3WZy}{nfyQ_cyB~zBwND$tmj` za6fFJVe)LbZtnR_;!TqulU!UZ+k%Vi*w`*>c}4e_yW_RB%e>fAj93w<1nM^Nre-x| zm&yz-ZCvsGs(5EeG*yTxBl-1_hLy6u#DM|doOV(U&qV3>z~UVIK7zS(kBXaF==U$U zx9^mT-BO62+~ijJ4}t5Sx)Lq>ITM`KXPD7HJ(ZGYMq9txYd{O-YnWQhcFAp&HBU@w?{2}IvnOh?K(u~9vPcD$(E5sGI zD+*#l{goKW#uEA!IrWBD+M+g(t}E%(5LN8LdMN#(6|PxoCgbe|)$f0z-$*pf49JPMwuFK|q;zuzI|MjG-GxBOne- zL(|1XluI8?i-b8XQ|Oq5&^<=XlR+yocB|p<94Ah`DVK9Mp5@%Ab8Z@CK2U8nFQ>3CJQhDM?XD6s-@UQ^DTW zZEIYJ*22s@Nb!;q4);C(Y5+;z$E2jW_?>30Na9d?#obgFTQnZn<;V32YIYyQVA3Sv zn-J*IKge1Mw+5clSNYdH4P{GI-DqMi(|MtfQmGt_x+ zKtpdIJu%g6T*VUdBO(J1{VZv1JYI1+etgh=`ZcU2Epwo~Vp{->f-w#{xKLlspn1c~ zp3C-X>@w*p*8PibYd*t+N{20!IRdDvZZA845y zI6H)YG9k6TNb2nTDn~GR9doxcLzn7dREVGgG$8+B|A(kTCcl4$Ey+jf*BkkPJ-47p z4tW0v)pzgEfJ}?~CC(XDku%{ts?173H%Lbx8bD7|s6y#8Ot$y-N*C*C2l?Z{PS%K( zuSk%(+gC%VC*==?qBHGjSE1v=xs>9fRNBQw6Q5+=M!kI1E(d8-MP94;4y@*??iSp)Ubl)tw4 z%k(`?x7RTQl)7`5LO2&Y{=xDaA*@u=`DBt5c7r2IQT=SF3ehx#t#J_;en705(GWws zRO69Wb(8$~;sugD>~zJ(R613G)sTN63;5ytrd?x%x!36$U)I9CjbtzN6b3u9DtFzI zE&Qj_N6Bz`4Qv|@zEwa3f_SLyk}$++l&ecW_UYi8Wk+sw%qlUT{jnQidv`ZA>A4)%P;U$pfM9bH`l}+(8yH zjwlz0EnaxN)hkkDNn3B8Gy8PLor>+b@wH7)_@<9~BDSry!-n zd{zWUYd=}oZ47gwWIkLOU8WG#Q>z={nc2qtLFj%;&W+2Ml*DKNH_0nWAaJ507zp ztPY{mn9Sec@(fZf;f z*Gi!jppqxn7fT~)dYT>kM6gVX%9XCT~3iD58rXuRGSm#ONYCCKJI?@|IuQfjmG3G9` z)RUWFi;Lu(#U9&st-52e)&3$E6K)o>dx+Ks;hBP@5N_UBw*Y!lKc~Bh$Fk_=P<%z^ z>ksEV7heFzEw$PzJd>m6_In%3@20D<2U93pLp!1A}#{SP0- zLx9$sM##2g2OQGzSD~-$$)Ev2c@YjyS)?pk*l3cEiCEn;zP51}$OqRP6+f6H?%{KH z+n^BE6lTZ87E=zy%p2#BxE(y$+;#od(~C;pn@c!z3ZGSz#FqwWF;^7)An0(@XA{RW zEr2o3HNC?l|3FXo>z9MM(oox3zPp0Ide?U?Xt1iY1<99S`}+l)mG)T}jutP5!ak~4 zdxKb&4rLWUR+ADWe>4;0~38(W>J~QG@94}m|HbXC~EYzB{4ahdR zI3&UW=Kvie%;VYhK-axtLFCQ8@q(beO@!iQ`NiI3_=CN2`I@+X-ypY9-yqU!a=w|T zHT3Wj*FaAWu=lGPZ)a3vj*=_lL1x5jn$$94{Ha;)w8XiZ zl_})4I&Ueb*@gs`v!}7zcyUtH5U5dVdR-JOsU9KYz;6}5vxGYCqh9&t8@uUQo#zjY z5xIV_9I41JiUMD(i-=x|xei^s5A=KD?iu=U{Nj8)s~dH&FIf7=Zp^ouc7wwf-xxeP zWBWc{*GlHGGJ>tweQ(f1JPcUGDkU`K`j+0XhP*IDp0#cf3+O?{d2OP3EF z9?wSg4^WX2{x>9Ga6w=6gep*=;GO2RST0X7SfmZ$WHZ^l{4&4kuiUCIz!E0g-=wV1 z?4d}_v1~J5c~>ZHtUAm|$$AzET`k;|RDFjD6HoIy-baRHii;@9Nwk3Ey{OPyL3w`S z&c-fk^chR2l#RqGKs_?<4u>;TA^y^?xM>u>{QfT2;|#KJe_ra~fy^J&Z|-cRaapD9%1MUEGiNU@lYQ!W^3_~n zDogtAlCu1W7374~IRP8`Oi&g{aGd0w5Is%TrAcpOm6u=j3G2JibxjE31Mt~g;0(w3 z;2#`H5*F|dfGX#8M;^%OX7<)Vrbjo|ZrEwPd3HT9#}@_C{=7tq@5`9*yj6h8uTLuS zC9^|-c#?h-54oR!SPLFK6(g4ChF)th4P>u9f7v%fZ?E+=s-NKNy>sF^Z{!QU+b^q0 z&gBXB#8S4mc~Hq#Lc`?QgeB#)UK5jjDU>Gi@?+t7>6wg4u`lhH(NtoNUMGK@B#AMW zj0_Dx4Dgdjf>#AkknSIl_owy(FQOuTRE0LR>-yWk-#wk>_s1sthu3;#3uv97Ju!(j zgMb3r;8;Lt1eytAZIJYv?@f$;)!O^?#lU=KR31VA$7NGQ%uHX~!)GGKkWaXYdHL|DBL)WhRsIf0# zQpEAO>z7NmgX;*y8k)SM$>%&!q++>nO1sA9+;!iK)jA`Zk03;i9~C0iaRnm%z1#bB zci-&G^c;i?>UPn#l=PxT>eS9ALY;CV{2G}z*7j6q=oH0q<;!qt9Wh%M>0wlqARe^q zY2vnktJOtu1h(I|zj62H0s$|+k;6gdBV;I2#qZ5-|9P4J8&r}&I_vCJDWw@8;oci9 zAnPn#6C6ScCp1qVtf4Sfg)rLpekUa5`=9m?acQS$YA%Jay3-o~05Jcq3eiLyH+68N z&u|x))($ZtBfP$6_&J~Q#Q+aluejL4L!kUBFmG8+E+6_9@Oi%y@$msuK4Sir)#Wom z=z?J29q1d^$b*N;{Z+EAns2^u-aQ+oyyp2T2}x%L>BhaHNylhLE&eh%8={)32o@r6 z+%_5aJyJcYDU8YA7}(}JI~rYWy#54R0pP$TX(&Z+TT(0{ZVa^Qy%ZC08ShQu{=JB> zWWo6pcccAEj6u2;y8>X{;g?QyUjKZ-PH6@K0=}FpAsf^V&v&T#&dsv|hMtA}WSU6? zL2LNcv(YyMMo-#21(kr{?+jqy|F6^e8&}1Vg{`>zH2T1AAEGyG<>Y7&{(knKyy^F& zeggV2u;CnQ{-hs3%H^Ti38U-AsT4`VNEdBnXJ${e1|`I`Xf>*(*bGIf78-~k8{uF) z^fnstHFS1Pp*bZPDKW54rdM`%)GJEH?#x9jXi31j6Hhn4w|86e<)wDzZpuTAEwk(I z1ClYTyOd;RvZFiEFlL@U1UC^CJNEn-HFqwapvPJd-kXw=c=R(MXp{T((S3Nf_uNRE z%T9Z>zxyM0)U7*`cTAp;CKpd!H=k4x-&OltaQ`|SZliWY2qs)Sz2-4HI{{9mezjTn z|CXkY8}Lmo@eDrTEY^z{oe@!BHVyTubni}&2!sI01J6WU`zvG4+Q)Lw+K^BJ9@`rh z*sIoHE46%d&PI=9v=$K0y5FO66H`8JpkjS<>b9gFylrizd7a?(aemY{iC<*fBIzsM z$!3i;>6{{P6sIpAK!NMr6)H#o4N$L_#X~QvVTOv}vBE*JZQF&>EO}D4WuNnjL3@L> zFDTZ;*+*7?VP(``JKe^3{V5&^x`O*k?f5riD__jdy*2xe9G1r(z0vi;z43NQ+HH#~ z5Pv25sTjAweQpLDZu#RBSy)8vw-tlzO@9rp`$|;r(YwJKG}(Y(>eF+U1QOCG*1B@5 za;wD23Ivenzo;G^hEb?v^q?HC0$SW|FL!5@l>||zobGbdqws-vdO6Id5kz5TQaj{mXHY9 zdvCJNu~#-_Z<3i%b|E2q{jNj9_xJQquk(1kr2D!*>pec#aI&+3-Qrg(-99+BI;fJE z83JCQAi%9LZ~e>g)|q^AUM)lGtJqX<=KcI&wEyxc5I9Kx^x6_KKWTQHSWYAX@bLPqsSy zVczrP44<9GTzAWNNyYyJrw0pM5535H4*{gwlezfF{R5ly&9Y%ElW5*sWL4!W zd(uu?9 zo%Zr8OACCrN*Kl@PX`B0)d)poBfp^okmJyhPgvdi~c*QF2k)NXC z@-v2J*9$`pGV%v7j=ea?$ws~TM7~4^Lm~+_=l6Jg(x609#1OW=6ye2Xx?B3#zrpX; zH#)o+5{(;-t;u*s_e@freO#ySI# zFuy?C@ql|PQ;C)h_52UOcSCMlTjSG201h*k1b^KvZxPSaG3dclm81&3$wUZs@Yl(m zeH^+7X1r7!Wi2UXFE%!Q8Tj<`n4z5=v$#&Q;r?b)UCHP=F{OF|IY>ta#6hQ1m7jP< zV!7itUsRHJqv~uFKmuRjSg!fF72xw z=Ewp(`HfrXofkd0Xny!NjE=+?3U8Q;Zp{TY&v`D^7Oi91DZfjeBNC?CnN^t~UUrEm zfAy-TX^Bb+6McYO3@l~F6AUCf8}+|_jnqAijH;9`*kx1^1A0#r0m!W1s6*9|G_t16ki)wvHngoK zlQW(fWLbX5W=J9b(OWsOA{tQ=Ljx7-rB0cW!W>6r2K@sfE=4Uf-@x|++&m(58R*u- z<=wqO%bJhXjdM-*K)`xivQzZ~ zG*O%!6I2fa@R6Q77cBne&|IfSwTkX=FpSxxD3kt1oql(cpuJQj0E$2eQkT00L}#2^ zSJ5{KP@`aY9}J=@cj0$0WKbi&tf!U`*r@IiY8ucGBfpKiHMubI32(j(Aw|c{WoVFZ zqjiy0!OMV{E$Xv@U5_pJ9MteI9Ip?9tpe&;MYBtqSa73y6jXNDQ?=5Pyk(>KMsM}F z+6)23y+ZA?;&N@9@Y`N9y@hLfoWuam6YT1vj**JQQo{w8r3PU?ah z{5Iz!9hTe(XRv#5htfDxSA?`f^^><$1d_lA!j4x=YxMqg1iPZp-Qw34d1Xa7r`M?e z#u}z^0U&jg{m*^w6dpXULc!I*^?!{@X8_9f_!s50ndHB<0Ei7)>j}_%O^D9^>p?^4 zAAZZac(b+L>7@uVoOKnen@AfOu4;M;QS}I#T7gR@fg~-YiPh{m{94d*W}#WkYe9!4 z`6S{77R7vH!Q0Wz5-mBuH9yUt_h^PPkdng>MNn%z-kH!4fJZxr%RvukK9C2?C0*;s zS+K+Ou7^L1^o-ThnVxTlBDv%irvX;w7)zA9=tYHM6#E;;h2JKwz3tNmts%{roEEiz zS56MYMd_hQ*?3CO9Jn&7iFR{EA}Up1W{F3O#4hI6>U zRIjQjUQB*ck39rv&mlS!)1(dlQ=Y+d^gu_KPr7fXB907C#f&|@BliDgekJ+0g9=w< z;3X5f;K_E?pp~|SBX?SuWHXq6kdHS|IiU-pcr`+dkgoxV_#)~SpTf14G!s1!-E78I zKH=&gr9SFLV$9U|w%>U)OyG_U%b1>!UT?6fq57%}G@}E6x0k{w1i-W^@A(KAA!cVr zDlO*IC{^*+FNseI?^Yc~gCUTHGZv_(EVW+&=b0h}mOhlyzBOPnB^=;=<%`dl+Jd*7 zq@GQ&W7zU7>ec>r5iU8&>eq6BGvd7X?zyOoPDrd|sPyQP9lBuumL z`GGw4vi2?9zey7k334UjNB+oDutUiSeLx0&OSJ8p^~$K8Q-IiC@yglu87}vBaF>o4 zh#=uL@S@X8%Feu{;CR}jUmy~Q_}e3_rohk`{p6xaz%974EUOkMjp2C$e&qBWi80ACIxalj|r^$LQpXnL$31gZ~6VGpA1h%x!Gx3}@dn*>f<$8*qhy!ZM?7Z7ov zvCI~B&}Y9663?YuSHXQ*IYMYzpqoH=XS4{cZox`V356_KsW9_MSRyWcgL#iKD4w++ zg%7Sbs9_q;)&jhN==Rk9v+(lSRZG|1(sb%He{B_#*L0hE&XIOD&H5q5_9ADMQ5NC4 z%_I$qINCy&qne@4YDh6h3E?Qdw=a#;XyE*#s&r$YSK(uQ9LhL;B>F2I%7Pj4on{kB zdDT+st#1||=Q4z@<^$@vWedvdIm^PZ!!rEw_>Zze;XvWMvwBv(nPyWu>Gw$u!1?%f zx<_SQVpa{qi+I~L{#u*TCH3&#ru{(QNAc#C0NxG zhc=I}*(aU_nCG2j2Wh&v_&W_bS?83YNBA*$)U9_@2zvtT{kKSPHKXZWZs(1==zpq3 zX_H>5MFl3E)d_(~i$&iNjLMpx_6Ce3hE-H?{xvs01t7e7)205t(K!krxel646`P-a zZ393+oP7ki|7gt4p+lunS)oD<@M+d&$}4AOvpHG9A*K?BQ~j_qA-RVlXB3wVE7b4oX!?1CiI(ZPyK z#Z-EDS8eX*H))~c>V$gBaql`@$t@a5c9>Cmb*%NFs0FGbC0Dzxr{uU0g0f;|(2RQ7 zG0+$?AiH;N@VO9MOx-JfzdvP`Ni9nC(u-}tpL@#Q}ikbNq^u3hG zxce~w>tPepF}T1_A<1=no0pToEMRFl+5KG+d1KK60_yLWfse zCc=)7E!vJSR5*=-F*Bl&5>e)KQ9fQ@;^-YPabANf(^1X9kmU|(Tz2XA1=@;k${l|D z*4HwP?d%lAc}8M{t7L?C%fpG>kNT3HZ_n0cPi}J(a#L%JjJ~5_y&ALeYukQ4Phyr-RLLJ^3UE8;zPN`{GPnd}Qdnu<WF|pAZR&O>P$weW z(d!?4)k-Cd3!GXUv{jt=-t4<(vc9vlz5am!Y|R<4A?Utvo(AGNjN|(9+9lexq{hC& zN%+*IqIEj(PY#zrqU4cMw~+mkt?%^GTR*n9COjG^j3AITK=WeLU;5GT zfDT)^dAQi-6tug$a0=SNvWV1DpuXZ_SMd$4*cpOwY2k zkR>6j=5>2v6kRqS7ZiP2RNr&P7nl)A-&Y2MkU2N4^$*IM%?2V!_G8&?GMaYOW2RaoxW5AN?d?t&lIY}G3b(m#j-u|S&KDUv

    ^{ZxI~=Cs_r-`)iI!9_JW~xQrY45)cpi(Y+xDZcJUuAimK<3tI$%f)oE3W3MLE%#B zcT$`ze#r2GYlGOYhRNRJUG#$3jbaTH-xYLL+;%26dU&)59l&{H#mEs=>?Gbrjy) z2N^MXCivMlvi8pw5Jue18VOJ2@j9*m)TvtK5+`|^`Q0+R^Su3y)!a@jVNWj@ZcUp5 z<{=UlD;^)XMpKwhFCIFL01;WLui_te0t2vr*Mw5c<~qIE1@*4WAw@C&C?%loFoyoz zzEBOd*qyutO2w+4(SOx2IVab1o7jWt_Lq=4liUl!c15!*NO-Si3nf~mwAjh0rzC;r zlo;+R>>FW6O9CmvsMSw7k;dsZpg1jGoTXmhEck@oOBndRJI%;DLlRh@UX^CX(g$lu zl6HZO$DlKnI;scjj9e-V&@gbyx31Rf;{g#G|a3m~PigKsiw>z}f|wCZr3+1u&S^5>u^BTiwaPucyMp?t{ZU3R zk-2nPvB?)mg#V799#u46Njn{G@qkWMM&uK}KXAPR;(o~7T5&|a_k ztv0Finae^H-ZA5MnY)3?TMor`eEgI@{iFkZ;nP^~PkS`L$M^*(3$P^o3yiS?q_!Lj zCcf6E;#M!t(yl*zLy$|r=B|Jx>c2dsixfnKU$mY&hAv*kNJB-|jLZHd1k|89R-+4D z9ty7|zxe)nK=YB#D$-_zYwFg>O=%>Iu8@Q3L%%N^U{aH-3lGH>)3poD=FMj5{T*41 z86au?chuQKW!YRirp78YyJUU!yWSX2m5C+t1cDn#zihhJCy;DlOy8Olf(-$XFCJVq zq7x$T&0Xz(%f&m@b%R`ufYy;KuCsf4$0v=DGaUC?Vr!ar@!2P=i6^ty&m%NrGDiRF zPP80!G_y>|Bg;3(C@n8UKR@Tp4E#4VQr9u*4i8^g&jCc?DETec-~aQc%B0>x322F| ze09+?AjM%rAH75n{$6Qe79glxGK1|!3ej|Y8YsQS7L+f&U7JQm++a-> z45ASdp*~NS-eW0D4n5nXy%RlE#-6&M#oSe$^_gT^jDN`l2A6hceVhduwLm4DujO`mz>yi z!HPxSkwZuD7wLkS3&7+?lL_hk1VgU3SXkSktxL}%Z{*-jJ6yFoCdq&x-qVO+<1x9m z;<$>d$;EgQw!@*~caW+r?72m&$xImi^17fRqeOh0m5otPMnecPs6ztYsFSx>An9~I zM#|38BOjuIp_e^nt#`yvY#K|?)9bdaF}v&@{*zV0q0_qZwh!3Z=)QK7cYDYiUwU@> z$S>~`GM{}$G`OelyHsPqFT93Vg6jJrjW8M5_HA1F5OFp*etlNDbXtxDGa$zOs(^X^ z@AnLepo;NwIy1tbesT0&KE*yu1RC-hRca(s-VYkf4CD)kzA#+fB(A$xx^RD1t4r7| z8D1|F24FhXv67DDdURPJP{-o0$NS!WIm`6&gB=0I?fg*VXN|WMOOms6dz+M>5zsjJ z;n56`2*2K{8@B;C2cFKMbz8v|+*<*l8qAD=|jxI8o>hvua$vmwCinSGL<_pSv|9JIP8BSjPd=zK+>2eO) zKd_?CV1R-ckA%xy1oaV9h4uOX6iydeHW12DgnN;ycTm%KPIT_X!bDtH)nSHGoXo-M zz7rzbN3@;pJTaXnz=VIYC6hW-HYWp9#MZpU*ovim$+cs0cLg#{xlnS+n@7=hgcF2x zRkjOH7l^MVzS7ZZ)yI#h{l0P!wCorL*Dw<4f8`m2f~OpKQ(;xq8nPoE90(`@LaG|e z|52_N$@d%>mhM3mhWD*z6=}fuUr7;-AHmKykZ<1}PM15OhG`ew;Kx2oJdQ4N%ny`h zacQZ2SjVGzd)lo%zZu9|c3SB&3qPXoEHsMhdjh5ih?MM>%*Q%nX%yTSe$AL;;a`Z{ zqfh}ytp72WWM2D*iL)Jg6*N*`X^GA}^cS*dvXt?y?`$G;MQ)wW6y{Vo+t0(?d!E{W z>lk0~{x>%PfE!0XnCCzAzAS?1_c)`F6SqWB6>6!K_;c<4+i zaDgDxt3--fb*%Ux%gy`zDLpv-cw?dAPswJGO8sGYAe9|tuQiiop-I4`wsu7q&`9x4 z0^F}sXYwR@Z_D`7E**YrzkmF!iM`%2fFb1W4r>dfS`G?}yxfLAoCLUtK7f6B={E7; z#4>P<7!X$A!ivzUpe0s_2;{Ab=bKRz3x`87j<67;vGl$H3{DdXhWE7elyRtpUmK2t zXQ09OivY$7Be_AovV!qU4^E^(=YVT4TEFlkukVg>2K8RGuawK3xL`$CnqNwsIy!zf zzU;=ny~KnxuwQ;v^lK9gc3cayARg|s(J)dd2_Tsn!8GWSOB_;q+DiI*hOQa+-J&To z7%b9G1`C6n7K{sLQqRLgk%3oPwm-(7vf$vHghFcLNf)cfHmS|xdLh;IA5TAr13;-& zm0dvU(s=t^C%}0AHfN`wfy5X9ELBbnm24_}36Ia^a_v*5eFMN#V3-6MUgRAgrIt9m ztWTN#jy>K14eJwAyM+R)7RoJjz^*lUfTipY%fmA~#MR27Ovj&|-56{oDZkh*VWi}| zqumL2hmO~G2&RyVwzvqByc9ozbyS%c1!R3R)3gt#j0zUe55RFvS4drJsJ7nN zX+%cmwhK~e_)TIbsm>)i?%&)!sH(f@5my`D$(gRs<&pvQ;nbA|sDF@OyTc~)ER}by zpqb1sosxt6?`SH|2|ST|>y-g^J_pGwPZplR*3eIHy&7N+!_fEK@@59?^J^KU*Q0%) zjvOlT^4n--mAv5Pv6WH}GcLr5w7DId=9Sj_|A}8{Z0PjKNG>;q-Fz0xlMzp)gAqPT z{T|gf7L;vS&7@#uJ3p+s(W}wcM}BixtnEGj28t*=X_(|sDt}7FsWnMxX?r!xT>O-$ z`OhK!0GLXzWNZHBfyfh`p`GxG8u#-rI<6_3vs-s54#Tj&J(FE)1(Tj3`vjff4fSM z)GsN`Do=)&U68K9>CI#v1VkS>IE;aA@pYN_)9tZfDxprWV>5yjpJ%8Ne(C<9tu^rP zJ_S&sNpU$?;Z?3HPZk<@+`mNKwK=>UX4-8)>eUKL9(l2U*47qca$;BRWTDDF%>8C#OZ;wxiCq3>6-HFK@4+krJAlb|2BGz(Lv z3M$|W|HJ@Fj)#t91O00mI8&MiZ3mwx6e%jv1km%zrd}`GN}2IM?dY6xDQe0 z4zr%>V>69CVrblRe4DXzB7ArXZ)ml|Ds_H4aNIQY-lROCD=icFSGx!vXaV9w_8K5y_LSQ*|jSqInOo}V8-iA96TqeN( ziO#syH&aJJU)7M*A{crqDF@>Om=$*KHUD#vh{lK&T%d^?+Oy{bDA&M~Ys3Flswml^ z$zEH@@dtW{+5GsZw}U-dS`F_btwy+d0F_IV`$1N`5z;sDIZr>(dzrOm zJk$cj$&PXnpHcu?sA4F6?o6upz(Wzy9!i-K*kT$dU-$5*4&55Vx!a|}nJ<<0_r?Fy z>?#qW4@`Fb5X%7(@Z*Ix+*R%&?ti~+PK>G}jRL;%6o+;^IR4E0j|bj=Z!%eFAf%Lb z?*GVMUUX|9II8W<1t!zgeP+9#z&nn0*$FHzD82So@rtfNhxW9S6r&nY7o!wH)2(uX zLNY(Nbi0n2N&N`|a@d$vG4Gx$h~u+2bpg%5_gq?Gw__hY*CnE%(Z6E8ZC;>)z;FT5 zl8l6@#P4OlwE$N(M5tbXH5Z@9FBVrsvCuJVc<9VoKJm>O1BW~yzcPn*JJ5~}I;P%`)F@&I(K_+zd|Q6(smNt=Y?0g?(&};t%8<(X zl?;dcv<*OFWVqc%-wr{V-+9RS-!r08+B!K(wxZ!x3lMZ$;}jSFEAv;y^Pqd>q`CxD zSK|c@6wbw$a?c@Eu zXR2i(jdq9!A(h);kVYf67okG)up`bTn53jqe-DL|;3wE=s|!Bg^_n$-RerI~1hu^s z-E?aL|AymuUJgUh3;M>}tXKUY4wyNhSFD$+KMHv?Sz^>AR{@bUU{i4?N68Z2AZ=Lg zTQ|&!)R*tnjiMAoMNZjwDhLjviXFwsTlVB=zGF@UC+y&AG&&0ZwbuDK%70wu#>`k8 zc>=N6d&<~zoH%3u$F4X^PQb-te3BUtb)I1Fo-Gv)=wK$vQ1Y&Oy#8d}vn~p^A!jgy zR5Lv$rwhSDJUW$VLq#g7pU3OByp%#p@%;v6GcrHUm z&_E+EJ=Dqz%F9y{)9(y58^@T6VQL z+?JM~S1(q>wDsi-Ip{?hQ{C03E?BQp!#U+Yomo2ahg!Ghm&0s|%9d}@eSBKKFe|Qz zopnHF(1fZY?Mjk;7Umd%;C#HW1C~P*`!rg6`SQm7{^uBQSozI}(__7gFSBon@tu;? z8l&+aE8EUtpyQ#A=SD3EHwnRq9*1WO<)8eD6C@H2K#_JpHq2O=MqO{HQa6}rs`6j$5^$_piq-=y06IlDHeQltyg#j8h=X_ggTOgVNGrQ)7z{rG z47@n6bCY@|IRUO2GsTdY!xfDIScX6QOx>*}!>^O+DFM)|7l=I%*Lv|K#4Z z=S&J+szgOT41bI@KIt)cuj1djAIKo%E1o#|;WzUYb=S5VUG{t5=c%8Z)Q0?LW>par zbU-tp6W$z(FcTXc>yL|fb?$LVT!lXQQs{!Jfp`25s7CAN^k?ibI@grIfnT-Kz)vOegs#Ktky~%C@;`%ZI_4 z(7vK9u@tiVN3@9u;LF&VN|%G{XG&H|IuaCsFm1dhu!IzlzVUD_{1jF3iZZIP)+~hV z`ld{bVh#=C)ZXZYmFx32)o;= zx+PzTr>Z3*Xz@^fro0Q&tThzJ=hu{+gORTUIRh((anb^=B`G8P52|hq({69R)V{MN zO%Y&=qA(z$Md3@jn=9rkqB;owStUBI6SUy59=Q~Q7sOhqkf-@D-uPnI1CYz|_xps_ zJGR~JOJ?MdBN?@`pPg5$JxMG!2DRtO~*LO8VO!#H58sl z_#=|M`2W#@h)AG%^|wG7HbIjYBw4UVAlur86#y;z`!wdy;fW~hpIOapss_jc8G~=VpAEm9 zf7#KolJnCDuLTy~Vt4ZhU|N9OxFoxi#j{_Mm%Ut7@+hz8%8?UkBCcdK(rfd>&m~W$ zlI9i~TxU!DiSFkRXdO<6M4IZjVa7vm{F-#~h8PmRRn^xz^nR+6-(gWCO(l6U2BE+c zpkvnFwJL624E=b362@o}>Ctb@z9|^=pVE5fbIDgiKXF^@WJ#7r4R>BI?0_fK;&=nU z;to)#t3&5ObgH=D#6s4{yr69^QfH%G@WHelc>I2|KJ!uGda3Dm&xEPYMB9}|Aw1=( zKR-c2|DPxT4igUll!DlNB@IC|A17Wt#nX z-2U>h#)l-0bs~6RrC0wn0eZGTf?Fv&n*))HG6arn&jis&0yq%-u z&J0-OYcR_aROdkNqZGA?gs$Q(t|KwdX`<6H9Pi~qM=x^4aM{#m-DTDYW5+bGVaX;0 zB`q&o3!Oza6XHF|uP~8lpF$_k%4O@46K+1bP5zyGXof={I=ZCqNU(9jI(KeMG3)6A zOg1jv;?JhNOakAWb?92Ru%c7p#~%avo!ie^o3p5tVB`63FNur+@OjjjHvaYAN|v?@JW*Ab#gMllK#j`F&p0ItF6NO6 zRickxG;%2CUJA7ai)vm!Iz&0IbDY2JE@?Qc$~SqjRSPwTfprU9S^ad6wc9mp$UYrq zo&@Ao0KaA)7|laNg>zOV*9aRUH4O+Qk5DGj!OIgWvT(35$Eql&4y)Lm#9n>2$9^!#G-1+*cp;?@x${hIo?NYL({Z+zKPY%1(ymT>+yL z_5W4Y+QSRoq^s;JPx`vv*DdKe+kw>+>)^olV15!A{oW)N_ADhQ`c3ZD5&w~Wg>`UT zpu#RU{#ySqoK&ps*L;Jdlvq3~eCUa_Z8Fm<#luo6cwEhMYVI=+ScJo)sILMrRDl{0 z1QxADxD5F`-E)Ce`lT;n><;9T*MIf@sd&FnNGw~K_RJ6X6Ka=HC$xzRBecKu&jUK$ zslaeE(N;b9vMI#=x|gbzJTg7P98jg`9lSJCGb%ECfZ4N3KG}_WFXqXS+f__yT(!b} zNenV;xAw0ArKt57qQwV+thq8e_}P(-8e@GZf+^k))an*SZo|6uM3P;{eH%4bzK~#L zw6p+sP2dWFty6(^@b*Lb9A+R2WW{;YJ;^o4q!H#8&6Nx#$OD?S_U{}WS$yG~YG}rJkbRDLHVrEKE{@l22ncdA(BM!89{LYe((2tfr*X31(0&U{1 zz8U-Mse8_=h;27{-UlbxtzonXt5uM)_iaIH#g7O2V4NqssNYu1CSL|H_tQTUW>a8$cqd(E!IXDA*6X zt`jTgC-aZer&M=hjGv4L8B$l^W-6ll9uBM=7XghO6oU${JAX3?{P^ivR?CeQm4%|! zfx$|%Z%Z&Qyl38XDZ#J1HwuPxDNpDTERk*B6B7j$k4PZY zvT}X>=fX7RC~HuD8-ZHemMiiwa2n?~P*gA_Lx%lo}(L6gjL&Zflchw&2Ya8jcYd(*oUkvgb zbv|0o%7l0pt3;rAZY@%wx}-zzG+C+6^vnsv@226b50eBh5@ zdYXT9ljrCokcrgkdzwGLS>E33u3HhH>hXEuclpsL=-N4j+xNQo<;)RKa)ghb&;Y7; ze^?jxeO0o%P@6FbrTxsOE{JT3RBFk8*O1I1+qr1|sI=lJdO{KOjksG0iu__Ik=q3z zY~Z0Kz|4h*$=zg&S%b%b4Hw1G_nG*)%_~Waj|~t|xxVCvptm^UBB|*ZswH_Xgn5q* z)FWU1km-aQZP?f4*6a2rpp^XuDzwcc^NCMt$aN6XL^`K}9&VNxoF-dI2EngVYh)%@ zWQ~rJva64t0U%^DU2FApfYv>J2u#j6ZB%Kpr@YCW%i7<-{IJDT02Vf6<4tP->8N@h z92nN?~!=#sO9k&m+_GEy#L6JfNqS82jyuVLt4;5pN-;Q=OyBZ zFT((5HUS*yoBihIm)zDZzxw~oaHIr5e7BbWorU4Ho2Kq3a#2U?_`PcURw{$%qzi1i z$v}U|Zm(E+O-nk;UZR`wO3)tRdgEMhLCZz@8 zJR&HrXek_BzRIk@tX}00>{K3A9|l*Va-N!*0C*EguSg*%Rjqrvze4%x^)C16aNcH( zabOBhi|k-6wWoC#Q`^_I^%VNu$*_cdekEKI+wP(B1e$iS*kju<|x zbc>MxhYJ2(3t(~i!bQlSkxZfxit~!UIC~>|BSdj|kxZ`IhDHA-sQ>-+gJ&TMoTwMu z8~H4%#qHI>zK3c`S5;ty81Qtb-@5G1B-Gha!I`(&UY}V5o^uOr{d%3MT1yTQdNpRN3b z7T3U-D&`UaiKBgd7{<>l`6U7c-#r>;`!B!yuDj~0%wHz^6VgIUzdni^X?%wT_(e|;My>Jub)Q+B;05#x$_Dc+b$|Vn!iT?L~OP|P-v7KACCOw+AvXBR&0A@ zwhvP@VAkBi65X9Io3bD4ew3JWIOYr%ENWQ*%@`+8nJ(WpI{$mZ0;5{H&x-@suKV}v z!^iU!Ft(%^MyHwLROG;!5(GZy|J`l|h2#H*iBl6#&a}@f(*BjQb}Rbq>hoD{*3PN( z#yVF9Jl^VnEmk;YeX6(~eRe&LVeLSeuLN$HO(|wd5md&+Fp~ScO!=tuHe-p0$S$~Y zr$r|OFuQGd|2pXxsAWG252xReKAC&^B8zKVL}th@1A?_HqbHB>;aaWHDtta0F!E`Z z2P_GG`3-o6e(lC+c?wi$-_Xm{K1~zH?aVx)2L`km;`W`9IB=V&1FgkHUhN0_!Ab6A zvzwG5RhMfWCB8>luSyb5n-ZmHAZccP$zQc$MX}(vFOD{JE}T4>Fn^rsyEG6Cxa$Zy z=N>(#t;};bwq{6XD3U;y*EN8x9QePGX?VGdAX>+KbOuaq7(W0NP-f*4_MU}&AKSsp z>v)D%Y)GEK#^Kc|uT!hb?7sf{^4}qhyX$GJsl^%aBwg=?!PGrm>H6%$G#tsiaMeZF zCXBGHnCyDKjtF*H(f7cK&Qmv6o3MvrhA@lD7o9--V#eQDHvl&k=>x30@ReqRzY&x= zkJ`FX^fS^*mr^>1CXF8KM=4?OYt~nsj=@0=9&BAWq4RPezq(O)Iek&=EV}2>)BEc= zv6yI4_eE}^1Et-`%6S|aszuT(sTVx77^qIjUXSeotx0qZ7hKe|VTA?$D3+l6M}zc2 zHB)T+q}|D!IUkQTf&R|8EgDG@>W|(jFo`0gJte3)z1T#rSEEnf`B|t;Q+5mDtIeOy z%QkQ>Enux@T5sDy;ZPrqtjT+E>k6tRN`n1J$4_XdC)gu=v)$;$fBqJVe$erSUtQ(# zx&Y+CZ%0|;aELJsh%;EJB{E>-$?rewpcpeaN&-7pBf~uNdDpc9=;@T))1kcn%@8az znSMQ`Q$^HQ^q?@YaP9f)2ls%csPXVu{0K6-?V@mur0(TL&)e$o@?8Ovry$cmWZP@)PadV8FGzy1eZCdrarhr*SJ$ z3WJo`ipNnn4z&1|wuxi187SEE4_R=8ngN3%@C|=Yf&UYfKImnAl13UAU>+g@c%iS} zW@=nK*~Nqow(niMfsQ^1riFLC=RC&H#j3P+^CDfqn*BfgQ#&ApQ4g;oRKY2~tc@U!}+4LekiGrBnc)Q{-_1ehm%QLn#6?ok$I^ zVUX%!>^Z|iI#Ic4i6kOKH)Fcw-s;YzXz65^cV9f) z_!u0Pnyj6>A11sLxw{^C_zH0)_^!V)=$5_^S$f3bbw~!irdm#JR56CBjS;22U4+)CrqIVnDVue}lWs!EDpCILHJ99`Hno=) z$yW}S7m{{`6TTkgF1dX5LZrc;Xem0~y!la8(ilno^uAfYehrg~coa`Tvqt8F29bup%}#kMETj%TEn4IIRua@el51_3}uxG!H3xw++TMxqkPgR7gC&NpvH3 zXSQO@B91!vZDreNf98xloXZ4)Nq-zH5p|s#rfb>c?9?{k1zWG7)BoVructnhd$c?n z%q#tNDk;!5Q#uL&ECLZ z(*@zuo>yzX-kAPx=whbgsS9SCx>9cRxGxY;+0?KsR?N?uJ#RkUCcs9U!vkNdstwC` z!+5Kj>9&Ox6)jFRSSo8)KJi@Pg79FMKt=o6U*NR)=%+^))2#&YPGn3OgVPvSW)h2x ztaHhn<-QHaG|CBQgT_ADxGcQ&S$$t^E8}HJ7IpM4{1Qd$2sXSGqAcMr1XJ@EXNVPQr9W_++}BeYXQb?KQ0O! z^5KDVat{6A#D2flp72KXyKok-hy|Acf;2{wR=sw!?s@B?TY6$-32Vf-+K|FW2Px(; zl7Q8Z4e_vHBaXJV3^c4bGmN0@%!YgNqf0x8ZvAWQmClT5Wvd6PWm1MwIJ=IU##6+c zo%Ma&p{*ZivpDaxs$MjKWNA+h&*&T{gSdshKq6_IB%UJHYMn&8}+_CvV;ZW z^@b&}sUflv8_q=A0L3``^0Qxrd1TXSN`_H@eH7|B4#Li_wC`!UK zq^QvYdDXp*q?G`A|As1cfP$dv#atAvL=2M&}RFz3Cvi5sfUSk=k8*g{*62c)$V2EWhIWff-%wUP9#h;?{!B5Aiw`AySRs z8mhmdP!TyC4972MG=X*%++L3_5hrv`l!lj*#vwJx;$v@#niy~jx)~lk3=e(BgJEb? z3!|PH6XxbvQHn!a3f!nU!YM1z2us5(M3~Y>Sn5Wk1g@q=8r?Ktpw+zTYN^b?zPrgj zhCjt>;AFoFzwD&rwxqF_{O+b-BSxR$?KfsRe#M>b=@Z3^U%m|}z#rzM@6Ud5!!Z>_ z6R?kZCByP#WaK125(rdJK*|$-g!YN+8(;!4G$>Jvhj;5oSK)= zl`3iGEVjmuYZc}diX<{Jji$Cy4s$LaeaqVQw@brW7J~L9V>ic_>#QlQCSyo*N6C!An)>sz9;U9#&yuYLST(YJ&dI|cONfXlp6fH8b^uS@6tn$% z-Teo4<5~%=OdloU&NIYc^t;rA)C|aDh&V{EN{h$a{boGy(MZA1VPCE8$(P~1J@QRR zmL;a)jB;kuos@;ud&NsP#Yjdt_-Y>_4aCU|Ydl19 z9!0>^IN)D>R9^D_i~W&B#r_M7*BRIeviM^BF9Q_jzH4@jc^QO$y)jdc*p--6r43E< z?fhxf^E1fy{v;3GoPjw~6eEn(_=nPg{+u%YFpd2+p}zEM5j+E&XyQ>{Bx`1DF7ee4H`L}HBRbRzW6&)=@^zIq23dc{Z+X5Wo-($(n>nJW(Mn4rPTo-;WsNK` znyI%Dw83Hkzi2n)JhYvXQ>^O!P$C)@A^|CnonKx0Vy7{*&b^r3B=Ghj#VxK2VMDVt zIK|*?D1O|*?jMJxP`}>WdX(Mw^Gd^pgw9SaeDz@BUWqmLZH8N#xZZv_jFD+r3;G7v zXt}urjyv+_^pg2u5^;QJ$7;Bj0=}5L zu3O<=so|Yra;u<^S`}C$?h8$-nU328QGcN*5p^72@O}s>MoVQZ7-G`1nEOBu;28jA z&SuI#$bgQ9WWTyZR*nDUqWvwrQ~6IWM&$$UPBG8q?A+k1L@bOC2NRj-M08)jKG^5( z@q4NgN7Z2KxVvF7rxj=(b#*@Bf^7UJQ{}OF;){`{rsjKOy62sBd&BRonM{yJY)fKC zt_NZb7-4qdb51{!EeXkVza}4Ra1|^walr|la1nN0W4&%Gel_M2Co*b$QBp@iTx^cG zWsO&@ShJx66Uo^b=aUl%6(g-4<(M~geocRL96?w0TBzd127N9|!}qv&^Jk=*;*e}O*QAZv_6Q?p&53lig2Zq2?2h*V@4@0@8-FV~<29Fqt!OkqP=$Ex; z_g#;jNsDSlq4CExtM0C2Ss#{0Fb%n?=ND-&VEb5e;a;S6a4w_^sm#FJzl? z1MgYq5)GYh&7el6ga_6_9@o?26`{f2EJ)qj{e|M0Y++f`O?SxBD)!Xf$oG)6SrYwa zJ$$iaQWJ=igzj>RHRQjoj^$n{CvAn@Q8h%AWnM&#Ac`N($(9GC)^PO0qoNq&4VXF2D z^5PD8uImeiH9U;ryn+KmR(tg_;ve>PbX+hJ8%lzLcidlbIfM-{4v=OV+EhAPuHHXr+-^m+lyoAO{<=rzKy?hF?W) zwW+fkR&Bds`>@58Vyh6|2qziuIVnn9UI-{(3Paxit`0hF+0jnkoh*n4pAu7G5&e4FR-Y-+-)MwyzujW$$KX6 zK3&(5qoGKyBZ|SFc#he)m}=qXYfFLt~ zK@Tb2NGpt_N+~H_Lr4oqNO!k_h|-{xbba^83E$uQu5bOp6j{peeJ!k z{q%C3E5F2^Vy%u!)fsq=vdW3P=qNy}Noj<+QygqG#Lp#v;$_j9BzV_4w7G(S1Ejj^NC?K!KgP=wr5|P-Qdh(!4wb| z=oF6_2K4ehc&w#H+iE)7H^x3looOPM$d&NYv1y`9E!y(A`~&8MMBs@^Qp954Yt*qA z=T8I;PyQSN|N3l5MG#PJe_kubQB2_9>bjfp>wJg^-iB};^htV)0z|es_Pd|om%P$`i!h{ z$d*^H5jm)eAajpvyCc;&d`BaI`~Tysb7J?50v@T-M9`{qusS$Vo;)y&h2C1FVX?NG zKtpTrb+jnoytoAwt#}%fhD#^tPXbu2$j_sL?$u^rSUT%x_X>qX6|a^26b=whC<<~E zJ<%2tN)x!5%;_?>%MM>!{{0UAxhtGg{QsGb3<-<%Ky1uQpEO=7^$vJ^+<)S`gL)JE#W5!M@lZC7{Vx; zL7nxWaWZQ5YqQA(yHCilfxl;zI^0L^Xhj~Go6Y`U`+V_A1s@*b3eIhOiv;p*8ETT} z?a^Z%vBC-9%+?&q8EP5N?^A$%PYW&1Rmo1hCgEGBO`49b_x(W!pGbkcpp3)J3QO}N zH?qRcG56QvqISPjePR8~9!S19K#ecVIjUyyXd5qeTX4xzz(y4jt*_{8r4VNIosRw- zt%y3|cCN)>o-W<;-YAQ8NHqI1%SW-8J+js#TNcRjL`F0<99ca#Ynb%k^Ek5xj=u&q zuOa4MqnYWw07&mwW34JrZAZ}=we^m>t!`!?QrF|b$o?pS=r%l%EmiVd=Jr0m7)2IKYny81sfWTjsAr!>H``QlF8#OX*NL3NM!AiJ zi+m5I!L-C8c=v0T?4qXkFo!Pxp@&fK$A7(WXtlMr6T+&_nl*!`lW26M)Tfph8fXDBtX=pqvh{YxmN zEg9?aTRu6ysN8J6TIA3njf!t2^VESXY3^kC)PupR|tc*NRiDb*N0zIs}l{6 zRkF%)#EwvP4m}0MsSYm$Ol0`$drzp}zvKCgFx_bNPT*$Y$tP?xge>yogh5u+pOYGm zIw8i%9-KNDtNk@1TnX2@}3G4?RZ&h~d?a=zly!e5UJd0hW?zx{pk02ErbMJoGa1|Q!= zcu1`EaZ~`2sFxY5v2{RX5_RV=%#1D#He<4w7Gg7)$Q{6|_+Ex`IThzX)Wrm*L(JgvW-Za8#Lg{^jG0J?|yll#Y{K^VTh}tVh)G{RY;}P^VF81 zde@XL>|!mE$@iE``b?uOgd24ldH0Nc>MlmS<$f#!BP>*M+qu_7ABzbPcL*9F{*7`< zo&uDUNSFV=R`XR^ABe?A8&(N^Kf|-2oR{Ny+5cwZ+<#@$VuN!Q?5pJ8G%Bx2ME(= z=4=Woj-k|a5mUbIH(8qHmV9!$jTr0f+j{%-*3*N%WXNGxledh3`=R>LQh=U}3-wL6 ziTUF5+OX zzhFr9yu4`mi!w=5aoI9EFX)&&IMCi~GE4MvBzUZA=7CP~)5 zf`Dm!YR$#=Y{qUpe|6^H2bIG6TMIb5P3n6HL*oBFtZo2`58G;@KVg{xyOD=#}SaBr)l%YCupYAFO!$Q=qb@uRpeYfsN~lg z5F(Up+&)hWp2w+6@_)wbS#Sb;v-mK(Fi)`hb>yrdo1#n>G%P8lY%>aKbn7i69gSG$ z^S@FDnEO+)$Y##rE8V^4jF9VHXun}Z;H8a${s2*g3biRF^%}Guzfc*bRS;QcZIaE+ zdK+}_1nczF;+xmAOtu!#k0bXUF(pM>{)}^aXeZTt`Vg4&1)t`I5bI&3&vx>ns$JW3 zKKl`(@zqzV1{#V!ng!rEd-a5tTv6>wTzAGR2}*)zbr)^m>Uk!{K_(@N6EvS|0caz! z>HhKmI)-OK@$3-1UdmdOt9n(QI`>3VX;7O{8%g`N*Xsbl-kzNF9C`CL-fP>TgT@xq z*n_0gzw-1F0KPpBI#5_@>(MYN#@G^s3Ljx9b^nenF zNTy7<$-2(mSFrkc1I9J2%PCIRSgO-(9+i-{UP+M3v$l zh-jaEdP8RVkn?>($d+E@@=6pmW*FzZnlHvHN=*FH3s)H_h8`iED@% zw3H0l?q)ronXCHXO#wQ~0!E$$JVW~mha8w|3=5bp2Wjg4V`%9Wh4ggvynGF3YrDJt zySeIl=eIpyvdbG0EpH^|pUJwB7uD|a3Tn>~n^{QdiS-kw(iTm`aC+mLe6PAFTT>T* zTbq_ILO&C(Md|;=SRA04E<;u;S%k;e?HQ@vv@qnOUPd^wa}U9+#0A0Mw!YVilLbw( zhZbG@A8MinDNZU#4~k8nBo4&t3ZMBCB52t4-sD*Zg@iT`dtl4rM!bGj7E4_4BqA^& zPq>!xq~F}t$7iXWysnWrNrNMKT(RcslRAVkV}qw97xTo#S5x=6w~w5bD5p(;JrRk-mYk(zrL7%BqH zxH&fjvX1dHk^`Z4WTpr?q1PI;#k5pb5OEl(Cj*`o(kR&<HP7%`j z1083e{JqdjLARN;!{q>HJix8l^}M)W!u2Kb*zRFc1g`h{OEFCQ=tp}Dz=7S$!KlBUb1d-0uCitOLB2d#62X;OD!sKv;!uHpKHZwlTj zk;C=7z21FFy%)s`&F`9F9JTsRKG$!E?RxQ0&^Mp=cjba?(o*+=qWa;(s_`GJ`Cq4U z8RR?wZT)7t(PW!X$%!1Ue|+Dkv6AqW)g(qWle03%?IORPkG6Qp$(-KtUA4L=wJ2U+ z!}lj&9bAcCY8FJ^R#h=LSfFcoX5WKtM;kBm#3mW##Eqfu+)WxBrmSRJ>$~iYw6<1` z$tXU#*tZmBx2^(ODt&>Y2o7IA9Qydh-fTGY zH#V>Kc|=^YJuHf?emC2M6-G-w1gW}zr<5faj%au+jb%@hPLs$*XfYXUlq|aYn+7Ka zCU=vUs81BT5}Je=DDO6e_ysyBoW>Qj4&%1V>3=EFzxO^u z*#3jCaS}x2>W!yv;eS7M74RqyxF?aMaS#=RG>Dz7SQd%8kCknI3w=|vKwz3G>e4k) z!OeFT=IjYB$)cmmqEhdo6yfT;2>m3>Zcx_U&mN-uX}!%dDJu$9eN_u~bx5kjAw*G$ zSSv&@d4RT>d(?dU=K5T~KKPF&DST`}1d_k9j!;h+$SD%eW+_beN2O#FU$3V;rm6-Hao($WKWZyW9q zlvM{4at+%mLMQZM;zAxV9Pb2AZHe8Tzw4K)%-q~DKq!wxQ_~)P7eB6MwxXOB9Dg=y zSxi;DV$k&Hn)_|vKJ2{9ivB_A@FCZH^`ybN_v7gj3!ijU3Z)@EB2uD zCR|28T(ew4nY)MPYn%&?6(k3De5JdNcs@|4M5H1#SG8Kyws7<0;q0yTQ}uB?YRH4* z-GGrW?L>pzIKp&mLDfiKiOu%-)A_4J<8B<5eQj8t^KVWM(8 z?KNsdtcIj9T~i7;xy-goDYx|QgC4U@4=wo__?37I#3>1%(BhAq__`|=2s%0~t?>S? zu7$acP*LZOcegV&XG}sx-3OK&o!7wI*KE8ZSYD8@^_7|*gE9#GT?Vj^BZ$l$Jr0Y> zNDgv^O-|ud0*uwQ^eZu`D%?X5N+EJ^x$0E3SU(>Z1DWQB#r^JzI|7 z9m9Tk#y{DG=T6_}aR$0XT3T>&I^ z8N1k8z5C9Waqq~g-)E7s0Vji>8Ryoe*E)A_@IDlBlS@J5TB8CcBj$HWZv)5qwAlFj zG&S=8^B44(-?Xp3-GJ1lxn0NGy_Xydw>{^r_p!T%ezfO#k4*Cq8Up$$qhC>)m719& zBolHono(I$z~{c}sW%mTjCT0BW+?rqPZ2>b4JC>fKiO;);y_hO+A4mq?>r(2Kay;Tth-qC2;|vreCA+G-7vKGb~q zQnn>fGdmW88arA0zSiUMy@z8=UUQR!oHN|SLhjl=gV8FnVn+hMRxy|EED@klRH%#p z>=$r+Tp`3v2N;ejfq;NYj9hFBD`E4ZgCpUtgnt>&s)J>@wJ5#XT!(TS9&q3$It#Pj zxF{x&8jXT4bgZXMZMff`-3osZGHQ$(iy7;(r;1Tk;}MEw&_SqWp*g7}*z#^9C(U)LZe$I9a93Xi%Z+fWy3>o6Xjb0y`@ z>Z?{L@4mu{!wB{M{PSGZwv%miARZ^SEcC&b#Ib`k{wuGY!zWpi7XRA|@RxWkD@G2U z1kay7?U&X0k(PZzDY>6kI4f6ryu#gOwaLX0Gn~|&Z!i}$Bpk3thVp`Xj~PZ4=5(oQ ziITNYiF282?^U@{Xj40BTPJc!(!+vu$cIVWMN&oZK6hrJvtdL zqT>o2c~z8FOZH=+tYloy`nJo{2vyf)R4c28R>W$eU^5i7INP52{7GMHr{hB*ec@Pk z6?JFJ=?G=c`5BKZSW;#CNC>c4TQ`J=BZ4{H^J`dwI|Bj*errmq&#J7wWuC?yP1bv_ zy%zF4{<#oXpCmueFQ}dc*kEF$;6e_cN@VNkv@ev?x8z zV$b7{;q*$-Md)+%XhvU@s|XcLQoT>_U+^|51lvub~ z4|_GZ9;e>AB$|)S%SjO;2mmbZfMh@lbnrSvuCk8#offTt%?lH)H>!M5;U<`dq7ED5 zMb^+U;jspywy}P8g9IC`G|0XY#@Oi_e?kAEE;c5jyRI#x}Tea!!6%9pw!1kP-1awT2jnM8vs zzJJIMbHC*Gne~Uy?Ly|~!tJb0`gZmLH@@IW+aXV=8y8P=M790nI<41Y)O`LMdcMMa z@;$ltj(XyOviy<~?VaT@{2Ip`HKaPZs*eJJcc7*#d%~qGsQ$3PUkhp%2!N01f*9qU z_!~I-paOW)ud_u_#43B^Spr;WkgnrdZ%3djH*uNeft5!@lm6+Hyy3Rmi*S6 zhcp<}R(m|zlGQa;K4T0YVGL6iv^wdGbZs|(c%^5;C zQc8?^=(en4iXJhdWM#$-isd{k0gMn?#`as)PxrHfc*XX&OxW(NljgSvNY%V;qMqK= zc%TEkE5dI@sbWHC3Z5*i{k)0zK^a>mLYKL|z3S!GGbWm(&vz8gDrh9IPv4FxN;9tC zD?HA#={7>RbjVBZ_o`2nnwO|23)D68CQmB#70~8geQC=oTpjXic9(vu0iJ1bqR6kj-;OH=|-e_Ix0u`VYSre(Tb2nQ1OJ^Hkump^V&eC!h z$#8&sBr?2Ju#5R?W_pCk4XNSs?s&J2+O~@^{%Vf(wSYbxp+cM z2Sz;-FCSJps)PzMN$nUknqBksz5*vR#JUg`$kwZNc?YlC-vhd^S@6WNINUN}83`Am z$?_O-$lBj>z_Rq)vt!7r(^#h_*@xbm+%W11I+p`hot-o_&zSR<#H8-uIM*D0YcJ3C zgoR8hW6Lan9)Po2+O?RJlO`q-wlBY*6 z*Is_VNt35;V_oC!gZGDI+go^yZ}*{faYBMoaQXpsh<){a!`H_Q+N&gcwdQausb8% z*L_Jr?8|^9n-{pDdoKG5TQIu3ahmG((MDQi9*X~i9T;f$6_v1-K?yU?wFF@4hXw$OEwYx{Mm(K^3Q~##t-A)(*L-w-_c*(?-m}iA}rN9ldFZoOV{U>_u_lKug zMg{k9bO!fWyuS4aFzH#KNQwA-*2h_#*DK7CoVo%6h?y#^kSCHE=4&TfOOyWig^Zw~sWKN?et_XxW9Dx2ZZdUG z0(M;SFk$(;S0Ma0A+P3?YM+FF&Ahkf&Xp$R%ox|U8Y66OpqN*es8or!Ht{7M6FD_1X+IzU(Z@7V6r@Rw6;Nw}`H#YXNe>KJ!r`_is)NMh&Gd7`1`(!hAv>#j83QgS%9koc~gEsan zv`8kuGs@3SC47me71Mk4fjE!wF7{5>NC3ijnoa({Q@_vo7jl4;Vh3dFQYV6{eQPeO z<-#J?pdhw2Btb-s+_R4x2wYNJfBxh>e41t#SW5;wXvw4Gh!s$c#4%qRoc%e!69ux3 z0%@dbKlU+i?YGbM;y$yNBR7cW#r6eQnx)W5eqe5|P6dnu4vt6!?;X){o~yQ5_fiK+ zl`4p@T91kBjs7skG&-Rv@&m{$V)3<6D|3&l|DGN9=`h2-yUn2ogSMhzzO0WwOuBUH z)f*+f;F~SaR?Fo&1;c+hRa1|}2_Gl+)XMB?x~`;_@kJR}y<#Kxg?!U~lb6%BJ88aS z!LJh80KAbN@43yg<1hi=(Bh>^9~V9mF-j!Wdc(~Az3UctaD>p%=wDt>`)8X13yfM3 zftou$@{9HSjruInClB6`)Z4iPte-_3$-XDW&m{Ke&G@W-Wt4~cYess96}fvihv&B* z%T)*3e|Te zrHV45dfCkNIxw!GmysHhF#L!l>7mN*7!! z@xPM)`e_fb9yiDKCA82*KIjGNlYT)li(;Q8U=4x85DH71ecdsRbyd5V3t)h7={D}8 z>zvsKhUsLTVP&JX3X0X+OjfeHMu^XCD3CW-*yZJ*c$xJA6*o55j&K@~V82L7ri z7R$Iig6BzII_-UX$XHS^JH4NOnI@szy^ zhM8^h;6cw!&#m>63HrP)$Thu6Bt>43HzYBpdMUgcVQOWOIj}|<<>V*840-C;S57PC zOlN!v^2clAtDk+mBzk1{bLs6q59WGxp$3fdMbw~2*sIIjEZ?K$Z<$3i2&7K_z_BD( z{EKSp*Ta>wgr!_wDs*}_LP!8u1$Y^O45$ikM*)P&_qcep#il1c2DMBYkG}qi;bprO z|8R>qlM89OYG7DKb#~g;!sUfSy@JSw{GDr(t;lJ%bExB+_UN!+Ft9KveH=w77@kWL z87TtB&-1;HsUE>a9wm^?Z40uvka4O7ck&}t_CtRuJiRE(Cj9ob&)Uk);Lb5;E#YtP z>|_1`u{%Qzh!$5a{C~-mT$wY_;T>eg6GpLDAcpxm=45yY}=~fT^ zF+#G~KQ6?O>D1Vuo2HiU^h&06*K7q+(O2gKp|%`7Cgbrd+Pp^_qq}w74|tN@wED*V z+va_xc~w&yXuWs4zb>m~kG&)JHv6rux;X9n@FW=6o`Wf6qc7(BCZo0p!;v)f@1)ib zihc^+Aoqh9>%3WUddrD&f1#&v=6hKQ4Vcvmlr8`D=WFEXsY_B}&;e z#FCNdPhk%n6okJN4=W1a9s~~5oKK6!a5p6s9qUluc#&8SA03xK^UUs0B?0`n?sY+7 zYc?l|^lQrpd42wt8ew2wUA%%L3cMa!jKC-+@r@VFTM}EL7929zg<2sOP*sC@jjvQf z0ql4dFqrlD1q-n$e0j@KF(VW>Eg4wO@FcbrRzWEMR|nUBzjXQ>E)LnchdtNBi?}rB z#afsVfNUUTvtt7L2>r}A&}Ah4jkZriu{Fm%(2ySzqJ@ zu<9l+gD;AQoPZhCN-NbmgO^-8)U46GP_q^P+t2C{W(Fgh__DqqHXs6g9YqJ;kv%-* zL9zJAzcGccXf1ptlE4{-7OzY4+YFrV1JKD!U3C7n3ibd2D$?Y&zurKAeNg;&*flCr z35{kc!qZM)LJsKCSA&SlZK;(%7yYGw`2S>vsM6!8-E~W(&cCPfQCI1EidqhB9wHC* z>fSxy*l|Q?#Jf*p8XVzVLc}T}qJj_Z>k%5Z^OwV$k#%sOq4vjkPdGFl=~l*L-P6s&lWb0dT78`E4n$zvV6ev{`8xrSSPV^)_3uV;NA%~RS)NmB z!0}i|>PTP3lcdu727uJ7yGY-l+Wz8}pwC3FjDd%_$?1^!LEy9+)*QCiI(?LUY`Xfa zKr;kxFRxrm5Ndghc_Ar<4i<0D=1me;0Bjwf9+~D*Z zi^8l5wADenC>JT>wKu5zG>db?Z`f4|35CiOP6IHb_t6{y`L8PNaEs^ z^*_c6X6EzBm)uHBKO#83X3+#-3*#H@g|9!v*!R@zW9*wg0#5i>#21Qh=&NdCL1z7V z^II&$V?LrAZo7CHW!dMTirDAM9FR8fXXQcW6c!OM2;c zb@6q8lp(3>&V%BIS$jYW@m>F^OVtI&E%v`yS(1?F}%l>FhkJ1?4v(7)ZVf;^&E zw`KGyXQ@xRlmcyD`=}l3s^FAK*ad%9g1tux{<*3VlF!D^v?lD&{xAQBZlYsc#IF@p zO%n+$&|SO2mbd|_vSe~Vr?sbwtvfzBuQ8wksB%Ov78 z(3}_P=!}X}H~VlGNPM?0DsqzeJJnvXLkrF4^z=9OkwBJU?&MsmK=QcZ50?+KBB#yM zwa^N4%()mRT=i}10{?)|l^W`2=dc*!j;z~SEq-lKcwI`+5%jou)kfH6u=>kz>FHBz z>6iM#!c+m? zCcgXBAHIPny}+%v!-0Y>9i;{X^yHd$k30 zJzGo7Quk+qS`i8#UZTSeA_Ih-FShrVQWSvk9#^8(&(BXbFAnn&-tr?BEsC5$=HT*h zvf{muX*bWsz0S%O)xTf5QF+c}MAFx-FV$*IQ1fk#W@pt4#V}tTky`7=cFTKFE5C-y z?BdmB1qCR6FFg32{+QGXH8e};Kj>McO##Xza*|%dcu^4#R@;kjn4$2GOqJuYr{uY zsh2JLj+I7k6L7l-duS2ct`8hOl3IP>uN9GZs`e7e+F&>`;WR>f&597iwWTLH5B^S|GL6)_ zC7CstXL26kJnVUDDed?pz%pQh-aJooBex9eNT1lp`fWumCugICk{&zlc!eVkF=WPV zkaT){fG9N&-3Zw1+&nMTF@HO<6?fPDU(r#q5Gu2t%2L(EPdLgn5sjcp$m0V>Jq1t&wcBxhj{w(OTjzx>@#0~ zs`wCY>N8PyXCFnIX+oa_O%NFBS`~ZpPg2{a!RDZvv9+fEM9tl)jCdthLA<6-*CbDu25?q)!8W#SD**` zonLnbt1UFKBts_GJTE44*%uXXASh7G#0DPAcFs*4tpcc{e<^ioeujia_N_3ET_`I(ogZ9!KGx;N{foE-V-_ZF0E)^huTrU$XCh^R2=!_MQWZ ztd`QOidQ~ChUN&`2`9=w2RH=EM(BMb>EUvAmFFHV1uu+k9S*yKWnqs;6 ztz<8rH}wGnd-P7`mX?jIeknxtU7A(&_Y(9(tkXZ9hrISloT)bc@a)H&j+j=pRI3tc zPXIbgTpAG^!-XvB*qCe7B&aMLZi4WjZLy|QEI7h2^4s39-f9Ov$w*Egy)3^&bq8$7yhghz=C-G~-M9?p&2%0c>d3DQolQ zG5#;xtH;7@zqEWbC(WARE#VJ+v^BG!QZIAJHR5kY%PJ_{u8@&g`)$Db-4r$T@>4?> z4t(_Oi~pKE)i~|Dc%sM;slB#c>F$nwn8=kEKZBGOdp4{XO%9EYmtvIpIm?~#O?xz$ zjPiYaZFsdBn7_7BCi)X+vqa|Vl-wVe#=__?{^_3T6Peo-y=C)L9pL^70Z75PToW_i)A&N7Qjg z7q%<%Md{V6X{D_K!Ggje1X4TF-P zzN)_lzTi%2+RCp8-Zjx~s#(s;ujnJdMmRjS~W&Z5j{Y#|;ris_=AQrr1l?0jt)+hL=kv_8p-0#*W%9(4~kmJKYigpZhyT%@58_A+;>EYq|y`n zjD{x0u6SPumVh=7Sj-vjm?O16R`1aXx)jm*SqNoyA4jgBW0vc?KqMe?dksX4LOwi2>6!!)q>$f$Pzz! zwD?4pdtvSVP&43UK*vzXOHb@6K==*m|+dgF{2^ zqc1kGJ%^m`e)Jmwm(SI0p8h;Y3(XBlqYvHsv=@JZaz6YHmPm@>CD}&}a|3=!eq~Br zeQ^nB1QZ44NkfT=lnXDrr2?K8RlkLjZFSScd1;l<Gexi%UIKeK&{!Ky)n?)Eb;ZqO($YK1+w7m6VafBR$S1y1Y7>la@eV;sSWxE~oJ zETH0)D}kf;w|B;D1)9bg1022?IWFhp-y3mtI4eECF1ZPkQ?)L}r@th!AFvwg(oTsa zHZ;yp%Ufx05qpO}VbfVbt|8*KgZjoDi_tyG^iM5S{kSl_$B&E~DS$ct`=D45;6z_# zb^O~4FsU(zGHr+vPJ2vy=YWteBtk1%+vgs~YTFR(f*hOc*mNbhj$XU3&Pe~19_(on z@;Z2JLiDp&G=03E#$!PjSfao(mq>b4fAEmI2LoLHvQf@6NKCd>b5q-vr&^7X`oRP5 zo=lxz$KUoM_$)>r4E0kqz_L^bQ;~wXW5RbeTcNi;pRcyxx<2eJ~Ud84Ak> zXyP@=`2fEcG-uDlfBfw4z-lyaKhWP3e|A~@hsQ->q~{dwZk0#!yOn&%_s?W37pbl7 zjg*G&428EmwlT+JI=VB1opOT>4 z;^}1z@EXG!p9{B1;m9y`W{^_I;NL>OYm*j`Uz9K+9#5aUehV-ZBnroml0L$iZcDRH zZ)X}gw+c6ly|k!<=Qp*f6BlFv?ncIC374+qz;>Bda(z(&W@7mh0Xm5OSqItMwPE|> zK42KhPJ2PLDhF1suE)h(aI+h}uJMgqYbHvqjRmZDB|3NCi1O>J-vD5HUY+H4I?LIV zUdHG@!4J0AYJ|b;afDr6>kO(qX>DoxQsCCALHgUG_;HmC^bks9_}aw8)E!i^3y!K5 zJ6;(}-Lss=Y(Ko*dHFGq?Xk|2|oKa*>aYP~8I4s*XA zGe2Lx{~jI^-@hnKleMB1ez<8MvzHko{cd=hb+Ts8?#n|rbe~b!7q0lj^*~8iA8a;B zH-BV2I(9gFsB6(!_(xJ^UAvfXoeaGR;!da& zM)F2^-OwZ zd~c;uJjSC0)~#^aYo7(HY-0MyyM?o5Gd>c3JSb6QlG0XgP<@a9uWX#|dsl$ppc<9J z%C)XBBIeOy^B6Bo@%7bd7xX<&VQ-T&-|n&G`*Z%v&u(At$T#26JJjh~R#gy7ZPAnf zICOQu{Q(pbm>aT`P50d_;jAhIKYw_B^zWm=?}^(fj7VjdfZ=;ev#h?6fKjS9Z;SCV z?!2wt3g|xj7Yo3ink2G}&a1Cto-rLWh_9@M^db^`gz2Ntqp^aaa`WjoX174ZMY2qu zG^tF0v`*xn>8U&Z0^j3S|yS~!UAewid=@y!bodSQ33%ZwRH_dXF!`1F@a z282R5G2n)07o5oaVqq6TsFF$YN_}gP=`}BE@M{@36(||_FPs1(L7xzt#A#Z+)3pNph zrg;Q;H!W)o`L#Y9$aYagH`D}$*ClbDa_T&HL7U;)W7rMJa}5ZNMFItWAi}1&4ux_g zz&$=Hw?rfM95979L0v#2p33ii9hu|2tH_Bn^Bo)FF{MOwLsydk;Z9s~aIc9v&Qf_T zSZ^27xVM%y8H&y98LmDzzknvY5KN;GLpc53A&xsB)OLq&Z~2EpP`cGhzV;=jq$DfW z{QPU-9S24jvXeC``RiaV{oNM2-!eo0G9-h}P$uF3WiNXxk~~|6O!GjqHL{L%1t89_ zk|q^-gILeVtBLN`U)A(vz!~B`{!oc(?d+^}rU#=bf|Sdv&-L?C!xJam0Eu{PYDPsX zjSLFeV|z8>r2W_JhrOc{!>HS-J+GE{9{m!(Cy!$i2|_YVQa$Qm-x=mc+W|y9TuM(B z7-`WR9eTq)`(pKK+-UHEL7AkFJ{eP=)hFz=Y@A$ic*2~@=qv# ztKC)gm)Y!+Lf||RqA4?>F_u&y(!u#0UMmx^B0GjtcA^?to@Zsz-!)4IS+eS@x69*$ z4r*`|sAckfTO&UDx$=?;v%~xN!JWeUkvA@fT>`)ph@(Z4Axz6g9;|f#UZuZ?PT4oV z&324_uNuLGU$#KokFdFMabu~~SXP6(P8Yk-==-R4#+6q?078<}eLuh$qNX?KK2c3H zN`+F^7mp;4CznDoRm?w9;Csx7Q3qb>bE=o!NDFCP&ppjmeKi!!%-j$E*o?K%m-;$_ zp;UnM8nDvJ#oFcIGUr+b2i0^6H=AX9;X>~>QAb#|PuID1#nt=lZtdc)m^=3jXTDb# z#`l*3n~YL|nthSqKfKoL45+`U+tBz*YOQrz$&3{Mi}6JJup~7cnbX$ixt-QOuR8t< zzdo))z>eLo0ZI-VGNl*;abZJ3J zUXICYd~p#j!uxscub$l-G<;<-aio-)Zuw+KJ-sWUh0qMc+Ri6}P^o$@tlhB!2h@(( zht+qX#UY`*t!1K7^YWHGcXpcH?tJ@pUrp;P5RmoYvQ`+!4PX>pO}qH)Wq*$I6H5QL zO&{J-Dk8x+sr*vO9Gf`#oOk;ZJ#VVs1=Zo;9w$TToX`YW9- zj@p?AvXVsvbu&ME?ow-(6Vef`QYp@U*hv?^c%>IQ<=1^E>YAPy7jj6--0(ZTz1 zVU?C<1F%%HWxyZg4q2QMKd_WZB0abUR>@A?0u}ohCqy+4r`>ya{rj_^SvcXJ;)1BR z1ApQ+Z|%O_tIPMK>xh3H)PCrSLzZ8E8&Zb#Ntw>G2{yf{Swt;;zN;D#=KO2DCHXje zwHicoIFUWUsAs~920e|(qyzXH)+i+;M1+g7+M{ftX%Qo!_F3I76~oBZ_r-kf2CCQY zj2%a@tlU0(rRLe3=1;`|S^II{J@Tj_(Q2-9Czbvw?phsoX~X+bFZ)R3bNOqC`>Y?E@kcHi`@0cm{>92C$RLmIT{FQS^SG5jL7* zJ9g37S)gR?vnba+5s8wHJUX7o>d|wTz@St{dI`5W%C8p{pcR~E9EJog3v1^a)q02m zv5@Zgk9*4ugLF2d<*4r`wZ`6;a+j>+vsl2ss$D<%!UTm;PUQUrZ36^0S;$&VVbQc? zL*cM>8f%r&diF13C?ru1D8Tt2kU=&DhD{ig78A^{zX*0cuu$@j8gkG>Q+}DjK+eU) zAvd^hrWJ}6y~9rJ{Fg#8rB{-TO_?L}G^sx@kUXa(Nl=%4Ys|=U2ZU`bodafWSE+^^ z;5uZc@qd*C_3#hLm1Re8G4tx~l|~taC(8`^*5beFE@QtniYzh)t2Z0-A~{3`CB^k1 z@W*F@j_L1}Q3A$y+${HgypR0|S@g1)6?Ez*f8z_->%K zW#-#tBPLCNxz(-|aHk^JJHk?OrIilKf26ONlKp3<4>uq$1*Ow}>FK~I_1}QIja^>P z3p)Fa{uj89>a`RegPkeKx95hhzVbslrTKXT7fysdw+zZ}(0pdw+}JOlE7G|fX1%97 ztAhrV?xGbz%&p`$1dRMsze2fw1e){nEFmyH4n5rk1P1~a4oB{JX-NlPv(W+}c5g#1 zmFuXGT1g#uY#-hM=JADt8?1$q|~1pASNO-nz<-8I8vze(+a7=YhzMTK}KWr~J&^ zzD~Yj0yttQE%3mxR6+g@!Jn$eqB^ zM3dT@LdE=b%gzfNQy(v;;r=^1a>xG>rZcdF|7SK+tKMc67zvJ{)SqI{jM89k!ro9g z7@j(~@E!{>r;H3xWWI^3X896d0QLpkOLO!u4M7TWLwfr;beIiFB!-T?C7 zbXUT3(3d;gBESUkXzRoJjFY?wrAr~)s(XzVnEi8%i0~nRV=2o1xR>fzWJyYlHEsQ$ ze2@3+s{>#h2#U zWg;h(MqVbP1@F4-1fhH}tZl=H?>uYPtG);D)9tjYoLL9?&pm_<5s!_m%0ce%&SGbc&ngP9`x&6W=|f*;ShC?kCY)&VtrupWEtU zJ*$Q2@;iSz;7eiu!7J&!P9;pA&AgeNzQDyu?>^)*0?vDf`py{f`LkZ`4E>GzNPsxJ ze669Hh`@pv=APJJP5aqQ$m7Qakc_um<*r+zcv2)hHZyDB@?ix2yno8m4R~Bw zoPce{Bt911zWKagGRXL|Fvq5)AG=UsuJ?q{?~Q?Sv~!xGSnkCp1Yi1R*yml-R;Ywc zkPYM19=HzQjlh-@`rod;m&*8>EA77>)Xq0ScPLvpkAE$32ABDsO`lUr&I4{|<^T=N zHx!K7%?Z0KEu_6^=zM$Bao2}~egqlgV8h; z8VMTLQ!;!b%r`cT4!+h*at$j?@vk3TYp)vwL~fAw=$ze080Etz>bFh{A0F40E&V!h zNqb`Reg7)=fKTx5ZR^OiWiR=lFS-h@JBT#KfhR7FyiAI*mvLDB>eDQ4IK}@~a7y`q zm{2U2+Zjt9{G&H6J2MG7e@|@eOS3MFTjd)x)j~>jH>whU2bW$V#_wG_TYxM_->70yWC;5|34A?$a9=A2_&rU&=;YVVPf^Tv|?2(%_aB)!~|KzN!v z?!Z4hio^dPvAuRKKd%-adp5I1?tFTT_`}1Oh1)6me*=l)N3YQ@9MDtm=6Q8sIeg#> zm(9jf!;}ud}L;SMeZdJJ?&58liyCtZ*H6EPz+ZExjm1HHoq9KjjqP_1XMol&vP0>)H zL*~aQ&AnqK^Bn9ecKZc!;cK-CvFJrA(=^)t7Uk*pHj|AD`^z@YjIxLmB-vNy2 zWUhBMVA9v`{zt08nSik9h%JD=3y^!_O$4$TpWZIWYL=@K3C6Oc{y)yX0;ub)>sk?| zrCX#!L^`BF8Ug8&knR!?X^`&jPT@~?gLJomAR!?kBHi_!KX~=N-}AgP-+VL99p=uB z;djp2d+oi~T3eQNN(D>z1yhq_%Wst}t&6}6g^XcvOr9XQ#v+l;iJ4NhFGyJ>_IEC` zUdA?dT|*775@+KV?b&WL-UM8aES$dMUwKqp7aF^n672mYv8W;>&~V*VBeQyBNxQm> zjWUhZ+sSk9yk>!%DXolssjN2yDm*3`p@r2a3oFQ4;M<*TuW^@CG7|Tc7jgr}3L zXGc-YHrk9{=rJ^2Qw*4SJ$U<^#l8&5!$S^JE*9e(hi%)ZnVop$O|Pz#2@7@(oBGbK z2A}a}y)vIY3%RD_eo4#c&H9dCQtwMLZ&X=sTe0%#Y-Z>$%G(5Bw_VrTcRMzMUf?)^ zgnvyQvG%kgHmzpE+3bEHwElLEt`C3)34iora{KY#R`vU^(Srde?+F1ZeNlD>UdZcV zzC`a}lM2xno5Lc#2kIonF?FxXbL;aF-50WVL$gQaOdqr-5$z_vKAb4k`bs9^+=Yi< zq6p8C-b=Xj#dj(+E~Uxt6{rM3pw98X3%(9B4EyoCeJ&|&9~IY~I8A17VfL@5drP`9 zSNV&%(BzuRbA=_UX1bH+vu!hJ2y%BT#~u6|CBhT5yr#bCt}m7IyU0YP`j_p}A@NZK z2C^uRrtm@`Al?5L1jGpx1o=OX8X-T)X<)XNcsQ|ehkw(RepQsXRXZ~2_@Y%K;dz#F z``&5Xt4Ca?4_cTyIgWd`RSbbldKfYB7J1?j);5$XBRC`y~9y}%kOhVFZRiExC{DM3n zfEbnCIzAkc{OFtrZH9f{S4o*^{v})GpvGcVR!iB@yndub^+V1cMjpRl1%Crj#`8Ac z8j$})Y(--d_!Q$2mIsU4UMt_t^A{KzOT$178Y!t|Tq!aSvVsA#mnJYTmJkB$IAYMw z+BY)pe)MC}x38P;Zo7n#y(3`yJ$?jMcp!}o)`or_qP|-NN0QE_w8$w1IKWl4Kjih9 z_SKR2=#3&XS)bH_sGE8MybmCTNb(A?35kin90Kria!GwRRT64pznE^L$s}ToY8gBY zAX_R#XI6^{<(pgaF`?C)Rt_fP?c9@Uk z6f(QEAM)Re=ycf9mIjitgn-G&sol?}Hwy&TY>Kgz@ZXnysr+X-h#ZR8m0 z0=sj4b#@YDRDHGT{ui|#L05S&yFYr2Aj-1V6>7uQwVFOp_ zJ7H4^#y()@2eSU^#YR-X&Pr(~0gZJT%5)Z`#myl?U#w@cy%m-i`YZJVbgt(TYBj7z z;}{ceL9k@yK)79jrqUi~ezo0vy=#ypQ=&}`;i#1LTMI`}+&dM?d<-TFm^LxP(+c)= z%)N8@?r?83w?saPDZ-#jIB&5*ZZ{U)#M&oNXOOn271UM5rz*<7dq$Oktcr{F4Y&8i zf#|m)cP8TIo)m$55=woC4UXasFh<+Y2lwOOyGXg0Bq!UlJ{~+-{H&dF#|pAy zatZCm(}=<{IWEzeZ{pb*i|S}1A!K&58kDc2rrz;iWDI{!lG+vMoh79A64pHs`RYSG`kNdGT|M&+TX7o! z&;5MO0N|G@e<`6MSECc)aFDDoO5)AReh|S%Cb^tPfN}Z@AuVlc6WDE6a}ugd);@szQ4k ze97i}fh8vXrqeha+k|Z^X6k>)j*%~EP2mlUbw}=stE%T+MA{bsW_7S3;!xT`1r<}6 zz;gxT;}j_{AvFnU36s4K@9~Ka9q|1Yb8=oFD?|vafA8_e|I2wiFV3Ze%qYR2+rTB_ z8e|Glx8r)=(XT!3DDFnkk^V6GJ*GF{5~;bKN}oC%s<|>eUAa%|_%8PYw&PmXK1>Rl z(W}YtkQ-sm*7@fVN!C61OC3=j1{l6f41e*)5k2O=52Nw{^j0h_>zfEW@x{uPXBrD( zxAi=ce9E7XakRXV;kipjQu{lK-2306$QuKy#j)hPbwid9hFnm&OumVKKv^J)Xg-kL z33t%AmeA~@O~dF{87E%l#hXl}6^Tr)_b3_ZSID^(c1~9SDb1wkE=VXT(l<^GOu*$A z%&tc!@%?)U?qKJzgl`ZT^E_jLW6^5Xs1OvN84>#o>qjjfsn3{16FvH}`F(_zXtrMj z{t{k$I5I1*Gc)Lp5s;r2BkT*lVMl--xcxHM11TlLeL8ZEzrXxHtztN+A-%JusrVu? z^_>V)=hS;56Osxsz`2{?V_woJa2*1@P89k*+B3&Rp}*Fw$y9P)1sT8#`?V+~exf+> zkJM%+t)wj%g;;A!20RJJz9B8aGy%|afyL1Qw`|7C14OMK>ou=_rnWdTHz3lx7^4X> zvTH$uT)A>0uJ}$PbA;qpjoBL^z<2JS~{Mz z5phoq&Yc&bkr5~W*#%F}kD<_UpqpV-l-LjGP&Eij={p-Bd9{YVgAOL!V~%TgpZ@Xx zTW9{af~F)jLLoRZZZ$bHH4RJ;1~d0=b4KPnSexHDBjzR+G=W%9{PB)G9N8NSDxL9U zaYG1t-jP$hi}WmOwmd1hJOA!}2>@FO_MUqZNd(`QgIHM!$fE=(Q&GuvUp&cQSY9T_ zR>#ht_eGO8)6ahTMHn}msbe%pw%N+@sE{8{t5XMDO93%-Yc?eb(maBiT2maCJ1?Pp zf9hKqaK&p@pt~emy}90uf7f3bc1hkSRc^X1!FAti_#Z9+fUeiL0e8b9b~+6P zZ@V}}!UBdD5s7a8!BS&qSu}5P9(`d(3t;@GT$yTa*kiyQ$54`{)kB+hW^N65X~Ct3 zkw9}}H@47-!fpQnW6o`T@9PjXr(D<;=K-(t={}J6%{^SY1OotaT2KFMrFZD|zpp;1 zI6QbgQO!?UXUBQ>RTS0iG)Do4N!SQpr-a)3vK&MMnYKedoL?%_Y2*XHA-g$D@j^Zs z?Qc~aAkCOS|s_k`vqlJJG#tuLyiiyZfQ2Wc6 z-Q@i4!XHXkM@_GXE)E;gTEr@YGNhG+rH%J^Y9Ek86h*;63DjdDUhjp{ZfyB%7Z%o% zPziTT=YQ|B58A7vzBB~z+n5~F=!3X9Za{X|CdZa0?h;@xZz}= zI*o&iFuj|^+Cb{V(fScIn&^QhC_Wlz$*>vNH>fDE$BM$s<2pR|hqE(aZDjcI4%k!k z48VQ&VWY$gv{t~TKeBeU;N)g{my(=Djk&vH6ZlXdW6bu-3u-|IdY!OBfdb%aT8Il6 z8Mek@Ng99i`UoX)o}Mz32hVIzX2g7^)_zwko(=^?GY*bteJqG3C%R;4YPXKe8IJ0- zmNsn4OubfZ>h__EYdg>xJ%;3F3XCfXXu0NQJ_fVZpCnzCFn5XN5QHg;O1<*#{%x%N zMEJKd#$-Lyl31G8ix9%t_mCRhRp*z)TkEAVPY$8Ao^IQwFrRZJk!|Fq+i_Io&4h83 z3pgxWHiS9d!?b3P`gRru$ei+$%*U)f@KX!kKr>mWlG__Us^_x%)8f;)`4U2xY0`v0 zvJvp@VOJh4i^D7UeDthFD`s94k~8`pcUNU2*!;MklD~zQt{3y?Rlyb)<6~gb;0g~+ z8Wsz%H<08Ji)Y|e0y7PT7hJEG`+*d_rI?cnx=BGc(PDZsVyYjC0MxpAR9=yOCsW~g0*jBb3Zo;jyk9&-X_r9aou`|V(VxttfGk-*Re zrCI-#M#G}gx0e&V-Bd-&cv(nPx{-58d@bU7F{~|1!S74ty6@Z!Z3Uj9fiSqJX}Q-$ zCQ>9uQjgcXRJ83H!9<@KNmLg@@C@mTkP0zrrNj|s4c0i8Y zN|APpx{O0mE`Go1e3^OK_>W>Ur_5rLqbUCd8ib&j4C%=u0m^kKw8S98AkqZ-qCdg0 zNGx4S2wQZc0i7I9O<0?DUn_jmwUF7&yeY~v@HbRSPY|GyeznELd`lHXOBPIjiST~Y zcrV2Dy)9A1sHB?9{^4i7wNcKBxQc7;rnFVlVtFfLiq~Ozqv)jB3{bAu$Giu^xgnv# zT?`l%xYMWKUYd->pBQIS7&0g)QiWa2r+JkRaqNL`1xPWV7wcls?2AXb-ZP-N67sGs z5#oQq%$oYR#NDqe=s^@kzWc}2^VFJgAAQbVWWkg8b|gOMj{!1y0SQ@v?5LF^aje(V z!^SVA^ulEiN`k(Dg6V#s;mhG-SStFrz`BiecRVo=yfNN<%M=Mn5{0+H&gz4Bi&xEF zJ|%q(2++*q;b4ix8A|en6OZM**{DAEooCS1AxS$setZ@C`!7pUo;$GQ(-Vw#IpC9Q z-ihv_9TT8XDSArnKXq>&z z54l`rV(YL0BJCj$@qbG&D}ef}jaXBf)JL;k0|+r(;7|M|t$Dlrcvk-|-Viv2cB?Xi zFK9^*`~Wd+%#!H{*n10!h1%IqpWS|5FJro@FU z_$WyZZ+(vlP6ReUwgAUg3K*$kw2r|EJ17GQ)X{LHnu@6oP`w6VUkO(=i z*5Le%AX5}R0)ki4%HhMFmhMm~FGvOOj@z2KDo^CO!{@LQ3}56Rm5q9@%XpBq$fhlu z5|H)X*iJk#(9oVaC|67BK`Y(Rl`!kiV|`R2GkAJ2lz z^OI+9eRB6RzFZMGOA5~~TR59KdEWsV3B z`Q+VQJl{|%xSr2qw`i+h7x!CATcK5viz$l^6GK^I*= zfExooXJgR}73u7Xngy2zL%`Jt+j@{ZrM$C5ybs!L(vqz#5o;w$vuAGzp4bu#9bZ&lHhSZ zNBY+Y z6k^E_Zl>|p0+=qB+tX%F=9AcUq>HSU?EZvPqN)1f!PdX#Lv+SscuP|m=U zRDOcYs^+fGEUe1h0IJ>od?I-3K+VKo60ch6DLPoW43==5oiS_^4ovOdYzKOGr`*u` z-G@n8gVT$C>d9kGcM_DVv#V&|V_M-G9pKdCBu|58RW~v%tHk5vjf3J!x#{bnAKn7@__a)T(^A!*K zj-f<>x#Y4FG175?p;>o0?hTGiS3>X}JILN_cd#h<#rlKRQvi)fx_Mfv`4`zCDOLTW zd*f*Mra1}lQ(?91Jm!EnV)Ti!g(kP-CncL$1i^sy+~Ai!6z=hOQfWJ>M9c(st}$!m zJ#icz5fOZkfy#xjV!=ZQl|7~`Tk2AVH&XkVdy^U1TFr6y%v7HvV?Yz zB^`S(yZerw_Sdr{++Sr03aej|oJ+WNLd+~ffTw~OVqXEX()3$)qr&w&pG%mOM+w4f z5mk7=92yVXmmaXc*FTZcfu!e*23kaN38vmSh3lY;eD~o;Ubf1}db_&bU(sO#A_gaK zp)L!MHT3w;+1sZpuk?Cg3GhW-9ZAJa3+3&)iKjo3d6)LBVRC#ubv5mt{RM@vzh2GMsWNBt`ic*G*Zef{i$7?pw7i^Nm`6G{XTa(+Tja7LdOSeO*zYd&SH3qp2T zaXprrl#j3Prc*Y-qvGq0mPV_kFU~E53*a*q^Y`aY`ad~d;v%|QvI*9vMF|122NC)0 zVb9$UjKEJneHs2_-kD>R4lD&)_u#;*r>P{ORfvJsc?eOy+^6b$PWW+nCQ>)+@*KT* z7oT$fi&*mj*tY{>jR(h4h114?2QNV z>?sQaYzw2E!!$q>w$4-nl?I?@D?|vGq;<8^*BT>YVC7 z25ztq&vK&ErT3t?&~^@cD)b2K7%_u;ja>V;WBi0oDCU4y1TLKg;3WYvr`;s|v4^nD zZP;Q=ubN~+tYLF$af}e45^}CEk0HfQuvk^HG?PV9E+JO-rXo-}=d0Lw8#O0K?Adke z^NG+x?Pww9w*9I*k|IAy{AMW|b0l`*$;xoCkP6b8qMl;WLk!9DAGY{}!&fz70^O@o znGgpkawrhyWp`B6bM?{8_#yBJh^T=*VgR1wIk4LIs(%C!#h+%WK)MDD@s}O1x{uDQ zC3)rR^~^w2ZQvK>-^_SS!TEgm%crF8#nqfi08#L)^M2+2htXUlN)nw*t%=)g_S(Wv z?o|M6qa7=kg*WK0h6?drLDz&$JOVk<95N=Q-#t+ix*HH2VS~FB6q->;Gv&yYi->~4 zp&YRxZKt!p&9VN@E=r_}HU<&@n5nY&`@z|x^&j2mAee!M;@W&eh+!M>{t}z-7@-Uy zeZ2-Vi`urJnCREw!y zSNwGq6J8XZ^evPuIK6)uQ4Fe@eMrFbrWAC8((qo_=}@EMi|9xhJ-=qS)>XLx1|5y( zA?uWlv9##>2Wb<{vqqTI(bk=ZkMKeLD*1^eSQh-hw!{PsAbVdfO58_3kC1tnNou9b z*Ilc6jVMq_E`I(9h{`T$0ib=K38(ED*tY{{wUj>)o}onqu)>>Q)vP3Zr2ZmCqI>=% z9H7>+QRsqIDa#9n>|D%fhEQu-sCJLrG zY*?k5@V5Zs4$LGJL5y{r6j#l|NUcADS~cFYco7o0@%(jmq9Mzeb*MTB8}L?C9Z}Gk z?N`GWjR|4l5ku*eRxX)@R{fJ@oDmiTeDhy4L@KRJ+Gxn2jpo^d&cp8)oYvC*(A1S8 z^yzTEA;_=|5Rk;abb-aF@*65Eb?Y=az0C)gg^QAh^FFUD_Ccu7yevPK#_K&`hCJW| zIzTEzrp$VMQL43;ZnF9Go;BwI#Hs7y`LB1Tv&O=}87u&ewTnPcf@oE%k-mA;c}H=n0)RLpl@iwukuJ8bi= zT@AT9DJ5KA5EF{hBLR1HADpfu7AQNe2xP6cy$;jg_v~LSO;;I`=sRGzG4Yr}n+Zbu zG9IG%x&<*)=`E&)Jvo0g=*%ndT}@GI@zg9&;8rKB4tAf{AZyvOZq1M{;bL=Tw}r+q z{F=AEI7sTJa2^9*Fu)XDX3Wz=_}DYIN2CMs*@L&(`>Iervdg1)9l*9~9S??<1+DAk zC||Qc+JvMTfn+7eJ3_}w{=#f@kiqO;lwDN$s&Lx#vlh22BdeyPIuDY<{YVqzz|@>N z*Y~auVVFP3ga5Xs)TeI6&Td&s5v(?}cD81ju*KJ08DVI)B|4bbJJ(b}R9C}if!!|B zFZVbr6LMEr@t!#)Bx`k4XM}AwgKe}1K#0Nl16j+(78o>antVEOgBpF6#(?*%nyUJr ze7E#rDE0tM))}vrr=m&*2nsQ#n<|2pW586HE6e{f#-cD2J=EW?W4p+sOu;`PX~|yV z#h@Q#4bRabJfWG%(vDGePs*i+41L-DGmlV+;7ed!rIzAh-pTVYlN1!CDe}m`QD~hF z8qZ(}iCY6h1VpC3ck8>1#wy6b>N49gO=uWF$oi$JR86|zjg585Et%kjyHt4;ezdTW^?(NaUTty#!`B=xt#ESnLkN{SL=T9#^K z_n&rFT^!B9*#oTlqgSd1KpUwZt(E=h?hFC^#$?=tbXL}`^aL%nbktL;lu?bgp|pDo zA-Z5FEU*n7GL(%5#nU7J5W4TWTyTh&Yd$xBY~r6CNMa@#{drTUL;~Lfd zs>KAO+24`{&O%y93c;w8UPMYsIGL_LgkkIT>F3Y=7N~rfauu&-)O=~Dc{e+FaH@vs z?<-)B>$E|0AFnh?WqzQ?cQVy7^t^Scm*)2=z@m;kWlXY>j6xDJ1~ew@1&*2rSx&AL zPi4@{Oplw&Ca}hjT%&3Y&dLv?z%G+fjj(;N+@_ev+%}1un*76MoLhxs&VZuG=ObdA zd9E1Do#2Z1qLlOY2n)J^9F0wFhsP5Jk_B_v4m!bKhya6*7wrC4?(L5OKk_cVHpelS zH>4wbMg7)X?W$Yd_DlSU_(bfQY4nu$$1|Ic%XZRh0_dQKA2i|CfhQU(?-LGVp|dSm zofdo;8Lq@ecCx^p-hmf7g}P0?S?q0)kyAF#j{&Vl%S^q15ND`g)jKH&7a$%VuiCN~ z%$oRUla2CT)v!okrN}g!#;`7Z^Y~hN4;2%rS<;W;YXOT{)})XjHg*hG>Z> zk)}K*w^QOYGShZ9R&~+Fb~|OAm*WuBh5IPxm(ncs`iK26c8IU%sR}-d!yc2J(eUTm zUPV~YTY?9TjQE?!Ono<(R>x77?LW&+KHx0l0p?MrsF5XjN-?02xV;T?uu}l+GlNyp zHrS!wz{+=Zg+RL+xBH>MvzO1|pBI*7<(kdJLso3H_oN>Eyu15T)Ic{?Jp`DAC!+eB z!SZd$17n15#Dw0^@1_A`5D)R6>yr}NYlD038K|Bv$jV#ach(?9{Sck=9G=B)&QGdN zY1CdUg_!&OQl$H(b~&{IFulY(wPs2=DHJd`Oqe4Koq~(|zLxFFDRTd5xyGIu$Uurr zjSEk}8IL`Q5qSJJ`+O4>F%es?QS9a^&UWjR~CZv-f+#Q0Y^-wXTv zPUpLUc;?ljq<1prBbZG*G7?s*9=6=&MA{DiHE== zFL_#j^qT-f7edqzW~{7Fw8|{AdgXm<3t64zQkuxPvNRq~rg<^*2dff- z!{tT*hx@rAm*75%lDv8~7uHvsdRp+tXe1}ChwQFX;b;KkCDH|^xE@Wjf>ax*x3s8| zjPSW)exBu4e0;;&wS=E#!v?IqA34&E;zG-V>VZj^zEYjC|CAfufj^+Sg?ft4d@h}N z5IWN2{AxFB;ip?v?`a>4ACs_5z`ti{xgTRiot_EyGE%%iRH5^sJ-rO0KnTg^Pu}F) zZ(QQxL=b}g%5Y`Au>4B8$;C^bmlP&|(w^vbB|rPT)E@74dA-3@Iinp&8w@T3P&+XM z7{G4-g|;)|J!j=8-l%`gNh1jcNedaD3PG_*3k`(ACC}Bkk@BT%$ z`vN374us7!ACv`Este`UKi3wH8=!_tGej(dTEoMb@yyyp1%%V?{sAVqfreo9i zn*`fOvwN9rqKBr~xb{ZzCH88-N|00=s1dh4CyPM#l$5LSZ?UU0RqV#COEV z|H6AT@PuJ)^vAS|BUi;5|P) zo2o7)|NJ&4O`nc*sNnmt2FpGgPW&-jm{RxTaX4OmFn94bkA^`ZhKRl%uoS>HT8f7f z%U*)UyApb#{s(Mb^SoX;a#=Yf7JnBM1{WXH)B5vODolU>swfJR#LR%}6gI9WZ&wvR zgnX~c?-jzem?;QUh<%fjvy6)V>_(e#-XHYg#b;^C&~of|*!lNXKM24>bFUz}*}srf zC+yO_dqE4CIl&M3Wav(1fv0E&qS1vgMj0+na;{!f81i-bzi4Y5R)=~Bzie(eoPQ==j15RiS1Tlek2iwk73di>nwJWKoQQTz|a)kKeJ<8)r7+1~wP&FAoMDSrp{Gb~@} z#yQf^Lplw)wb4TZLWp(Oe86*}W%P3$4*bxQ`R*UNyh|)Fzr%qN8jaHyO&WP6sgfcJ z6IZl{oS1@WMG75KlrNY{kyCta#OZoNp=%(ul#~Wp3^kTfEMQ}$#l$fyU?tOqOu|zV zgSl&2rOl^jUZ6j7P=8qFWhfe>0K6jlrz=MBO;qvu;c$|fV8PdVg%JO%$#0Tmo$;kT zZSpJqq&q&Q@AMQb^R*0QYDnye$PVU3s?>8WJlnhPj$ z>#jb!ML$lDleQfxalW3M-Y2jxm=b%tCYsLx_M2_?b^shMo1KqVtW%jr5C?bn>~KJ5 z;ctrjQ)9i6zOAq(d%Tbju(Kc^gq~w&)1_331K)0Xj_rLk#Q6a$I$ZVVx?k_o%)OjW z@n9wL=-Ma42}tl)Fe2caQ0tXMfQMBPN$-t(qNG-pdgyV{ZV`@cqm26t{AzV0j&NU5N22p|(y)4OPDKvdXHLI2s4 z=%Fm8AdIV*au>ZfSjpQ29vy`eBs4P-bOS;n1WoZ}ouB&*YhAGQ7v5AkS|8Czjl~Qo zm^oT1jZXDLLd!$kg)bhVPQ*4Iu$(5kxGr_ta%;KjB+>O8gzS3Ro_=8`AN&6K%@5ln zJ1+8eM`Q@KE$2DNOC%$g(9M??te6=H-lmP1WF?J;8Ff@^m}=u_F;Czk)D|-O6msM8 z=iJ{)1=p~l$gLSn?$l0dWu)NmvnktzFf7xICX3(LVJ(e+U_0{!a-ufnx=Q|zw%mY; zf4_*|Kc{oU|1QCt&I9F?)LuMSu(+i4#{tf}!-MA+SBSF%#~7$zcG!SQcnaQPJ+to_ z0|xrCw~4qiD>>H=G9Mv_<@@hi^_JYZmV%N(*yws|+pbRAMsaS|@)rxCL>}gS=|toO z5%J;J!+62Krc1sSQ5E{RlMob5Ab_{mQ$L%xmw3sMYLzxqHKT^C-m(@*G_5}I%UREC zx#6i6Yb1q)f`_CnFyFI3?3JdL?d{$L&c-S2ugp(Zml-Ip4{Xbs*yn-+5tS8Tur)cz zqijNp-iZ8EGs+{I2Zblc_0viII@~6Dpr*g#eEQ|dKSR+^7nmLyfvzYn+j_tiCY4F_ zcKUk&=b1Sbx)+_kwGn3Pr6~zDJR`MZq93pyH0a>sBogMcih9sN8Plbj5p+6sUA4V` zgJ^W$?!-?&pB5F%r_c2m691T{<~*Og`i8wab99uG3}dshF_yt)VI@K-=_r@~v+?^q zg_xNbP|$iNCxjNM1&t^mkf(B&x6*;>(RdUmF{>05>^i|foVOL?=Bw!o`olMb`(_$H zt9GU%A*2LJEsSI;n7Gu4p^T%Ygtmz;koIfl#Px=#^iyXuMflnYWg)NlMa+*313M2=^5hX5G)MWO1*+9{l-ou zFxZ-FwA_trMZU#rF6cuRL92a8dJa2JBwhE(5EFv3`LI@f&5gCTODH&XV0tE#o{2N} zew9MUj656w$t{z%+EWVIgL>eVx?17%TOA6;BClZID>GJ0gK-LL}PS=Bn%yjL} z@NHV;@CsP9P7hhAo!fs(V$V`a9D^|$Kj*I0})0g8_K}l%Uk$I{4=bj)I{e$ z>o#!DWMDF2@zAssU%L}CLFk2kch)4VKD=@zyK4JZu^TV#BEk{-f}>Fb?DPU|$H-W7 z7O>=_qXra2YfrUGbyA3(Dv**9kV_Ki^`X6kX8qq)XdpbWnauT{Z#T0qw={; z%1M}^s2{ath|u{sz6Ci6W$BH^=p9TB6hGgXzYUmg9}4>+y0_H-piu=O+tP z)ghseq=h=z3%^J&;BEK(;v8QWH-V5zsVQ=iqmbvn6Dhs?Iflyq%La$n`60nmD9RGJ zL0KUlA^DP9%^Zr-%O5afHW2*F97?{bv3KrD4`izuvk)bWS8ALVw5auRz9d|#@?J|W znqVX9d&u4yxAhX(nU3%G?DcILxR`B^N9O^gSG>w43U<R=&|{fi7bB68IY7y3O~$ zHDXCd8lZz^lE%EF;1hp2d;B)gz&leylYaVu3E$4Rz6@4kj^e#_?KCk3u@YRm-7YhV zus&htv*jE1gWP4H=_2fxb_!=5RsXnszb7=+nNL8V5=ruyL1w%x2%EDG|Fb#KcLJ95u(R0_eb;~~^{IN`{ET3OYU87611I3vKkmGfCw^?uirwpsFP zjN>M-Q7I!XB%==s6X$HV&dABaC5%=QgA3?;vRNWKR1*CBGo;GrRlBf63?O6iPp|mB zNM-m^B!^NBYys-8eXI<1Y&FIx1s=O|4X6R~Ici`VV5Yi7awm)6V5^i|KKa=1Bzay2+>D>LDxUDvSt$5gT)jq3~$_t$GHEF zCHUMw*O8f6=TtxB6xSzg>q5}!64YATW#?Ii3$=Z1{OPSyT7%GlPKKf$W5aR}n_amV zIMgpY!Yd{BtvDSachQ1imKoLx-e40Lu;u#%2NemB^UGLW$w}XjoysL3S||oRYLcsS zyGvi2U2P?5k_30$L`9^ANdb(lRfzdp_*pEF`a zm-QEZ%w^<;uCP>>vG|3<^2>8&KDNU>lt7;9wClPNpZ6{0TtSq>9S#LJiOo!IjOSW3 zm%#-Yl8Ih9CgNNgCc$s#3{LcfOu5Vf6N7S`_ac)*TKbI(D;_=P>AJ`sLD+=RJFDlQ*rW>L=B<}Jzi51Q z;qoZPq$jfGC`B(AY0%*7Q?`c)=-TyejmFtIau_!w4)(;mhT0im$#Rtyw~=r*giuOJ zgHI6eD=O>@t#*(6zT^Tu{zs2~{{NX<%qIe-P9O?*l9D z|BVrpX#S|kbZ$Yh%mgRT%T|Oag^lTZ@tvuc?1II9`ZZCY9o+%oeP$BCuIN&!rs_W&#{7 z63X=YW8mp#u^H*)>W^m@?-ihu&_xRzd=m^miFhr_>!>tIz1uREsrMD;k`@sc!c2G| z^x0zPbF;;sFW=8^pK~^edkE6Jiz|B3s8_BmHdA@6KvK=|wYiibSz!y-syAA4rboQI zyH1F;|L2MP{UKci0n7D0^>^TVVEW2G3{NQz%5{OZ9kMxEjVuG>rZ!n4+30%_VFLq! zxe{eVLRztc?|XrmtU@m-s<1I&WA=p*7M1H~^(rk~jn?64mczp$g3`GPJ-|I2rExma zKYV?<^a}-y6rOCZgME2=B8? zS9F7i@&uZbq!M6IV%|`i73v1I=llQ!4+eHQ#5()t=qNf+jndQrz3# za5(G>zHsmDui-JR>YAdTj3La<3!ah_e({Ne8V=JjVb?#4ruaU-X}G)?_IcQG9>Zo= z#%6^u@&02TJ;hw5m#-lTI)ZIzZBc9M?3?ei`(5l7_C2cy9RX?d zU-$MuhNXlxCHi-8Sup58_SWq;^`u?434#KcMQuZhnln`KhD~wEfcNeQF|5?_{8wbA z=V^JMu%x3%0SX~35k0!p2rY$*(KofLt65+_To3aY8%5${&55J!w{HAYMc!NUds5eX z#8$k=6ApY&6Q`@1-f7huZ5z$+d)4{6j@A~+g1TQEjXf7q5Y8P=$}#gEyB9}Yc*^jUt?4k0P@dv8JD3Uq6egFg}8_6B45>nsouvo zZ3vKWJnq8@)K@dHT!m}O&nj2ZsLJ+?c!Ha*&9&zGcJm3bV^j{qS;l=d@PCdw|C z-IY-YTq3x4a4x3XU+#(r@JCyV!uF(E05^$|7IE?WumW$i;G=D)eMCy&>$>! zIVfRKO52cv&g&^NLa)O$6MmvMO?ha9v`cF^6Fs({Zx2HUL31wcX+_+i2sI8fLc@!n z2xcAvaxfw#{oe%RGqFFp{LPi`;{dMU)ND90#VNB-rXKuNZ@{<|+%#U`OZy>i*p=?W z@^zO)d*ba^Xc8bd! z-B2&B9P~C(T)m|@*M(M9ky(x?f~4fB!FYnb^;N{CkdZl7X-i?5prh{Lq$9a%pas*; zWf{ZUz~XwH%exHatIm_WvEA0x@y}r8vmw>XN(e8a9<6(y;E4sTDr(-J! zIeOm4vfd$(j9dv_{qo6|&9VCBg4>>@npVG=LX;o3gK1b(^b^;{auQV17iFMv!`HU zT)|1kx|?F1VvHXIQx@ze!%PF#$i0n}mGRy3m07bNykte{MMqD{MaJ0x4~okXO6^IX zLhxo++QrV(=S&J#vSS0}VyhHFwf&_!_cEzq=X$sHlfsR__ck$jV+{k-L;Mzwa5#A@ zQRXaYi!LAV%=iXAV*2O(_=Q5YBdjJysQ^DcjcHr1=`SvaNvIR|gl`_svmDxk^n%mr zD@L2V9rQuVcw87pMTFNTH}xjFIZEm6lto}04T=ext(@01-cS$0CMRJ&n;{P47L$`I z{VWRa73ys85{qq#MmH~VHEO|2Vj*%)ta)@a(rBqjWLlk_8sivE2?fEMDUeZFuF1}} z!qyuhgsRp}b;={AX1WjFxb@;NEO6 zf1>2aM3!!1-}g)Ajzt%@M=t^ff9<|(nQq+UUQ?DFoVqe^#Y8oq-(6Sf&!2R$n_SQd z%>}6cBNqhc(vtaQ0{z2L28#pwW}HQ#E=F-Q82$r&dKn6sB|tF4w>g>17~VE_%(%a| zKIRBZbF0{*iWRBJAj^ObJOO*m*P~BkdDW9#j9BgDaJb^VVH^8&CQOXWBbC-bi|#a# z-!0*>vuI2Zaa@B{R`ELNQce5~Hjg#R$Q%5aVQC#j`-Zq>UB@Ku@FSLme;o{pz9v5O|Z60S;Ir=8&WTHQvUq`~+AwvX&KD?BM+R{ir^r>DUy zn&iFscRg8j&AwgjbPEmVlnqvHO*CY&q1D3Tc{Kz=Dg%eX_`^65FaeJ?(?h~nX^@qU zG#ajYe)19%IIubQb}yWaHOGK{6P>GUBJ%K0u-3~3w5Ha?K4zfT$KQKyJy z&n0zUP&>zcJ!Cmc(of3vqjaJ_{zzxv?On;uyFN`;ZpTfsckRXk#`}aU+zi^zfUuJu z2)c{{J!W`}N}w0Z59B6de`DQ0bphhd$xCDB(qiL;`2P>Qhvnt}NMG}H$8eT^7tU7L zOI+ImZ*t(qDwS;E^AtF3=AMXnlY^aZq}+Ga-rX@JLois^eM47|(p!Hgfc|0TGMW}N zQjUzn+U3%swm2O4TO7w?+$RI1oM6_VbVeiuB7UpJNH$G1t)#@+lho_Wb!dL-on8pY z+|AY^ChPJYG-Ml=`GB#u7_&}XrAH`Ag~LX)C@?- zx?Y79(_T6Yy>pwt)TG&CUbk5!E4ciY@A_50>a61aE1puv?ksH^HDW!%^f&}>XyC`* zCw|)G5?jjgANK^f@k1@pS|gOp)1g=qPs)b&$?F)wU|qBrK&0V#JlpWK)_jB_86F62 z`n$3C`KKmWJ389fn$3CB9tv!5i6Cp*Iae@sho34&#U-}Yp>l5>)q=hMJ#TEX z%p-e#c99z7*VxbH`8!Uee+7$`NhC@?Rb^Z9qxURCfjLuD@g`_>_IC;rX0U7-qA{)jC;{s-l8&`jb=-xaofJXa82*0<-goy1daIC9tH`4o;_|&&#st0Ky-5pyho%NGd43W4{Nt7MO-390E<};WS!wh(dlxC8K;vhr8 z*f8UhcD%WM)wkk}{8eUEC-f%HgQ3eW*1jCgI4-6(P3H=Lz{%S9e*R0U`8!vndqLd|y#g1*1Hmn*;Q>2dzd3ZvE=yY{ocd&c9XiRpwAmqK zs&0!Q11&^mY;?;n@xJk);t?mORjwdXEcYLos<+Sy;YxtP6BCgrRQ?A71ho3S6C)?C z1{1?$2O0!q1d#e=nZ%@lfouh^&F4}75H*8r{@iibr1=)ux&>H#h)jlyaW@te1U!cp z`Oj+uha`Li-*`6vz5!>ewQsWifYuE74!8%gsp_S9GKULm!tS!U-~#+i@gHY;Tt<8} zzHI?sH*_<_-EOYm;7$|@?mkHKU&@S`8Qnd9BK#>YtGD=9R%g$kN`iV1dj`u-<3!C` zR%-cmcI8x#iCPuGGM)LQ7pg{ux?>@=9X9v{%*qKYEYqUGW>}lxzUvfcI%9*s1=+xL!l0f%O|L#pDT;*eGSQff(&;CD@+Prh1|F!W8i)AIO`${n!UmIN zjqGfW>ts58*!QjMvX;*VTW0?iKn%W))M=DE4aSra5JXy-LprVW*OH`2#Vv$wI+qXK3qAqG$ zv`nvjd}+y^0eTW&@D0BEh>$0xB_dh5`vOi4Y=F)29%me>>Jz776RcCZHo1aT=2RIhC`=ZdB_SigXjGKQLX?_)Fo3ll5BpwOO0Hv&iPh=xzVr8F zD!i-#S8>{$j40Y+7e3wDl;)!RXhC$n0jlN9um7x|TNpKGruGXijc>$+^-nPR2Y|@Iq+Pr@{giwFK zpBaM*et)&CzNh#n#8FyvsCU4ZQev!AgM0;_b1!;%wCV$M}RyVbWXo zQd+v0ArA#ig2T^MR!|gT!tZyggZr*22DEl$umoUpyB39P!!}CJU3D5p=2l5P3sg_Z zh-5lsEdnCzz>bkYHlP}Z2~8&oklNj^^J7;=usJF>1DCWgD$ri&_XQw*`l0I2Rdz}M zOF3QLTcudRY)FgNp z_;$(RE}Prwj*ZX|5OF5d)J7_A2=%d|Mtsj3&mS;RR8DO$7aP!I~()02I({-~L z!i{kxCyZCv5Kn&qA(^6j%FlXcAq?yVD6Ix8L3iW^)1`hsHRh%sXu9^VJ!$T5`qH{F zs`FZix!|+KAuX*?a%QlU5m+*;Y|uf1mJVum>r0qi+7t2rMh2CIa&Q7G$~&R(ZUq$g zY8wzliY5d;TZKk?31bTB7e=OwdIY*N8t4kBz`RSr#ZN{cH-}*RtKA(*Ttpzue}pse07t;X;_p^%#+Kcj%)K2JtcAM)Y{;_>Q;BI zxsX97sMPBz+3Kfb+B=j<EFuo6n)Ep#8*x;bH0 zaKbfd@GILA>EQ|9Mc{;!7A@>D$3{MHvUcDZ{MsM=;y4~UY!)nB{eLKX3#h2m_I(_Y zB?M%Mkro&lkq$uwq&tUFx*HTwkVaxCl~Nk%6a*9yDe3MK6p&7lZumU|%I?13_dVzT zKW7eS_UJA<^L(B=uKT*KJ7s}+lj*p9MWfMAbr50DHYrg;7EJM2$UnGkE53`%0Ah9g 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�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Ⓢ11LHI^lY*)8|nU@U;eU6GK8JM1K~(W+JTD5ZeE|-H4mZSLT2Q8Q|+j z4>Sh2zeidm9y6mWG2gWqoi?vCk?CTwpICG6!M3=KN3%3|Hv$W3HKN0n%DqCHjm>ECUK%a7htLj`uY zPV8$KIEsx;e2ohmq{HS9nXQ757>O?F#5MHkbFEkRm6T%dBM;G3VzueYZeR_i`lzS} zxY2pV1G!A|bdW;C3liy^y{%fUh``*Tz$z$E<=Lhmd*zxZFwA&0*K%-9B`(++Ri6EG zA0LO?MkTj!mZbeNpi_B=?b~l|@T_u}0rT?2@5Pk`0yyC<3!i>Uyo08RLZF@oS*S7w z;xA6`tbu{fKQ!2n3NXX>DLv5@^(DoT6Y*~u;qDzW-jHnb!CIHi7}o4iXxXpvxo*&D zuaM_LBR=2dWWh_E=6=8x1swU0T?6zT;Szp4XEEvNLw%S!bF^YIA8gl^+k;AbqC4cZ z>FJahq0MFz92C*r(lbNMAtvYTorb7wbE_9#Pq^ zaLJq9VABQ@^V=A-5kOl7PQon>c#wiH6-`~YW*Ua@td}X0VfUTVX{7!4)9wk%$jdVt zx{K+ynNdCC;OB*Ig5nf9*#Fdu7YdY#mwd<2)lrD_B**1nufcN7Y0oZ=U-q-)-R5`U z+8~b@`hj&&GNHY~l^wT{OXj$ zSA+=^tUp1s2h8Fo^u!A{wm2KOS3zXJ17y(41k?%*Vish`mfO)Tqx3%S^(s_KQS4i= zhw6_d-?N(jfbhW8rc?u6B+38JK^`U21lADHm#w4$0)a}LC7YSh&6*qqb$^A(0nlr| zeP00K8!Uy?_?m7!$uxY)0H$DONZpd8Swfl>6mH!$Kt{A8;?R~+^m;I##Z+XF6P z4|Fqq?@Z_|Q6eZ8t89BdmR^Pnu0H!@EO;@JmG)e*P~RrO&*;RvUrf=2s1{5GcscjV z+?N9;sVw?wN)XCCMIq*pi(HTiI(vI-?C=x!IOPb|AfxO`gCofQw6O`6IOwf+dd*abA8nt7A<$w3)+0LZH%UFzC%(-AJ?Lie0S+jF20CAX_0y9?@Zqrwyn`q*N|HBcxM_IqUZ| zH+_8tSsB=oShJyz{~yZU1DdXGYaib@dhaEA528m&^dJ#EdUS$_o)APQIuS$=HH7Fr zdO3+61c~U06GU&(yZ<^Q@B7~SyZ8Hl-xy~Y=NO#5_gZs4^O?__YptgebXpo6M4|vm z>FuMC`r{K+UQfs(9pjr(dY_ZLM~AhTIBwzSY&Q~d2qM9rgHG9OgBkkKG2UQyvFh{o z3m$$zb~MI%w2Wc7;z=BE@Ji*UW7dARY&2GR)_lAt=~O%F*j^5>rakYy&AGh-ll|)j zHjyBT+X%aN^K2u;InhAj_w0fu5%0DvJQHD7U8V?S+Iz>a+i9G@aP9tkXgm)s2i2-a+13 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

    OdP`ru+N2tFCifK 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 JT{WT|_r>u|cg^Dtx19?t$*z5Vfy*~V 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

    Cs!~4h_zKwy^l$;=3 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%0Af$tmp7Kr z2V!1vZvz(3WM{!`HrL8A1567Hmm1kA2=|`5T`RX_vmtTDuKx;Y{xg-v&q5D4s)O-d zP$2F}VGqCr_EfOCq5-IM@ut)|+PgJeI1uvGya%enDQ{W{oeLc$w@@#r_>eg5@<`D*``D2ch3g*Q-P)%e@@MU4OpQrlz$doHqj z^UVliBC0s>w!UngB#uJUZ-C`BCd{`o@o9&15fRV2X!;tctc&PGWHpqqy24?RP)45Sz=q%a7ke30baetHG1FMG$lvuc|2yy`Av`zOPj;2aH+CHPnG(MRs$eHf6tseE!3sSOwkOE#1PG z|2hzD=zdkqBA)wz7kgCiyk$xNXGXZk`*%Ccd=pG^9tKRQX@?=6Ka0b2z3B4u3h!XS_k2Z}<22P`#+V-R`{d#Ko_dnv9{%deD)_d) za((uFI{Ea}xM97>7XtCS?}hA6QIVyJmbmOtZDftf(6f(_Fp& zcGiKZ9z5?~2SWC|TSZ;-+#=|_zS;T9j^v27H2F?Nlq@M-vZcG|DlBT7mg0O+Qczx# zG+g$Tc2A*RimZn9oIdxoJUp7tw&g-bvh7zJq5aK}VBwL@T@l*V0dU4IJDD^qwJ%}p zQJGkO5PUw5@}=?dySCoNSpkqVKddTxjng?G7ZVyV?0%4 z*?fj;HZA4Uvli13rzNpqH)m4>g)h&GoH2#AOKJVp(p0njyg2{7|Ef~psIXkf4{I7GI*k`w zq>`*w8IvOxP1&!P)c1!^3c2%HJQw*CFK>wllnCB~|E){OI^U|TSpNrEn?-2C*-~G~ z@-7jtD8=fdSl~2%bWZoA}kG0bI$@0i|Ryxs*a4JEWXXWdT{1jEQL~ z@YD!G$mQFt?r+CR12}q0m)4|ZXb?6rUd&b6d)M{VisbtqF~ap8mB$5SRFHpZs6xmx zJ+H^>a?AFb&ikemg{rc0p;yXZ8p$OVHMrkL-A1u2zI4NZl@vMuUUMEeo1L!ftZqb1 z-$-IqPT1jWGhm9!s-KeQV3+P1YI>41;}D1r`FYK9p!S!0t?SHRg*9A7I})PjF?fyi zFw74&%s8F10#Ao*;W=EBL=QXA6;4f%?+a#qzl4Yq9G1Z6B8~Y|4fmI^$4a;U8;;}i z+6V}WE`*Oz|NK}$qfKXj;8M=Vgu-}SIOqd04{Cs|b}CkH8HAqECV5;wFVYWbBq~%t zFdEhrYGX5j8vNV>uipJtP}n!IZy+0;felmti93Q4)j^3en36lbC$`v|9is+D94q2=(ZM9kwCN^;wQqMaW^hLRyfWd2WtYwM1EC)E<<{cUNCa^lU8p7%HRhPxql zr~7~F;Xg2!=d&B|ZJrZo6;D9*CZFtF!D}_FZy{iC61yyIEzB6|P0LV`=@0g19lIQq z(4ly;7CH}?lfL_k)Xb2ME0jkOkr=9ZbyScKeS5tm$0)TWv;98GQ;DZdyzF;0xncU0 z&$f;#y@Yju4(#t!39Fr=DkQ^A^`p}uj^(Qg*XQ(*U!Op0dud1EobyW2BC(gzYo)}D z{^JUd4w~5X?V$BK5cBiQI88Q2 z{;W&|IVF8zVi+h_?wYDi^@mCgeqHG+-O>+5n3b_;iFJ_NE62o*7a$s(#|JL8zJ6;_ z3{pdE#9r)16um8?kF!H{ATE`pKrifM<4KzK9J=S+p1CO>%?$medr61m;okn99tKSg zii1%;yHW40WqLbY(KBlDrP1tWTz}se+8=kL%wj8-6E*iryaK<~|0yy5tuzDg{qVyz z($#2T`jJFEX)M(+Dtg?`qeiFcm8Q-dz>0Zj&h@K69z7bhfooL-%ugzsP$Hm`(IKW}} zEN=-@9?VL;u5G?%QPSeAZk%31aKm^n9cg!H1huR5^4?T*g*;dSJe23b*)VR2J3DPn z%buPGf(>7swYruU-1M}`oK}not8&#gO)9kR$0h9VVZg2PXi>yGKWNy(@%DO9_>HVQ z?a;a9@VBQ(f=eLCqrakM^8h|$nNQBTGSmzFgVap*&($KgWTd8DKnRzXT5+1RX2G-3 zhymrKu^`aH*uUZF`qW>1WH6u-t9eGfj~Ty{U%0rJIePysxJJK+zky8OOXY`7Ov88) z41(iF8?S4j{K%BeYAcWJBu2`{2X|EZ=w4$5g^2@7Zdz`qlI}dDV&riu!Pg}D>8Tq| zv~WFW#jEeLBAA@EhH6=Xa>57AQpgH9ea6wDBkK7C-qz`a=D;VjK#$JOdV+iKOU zNU}qP`dClKSJY9e-sDpn?iV{8c8WXnkS}j9sTH5K1+b}$bF(68Pb|bZ zTV(|wtJkELsFx}FsPmHbLx%9l434JpfBMotk0whJfsn&_c?9v;jYRnjah^HiK!cY? zZ?L-ACQP01E_T&Ly{_FrwM2Avl8z}hvBzQ^^qf{y=OL?qdd1!%KIJ@FmVbQN@j1$# zmJvdf-V8A}C>&S9?rm`3IpZ!0&QI2#{k|CGN4Y222DNLk>hjEOdzsw#%{u`-M4a?E zzm_hHR~9_fOP95rLTQ_6Ev#V6kJjS+D6beSb?aeQq^G6j7mv$42C+;J9)nUXiOf45 zcHdMZ;JTve-Bai(1zv(jh~;+2Hl?Az+WY$wMW~B*$E+BY)r`SU0TbBw@B1O>k;F@kPae9z->d5?Q*8<`_t5P(p?2Zg~$? z-J-)Z(_!~{Fp~d~*76aj2UceRO0lk1Ebbs)uEaGi9onbk=m4JnnO<8+g>z`9%~(Y~ zN|uNuI92g8d%8lc4s*3Xai_f%Igemn@)CmLR)#_oqtjocl&sZq4jO#LK^Ev;bMt{t=q5@3q@{_If)24b5${-v$!NV-`Q#PV;*icj?X}>@- z+P-6}$6{556lu8JUXU6dtL3AOq95(Y>l<6kN4$L6WU<=ClX&*?2x2fFWE`J z;`Dw2rqwTk1BEZ%9JF}kpn?>x_X^x;zrEfyRCKza@102OZEK7|H!g>W;Ovp;E_Ec2 z>v3y_Ky+R+=YQ(*P&j{y48~~~>GMHSer_Z=B3vOI)K>Nc>2`&V<9Bm1Wl>7&w_g6x zPO)N!^=q=X*%w$D<-ks5qV6@-+*C)d{j<**xS`YU!6(VoMIFw$!B(wTXof&ZZ6KL{ z41HgsQ_dK3pea;*A%fTPOwp)Uj$WB^b5*fTo0af`G+)R>mhA7e&&){icB%ShOOW{Y=tR*1|4bpSQV3Qq~JtVcywr}rr^g(0hs^$M7+>LRND{CT^IlnORDiTFSWsa zMM1-?k|P~KY65jY9Z0%V(-m*ChU6>W)D2a2J6u_Jwmn$xLvWIIs9M`E_JXU(3U)#l z85Sa3>&9<9K<)|>uabP5WBR*_c|@3+7Uzci<62(WoIadvH+9umHo>i_Xu6aSw#~rN zdvApj&7Gg!)Mn7BwcQ-Vv&HO}iv%a(6w=KFh?BW%Z>=~yRI~izT&y;**ZK|M#D1G5k{wN<+AW4!KHNWLA6y~3YNGmlrg1IqDJ)`FN)u(?!v-44>-75Xj&4b! zO7qu0z11J8kBWW;5cu$TAC*rf0HP{FxT!^v^AjnY&a>ju?RBKU1BU~=tq}c-=DGRuX)G_0~KlQXfK3cTuIs>V{t_jr2b7wRAU<15zG zX|Xg{`0PjFg6lwIagdMRw>z&L8`Zkp2d7Q)Gep>uYzuYdK_fe$AQ$3o%F@4Y&1aTU z7fV3z|2`Kh1d;25!7T$^nC@=KNo6&JFh4X@1m)&Vo&8q3%etYs8LDC!TlRw*I*nxj zl0}}30%dHgaH+h5%I$*XegXYnc<|%Mb(Aho?72yiVMQ6tqb6W6nBt@S5|Ln_94ojv zL%)qjPL$yIlugkftkw}T-dmzi2^*4W0wa%L>auS`YQPzjtEX1v{OD`}iEcZQn{;iV z_n@2(%jY-TyJ+-F`BXE+sDlX-ppba)dvb23$ ztcC}FqzmVC%r?b$P>$!$`hhnYG85l!9H z$9iG&pVZ|sEV`|@ODio~Ad1Lv@+Ji5j%huZaP@9;SZ9H^wi?pW&tA%HU6wl54X=hD z8_L}9L@5f$Z}02dy$P%7k@sbfwP<2^^NyY1NY-$VQ835N9l6+P4SveBGjMQC;?G%R z#pPH0Qx@XPIL~PE&`c_h&5c#{Q&srTe!5lDVZ+xCj}$%7#^hCO{x^@I{Nkrj5^OxxIx%UKM5NV4`!lEY)A?zmCVv+<2b(Qu@Cz~@ul2M+ zVOxZMRziswMy-vNrt%onR=B&HhoFw2VzMmJq3F2x>!p>hy?4(j59H{7KF_C~FYWz>q2r)_XTn^<*sy;0(RQ71xPy$Vp7h~N8TE4Uu&2oV*B448 z27`O%Ih0w8P4!@3Zr4;dLpxa-`qs01?^5$-p**AZs!I1GS2m z0<9J;ij3Xz)|9}V!QF6ouOv??#9du<%le|*9zLt3-%P=uq&9n?q7pD*>yTo%U4`Ez zyRB?535xcgS$5U?{RXv-YDRHpD}2^o zuWmbxC@flxe9s3wNYnpxiV92*T3e}ksiMM@fd}J8Mf(ZB*9znWIk7|*68(M6_;6x zzlb69Q-wuFQ>Z0r%tTZP@xNLC1sHohssKqZYOJKv>*)Q*t$q|Hn_}2W0k!lF(U)7n z+27`am(eOD;}sa>O%w4$t6WNHR;v~TEd>>!ZuN?q1+wBTC3aDo9jM)M^$^r(;fR5o zVMBLr$KPi1e&mz>mF+4KtO1r8yOm3`$GHG$E$3XSu*Vw_a@O**jqG*fGCHnSrWO8 z&qeuL_6kyeHe)1OBG(1{aG0r z94Zit<(?*Iy0J7?vb~k{bFvCo@_?p-6=CoxtL@fOci`}EE_P)j4mtyTn*?zMm%h^- z7HQ%>b8-W}CKzlTRm8LJ1;=v!N)lG>5-@b_uNrl>s`B5-a+2-CQfX8l`bp7{=`)or zH{(X$2~Ru1eDJou_1>woYrh%79QsnpSzp9BePd}m*xg*B(yf7omK=+vE~&e={;2>e zf#|R0BmLGEDc_v8wfF_tgF8;5yn=2)QoVrw=33w7u#2;vw5Dm3T?y_2yKln9s+~)o z@4Oj+-;eM8uq*jkYgcIgzX#yU4h3u`^}x9TUh(CVuuv8=g~Y28@llaaY>^7Yn>%I@ zi_9}Sdq6o4&#mlc#x0~J{(RWJg=@&N`Zn0nB1_U6^zcxYV=R4n{PYXVhX8ty17F%0 zP_P;v|9Gem6C3-jMtYfsBGc^ZW-<^S#WUf%@QI&nXXMq_bhP5{W~${iTpT|i?7r8l zXlE60MaV7}7D78)3R@E4Zi4xgro2~+r*p_si2AxxP$6IpS6D~UP+*wHnsac z5xK7HNq1R4reDbXZrxnxs;3(^=%K+NT;)6_u<<0icb}>Y{;Nh4gZ`6`MN^^EQp+_c zPX|6-XHmY*cvHP_&Oo9Q`SHQzCjGv=HDgIl?iE|z>zzu&ZScdh(gO-B`e)FXQv+`( z>EXdCRonq~O2VFIn{H$np^7#dIL zfLo$htLW3)f=@&AfUK$`b+waYkZ+u0bRc1>y6khu-$~$ec5wZfC^4U5D$n&u7jwG$ zpRv?Ejkh86U#{gJOpBELZSt_P049(34`l?hUUUTD-EI-a1J{TOv6i-a`-COtB8N!< zfO&eI>iP&*m4wA$L%Kxx|G4_F!XvyWxBAUa#-(`-?FcoWptc-fOM7=A3IE#E_9KE0fwnLMY!so+XbAWqvWTMmq_{ zaQZDytV(O7KoL6vD2x*B&EA4o3yJx*rW)u=$$}{`)W)lxyLOi|8gp+hMLl%&1r*dM z_zU_QVt5@-B5@dw_}aCKm;JwP3kg7_7>2E7D$Et%1UXL_`;pHVIl~ZmRNGJLS5A0g z45y5L3HK%V7a0Ah)Y`Xj)XTU!{fS4+?lO`#v7X`OtAV(8%gg*WY+e;~j2cTsjT|;3 zM%Rw<`wY;{WPdse@ezU-ee(QKf+r3+V`@GQklF*T^=BCrcHu+8nL>RK}GX$Viy^L8{RwFF$C=;s|y)ud|WgwS1 zG#O(ne;KXJ43AC&>}}mgB}L5~Iikt8@|7w1J}Wg0)(x)S9S&R80(Z_XWPROb)Jz2? zBlt(7&Ss_5mPff#iR?DU#G+kZ?T+(rM(%yf2u0^#ikk2n0asqjG>9_-Uza(MTi@g=svfTkf9j*HX{QkrAFVSc};!#Lp#{>tyD)0sZbaqPFUT%J)iSN#0uJxLP(w-00~>8 zDuFCtt1_=$66Wr*F;-N;nF(z$?8IGzMZYkYW_`U#72EyQkp6f|hNRk5tW8Z;J08aD zuDqJSHoXXZS-xee-+u40hYm*Kw~(}Iy(J{eG7>>j+&@Bs50okBHbLYXySjCNe5Fd? zTzGIs5EQ|PvmYjRVO#xbXYTy76C3}}(4WxSOg7c)ntN@I?a0-m#V-{S9X)YiReBdq8?5y7 zYP318Msu|~ly-1!|6jq29g0Qz8=y}Rc6670RF)k_ZDBL>Nkpe)4J^Qni27ir9%WVK z1K>Kk(y>KLwnj*L;&_03QOSs9q8!I-#H^ebZ$PxElolQA0T8);ozM>9&n^4_8JJwK zw!3J%jIu;*sox9iQ0RHOT$DnKT`u)P>9Qgh3$D2=iju)!%*PJgDfW)3balfU0?Ptz zrgtxhsBih!1%?p!2h3X$cq(8RGQBmKr)By)!<+dn+8Dl`ujmIaj)rTHIwZVTlpwyU zlFLeQf0Bx?YsF1b+OMuX0P1w4rK%aN5r9l2<(VvN0J+@n^rLd(SPHI;nh0H@EvYb@ zrMbJ3pWlZSCv|?+BU?Sm7PXZNEUyj(OkDQx>&z+!coEHgjlSS48(2OcjK0mNN z2Ffmxp$-D0{DQ+2sSfkP#A-Ac45;MjRVwF`x+wL@%7l;M&e%=-riSJ{ z9Tb*SY6WOtgm*`_Bf!7;8R#L zdx7EFT&ub!2o%{<&5xFMgkZ@}b;4ug^^mvuFtv3wA~Tt=tiNdW7aWEI38j(-pd{-C z8F0cz1p6N=mpnR|mFnK4muEdK-i^;ElbflmSyLL%X-KZWqZlZOZuc|)nQ8ucscCJM z==*d`=v|fumghC;MC`jDqgG|hpC~4KPs@^X1Jj?BVh6(A3*v~X@DNrGq~0c9@mEEa zkz{k80G07T$DGuM>tOF|hTuKR1+jlUf3fwJAa*8i8C)l*K*`xskkKZ4@CbB`nv81B zn-j<3I`uIj^zPU*2_J2=E`R}0D1A=~fM7EPu;TMg`hw3AbQJ4M~AU@LbLF-I#(ljm*%k8|E2Z%8!7 zb9bQTbDIJpo7u(vmeGfF`l3dZf`%1oZOym_;qyyX?Hj|HE3J6%Xe$m+!HSzSC%^rJ zF1EpNZ*qb6bd4SHk7MsiW;dG+ft?@7cAwHl9*AL16_~EzOEY}{9qy4p$zqCalvr;q zhALGl#tUm5{gA3sbX>lmkZG(x(i?%H{XXkAcsx@(0%ZS|Q$6FCoA;dhn(LXf(h4wn z`KpEC@(WuvGum+{fXwyiQ0g{dfqyODJ~$CO7;1{R+L8p3^~|&wx-&hzfTbtT#o8bM!(Q?m z-MWChW+~jbnuYcJCDr&Pp8%0U%3KDl>^RgdX1+DIO!LnSeuurazvawD%b`?k#!h8q z^8GbR&(ZH@Xu~d#UoL%OF$BEhHr{J_IMMbwJ;_sps2}A5+f>#j<~NyPxYP1_9k`dy z`Y4#&k5snBN^)M<&hY z&V$6!?Ik=Y(@()`huX`h?mZqrrx+R60~F3k!2@+Z(@$PH?1cA_uUH?NSSLS^L}yry z;@m7wM^G9O^b5-NX+MW;&)Rl548`xmtDORt^H5rt3FnI1-5u-Kwj38>JaFBZqlsBz z{M{*^@;dR=Aas`<{0zRrQl&m&%z5opCpyD%!f2k*yZNup1O5uu=J zJM##KO?K#nN~vCBY!!8bSOhU*DKzGoiOSBn`o=YSrB)^YO=o^PEP%x|$BWAHNK}I~3u;sAM&G z_0&|1?KNE+unSHoR$IGisP)&)KbSx;{WPRoa4@0SHrkTpyjiV=yaQ(*I#OWuR24&Z zv+<(R=qcD%pt<4o^f3ROpY4H>I^()oy>Kc(g@Hxr2uWGbMP5DGfkf@X1B1e}TU7oM zXXKUe>?e$soIh=}Ckj6MhGj@jR$C=0wN;}>WFYA1E0NlgN145Go1|%7%k?pE!rjG! z+@gS2EHhx6^vP?ya3-!#BJX`Ia|Y<4MDF(<@8EeEj1XRm>A(lh!|JBh`mMyaVuWE4j=Su5dMvqn z#ETpwyRaoxp@m-e=0n(P;gjVwmHKmTF7I!NMlYi#L~84#qQR6r)T(O=61ENhN^vcF z8F;_Dn(-r-h%8RbN@UAB{sL<}0qblx@SebEU6!rRqEp2d-vaU8mJoq=f`*OCPE43K z_p!irqvcVv=T-2a%?^y=<*lQREOx&2!GiEtF+G754MwC%&ZX|h3Oyu#c}L-~yUC=I zY76ztF?4hd0pc)}9yTG2^l27EELx*EE%`%{7>(q}nnfBwnB{>DejUVOlT%WuRdg^h zpG=!i$=)xezyMjJQaC=<6;B_#qmvgk#3SPTo$TYHZ_}x+HcZs7gN2^%vX&v4Ji2(BXdh8?{4FHcE7~C`jHy74Vu~#iV_NeP-=+^-N zk~muxTw0?>|6UgkG4kE4^zZTCCMq(lkOPOf zO{qZIQd&qAZ)e53zvlF zCgTm;6wWXbAPQqu>L4^09G%dbAI~m?_U7ytwQt4ynqQn50JQ#DuGFvF$I%66nzH%t zukRMQu>e1)79d}Jebi4LJHh~RYQjRtNFG?bhfSFD#*pKnCr?IFRz@38$Yq)30Gq>_ zEhW1ds43p3&uOxIN#%_sdkc+PaGwjoc8XlJj@l_swx2=Vh)pY~n~5)t-mH`vuqaBG zO2|&rxLB3re$s|uZQTqK-Yv)5#@%pS zpuFKsbW3skW5fe8q(3AitZVjzVlaDy$-3X@EV=i(h4OX7=J-d>Mx04muEuE|#Y0%#Rs>0p^?Yj^MK~N;1wP z-sraZnf`B|y=t8NT7W1kAItG<^+|cB$zALgj8dRVVbUv+Hn*K>9@WhhspK+m{wuN~ zfYvW&jP_9^!Z|2YZegq0_zdvS;k=XIOM+~C)8WRw>=7dM7LXc}y?f~T%muC})7DKL zaEGyqqG`3_rmARjj!hz1h zv?gKEEgup+*HSp;7tB=(tx_3r z`m}?^9eT>4XWU=B>2KsN&{mL$7H{UJ)Q`WMGWYcxV>?=?USA72a^T6A9a*>nq<@d} zIM%PB&rucdH>%hHMrd7gM4?UdM9zrSq`P9Qm)2Qu{IXGs8kG#-R%1R@)|ijzUVYN7 zeE1GHf6}uq0NGKl6%o{*q1{KbO z!&EL^fLkKef}{QCrcQQKHNeUgalN%Zm?lf9agu3LdFoX6R9KbQcbS+0^gU(#2u*GE zur@OCFgzuoLKn{knNe98SYa3j!=wToYV^AF3^LjM*x9dXi}rF)apsHc^=&{3{OsNn zuFbIGrz>JhZPb&A<@{E4(SvPAAb$!#Xj?)nXBjq>lPd_5iVl}n+oh7b(F!fqiWVb%1WP8_tetei}ioilUq&>0r_FZt(;3aN*$Bk*8BY|FD%&{oc*A zP})DWmAd$;j?c!Jwwp=F#yHV4dBnO0*Z}cp@s(XChaE)2agl*9_|^n;xk&>$&6F11 z=C<>yfGzVt)C2S44V_U~GXuOWu|EG%oGc6yTGC%mt_cDN9+wX4#?)D7hWC!=W*e~| zWDB=fsgtjTRew|fF2iJ68{;~;Hv{EqT{TKjHGHOqg>ty%%Xv*k;_7u#|){=59n z&&_;&gip5oVZP&E=A;SX(%i7~NdNH&X4uMCChSmnq#S`Mr%AyKp@Q+GY-F9v8dA_4{Qt6M z;xIshCZsQH5{+=Y2gg7G2i#_QaY6+x+_Wn{zeX%DOG-#CvjJ|Z z>^P{_CVjHYI|HRKI4S9@#3tgSfE6s1V)C?!9hp(Ih7y1Oz@-4GdB!afNrA?CGoAyD zp=`4=WrJ+%;0&D44;ylx$*WgtIImC$l)hyDcKXzPQZzm#C?d4p$MKP<^v2$|m!_^BqIop2GKM{Pli&e2fvjrG_M zKEM{dOkM;)7Id z-Rz@W!3J0WIcqCBzpRdGq~NhUc*<(N%^th%NQcm@lwOmumPnGhnqs?@d_%(Xw1nwk zVgd^HAN#esayh9)Y&FW4$HsnEq1N1S9l&;-(P5!3iASc6YyRS0&R0uufh826c@TnL z6#0YEzQI$AJ@b-Z(|c(7!piR>aRO-9lN81Jd&g3q#rj;`%k0f~BQj`}0eTx_6nkjC zfjjYKE+^U^rpcP2R5Kh?M@v&fOQ2b0Cy!0~DHijVmU4N)YctIY|Lb~Q5$*gC)5krm!ZtzCtkX|WwTI%KC<#!JPJK6+dZ<+X$8|h15w^is zqaiedhFnxRPtz5Yxkx_#{QEzpS!d1W4{J_-07%(L{V=O-HFoZ<)zve~`wzv~stIdw zpzdQ-U$T&YdG{+*U&~te#6GjZwA$EaqM%Lw&a#(as+URl3i#TkTk6>o6YT|Q{aZl> z7l)8m(HpyG_?Ax8Y(paWqc73y&Mew=(7vMz$*|T33bDGsn+$b z<}g-qU19o;_uWeBO3Pk}BAM!AG!m5owZj`2y=c*o$;0I`<#dpv3&Vl#W{$YmyhORQ zbi=xE~O|V7japyZLCfL%y^cz2G{o_@%Y-jXL=yK2!qX@HM*1iBa}g{ii=( z0NH!dL3H*^zd+H?mj}n&ozS5qdb4VG4?e~GK3z*wU1Z*FD>ig}uD;J^MBUnw`Zv21 z1!$JZwVa0pGcRTI4dylOBHkO57-Qa##>|Ig5cy<%fZr55mRUNh0^(k7K#}C(D>qNb z7YY)|9HwDb63M<%K;H$#7?1Qi;ss8VlU+A#7!o${B}b|*e0ODu@?wK!|Gl)6AToE< zUt~c`@T~iiU;@gJYaDf3Vw5~mu@QQatcZ!D3{-!9w2%+3Mri(?S>vEWDNKo6@Vg=a z=8e!(rVpBVCl0w^er~R4Uk&+k;grM=ELW;&MFIkpE@tIx6`*Ypi;^qcmoHPmNvc<- zGWKA2-ae}3P*sH`}O!_U(>UyvCM=KB68 zq!w!Fu6Z(XN;mB<2*@^hMRtVWd@K!wYqc!y%sTqP_a0^Feev#Qatq1997$RABf&bRU4tJxJClinAAzQ`;-Gn&Gm1y9 zRbKm+QOM=N9UYt`N3`!=#gempC;0LNQ3Zt2;ghk+EpyQ-gL?=2z+?32hx>um$5<3Z zG|s4A2Vmp5kg=19qX!RYgc_o8m+Saw&lAC45s=fKZ0oPRVrqBJ6u{d2VvGlORNmTU zRvsu@jnw7@4-aHlhmlD5977S6j7c`$w_CDM2@3eBVCyw^wd|9HS|d6$9$+~VCrAah z$UFy@?Hs(2-l>R170?4~t? zOUg{LWxQVyqDrrvHO1W=yG0{U;~22L%T7Rf<{#*<^23phClP0}u)HQ5Pa2o*!auGk z*D5nFJ&T_rOyM$4TPC((Tu-vBgm{ZRNn1lLQwNmNaI2)wD=ikGFRw0YEcv<*cnmak z&s}ZunRHj&D)SD~52Mk4JW(a~yWV|)vnmO<6+23wxie+k z1|X-Qt+y-hh*W2F?gMeM%<$vanN>QYqwG9j$*Zr7M)Hdx4AL8M%TP4|cTT!(6dyoK zPY4Fv80FLrmB9IQ*g8CnkJ9@dO=>u?9LA-Oa6$oK=xiS}PaEbaL)0IP0kMPV#mbrm z-|);SZy@ZNRt$HS^$Xq!y8Z#IIbP2IDP0P%ks1tp0L@9{XB^AB^KH}AYPNE!SK;JI z-%EDmjmBmu2(Wsr4HQ_%7U76u->I}_Y|)n+_-cAh&_`b%4tXf@F>1BQA-u*D&PsEq z>0JzOg`c;D?GO}i&Ceoz*>BVvOuo^Kr+Vein(sMtiDH$NS{~%;`@&mRy49WZv zrUrlUsyn`Mq~585R@RvR#3~*+J=9VR0Cao?l)!{vO(y`F3YKU!%Yrr2lTp~;1Xt;y|g8go^$6KcVDL@#{!G};|t-YkF8J zdSz{`PYFppx3qD%2H!F;Bm%=hwpEaU{36uU@T7CvFLFYipj8zSyo2+bH-DHF{sV5;N`RGoaJl~%-z|a_PPh3T5u4lCO;BHfI{ws_jg!xHO3z>Cq+0xV^!X76*6U4VN?c++n*f@ z6h7WRGA-XLXrsnPz5BCd_yJiU08d&Iy0h^UdcF?4h`0e^ZaurQxU1Y(8_S8PX;1BL zR}5cr)|CjS=lf)v8|*a!*;8P5j?3oz8|)y4jLhoejg~#i4bN0^e=fjeV%0RLFux(y zgbAtDygOhiZ{uv$sR){HqlK!DDF7@B{5PdK)Ug?RcR9sv&aaep?Y@uhIzi&##LHdWvSM8$5nbykSu(U7>N^BEsWwuA5^b|&b}Ectzg?J#v74n z!-u$ICZ^XNdJ|Khkp6Gp0IWynuVdCTuHLL!XK#CFUj=;e`MX4;56>}P&C3JOop&?g z6YxN|!(jc-Fj_zc1)vjir!E2~BSTRU(}|aoAHk~i0U4{()63Vx`S)A>LV;9@k_6o` zUt9lbv0kw!vRSa#U*0UAy7XseZ=cG{w^>Pco{ZR{Fh=(Gz(q~0b?OCj&fib*d$?9~ z3*G+YrI~{*z!7b2Hk1niXS&?p$^7r1#bP|;3U%$)ZHqqmaV74Wc(6uYp3;1$&lWTg zVH+l-vxvX*6D<-{LYDi~*OiXi-o0fqzLlTK!r~)K4hN>XXpR{`q{kCH({Bpc>HU97 z?Z2|iFL)qs0OzzL*BcL>9;udG|3l_*1`%K9U$crHWJn9WfB!z=#qa!p0{mmgCLCn=ZUgc_$~`;mV?HH+x$@gqr~78__9iosmbkX)>L^x;AOa5a8OFH&uKsDrdj zw@Ce`YW+84>{28W6Go0!d>clAMk!504SPf_rkrADo` zb*IYIZ(}l|JeuBEKZJbVEW@$s zar$ynt(|tOR~7Qv7-6Z}6u6 z0C1n3RKz9PK>o2s`?sh5J$oOpNUlOv0p8_Pg+s`_3m01hxR4izgHdDFGANM7ZtYATNwD6A(<@Q+k-iD-0n~kQuF+%LDP%J_JxkbThJng{+Y;c6bfI7HX`a zF4I5%)f4$QitE$0PV_>SBSrn+$BO($E&VOj9kw{fzs|#SxgdeK-T?W(U}1NF6&vC3 zV8@eBiTZb%7%cjFGuNfE1TN``TFj3U^GU^s`$&X>SfVk%LmY)KBFZsFtiS93E?3Gg z_-o8c2yF^_gMsd(VK(AFn^atG{EUrHs$qY>(J$-(=wYMAtwck_BRWPwL2iz!T=jP! zL!@Rf$B5_Jb2{VFr8ghz)i3SaBSm4LSi8&UkA1NiO$?PmUopmb^M1hB{#&!?fXe2i zB`}KzH2mUTt1_2QFeH2i#VC~PINikvP{{*pBW|U5ahb(xk7mjT;K9dGqWoA?gvbO zCFtCdGEEHB9L%UX@^0MGoQN+G>?;d;QOE^tiC9UVYX&;sO0+roIY$o6g7e3LNojNK z%qL9S^cI?q^8W?e zFM{Wk=Ha?-bN1(9$OpR14h_$&`F@|Ea!`(+#f3gBtcd1qLy;iI^{&>XrB(Bj-OLY6 zNyuu6Rv3^mF%dya&QiU-UkUnbI(S(gL`IbhSxysMp+u9L9qh-3Ip$62DJgTmhbF6c zjc<7qTWTkS@sI`nPFwA_Rk$w!IwGfBoWcWdM}eI6#P>wM-Fi{p`hheQXQi@8)1^U` zbh)oU&R$u_HM1N{)CT=lMd)K_O?|#}>NeeFpNElw_AM>?u#(Hf;zByee_1>*(up;& zQ%9xTNZW`Tjm?qu@0xsr{{{8@#BT{_{|_sQA3!P!V7VoMu(o_E07m_A(Nao0H01kt z6(ao+0v@C2a1|QT1-Mt1c(j9B1BC+B1`@1t@R}QNMfhnfx6^ z)aHK5i4h*=be3B;b>&nRMQ*G3PgJVh&{M18cX*o$8zGAzkl!3ly+C?@H(25DZo=rq6z zm;-P~Nr?z_;$EcB!U5-do8_4xZav$PXxY`QjzfdnRk)%=DEHFl&>sfg@&J^>Rcqy6 zY%h$_8X|L_Bgk=-aIh~j;&Xu(<*TQVFOW_T>GQS4`B>thz7aS%9)W>=8h0q*Hhyl7 z>qggw&Idj!h~OMF^s(N(62^m=M|NuSrJ`7;edSj(*N7NCN#J@~j|SKg?-X!bL9IX% zIF?_X?FGh|K-hK-1~qf+SJBJ4F({&iseHMXTgT$fsfxCVbLc=~>}gYvL@=t-#B0)Q zvvo~U^MVK)ATscjNzx9xNauE@GtJYz!u(^Y$&AszmIuq@INuzvog(Q z3+Qrznn2>MWS z5CC!(yqNdE@0>Ka8(qTX6<|o?YYUr^@m% z$wg@+E&xh3wy4&O1lsC*?pQk-)a~0P2r>D=LAVjiuVTO*El;ep*a=3=B$NSlUi*f# zWNPrf0pR7$*LRtqbMfL!n50s-(2|>K_^SAWa_6eNDa~Oj$|PPe_J?#6{-q=^F6J1f zM5Z0)*h=mEDsFuxW~FGYmon1bK(%GQj-;o&ZdF?>e@zi00JW_61w`$b~KbSgezlad>apV@FKrUxM&Rds7UQ?d0=2R zV^<@PF2G3a|3sf@2n1FoM^N$6IoCZMhc{Z8F3vfLkyzs z;W2y`>KqkX89?V3>_XVYk=b;)e*HOywt*OZC{Pa(Qh4G1tbSuTt7yQ|X>Wf2hDxNS z$HgxW$rAq#o?>{Z#d?|MfV+%~%d@f~ZL*{`^nlb0@4^ik!zT=^!CRh3t2{=J9N%%ufnw0d)G6k!N7;QS!2J%e1KQ+5E={W>(3DBceqx|20sLTx zM-J-OWmC$Ox%$LeBPKXM_%`v)pfO0Yq^VH2-}nU47vrLDdX)mHxTvt^EC`tV+}iSI z`M0P(|L_Bjl4kEd4IIG^Q`ojTVQH*e$d4Lk9&`-T4Zh6Ur_%)GeQ{6{s|J1$$NXKV z*z5Au_|RuS1r)wN2`H^M`G7Bzo;w0#+Yu%ny^`HjNpbQf?23Zq%ev-IZ@_N4v4^}5_GcjN^R|`O z+ne)4so0A1i{-aFr6T1&N$kqS7OxMyrGy%TZRZh*kQof!`h<8RMJYbe{}UM{&>8kr zvj_?50|q_w;CmFYPF3zUL5=D~`4a!cAb9%2@26OlP!0;X=wn~qIz)}^RIq#IL+9x) z-O160sdFE~wnsoPW^DIoK9skLc#)Owa)){or*2BN@ZT?SbR5(t0Ggy!#@*l9vH)iE zDx2`U+wG1)mty^;&rx`)8oO(_p{I0|?79-5*qXLXurH1}TZH9a61ROrw`52+KE|ko zp`*ojVnI<5N2&J*uzh1!FaQG_!$qG)w~KnZB@aMr=a^yUyE&g0jMP4z)C7_j?=Nyc zj>H)AktGKi09h7-XES1^u{*`1r?u(wD?^d0 zNVriEF3-Fa@+pN?DvQI}>JArzS4WdS#3Y!E^**hWr87kk4N#pu4wPV2Od`U>s-eqi z)I(`f73=$ig0t#1FRzJr-0{%I=3ZK&eENLu6~nEssfh*w=lWiVzl&F_KAxs*#RCnC zqpZ|qt@JS|6%v6^d^2(a6LaLt*JU~dl+2vHOX0U?!1YF@t!HBwt-#N{qSzPzH5LkT zFxKho^eUdQ?!iHVG9p%EW(62Nr^P?T#qy68*VZoa7$!4rySOkLGC~*=nRyK!$rE+j z!oi0WlzlQ(n1pc(ycuhOP$u)c7EaBjIAPn9Ua~P#y4TaryuZC zQDS}CS4K)d2Qf|%QEBo80@EOJi?lJvx|D)a@{@jRzQoKAjUea3!m5nv&v%_}dZ}RU zP(;L^pRklaL`eujJe>zKq*W*_SZip?y-P>qtp$VEuEO9VdZ zUE;#Lot_={;C_{LiJu%~1pMBPPRy?Or#b>EL9_R369GjglyX9HMlK9*C`|3>s2>wJ zhYObTrbkFusYlU}Ybz4fQ>D~*Ct%k&z2olKS>(D;4NwIXi~5_Nn9-6t@>%eqq5KSy zhM`RK%<`eX8|5q@PWMRTl*3zIJ?jEV{kh4WKlhkOvA%gi<~F2K1Qb92J{R8d&P)je@3#*7DELH-~gPnNT(%od^ec!Pf zc&HTUT>H~w&)DknU$rOHjtz|@;>J9ZAl$y-3!%JF^a6Tj5tp-+*-P07h;cZ-Sg`Or znI+h2D9Ua_l45depVwATadvY*>xza7))VoGQ9H}Ok>~dJ_cOoBlNhVyb zbQkfd>~eRyiWFspLFM(@$nt5%&PF~mADuP+TvwY*Dhibcu35XX-tb{mw{Z8> z?eh(h$5G05yQ3=0jCs6ysoGLiH;uoo>fw0H&10(jzl$n9GBiLpc`)Moq-q$`f}5! zZKcSTzF0SCS8FP&QCHyn|5HCc{8v8|-^x7Yjs;WZ44!-@_ng>_6Eh%IP6M=w-4Qr3 z6*^isN}IlX$n+QUh%h-SVb~K-5#ZGZFjF=v!cT4i^#1#7nHSUlk}bxSWZ1Vx+Y5e| z2kM3G`)zvhnc(<%ci4**Gz^SHBJ?3LZC)8(D3a&li-Ai?yOS+4TFU&@XjJbrt3k>EX?yEvGigt>>u9WXEWS*pRFlIpV z^;=m#wMX6C?q))7!T3g`jc##Ps1j!769HD}1AI<+vWU|peI`IR%O+tA0p-(N@z2&a zF&upE0JfO>&e1ffkJ&cy=Tu4s^ z>c7`dL+vzo@Rz`zYbB^nstw}=_t6-_QhLG(SeK39yKLY5o&AVf|T~?5Jkq(-6&$#HGlwGX${q-3P>CmA$~+;`ac4f>C>R zgC^}I7fW6kkvV+ym%xbrKK1Fgy2J~e^(#HuDsqF{cUMYwcn0U#Q_@o5DR!ToyiYY4 zsJ%+1@67}k>v?*w>q$G8s;8;Gs+RWI_DJjEK4rN^0u zbNu|y8+N;lsM(`z%tNwsrwqQWd+M}42$>re?pG*!y?>NbMkCO3FfkPC~Cz?~d?p|n<-_A1bgh@qMw42d2@(K?0fsFJqx;dXP1GDtUs$07jVEwvA-qlurN9yu^ zrR~KlhB#03%27NuIPugeEm5#&8e%MsihV~+t+4^}vm=`Cgpo;lfZ8~PS6bXgx3EMk z&4b?gJ~T)Ib&EA=GK>>v*-SUdsneOq;o#FqyNgOz-#}qYE%Z9mq;53gh;K~j6_Sb= z$df*~hWBTB@|<(6$!3w3LYY$L?FY4o5#TBjZMCl^Y)gg*-$p*C7%?mO#C@aOjy|mx zLswYPOH1tUTy|4p*na>dqXvzHy%p55(L0auss5;7LMsg7|AVMo+_EtRcfLb)i_Jf7hf63v!`huSbae9_sc8 zV)^C!F0Wg+_de^Xp-$D`IbL?TejM0s`KAg=RnUGU`hrynMie{oL&+}q;{{mZX2~4n zXu8Q(s{fA&OW}I9Eq^Q(*OXuE~P{>1<)ErtzUZ3NYlNBRbg2bQdg zMw}z**P%J=L`y6>t!=Pie?leCWqW^-v$&c|KQ-(U1uc?a>0lqj$m=gIN02;TwUU27 zrIhY-+xg~^BKt*RQv*y#K*nqE524g7Gj%Fm(P)z3S5RtQD(eY1wCw7t;m=;g;*QBCrq>h|_z${@c;%jA;_ z2q8AjJG^o}Ll~$5<~mBKlc*v2tw!|RGmZ}*7hXD@q~(=~-|Ovcn*&JWYh8;;c@WSa zZXqBZ8)^=+0g>k5rg^~a#Bt?jUn~WyIo}W{#2@(L*y}u>?zM`4_uXtVF~TV)_=`;H zTtAe+q`y{%;p7+p>&WJ}3)jcQ(?WgLo@1Iks(4!z+MnahNqB?oBfqJucg!K@GbIQ5 zAor;@plL^hxx?lXV}r%GYYO6|^?BtV)IVS}hq}#GxDl;-t+s{;jqHi{ux60?;WAQI zA_qA*aKp0h5>ud<&cR07mY4`go4ObQ#MIZ%;6ztoFonkdp7(F*a)t?zRcZ-@>O93? zHO6(24PQLwPxV#q3Q)1Tr2)a*lceF?+hD8S5C{#|&7AKlm0xWaFiz5Th4S8SH&Xl2J^QO4Mb5x*$&}5= zp|(fiy`1VCf*MF-XW=MEpor92A#;^XtfkXyS0ha(A-op9KJWoY#x&!0HY9P)2{>Lp zAHuZfJz3#4q(A>tC(Zcg?pC0R6p%}f{V19i z`V((!gZjwIQv2h9p(v<}6(S^@gjb~Wj`qfa?!<*FyDSx*9wkbA2L{r$4pYT`eYOu` zT&XT!;c34K+S2>J@2zNP82PNc%5jnCsEL@$Qni!*MGVm7iVV5s(Qsd(m3tJCL%zzZ z0zbE#=sGEu9y^`c`=|GbLPm5S=(Qr$50@PKiP4>R3;Zn3#l_D3hy-vVfIqb^$$uZ? zOm&$Gwb=IEh%`P!cx{vhyNcZ}op^VE@meS#d|V%F#W;K6&n!>W(A9mUOB^uW6$#RO zsYNeW$b#>c$R1e|GsFAtEySFx@63sQ6lV&lPQ+_7n5A3neDxP&ax8#EZ&h+L_Cb_9eNKDd zs~x?gY~9nO2N+C*z51`SWry;GR{%zgWK>j`!>L9^=StVcX+d~$8oagr>qM%^@wk23 zx51s6Yq0)5FznKP_@H1&t4xb~b_gcYa}ebgpx;DFIDY+AaTO&T-9`4Z7xKvq$`PY<^~l?Nm? z5R=mz82&JS`BK{1P$W;#kCp8l3!GP^vE{ZLd^VSSwrgR{WKN8I#&wj80(Y*~w?li3 z$}wUm)t?knPX_dhh>yo#97{u=Al|9a2Tf1lOW_9zeNTELSDhuNJ$Be*>V#W-2_$+4 z*J{W7TCZWRVv%cVjkjnTN9e~1h5qb_P?{R-D9b#&Un$vPA>|99wl-KkA;JwWu_`%E z>VrVWTwGwzb3DNbMYAPRcw#(Hs5=tM+p0^2kJp}QT~ia}$ML~Wtyio*0veLZHXG7B zN3ttk#+!)CoOl(2#d^#JATj^Rx2k3aFzZX{fPx~M=CCu;xuv^gHnXL;bA3BC-hoTC|P*j)wq z>h3Jkor|1n?4$yS1BneS3QXD^juTEifpv_Tj;~?#heD@F65pZj+av-ev?`{cK5S&Ao5R7wPAZ4uv7Ask=g$5XWRPy(&|n9QN^kKW zLpUh{O|4-Wb?6wAJXz^y{wdJm+Vus~(Ai|3hXVu)y-3%cJyH_@>GFa$J@mh$c@DVw zQrs_|zvF#Zmi?y@W;L%*b4QfcJ`LUGIjP}-c8p0ny&dfI}y~Wrr zFG&qVv+XRPKX4EmP0{aT8`f>8CRC>=_coA!lU!lzg8#xIjJDOnngJ6V@WK*Sb)P%| zD5z>w_N$G1s7FMV-fFS4p{3_br)FnT>O6$p5WQkw*e`mpzXTrAvk`Rz_pAaf-h4t} zj-Hz>*uP@7#hE>VeiC$9d-sXDn~B#VP$=6^UUD>pJja}|XFV#$$3-d1zB3r34?ckR z?N@3#A0Fr=mHec@>Y^|ESC?$a`?mvMcTrvERgL^6ud&c5$M1VEv0V=@Pq8Wx3iq3q zL|dTVkT8Byh4n(=B@-pzgTon%ENpZcN*vY=!lqCP1_*ri3r13<2nw>KD%U+kPf%j; zIu3E|%47&$54nJ?VbHUXKENOZa<*&fCB3WiJJ~e}hSv&Z zh_#_w#McN606_61(36|T^0(*|f9z$=T!{_grDhD!@%Qg=px71y+K+WFZ6;~tC)eEs zWxLi)@a_jkv2(I?X*gwVfqft)e6djIxp_G4`(`;I;i zNRUZx)8ys14v zb-WycRh87(1|e(%3|kO6^*g=a^pm>lj+awXDJL|dkvOCfYiUQG21fgmchBn2Fad#s zrnmo(sjrS|I{f~pL0TyR2??c9x?7O$E|t!K^k8&{C@9?xqq{~5C@GAt5z^hTG5F2T z_w)Uo?;qRFS)Q}^^W5jY;@@5lXTMYQUst11euzl147*v7Nle8=Dw zWpW^JxpUBM(6(OA!m>d z{Yu2LtCjb6q;G_WtvQ7E#mj43L5lR~^Qk|g@fSkZ4kEPc_e?V{zlP$ma6|HlF$&#W z8&Okz++W3T8n;As<*nN2kkjyewZ588^tI4D`%cm2D3eAc{vd&gr6OP0n%E0btI`YW zGi~O|rv1^ysh!AASre$l7%H~#yXl(@7Q+iuq1t7GZWQL1XL*J9jR|kH#cxk0fmGCL zeHUHUGI<}7d$VM>*a#!)t|+OuprL_CsV&U@QHOo+Qxn{BcCa5iiNShL<=DHRElHB5 zX0F6^Yv2bv1MJ$3$wwI;ww1nl5u4(lxQ8X;DT+X{+{wkcqaILc^>b%tiG}rsUyc`}?r*86+TvW@jB%Ar%ob(F)(vl&v}X)mI1l{#ZTP38cCk5#cAh=e zx&G}*$oK)tcprrPnq6$JW!3j$ZHm_8y7crj)@0V#y5@IG>(mO0=>^NAlkoyS+B2}< zQ?=^-DhL(`A0ajK{8`+uphwB0;Q8zs5C2(bJn_$nr`zmA$~eUFk4#MZ4@=)|$*vfc zi4Si`lzm#$`lO=^`ps_1b;Doilmi{WT8}mp$zIGxCdOgt{YPSb3Bm zVm!*YjMtqA6wlK5svYIgIQ{|nwbG$s<}keZk;<|nwyMbvHoPw8GI&&;3dwOj;HsBy z;?kTc{42UjnN*jD$~tSwWw4`Z@w>uQ9W6umn#6p8#_h+aF|TZH`@Ya20Pr1bQ`I=7 z$1maO@lUZXi|dNRy!3OZ6&pZm)<;R8h z^B@AxlcM$)T9)^RTs*?S_e{b5Qe`;lIv5*VUpfZ42v(O`F?E9o&ipZp3%tAh&*+A- zb4*CHoxXdd_-FKI&nmWN&5VLWx>EB22pI z!{cCX%ZWV|Deoyr02O5s^i9Q@f(TH|9fVl^so1y+g1mt4qERa z5z(ZeLdqAb?$m{i)>2Xm7 zE}o&=v(0+JFV^<4_=ycqzD0^vH-FD6iDSMDnf|<@LZdDQNS89CG2vHX(Hr1*qlKY% z8@Qy!{rIAoAgF%C1LQ9kqs9t(_T()8yxvcc$;x4J-w+3#yvm*-H4+oQnwFN@UJHYZ zs7flAtxPEfUv|#bLMVC~J4S`nTvTJ9f6)fV}36E1eCwS3{w=W_TKowTo&89b81~X-Lb1Pax@VVjSGHJ4E5C(2Lsr15|ztfw2GT?R|wJvr!Bd%2afHrJx@G%fOE|{K4MQrLErN3YYqh zinX!c#rfK7AxzJC-aUChU1xu+aS;v)86kvwOnFsa(l9Rcs&CrjQG(i?KF&f zL+-Hj#x)IGt5}X($beZJ4tzg0U-=NI{yg5rpYj1u-%AoKj_SeYf>`!WL79=3N(vC- zsK=X$mx=$MvQMkTV`(!x*@*LkvQ}2;6e(pNYbXFsXkOIHJ|C`F(~1@ViAc1IjCH*y zi{-6nfuK$F1(vBY&OsFW%D(ykWySmDq$%!+^TI7XM6?HcrGGtWlZjCSUCjl~oPRNy z-;t3J{nfiyq5={ZvwJZdrF9*vQ{qmsh)cn!x`Nt@N)b}>DTe72qi~J?w{Ldq!>sg0k?$m^(s#(C)y-)b+XM|9%IO}EUyw~Yk`yQ!yX8wK8&M^^JK^o;Rt9*w+?|at;;+%}r?Nr;jxH0|GC9=8%&&Q(|zO%nLpA zY#NRWmndgHEX+hvaGpo6$0lC=GWz&i2U_CB7BjL)>6OXwErf|I}k(<>uZa8U)0}e!NC+LJ_M%J8AhX1 zMorUYs^zBNRCB8P%Iq%Cw6%*FgAsG7AS=HzRLpI)O%cqDol=b!0^=|0)}l~*rPK6| z-6A5)cYW1VQ(M0#)}QV+%A5qWxihHv1qxOFAdM!z+0|W(Su|V|Va=sf)@lOvzs(YK zlN0^HBSkXsh4=RYDbe+Rktt~a2451_d?8~RvqMNIi5}KW=uNh2h6hBm>>~7%gJ2vz zNdi47@^>9U5*dbS!8Kx@^JTOmYkyxG0YyC5k~{|sX$ff_MX8)~zcESh?`M{#uzNp6 zywQJyg~VIpaIUshEYFIKj~rg>#8WZMgsJ1po@Ss-($gnCE(*NHw=n;csg{1vIX)?y z)U}=jDw5s(BQF-u4gDWK!35;@A{-HxvU-VCI1$=$=cm4Y)}+>nCUvAW%{VO86zE9B zudRt?tCAeam)aCh^c>Eb7T@yI%cr%Y9!e2Kvl+kk83fygV8&u|0 zC{zC6UiGp}YoklJg7Fu=%GU~-=ldHuX3MSkfo$x=^lV~Vsxc}?=#=@y~d;$M0*U#Gl^_?c~5Gtjj}>eK&RufM*%j3a1_um_kOGfvTdvAnAN zG9k-^S*Jy*V1BSCmKR@As^nQm_B7C_p(2(dtJ6*6;VnzdLRKHjfgw~`$`t)p;q|tR zGA_I72L9h2ubBo;!dP>j%^k6q82`&TxagFSu}F3JS?9DrWW70HFhLr~qR%#&&{t7f z`eHMssP0sXvy>Se3vrsqj9_CwDzgw1Db#)qT?FclNTYV-`Y!kf3irUso{*BG)~=q} zqTKZVM@eOS_oV9PDAjE8CHsF=Gqwu#?-_m5yA)4{^_TEBe{|1#4g_?D$sr6Z70K^i zxZFaINwM917%@oSk~TTkBfC_*hSsc7xyz6|m%KEfM7&*`k#LFk=qrk$-cO=6;cOt*l?3gTXSJqFK~)PCE^aN3siecD!E!$&^^7Ydmu5UZ~Sm z`DkND;^{xSegL~yt$w+bL&8sJP7e|^xhwaSlzhX2>n%DD$}XBqsUWf`MDg?wMP@3o zVh*?G#*eV0NDtjwMMF8Bcthe8yR2xvFj~xlZaP}(+i%L{KB#)2I80QwEtKZ%bJw;4 z(^}m0!y04XVW=yU;3M&;XGR$z1Q|cl#2lbc8V)Jq)U{On@cwiX>{Vl^ePZiQ|KQoT zW*|Awb99nJ*2#e-e9~pLKXEc= z4fkhwN&kOpNB&ZTu%sTC@7f1D^D((k@6x|Gbtl!0kq|q>kJ5y+D)i?aHGOQX(sK*d zdA}fU{L=CFZWJgv;mE{Q>{s7z-ux02{TLR3_ciC8 zx{@%x9)Z#qbD7fbNGwEAn4*UtC8k9fEHs59S3_Hy#QI2Nb?<*jjl z75ibZKoB)HG()%ixAx1zexg`IZS(kKQp+bfuuX;y9WF6VEJJIodr~ynry7ES#bM>x z0X6x9p?WA*aGHQz??D~GjG94Zw5W%gcKV}q$krL=t0aGUPOpUA>R^gCtWR`Uw~-vQ z*0n(Y{nYVWmc^Xa*nAeYqprCx{bxC*-wRqosKJe|qfPan>>G%!PmwG9UF^Tsyy7jJFs*ZE z4qT#@>m>XHK&!->UEI-<&o}pSrb0^GaQgUdOCV3b!XsKmBxfMkbi04SI&>J>9m=`ewJpw{%$cCLGs4hJ+517UesiwtH)T-}+||<7&7WOp?1$#{ z;=9ci_<2S*S07}HnL;5m9i~Ovv$|qHH4vg=@gKl-gqeAQP^CuuaQ46G|26o(!APe3 z&(_|yM{~z=#Nt@Mxv1K1NWCC=-41jU{+1!LCMIY6MkKA*Az_4-6f9G#@;TVkJgg$2 z)i>h+{()eB&-Wz|*O~>g_JO#R^*v7XFdw^ETSh6__N9QQJ+4B|4b3kVBZButdE%TP z=7FNB_tg1f=I(cBTjeZUmSgZ8$S z5zc+APZq*YU#fNkRo%s%q-4l z{x5H^xEz4a&Q{D}tYd1qH+NT_M1sZp#}&t@+dcp_?l-So%4>XQTFo#UJ|h}Lez)dQ zQK7XP~rKU`HVJh z39^)Hr<*rot}3VYAGpSO;NqpS^F*o=3Q|Qa#|2O?r#H+J;>Nt7pLUl*r}ur#lhofT zgxr7EEeejw4$blr@m||bRNU^54Uu%RiM_F{N^cN|L-l)0yn$ItznKeY008Im=Q1wv zpGUR?m1jvw`rJc!7f6qn>k+3j6tF)hKjE~0*0=C8x5jww8Lu6XUIl&n;??%Vr@7Q} z9W@r2AV;U)Bq)i$y)rlD5YP5&MvmnlKJ>}2=@lIxalrOSo4a3z3~<4d!XW>9|NW*m zVa*AKdl!BxVh5aeSU|vqolDa4nA@h_%7oD(ulDtePy36R%PYq)KBq`~Xub zK}HjU1_fS2yPU*b;Ntn9f{-=o=+Wm3XC0g`I>jKj6BFhj&olg%y-r+V7yt3s9Cksv z9(PkSWF%&u`*FF`g!yAtBk_ilVh2a4A>R%%T}x9x@y(q|D*0_W50&fxGVEX1GA`eT zu8^=Ew^0S^4D=i z6`7De=H)O8n|5lbTfgAxfr>l zPAEcn2`>HGh@s}t-1=vg zq*+c2|JWgBW4DA#n@6BQz3Pvr@3sb#=tys${hGJnwPV`z1rG?#IjfP#muQE+5ot8bh;p`f7@K)XQbSsh`=(g=d59Ti5W$ z@6qWB)5D~?fqFGV1Y8l)-irRnY=K8tBNwrEH4il; z5xrnIAAgw4l>TG@`PCVeZR$_vu}Nui%zS>j6|(hvcq@72;lwIMU^;rUaIz0^26{m!{V zkM*M>C%qh4mT~1sv&&6i9Btqx49C*p;Ye`Kew<~&)l_t(M(QpO*IO~HaE18y#M9?R z!CeFbm{~Y*amhE)7OxfUX!WV##PKVkYcs=!UtGmOhx`Ysm>udnQoiHY*+H(=Q$`Qx zkW^k?kO9e;4AZScfSC8V@I+VFzd*9N*RHj7(9S5qZ|y0K{rj?~OxND;>v05o=GqTq z-kV5ST(VA@z4Gc}|Jl?xt}_bxgyumv^?N6}mji?mIRcyRi|Qe4k_sdMSvEC()!htU zSA?EZiPg%`?t}Ktt0N&vtyxtWg;O=`CI3(acMa)TDj!<+@O_w3~Hx9Y3UtYg*Wz`USnfg*k5v94x_0KBqc1m<)4zXJ%O5 z3i)iGJG{!l6B%IFKowvs^=1vx(Mn`nI z2UpCmW&8ln%NV@tS7qm5n|%@V8=-j0af0%t!Jl?=7)5EDW0A_Bp<|I6QT+=JGQFIV z@v+41yMy|e4M1^aS#n5r#a>i@gVDPQ(iOrzMV*(yyLv~)gq^P>nF|4YO8r90BfmdM z8)E?!vA4_twvU1z*HLXIL1Y$v8e4k_;15tn2o7EWW<;-=WyY2=zy>>0s-`z_e(%zh zKe;KB*fb300BfGokv<5Eud>12T&>+#e8ye6^e~xw@G@>S7(a^t(je9L2CrG#8In-- zSR;0jw$3f)R@6%gDW_ZY?63LyJyZ)0(t6I->6LND>H4_VfS9*mD&2!-E=?atz}z0^8SxZLixXpv(1L)%E@|q3wd$0z5mKI2N=h$RXW$drU=_o+DlK)%A9VHhSjCTMA&c_=f8H`Hb0Nos)O=l$3q3BSMBhIcbI=5azT`w>f09@oXZ zw_D$P!ETf7wo^CRa;NV3e3JHmI88^sLX+{9muY3 zF6%1&mB)vF$(zWyJeREA2b%_sQ?V`gVyX>N{8ypcXz>}Ua9oo*4GG&Roi{_M;;pGW-j5j!$^nR%Ph{b zzzoRV$~QM<>9Luq8hoXQp@faWZ+$~rM(=qa_qOmsKKpPZm@?dTsukR&d)Zg;U@!z> zO!rRjMzv?8(wTamlX5vdQq)_*_~Y1c(FJI1z+1e(^&a`UeIVhrQ@k1a!Bwh!yPjF3 zNvtOCU}WkYQTJ^*lYqwk$P-e5S=#XG8DW|*Lf#o#5IaAOicTiQ+J573=y<}1>)O_Z z*MfzHzFESuO=KtMp$3RPhCixx3=U&%#S0ympM89FwFLPH{5Cd;yp%!><+peqd+{uO zbSFBz{BPnx!RCIdBK!T6ybtO5@lD*6$LQgS95(yUs}lsf$d+B9a0Ku`n1)N$*xIr~ z2>{&6M>F-rKlH|(%#@tO4Q|)|GXAw7Q){fA+_^W?cv5(N!`1~~s*wG+^g@2qz7_Yo z?~TVCDu5OaXL9FmC)=Y?bD&l}E1W!OYRvl-M}KBiU?#Aoyj|Q&&r`+g2n>vXbUU9Q;F zzV+Y(*$uHj9nM_o(91+_7bUokJ!^hR2xeuZb@fvc@NN3+=;e`Q+!$)5bQHQaOFdGR zWo$g=+q`9TL}R<4y!h=<7#|%Jtw}j%vy2LG8;r8Zp zUucC4v+qqrJc}7}KzF0K;2pEmC=gans1@5-?z(|j5Rx^z)%OnAVr4ha(ze@!*At$t_0~_8ZK89DuB<| zw;b8&FAor%Oc?d8W+5#vu37D_=_VH<=DsvE-@}FX8}i(90cM#^w*2%Zpv8;op9rT} z=ZK(;5rgYmhe{<`(=j}Xl}oz91#$$nos%J}xm|bH#7VHXjnj7N=}39Dktf82E7^QA;?D(5SH7h+>&GS6>J3-Xo6C}=V>ay&xCyrN$4>x^_)EwL5*SLpgZN&pQ9TT)4p#Og<>!?hncESCnlwO*zL+{(0w z1ts*@Q&V*g)ph!afFx%c>zHxdVn&@eW1qDK$G%as3(Qv;(@jhFdRuYclKGfPip-#W z9BSG&ZLot#D-W0=>|<(AGnJ0^NzKpYpo-ls`jNK4MG;>IZ$GEncbL@KII#jUr;xV* zwesEFew-^Ppe5yVy#JDVuAlY+dIOGN!O%>m*E&#fWNy?Q$jt2umD!18#rfntMH_{G zB#0ZzYgn2|KQl?zL(xMGwK0#A2}_f84iW~`>-{| z4!$YTKLnn1+FB3*5=D1vjFzQaq>_84tNVGqs`FuY0OwW9j}$j57h^3f;@I`{9;;nW zXFZjx-epjsZ!ovN>B0L$jcpzoti8hTZ3>ev$2&g$vb&tF zmY);b5gx_a%`$v{C3~_GnJ(D50BBEuZh%1y=3;Na-MY?re~o2eba1J;n-9JODO$6c zFd(Mr{3V)9NYy+yo<+9Q0|~E@-)&d*h?m}Y+uH6z>cr~C*cYyu?Y@xXz|oD>w7Gs9 zbLJKTZCs87>m9tcsA*_AWS6Hwk9bq>v9ShRmpwuW+XHGT(a-CkBl0Nzs3 zx47L*JMm9A&v>w18)pl!awvf++}~pBP&}V9`W`BQUyhY&>uvB}GoK;>VehQ6shM5v z&_v!c*i*kOAXJ&kjY|Tl_Fr!kDr@$AeYngl66nF0bK! z<2IS961E>;=k(+!%M3J@IAg)gs=IwIX;R)rs_aaSJ7K{E+LRQ?o5T~hP}Ldon6)<3 z6Ek#x_HS{>_Ahg0-MB-EtF1^oX=*M)XPHn;0Uo0kR>(7)8UevZj5qx3NWo|_(1C*R zbjASNd_hAK+wIg_-`slQ74Nyc5FCQAMu|#x^V(E$y)SsSDm4ZO0^OF*1g^3Cjy+&t8$61 z?%jay84iB2XbR9;RsAJS&I>`S40^L)%qAxvaha2|_#k*pw$sIL828U=Hm-oHGnQcVqGJxyeVifX7ieD+&rs^8Y7S*-z7zA?z+BP?a z_xIs^wBIl^c>EDQB=l)Brp>g?dv_5*tF6m|c@rs@w+7J7)4KwV{JBxI~t2*t*6JP{jR9}%=VxCOe zxFyf(10)VII9@EyHAT{^?V|VADBuHa4)Xh{w{UyGgL4dBr+;@&cHzO^(B_>LzO$dD zFA}h71Wd!}Kd_}O9uUg8lVo`krMNwT7I|(hB>syNp}Av|3&Bm(d(xMaCA;xW$WgR> z+}}YcVUljjTR@; zAFBoy4<`n=$LLoKAG z*olzG`rGJc8_^4Ch*4&oxuch3;Ckfg2-DSKWuUZ+(X}%AJTDnKWLjhn-*eCZJs6KA z+l9>x9Xo;iesW$fsrwFMAa%SoYcUcVs9}|tLGhUQ$-;YV|GDzWBr@gr+hu|ERO;B} z=j=fzL5&IoO9HM>rk{>gR|czUK3l?yqch(<2H-+7CB6I*Y{gOIPM#qB=rlUv2`V^q z0wo?uuU}L^9r3aaUjF&$2`d#lkj8&OY1?tx-fwDX05My1CDS)Nxjwf_!V!M7Z}?#v zyr$oVNS%H8KVic*Bni95Q@2>yjr_f1%igQ)+1Y+UB40;ReUd%Ti^_#BeSj@{gIvk{ z&_cGwj<1{mdVENsW|CP_l12XlhmxC90T0KrM=y|YwfPlGk{6fCxV$@Fl6up z96p$a#O~IUiKX;?GNIH2P)8ty%ao>M0Yn=CJR9Zd)&-bvANlLC^5wMP!Y-3&$@{ca zdMZmU02iWd+}t>V3|97rm8E49jF-+}80S^4?cgNlQzHAl8&=m-xiC&K>8oIIvEAY= zoF)k!kwz->PyA&qU&>+Y-aEPmDau)cwz+$E*y?*Ve{^fHRUL}>PahBmxZ4i`@ci<- z2rsc@c zGDm-V6kQ-78STI=TNeDOm5!uJL$4bd;?u<@lvjWKsx^hp-6ZhC=JwHWtl)So4<|Jj zXZ@CXi*$!h)xMATzIU$2@nGc5#G4Bro|)}}-lZ;hDoG+F7z2h6cNCvCd61ub?a*T1 zV?IX#bTWn6tQVK)S9cjw{F1gxUuN_z&Q3Y-k#@T4ooGSi@Co~k_wPt-vI2W5UgP%0 z8@5+ZVUDbc>%i7Qn)B9i&BpxWh zr~8>#U6)axgrwDMbvn8fSa) z7A$}SF_kXqwMY!FdMtSfchNm=iy1&s_R4!)Ab-I%4|Xg8{;37BQrPBPAn){0x^s0s zd~|zMBZIHlk5>ozK9kB+%J?kdZWFgU!6MbUa_Fk7{%TUb`(Vx%-xAijfIwjgX}^W) zC0>c63QOmRUm6-}208Sg=hX|Uhn}1Ft*Ocd2|0_9Q~I5wgt4F+JznsM|77Gr;z)Hj z@(`M+2m5P&ft{)0ikp1_uw0h**?x9i1M&C_@2o+-yWC2AZ~ibS$N`v|N;nd;J#ada zn9IHKLYi&b-=J9149Si*qJF7lvPd}~g_eapvZ^ac&goF)vC24B;7jp`%03C28l5#m zUe4XsPg+(Llip=KG)_=hDp!i~v`@mI^p$ye-MK}#zyFoSxhUlCRp;!pya|_t9i@|O z0Yq}2dRTjuc8`hG+oM;rlkdEk=J$VgR%#`D% zvn5tpHi;N77-?sHaC1`P?kK_?cP9Y~{`uoIn3aav)i?T3e|2(%p$~^Z!wOHGWr6Zi zdzo&%A9E+S#~K@n4;h}NtwK)iwh_RdVu6{Z1B9IwW+aM{eiV3i>wuG7zZ>3agK4_8 zFD{$U#ci1fbBdtYXdX&|xXkrOrLo>;ApGrwxsGyO5U;LNT3!U0*vvSrxq+PYz^2DR zbApyRD2A~ZA#~5JpZ9w-sK@`t0i4EvlJjZSHzgekt7{cr*EGoLfZsl(Us3ZkkMrJJ zT;{7D_@DB2wk>hkCi>f%LT)sDobsoC#p^riUu_2klndP;{^=9ZqBlWIGGj6(7bMH~ z`6t)gf&}JEW0^rsDWbm%EZMCNu`khB;gZEp5qGmUA3Uk!Mczb|STZzlx%#G8d&A`0 ztF_)Zg4&X=sB7qh{${2y+%9_wc2I_CxNku!2-xuP^sm zvVc~}!AI;%O1Tc!|Mdbi#RGh;2EoMLd=AHPpMlcTHw@tx7Q;`7+s(X`Hta0-I!wsF zn#u5DJ6uPy1R;`ADiFKg{M4_xnZZc%!63V`+E!y9=nGB4U34yldo&-?K7gw?=)G1o z1Umhv(;vET#+S(;KAH|`-P2h?jsqRst8Ggt#ZrL2{-gi7DIhn)tXyJlG#gqw3{f4T zJgJj@=+#rrGC$vr*b(BmrU7{8UwB_^gcv8(Gzy(GAK%RtFLW5UTY9RBmqB`gm&2i4)=FV!zZ5Oy5N4{i- z1eAL7FqFNpwe39MkN7mO00LK^m)@Mf@{NCWxQ+qUoFCR>t6s$N%#@Lkpx`LQ0y=s` zZD{eqWoXr4^cAw;(SB6!vFcCK;G4^Oa7uIBgU=kSG>h**Owo!DxS%g95|IOcpq(kM z!e4PvY-rs4;y$o%Gqvlh>?xg~1P0OgPa;=p`#_inpF<5X3+X08lW}S|#)Af5-6ss) z98VLXIsZqRMBVlL!u}TmI5PWjiGbqopg2k}yeaq*FgnXKhEjctHXEH?B23%Uo9Uaq z3vlfFkF65g!zg|ZEqw}j&Bguuqn zKebeKP_6DkT+-GnHV#>bZYK5vj+~&h`*!MC2DLTNuv+gSkv$GDFW#y`E-H8sY-cuX zR{_S1bGy8claD}#O{T{sZ6_#-F|fN!@;2|{8U)1SYeKAzWckRxsY`99_W&Qii#tiz z4t4@{SU+qo8Mth%{z?jQ7`7}IK~(3Flz7tx#Cf>(-^BVH52ajB+{x zNfzSPwj0d!Q%U}uyD7FMNFeyh*;<_Xbbb-9sEv1c9jWySxu|){0p615bHI!EuFnXc zihbBdsxl;~>*ipbWPr3(1+O~ZojgHsCr&W`CnF7(3BqVEof3)6A-Jq(DYoF!jTRF7 zvSL|)TXQ& zIJT^ilT|ym)WF~IYld6)*|!9I+pm8qFM;XBrW9&f`m&lq938wOiaiW@g6bGw08Mm>!^uRjGE*fIVq1psv5;&5*a4 z2B`q5vMqOx$5GN=l*0+RXPeV-c@$hczNyLPawo8vmlgoxkvOyBo1cx($$+zT(- z9TTZGrF(yjxk8qBb9XL_LSbJ%EScAg?VlvOWJ}))0eEIU7p@*!>>LS?n}QC5TKr8x zj)5P?tB~1onXH_%`JziH4L1TQN0G&}w%sod8(rq;CIGGa+^?TIlg#iMW!E40xTdLp zKB$fm2F|_kmDo%hZ)@Q`&Q(5d5qDsygZUD$UC!-wv{TWIITmR7`Nk3K=4xO6B;#qi zsGbf_U1=F!fO#Gs0xV231jsw5J_jEJ0oqfO>`BIc7C0??H*~$?C^{4`My&3O-G|%x$3gjR93-Tem9k(qb42iNn~1jNVqRRi-q}jQ0I+aQiBap78WBJl)~d z#cl=7`l92gIq#w4eFb!%=FVvy%~9dh5v^>~jHMUsehgat@*hT3rtUxS&?KV)m&l!e zefMLlt&mCw4{(`}F9So;x2Mt}Sek0zUGnFY+7n|y27CD(DNk<+tps+z6s&y`8rII+ zY)sE1>kc|8pf0*>)b4%h$L^cI&_Uj=ElDx>=kd5%Ph)vX7Jr`oJLL+w1ss_s^95(q zi-+wesYNqS^|y?C71fJ(sfmBM)U#7YbsoVM%FQSC*qsFk$H7L1#QVZf2h_@&Xwew@ zGrft=?(()l-L_<*tnquUZ72btdl7#Ko8OC_G{2=esDi>?_k$*}`v}1x-Qx>>1O-3h zE{%c1t(ZE5{5W=;kaERbm1aNT!p&Y2T|8T9y}isO!{%7f1U+x7!QNJyj9n{)pD3V~ zNan-AeV+y3dY0&&|6>L`q>TjYQRr$g;&sQ9N5uH@1*Ab!?BsFilM4^cr|2q_irSkw zmi0g!*%Czq2G6ZN=47utcne5391*ohIb2o7?1+J#8zQsKrMoU47*D+xu3B zoeh?bW6z)(dwCuYM{$UqPbtY)uE2*=S$^q45`O@L35qJkb&o-@G1!v6nNG)tM>5Es z%9M8~{n-E5x8eruKf0uvscQcd@Otc?o8koKci+>5U+%q>c9bJ_d5-0tD% zZ!+&=0Gn@d(CkfC-=MKG+|^LT0+#Abhc&fKwRITC))2_*`-7Sln@CZnffT2~>>$Lh zgW4dO9x``+3Ccq#n0LRkL?d7@ol^>$X~&%=eC}X@ueykHE&tCtAcGdti)TN2!N>3K z=yb0zBI@WYo<`yKMv41FIaUq+yn|mgUoTkVhS=+W->!k-K>r47>+hj#SjuMtTjI%n zzA=@ihf`^r6DOf!apv3@9?QJqnLr3dv-as4Cwt;I&l{gKL3#8=^1eGYr{4+@PK}hE z81L|Dv(-#K^j^oAx@rSnxTJl2HT?>^iN}STplIO*xzYX>dSNIjuWQ8hgM_S%n*N_a z8ec$5`FOXz?a))27hcHg_Q|%>Z0= z?6=sbOr3&b_+&eNioNLS74s6@JvmX86A;o|x1N-Qa_1<{zno zqx5Z$w@6&^vA+~mP99p0ZTTnFE~|!to#uEBBc>1V&f$H(3C}KfgZ_nZpC7u(fp@)D zO-|B)?RIRMC7<75DKk{FoD|NAaUq0$rrUUxklEI^*A}PY6DuHO!?TE#naKUUt(u^- zo^hr2E99(sRNz$BqyCA@r0C5mN^+Q0z4QiSNb`0FKUnOFE37Z?`h1$2<@Bwj=9{=h zJY$zxw-|G!Lexs~`07L4mh6OF{061(wuUC8?f|*I#dnb@^+vF9;39#vj^txO)IpOd zM1<5CE)@Xc45u*H5LeC=@Fz-wUR2@wx{WU1^R+?NYYbTUL8Vv_Q}*zg5qtX^iT>bFb$rC-gPZt3 zh?O@{%AN}ChrN@syW2}oHMe~xet$NGnI$cP8P#=;2(+*xGTZA8+v{)P>zyYKV}vu+ zekM6u{O=tYEdi#I-6Kg~0QQpP<1Y=j^`|no;k2aAKzsU!$8?6T7`VJ|AO~xSX&xr~ z4J+4a!id)`*Jv8uWEmJ;NIu{=@)PKBw1%i_`vp2W)@Q~%V=lq4Ee(F%R^vzQR>Ou@ zI7^16u!(lp>BIbtmwf8MdYcf~jLEEt>bfKQN0-;HaxWXB#=Ey)gI%G1mgQNHyY(0X zUeSG_><(1J)w|(Im(oPgtAMc&)na!|4LMz#6UUELsYBf9Wlm<;3Rl#0N^^9M$tk^f zLfEe;LZ`iwESUaO0yEODoJ4mM`}AIpfwaeuqxkqW&i@px^bR{FQS)G5ak~9K_TD?5 z>i7R2=XBx_*%`@RQTCpP$jr*fR& z`r8$72qslTMY7Oh9Bb7N=+Ag>AOwl1g5txQQ)}qPeofM||g6v)~oE?@NbYrwc6!d6eDCHzjNzoau6VWsuQ!vo?PNE^d=QCaSL)Q8)n^ z@$g@`PpJQSH6;FNYRcm67G00A#(SZVr$~?81V0@g{HY<0`0j|q&Y^E|>3-9!@THUm z;iSE3MaO{9piJX?XUju}DU)X!atgMtDAUE4lU>UH@KC+oS+czd{~CP z1|KPL6E^!FUtFv#_;|iuI<4#PhV>CFTg2$L_}j7<9+yQNajoj+9~Iu9XY$f5I83iZ ze|3fMX#W~~IiIKnp@=hG3k^L5>O6vF&ai7X7t{O;E${d8|C-VL=()I9QgCyaf32a> z>TvsoChMO@y}3)v8(9H(rwvtCZ8w`=u&RZ$ch%jR#)S$X=r*LCeS)ue&hVK&>sov+NsPI=#rOp{nwl^0jF z*nVarC9+fUKv>`l|3Y(?!JlENx{oz=jvKSHm<>05#b$llY;@0r#l8!4Y(wd-d1X8xY` z-jh$OtP?p;>|TPs!;W9Q@f7o&U*icwRaYbbm~}1e_B0;o+EW`GJhR#!?M-Vicp)N3 zb2b9g8~+{HO_@+Pa z9TpGV;W^NMNJ@GJBw3ul4m4$&xnu{ox@_=lgrU9o-<+)CcSLFqqF)}wzm#Hs9lpyb zFj8V{|0CGo#fwU*g(sLjhDX4o_c(&|EnLOd$2EiW56){t(4zt2SCRWFx3cu_;f<%8 z$bm8RWHfEP97=g0ozJQqkk|ftn+o;Sm#|Dc)1QI(W|s$-1C~1Umufl5>uNrCHn2a# z*HXHL5ZqF*tOo`Xv+Z`X{m$vbrcOauhi{vw1&mUtODe8Z{W>i8__4C$`2&np&y`S` zCw1RWP2jJ$o|N!!F-l-3(@SVBIn@vC50to~e!LYmv@)O<%&f4u2PLM;ZBjH+ z-_;R$mOt+?`kToKKOyW0gYX+sSwer9<%k zHpUb;T5jT=f_t9tpasKt{>3kUnx>A%x_hsaqqV{i2tN-Q8z`4NR1%a#3v2 z*Ew-JeD+}WiivxEf#hg56K)QJP?~spt^LRwPu|o7T8tV%9FV}xZ$k_{etXT$wRbM$ z7QUiV)Vp{#9F;s2H*e(Tteh6V zJHPGZ<}dqVviY$_vIY-hgm4CMWB{>T>Phb)&|=c-rOarle<*>DPo#Ko9uS`fQ582N zafQC;O1x+0#Xx_QxKtrn&H1u9XB#@pw-lho-}hMZaXEvRogx)!D{F0To7KLpyljD|!3=l6~h$>u5Mda4`X6IJ8&V9Cp@d0GE)uRGR<- zBhYJlIVANolyCf&RSMn0&5IX~Bu6X(VQbD$J3j$S1E9=%ws8gNdrQ`yG00vs;xX8t zRa*Sh+1UVwfjaaoO-wsl$|NwSp{b6@+|n`_Ww+6cEBpcOqcYYkNQAm=G(Jl`Z=`Tz z0TGSLaF^g2#A`fb3oFkMnpe|TfsN){+H)+*A~(U24EFwg&i^IGRW2*=B z+^e*zmg-mZE#oeJlDDFT1|K|i8=}0N0W+m&EDjxjfFZh!8916bqtf8L zXQt*DKklY7UNH=l1JO2KU3X^yo6f#j+z=P8r>M%+BmFVF0c-!z^Bxvh^#3g1-~VK3 zv@|YT__h{hkiG$jHV$T^pe{1S7_}}PHqq~uNc6HidP0{ioID6^F;~th`P`%}JO>c$ zNgjFy3sKT^VCCUFM}IbMNKzgp(+^pI0XiQ>{|miilq7XwBA@0FD!X()$S`D&ych2s zv_4DvCQ5w0pzW$Ob^NXoSNjjf4wmD0e!%iRFrx8|g&>3|gIE0C0jBU2*jNZev1=i^ z=eOs}p<2Zo^k^P!ssa1El}uo}{J2fX>(ySzVoT2p-C*?+nopkEhJ{x&fu(D&K*sH@ zc146yU%Sc;U$OgP(sTVZ*lvuFd7neBY>>WGlBpl;uf1R)wDCdsVp$bg2@Lw`ukO$2 zy`_pE%0c*ol%p#_gE0`!29ddKb?+yW4#VT3Ga`;PFCkK<78N1;%kwj zJ252%{(uV)lNZGkW4#x2>KCOkX9Uy?|9KkBST;Nk9ft?$w}{L>M6151@dzzXVWt~S z8hC(c%iyh@MZ9IMT?>u^z6G<<+YG41s6oivLFJ~@N>XPSyaeoIi7eFZtqT=KGXPR9 z3{mSlq^g87sbyi>r-SqreqNk^goepYL?&gMmJm*#*b~$M`4LlzUI)P7>&6e#w?7!T z?DdMeP*3l`t=4o#x-@Q9rUHf2Be14YA~L&Q04dWYvQikmgt9JZl%X`nQH|VzjR3VK zk5~J3|G)Ae5HQe3g8gbb!|GLWRc*y?BAW&m#gC{v3PO}qc)(QqwHHJUj39(`>Lfvn z#^8&T_A@hCT}J~C2g%<<16BtNbSM;BJg^&q6x_`2ugeB;AP2N&R0itKJ3qhhYmc zxd8HAF{Y}2+{EC2I zn-lUxYHa!ko9gw(<07v5eBF?fa$`Ykj|8_QsZ+@ipVLN(k3wOl?qnUa-FT*j8>&^f>_Cs+ zhuU0!v4Rb~%E((k+Y_T4sk*}Xh;&czbk+>fVVvux+}eQqgR-#vhCkbf7g7Q--A7`o z3V0P_!($^Mr)C$ae?^mfk;g|H2u}t}PUnh558j{XkJqi*yK=htli}|#gw_coKkZU* zx0Xbo8mF8*F?i}jB)GoXixsa8>^wOL5%F}7wi9<1Nl7mF)<$SUdU+GGLs@*c^EaG4 z?*!=wFHm$G8wp3=(V^2G9lFOorIoz6S&@@QWKIm0z)2IIvCP6Z)%|vPHhIi#q+Z1M zpr6k=V+YL$ytfdJr+zKwDX!SPyU;#)3@Vq4@D<6{K&X!Rm3s zs?6_zjYnM5Cn`>Z7C*4=0`!bRvc%C{BXxjF9{Qk7`uB92M3IoNDkcLMs&YJALv*KL zd(FVEByLvhr05K)02T&z+IoO7DA+N9BDoge4-(%9adhz>kj)QWaLLp+%eB7dbYyx8 z_piqsqqM+LuI*)1r|)CKKU!` zJsK-26*+@5rY}q!I4!X7cNTtFBH<{}B$ZW&h zoKKSKs)R<|9C8e1JcJz8ayX($jJHB^OJPE=obK=wB*VC#v{bkrIKS7?nTdqpzoLxj zg#d8saf)N}m)-~adM0w*O2`%Xt6eNeFe%8PIEI>IM=swbm+~>NcAuXCR8%s{`07|` z44ULXP=%klLH(e+(JUT5kLhk)H}~mIcZIQ#FnGntKl0ZG9z^9@8!iSBxL^}5J$O2xB7xb74g@r|@6`_C z^xL}@|Jo??EAj+#*?WxAl8gF&TX+Wo+A;Nn3Ekyc#uWKunoQ*YGmFFK#3G~e$QZjh8zC@ti5ja+OB~qCiv{!9y>1cAKEt9aT6HYbf-%O04 zJ@r>2EX4j9w^~nF6*#ZMJpmCR7O$9uqEsd{ETZJVb^J@m0Vy$@0Ra>PRT3Lv?YeSG zH)(=Gz;t?nJWKopkO*`cx}-pMm*#P;l<4Y8-q!=gMUI7Lik6);M^52PW#u@H7*-w-5y zQ|J$Q`u*vA3Jtyaf&g?51bc3_i+Q=bEl0LGZap=Sy78gp@kRW?$aE>MO1_lOTF?^Pu#WBWjw_boOnOFpoXKDzB+uL#@wf498Jb}M!_Y|R#v|tQ3us#3Y_=X6bKgbVPVuw3Ehn z6`%qKC()5_MMfR-0ux`Nz8^aiVvca2t+#Hv;LS6?6P!l*wUWFlww4T(?M$2x1%xM^ zBpW$Bs^QHjYJeYj( zZar|3)oVH8sLw1e^*CtOlMy!O^GQ3~pf7@L!WF?8v`WarKpbUobi-DOs$9MkHw-2Q z?grM+$MfuDV220-A&bs(-z8)$>2@NPTFv1o5aErt_|z`~6|SP8EVG8j8w{j@3(pFoGfVWp$CBi&w5+E|8nYY3qi z{uTo^#97EFPQSz?N!|Cpld&~`FTe@`@Gt%Yi*!$s|ML%U-~&hpaqd-J7JL{yr&ZOL z^EEVfvulhH{g@g^Svi6F=NIQ=rqAPN*h#dXAcJGt1~KQ5N39}@mr%89R5V5?zylm% z;ONuWb(-guSMtm+Ty;l(mU=O2b5gG9>Pi^d$$W7WNE7Diky$Uo`HP?l`SX&t#a~;% zhCTq+Zuj-Og^MJpsr7yqBs(H+L^NKee>JgS%7pF*b!dDr#!~-gAKEvDeVK#wLq#-- zb{CVxvkR_X5n~iXXP8IG7CQ$pGWF@AOFzKKo2?vl1!Rf~DJFx$ik)9KwIQkrjl6r0 z3DB!&M&07m&9R(pD z@@u(oWcYesnlAuoq-#81PI{yaltywu_V8fk&_G%P6wX&&!NGr!h(jkWn%W@yri47W z#PeKLMYZhM2HS2R(IPIhSWnUnN<^&^AOC^<5Xdz<+Ma4NAsq!P`qw~UHae#1ILHP< zs|APoW5VXW1W?}+{b@5qr$1A}y5A_^ z!8dM3{49PvaaQBslSo<%onwi{9^^)?Gmi8Adfs13!*#e{(2<^a3npm%I&>h(@cM6$ zbgIHvvCfbfysaD5x9O_$jWe{|8$JKjT1gwY(8Oa9AciFIFOg}6$ByX!k!R#)@v0cG9(}8W4}lUr+aS*W z5}dixV30_X5nyx9;S|y5*K@iZ$G+$&rhmP4_ranneI0*(_59wGqaTl@~V8r-{;&{vfRe*@#LC019PS* zUPd_#aMC`pG$+yyP%{CaM`$;ix3hWamYmI~K`+#k82$1Uju=UsN$QJ0t>F^QfyoqS z{Pys@9pya|c&ZzxOX(d%l6I-FP- zE5({$Iy!eGFfxx~6g@qrr$^KHStEgsjZ0pB@M=0`RY%&GJU=^|>Z6#Q+H*<(%9v1*-L(CGzGM8)r`mVe(K2 zzTm>5e?NF5etmKG>~>4=+4_y)^%z~5q?xh}e*w=|Lya7uX2YqXp`~%c9fYy>EF)V; z-#5JTXvpeRT3bJ%bsKdGoMDngn$dRd_yn13HtjyC=4s4tqWxAvg3F%2Irtlz?{qR# zd|M@}9@m_RF9MrvPVXjdfP%2io)dUct(VZmxmSO?!iJo*F+5a^4A;Zrq73BZ?LCVx13IqI4b5)xkYxYfx2W0+AH^ zg{OmdfMV^tHF?mY+ORjl#b-}esZSwOU52lItYU|3@KlPXuRP?j5J zli*C+6hKf^z3%p85j^h5OiPc^_EV4{&`?X^9+TgZRcLRmR6~oatuJlZs!f54a}#8@ zh-!sV{9H<_+D35Ry+(lvqCC@s*u9Cd3(Sja0l&IuCC(VTjZSv82+o)HUK!Z10cDLc zZUJLD#zWcpbNLI8^783NYb{Ds49oh=WqeL=1NcDPNOjR^EvRtUz3IfmFf%y1ra(|x zA%qFjw}Ki~m~We3qEjD8<)Anuht%?^);DBngZK^-ulbz=%6p&E#BjO~=IWZU<8e^rirRF6`rK%>z(y=?)8@S6Ja>Rtm#ZsnYOxA4&__oelXL za_~9=dR7^onj)>cmD}u+*jA4d?L)}8K_=a?nr1BK^F;4BlL!I45VP<1zgr5PL=4+8 z6n|VvU7paLI%O5ZGo8WL$Hd7C-T+nMOS^pD7mxE5;l&M7b*AU<#+m+}JSt~c6)+!J zy3%dG-R7Av^h!BlzH`*i=e5gu5jEx3uc#glHuN?5oN!=;v;M93J>}lF#;v0+OFyqwjrz9qn_b(b#>`Ct znMixEd}_`6(e0WX3tMlz1J8I|5`#XzMY#WZ94IiB<=|TWRiq{9+!hU&{bRwKj|-k$ zc>Y58-P26EgjoG?^BM7mcN1MaRb2VsIromt<;RVMFOBeQ-;CX8+H{MTU_68^32C7k&wT%|cYtu|87@-jKPg)0;4tQFLW^ z3U^j}xI4!Co?NiylF9Hn_NXdiB@*9@M9nd>Z&=?XQ}vbZU93_Y6g?0PU$f4hAzE^_ zlIo^YU9qdSCIV@?kE`I{b3`&kDkV@~eGbK(07#Dd40I^av>^!0O=CXRzp{%Gycye=8 z_DDgNL8XRu+5E4kKeB%FU_TVq;fR0QY6tKGGE(&ywgN1k5l(VgpIUmWX0h_ zZPLj|7em+RTSg(hkX%mU;yKEOTb22V?xg)E?|~=#yZmU$;YZO))iP;+;)E^}o5zVz5@-z#jMR1H zVUD*7692t)^r88CaQy*+^g;`$$W@BAqdmyKUt&lBUs@gF>HDXY2B2FFu7{0yKC&BA zUFk^l&zom=64$Gp@k$RaA^WeWgZ)6}t4p;H@zJGO46Tx@f$PoUmmJ)E@l16S|Ab%L zKL2ES)cexn@2|&gmE-+@pH`8T{FDQ^!hf(23Qk<0!cp!2B4-9*ldtr@3-SsXTJCaZ zA^y=h7UT*@6NPTC+@z13=r3s%`|q~1gTzR8K$_lv{BkQ2Uf&v2bzDJs8Ta*Hyr3gg zL@#pc&Y$uN9CI|NO(7V;bsGNd5+cyD`1+j|!{7gG4&evd3?0^unkSn+NIU$FY(F@T zv*w94=gX@t9DA!127+mx+A{omG)+-}3J9tFzJ@Y;3Egpy#02F3Yz{6BzBFBCmP7IH zFaO_y&uCU=b9C$**RW7u!Ubom5s3rvgjH4Xy5@fZ62mF~qj4b1-kJYWDbOU+-_ri$ zZ~v=(hmHQDR{(b`hBWYLh~@$&UBK)X&BkFh=Rr|tlXl}c zfILpH;0#89`G$P7PnO`0ZU7i2;4A>*@l5G|XqgniR0Y=Rh*=J!R}|^y<4->zHB z>0i@8@BROKn{_*5Dz+x#?OHsiV~l)tK}e{D$bW841v&il!$b}Ib3twGKlFwAUlcUS zYyb0<(cUh733Oj_q!jB%ATTXJzvL<~5M$NICUC`}WfF{~A0N1Qj`O&N~9` zA9n3KZt`GI38Y5c0d!&cOWF26Pa2?ON2~{Ui%uaL-7Vj(M*Ep(tg~t8Eb>2WH9P`H zS^CqC=0xKM2^n4%0Kh9jbp1Dd&X~T`HQqRA-&)>&mowkx{9kqO|0DMQ);v)yBazMW zkx>*)Q|K3W)pJiy{_io&kstG>Bs*#DDyZUAibds{!7M39kMzOrv)^4oVd!c8E{56n=@D0qz{q8lLU%I1%`1*M7CkZDzn3{xqbhx6z{F)m3ulg^t}0g z7snTAmxr(En3(Wnu8_X>O2I9sJITinm_f~2^b@lLesliQ&#vZZ6IWt{&vBkUS9>DT z=|R@ql7Hgw%F5lqjHA4Rkvp^XrFWm}cqA%`s4Kk1TNhg;L&~@-xejrMGrR=9aa;ZV z=;I09o3)W)sIn8U9^{MfSraim!mQF078VZLHvLLp75y~3Ons5nArk%I7UsaFxHIdd zG##Af0y)&)FDX1aHSCZBJW_b%{+9RCi(E7_?^=*t0rNmUyRMpvM1X_U&9ttgcG0FA zI8@YDF>5RGSM5zJ$arB~l3vlcsD@d=FYqamlpRR%>+w16xDSM-u%-6pGo)Zj5u(_q zx5b==qN^0ysW6)r%!66oJrreEHof}SQ}8mu@A%NZelQQmWY}^F8N`i)v|fg zx{mPZAkZ*R!?KXZOZ#gkyWnO8`XEi4f4hG#4%v2pNP_|bZxN&=$t7T@ldU}_-sAY5 z3_ZxgPf<1mJP)_%JsiUJ)DNOi1-7SmV>Pv$MlG~8=v=g)yC{AGU72snCi9!pV_>z!>U z4Pm|gos1=I#~Q`aQ?!3GfukXz^iAW&4K}a-Vuln&EQBDCwb!PU2b49m8H%xsJ3@T# zJm(IU^!Th5F1o2H>eX}Q0a=3w7P}ol*Xc+fO^~M&P!{-r=gE9*91!fQ!eyoD8 z$yPfp*y^h~4fstqzjSb_(rDG)yf7|9ws%Xu!N_cB_}a3Vn`Jhb_2u;Z^FW_B*Agl7O9%KZW#2UL+m+#qsXPo45Z?T^(clN=|0-#|5XLtpO;<@?4aSJOD zj!fHjp`E|mYwy#puJAIo`{{sGl%M?Xpy&ey?Z0!`JzC~{s%L>zJ9sK5gAtAraASxk zoi2J-0T>HMCb%T$VU&(Exp(i>fk%cSGCvY{_`>6@HW$hTl-n=6_D4RLE`D&g_bv=2 z;x0MW#$z@h&_Yw)J&>u6`99o5MKrt($bh(N*;ec?bOHE5MZL|RN)gPc5?Dq8dQpbf z97y4J%$=)KaVe-jTkGQ0sgE?YfCp zD?)uYmb2=}v41zvcP=bA?nnU7~@=Rj5$d*bsmIEp7 z1;j5Sw8oY}*z;96uCfL|G^|txy-fmDK-VRiVn-!?bSP{ORMFwfhF;x!+LjsulRq83 zFV$-e+T%+EDhv(})i&l>mCp4wzJR}!PGD2x<>2Z-8Z1lCMHmI_{wb}S743!o59dMI zVi>0&`aQczgD8jn^DPO`B3idWYyo6Ve9D+d@#J$byLh5=h|C^-sDn#OH7sTLtSB8= z5x!yoI;cnLzzzx;{hq88mjdBDjAeJrcJUGwynP5$D=gUJ^a9DEI4dcXNN?LkPJWy6Q)FMT!;#HPNX0+09?VcvutU)bKu@_n@HvibpCbp~415PJDfb{IbiMad zVi}{@5iIwf=$L_#_IaWCpr&p7_4B6ZpBu-fRm=ACeRO#S{y>_fRdoSV=rbJ4=uj6t zq?5_H^3RCfe_binXhmhwW5#K9#`NIWUW@ftu%wI8W=egQzgC9AR++LuKkp(#C~=zQ?M z3<>j+0;k1%lYU$FndEb->EMTmQ+Kfdq>%CbH@DLis3Kiz4@9~6V$jvdqZ_AbR4m1? zd-ab#ltM3Tj->djQ=hbsgZwt+2%^{?mo zPDh)9KZpZnuD7MBN0>pWWuz#35~bh&QjcocY=CCnVBsG1T>X*qn;zjG+&_a z$t#J-93+}Kw(86ZFx~>xDPtgx^YG6>F5&#cEyV9E~kGY5W4@5u%Ojk z>WP_kY#~$fxkl3WaH4-@*J>dWv;Y@s5^+#5f+iKv;r*YSoX5$KCKI^CI^U^z{r^od z=R`2`2r&;c$*%#r2y@INfjyT46H3}a`mg33X;2NFrY0y-sh|cSR8o{`4yLkBVE~Jq z0Q6p@p8xxvR0d5egky7lSpEWNS0sDjAZM37Sny2$P7HLPLl(6-9>aS>GXVwmPL-qP z7r|53EcIEiNc9yv-UE296&NV_f}!wLPEd|1mby}p1_-#`aS22tiS?@Bp97VAVvcm= z{m=tA+V6z5tzjdWtP&;m~}1C3kr z35YFsqM~=Rh33Wo3H@0tjNR`(1IdXP5QkY5VItF*1c{>0qQdhy$Nu!>^UVlFyT1koY{z7E&<`c?ol|n1l1y-#RkPMFbL^=Q-lYZ;{ zoU-#YTNcWRQsdo8GOPX!Uc{#Jt)t`J{42A7*-x*+&uYED6;HHN|7VaeX3HZrz}%xD ziZHzw7XApZo{I;VfkPq524dUhgL(&;Yo?7uW&_%Yc)bvUfM6W1?$AD(=%46*^pp+( z(z_ioQMAW#BSxvhN*wiY2Lik()2MTy_ATkB9ZK*TkiBiuUus?S0kLImGKvJ!2H2P(1Wc^Q&~*cJr|v9XL^UfA{CJsfvS7nfM>^135J6s;dV2lp$V*Yb{^AIyFmwc}Lt*iKExr0{hxGr#f1uO*e zU@YIp)ye^XUZk2s46(QvWmOP5(SIYENstDWCCdXJ47w^`O2BssRpX~H++>Il40Z%-U+y1LKU34d}9MEUzsZRKFEkFiYPk8nk+Ov)(32*}q){ z$w{?fBp&6(1yMT<8>sC=6}}OZ$bp7rAw?CC&~jpv)}mK!QbKAO9F;PqvnF!)h*Xbrn&v!GPjfgESPBW1X<2{i15tBrmx3%n`eNW+gbpz+8GIyu}Nyv=m#)5879 zJfF43Qk?`}BkVkx5>Ce<|LyrOr+t%kEb!bduM7TF1~T9oU-HfrMS=I;pr5(ux7_$6V;$|7cA1=`{AD?VodP$0P>xapUcR5~FG8L`nbump(`O_`T*&%1 zATG9^5DIdgeV^ttIS-j&L8@$*DX~dPa{|qXht&)@H1FK3x;C?KS~hxl=z|*nvo6Qz z4=)>cI}&FlXX{d|zx?=M{Yk8yzkJO;B4X8lqr3p;{_7&z$FXVG9=VJ~ClK3sLYV68 zwkXyk%|i4)8|!~ift8;}@LEfOt5y9mUiSlui6L@um>M0TE>@@QuXFKVPLW1SX;>^)Ln^ZWX3mrB+{N+g*&tBbTf~G6Nfk;Nz*_la9 z6Gp61ov=z!AsbG<0F?12_&9l0b7{Q>~{<{R`BY_dCbE2_Y+OX&9hVT zUj1na^1bIEa^}X+KGU^s^SVh^cE2Rc%yAL!>-`$fw19&N^5r4r{C_w^T~)Ob@Pig{eM4N$&+^ESAoG0ZKN>Q0p_>)ZLcYv zFq%l0XL!GruO_`l6aX2%O_b9^1*oNsX< z_i&_R7$Oz=mbUHD3MYpyXpMsV)yc#AuND1Bt83;zH^!CtmPBdZDjB=NkDM$?b56tL z{HN>X1$MloMrqy3Ee5oQV$6yGx!z(7&*86&gr!cm{GE?UKWzNNvYfd?F9aXJcK6c1v*VpL2F*+3t>59}iqI1urqz!xiFc$5^o6#^1T*S_vQtJ$GFCD0z3 zQDt;>p6I5(!UxkuJ{iKdo+e_2r38yYS{>J2NFZ9w3~%#u3g}m++zwt;I$+` zw_g_Ml|~{8-(j?r`V0o$3Ap|#VRfqCiIeNVW=T%ThrTk-QdJbQITIZY=(!A>_Jt1qhLnbZs^o3VHs^(0-s znXknaHez-pLL1FHyB@D2iWmopD_51UtMNyqgd(d`0PSsUcw00 zyLQ?+;(AAud-I47k*{KAR5xcn-JUtqVR37sGAQlBsEV`7B_LZkD^Qos(nAIrwTCO5 z@%B6hcnCcv;+cZ%A(^O3QjtdrD60euQ>h~1$T#a2{-@}dhSax9k-)Ui?I_3Vhv+|p z8fK9ofp#RN92v@ld%P@>h)hzS*tWklUnl?hRLenZ+J%9iUTs>@zuL@FgKszyd>bEef z_83Bg{2DJlsXjW-e#5=&$i;)TLTgfD388=n1S@$D++n^NV*k*OqD%t-1~ zaG``0ssm;zY>?Y%r96_azg_Pt9yTL!B0R1v+3F9RMv|-aculqhc+|4UG#|_X8&6-} zhi3!ZJTf5(%WEteD7qwuEGiulR9!qEs1W_d>W^~oF1^hsE_tW(7c_A?DCQK(Rb_sL zR1G$yWw~@@Vb)*U;M7VB)*|ji43#B56ho|{J{OK;d%?p{)z^aLeO&*O)Mnv=zZljPL7%=^GskD?byr zeymp69$o8^L^EFVfkJ&2|8oaC$7d5i@Z5_s#+B@~tGj!bU;B|h0OUXijow{czSSdf zFhRWiz-}waIriycL6gH}WH?c{5oHqs&qn)3^-CCOo~N#)KqSraLcz z7e$K+Q$Q(CE{(zh2$`;8{=5D<=@&CEn;=fZnCn~+ujoJ_VJ||_*vq%i2^Torti9YV zc@X)Am3*+~d%#=%@)s3G+!2u?X$dmS6T#B~FXuw!?#&Nh?Pfg$)@g%Ok5Hr~mp49B z9qH36T!nG(K#ZZx&}s0bj$Of(NJ$TaC>mLyz=%{1X_~9x2f`~CBaf{c2dzn*7D`X> z{c=`>ypsnB-$4K*=pH15Ht^CNQ%lS8dysciFRde!{T;&Rym;&5n_aONPERNh)16u) zWAF)Y8uGihd-%IkfZF1jD(b1c~98srT z2kD1QIrCmT(d9EHt-Va=MIXeO5}NB{b@Q5E4Bu<+*w|4$cWB>x%Kj-Hna`#Lbaxyl zr0hYnjCok$Smouz9s#Z=UJcmNp(dRs{JhA5HQa z=I=H&Sl=;!UKaj*z@=H;1)i5IFzUcV?RCAm=TP!Pn!IDpsl5R=sjY8q3To>pu!G*GA47oNy^zGl{FZA-4s&QB zf%HH@AI5AhA`zH79c6xeX#6NLV>MEQ$tN_e>@`>RieQOT!|Mzy)%^PDYL|9)LU+#& zi_>wgtxIfjX#Je(ta}((kIjO;05vBIgao>qOTJ6}b*7d=|5`bR&9Zqpf_`T2sLfkP+%TM7ez?%9eJfFXHTlQvfWgQ7+#BMa zqaBW(T%A`#n53DI6!O{F_}{=Axb9Is{qGbIl+Jm*fh`Mp7g%OtfgdQaqT?`@Oboe( zc7oRom|p6@)bJ5Q*~I~tbvHW1f-;)O_?NgGFJI8rsG!Vtpk4Ut;^|vX<4TErm}K(0 zvF@;UsS!8g3yIC0$ZpYhk?q2c)n3hw2W_k`X3o9ty0=blz}q<9k$G=1Jjs8!(Dl2@ zU?WxB&-16Iq}e3p!X;t#rXB;sa zzu|?*a%0Ky%iFoaJlF|T)g6(o+&3Einji4;vH5fo5l;^DS)f?)=Du3iVzN{g4SS+u z6T4lf#QP?Zn9E;cXNx8G@0al9)$Gu3#ZykPZsb0$z3}^%$)G7aQRhRAS65^^J~q|y zJdG|H8dFQ%Fdu`5WUB;Ls5*aac~WF7s58hy7d*2$b2g21ZFuzhJw^H<(||2;e+Cks zwk52U)s8*CT+2+2^BR)Ox{D3^s)2^mp=DJ!xtzjYe|3;lvn&ufq66#yfeyeiti7|5 z?>aP=eHMJx%Jv+R1RvLRV!~-StPezuEoHD`yU)+}WhS27k}^n*%&R{~aD*Wy?H@(0PMSt!RP zBC;DN%3~#LB=2~JTYjTl)*d_fp>Sqx`Y`cZuKf6`#r}jg=g(U)g;%VLY8U1rWD|4h zXRMp5Uw?~5I8hKdC`bK%<{+>vxHb_TRBNxJ>JnP63>ab9eQ=S()Ka9ALk6V4D!|zOv^H_thwSll@Kng@a4zUx1}PXxm5bIlKhvLkVf$IzS}Ft z|3mc9!vS&ib-d@Q^{DGL?&GS#HMmj6cVd|%W0HZ~l-3B}wb`5vdq7v&F<>KwWU+do zrw@-=Y!Uj_&+FV|%mNJ~u@nSP%99_#b6(#HJO3=Jugjk&k1kAhhC6rZ3&&Ae&j{o` zKHwC{t@)`_B0emXa+7*El2hlyt5d$OFZf=98*dps@c5cj?7xTOLF1!t01cD6S=cqc z%>G=C>Cf6vd?VGxy(#W@z0}+`ohK-0|ZLuVsY4eND2zqXj+8TI6nI7c}7B zn9{iRN9)(^lEHYCk);;W-5r_Tg+d;$m)U*G6#1`L((z3x6%d^ZRZ+x|^3!*BP4F%9 z3Gx3hw(v;(SBv;}ZbJc8i6_}6x8%CHS$kXt4UaNHp8B@uJ+Aq9Uak>B7k)5pUM%QK z#;@D-KjrLxy^}<_W}F97OT|Zf>1@mO ztt|yrj3zHUf_r-A4TTG`+;?O~dbnwdov3-B$hd$7!JEQi{w&YL~NUOBYD)%wJ*Jv?Wh=Qu_uD9m(d-XL@EnAdyT zIZ{JwrY2wc{%<2kiMQL2@}{V_u&YnwOI;IovbdiW7&=62lrO}Hkj7i_PBYYcp#0#o zlV$m<{s%cyLr#Hni7w}@r0b)UYg@%{S~*rP(y1;DyW9EYUvK4-R-YyMT1rW|eP9x^ zr|166#FgUml>}0&!%WA37z9r!wLn|!-6xRU&YHvLU*`GOU(FAxVu@E6(%BVz3sb54 zevGFiGt-^ZxR;leX3^8G;&Oe-2WO1>eZvD1lBAerjR*=n;kTvR50N33f}?UM8R?|1 z;GphnQpn;}5MODO-D7YNsRU696%k_b@~Fk9Q%n+X4tS@M?uXClFuzbm#wb0c0N%+| zgy=+&)X4gK5b}R>u7#NFhC#%}s;Ya;7OSluX_@A)v zK1|_5$RvvN%D9hfY+4anvSlBbP?2;PVtERbLm3hf~;!OcDDLAUXzuF5UGv9zIGO0Hi z4_6jdo*LGF{wyQwM<16>GWU=n=rUWurFDD9$*xGOKDsYhY1V4;?^4Qkzv%a!pOz1| zzdOy>?Jvc)G`Z=;bLaBCh`?*!S4J*t2KX1SB!4`34r9l8U3~Lh>UH3xR!bWCOv`Wy zTBIE3J9|Gp*>We!%eEBaXwiKaWEvd%G=4^(uz0~KK6*DVMPNIGGxBlgdW7hjyXJR$ zRSxk=^;(_A%4APq=<+@A)*@GsA0q1n{|9d3rGwaMZ2B|o#yolAdg;oU_0$hux1vgs znnxC;z`<+`Ep$^b)#2CFIM{(QpRkE2o)J2>gyRy!)+P-?^e>b!vb07r@b=<3xL4e! z-hOl8Nsu{^M$0}`!9Exjwtf~mcT#wdES2Sreff#Gmb=1o%o2XcI5N# zd#hYEDcmVepK?zXr&XtuNyL=x^Wd1>;O({cHpr>@S)RM!8Ry%{Zt&9W^vLiV_3+kj z*Bz5AJ>4nfV1&zbHy7C_u(2Dv&&NBlW})MYvT14(^J&7%1_B?Y_4=;O@L>Bm5snC9 z$*9Tyv1)6?+rKB@F(q7fU7_$+@jFeQe#4Bt&+%(7s9AhEJ&7lAw&K2P+P>KCySR61 zGl{YKY^~N;X%~|j4(r6_>Fc)n-wuiR-pSMrh^|ssJ-e;3^h|BvpJ+DW@|6)*wZmH@ zFOjaN%boK7Y;_^Y^?`6}pB?iFqtjPhQ_RAx#i@^C04mBO`eU~{qQ40H4@UP&K$>|k zf<+FKJSKspHq;s<*z?>^>oTswLAg}N;d1+Sc+BU9*%(i4k@1!$r*B*PhW4y(uB;Bl z1lKoiO=v~7o+~hGFb__dOtciy$nO25iYGdv5vUL@utvR@u0@~c7;wI6)>xYU)WlcO zt^K0(l=sZlQMR?eZa?v+B`eA|$Dw^8QvS=nG}rxJrf&1S`UR?O+2)?Su%vHOn~Uea z+Rlktl3ZLDx1z;b8NrS>LQKH1*2s2l6Bx#v8tzwxaf z>t4>jyB%?h;hWR-W*MtrsYKM)OF@dL_~|jThLptROHy1dBqc0PHsh;d7RVs~@yLSv z^j2bHc2HV)cUwOsrv*w&?La+wh6Mclk_5;qW-# zvx9TDreitNxyBoH19>XK*KHg2oPRbQ-f2Ia^h{}bF-y33CP23=I(uewl1gGZdx^^} zzn!<>ov=7G2v&TjCjh!I`=UawBMccuWn6i6AV4yyyH}ic8)U_BG@(X7oIc3HpscC$ zGvoeTv;2SFcVx<(>wEFFUjyFn>SXa<0c+G~&TM;XI41g6it1H-ga_MEFqjO2K@g&N zj5%Z90*JvdpmiwAA)><3%s#{Ti ziVIZ8g1e$!l3wuA^E{W|F#~FQJdkg)i{O?;W(68^*ADYDgG4QUuh(G+1l@9P@p zn=rck-kv{u+9YwxUx9p?%{<^0q5n9)c1jWT+(X&)_I)gpBKHvy6+yu&5zmKR`})OR zVZWny`&viUPiNKe=!#q*=}XhqC*J=Z^z`s%kMc~C6`is6gpTiOp1DV(rA_D?e^#H) zUyoLnRtNFcWxSc)?R&i0ht>PLMzAyOyQWw(RpzYXv8?N6r>kPu))70b@93NfeL&SE zIKMS*bH=B+?rpo(DXuy0f*!inwWkYwl)N`%#{IQbaDV8#{V6;5`19VQ&;f*$%k{ z@la6rN`EuJR2Mc=qoOC5ItmLB`(?XHl)2cZ2a>7{(wxs$#7npz=93iLblIc&x*k)B z9z?V7dSzvMFLnqIbxdbss*EBk`%KpfW_!Kx^SPdmG}(Xm_h-l0-Vc5PiU zxnVx1_Q zUW3}QQVJLS{>l!*bb3bhH%4Y!I_V;wl6+=U6v1Y?Vmy-_Iqd8GNYdG zc3Vf>MyGDBcG*s+jQJ=t=Hlq)?SFgKPujfQ)VL&Ir__k|8$aKy&c}r5`0lFJzHg>$ zg~A!}Hr=`5TQEfNP>0*pm)e+Qmv?Dp8fFI_H%h&5c)tmMDU*9y4#TUNzXd#;&C*eZ z^to916W7NTfaAm-5U?R%&hs3Fx& zRaqIezWz{EMWLFaP50z~(e>70RlUy_C?zG0w3G-42na}*bc52;-Hm`W2+|?a9nvYC zhwetYyE$~{-3RpZ{oUue_g_Ff?03I2Yt~vbGudMDo6U;RSz@PF?%gG=Qwj=SsZJ)Z z2%B!)>(f1X7$xNmU4z1qZ2zNm!^Eu~28xVe-n)0H28MrBCb|8spRtAa0#KDpu%117 z$j}E}%Q};^(CJ<@Y<9D7ZhzMAGG2|(Txt8*EN|=b6d2sUuoux^F~fR54=4t^c)@sm zn6m;Kf1tlhSNkv76tXL^r=DYQg)$+R^W~?2VA47&FGJ@%CBCp83ua6x%oi;)IV+}s5}Tp6=0s$_^Uc5%?c3)N25qfA zR7G~+mRJJ9qxA`P(zO=+Xl~c|k2H&W5220{uDqT9cy$X4lC{EBRc{5ORxjCWGqoER zv4$1W5F!QVBplNET{cv9M(nm;zpa+r+Mpl-LrntGVYPnF&W0y+e=aA&NqC|3wZ0X1 zCG`y|M)InQd%2-W{n#ldkSob8Zjv!FD08kSs^m=zVw(p_k|{7_Hg77+j;{nLNX%74 zzE+MfSMcth)VYt{QnJg=W2G`}oi8i7%Zv{+L4UQZr5AFRX;G~);$eDkW|47mZl$*_ z$9g+%0nK4Ny)!MDw|1+ksHl*jHPb?$i36u@!0%XKb`)+>;}ZhkHLUg zP-6t_V2}2n!-Ek_V*?73GD+EJybD$<=+MPIk5)Puwslm?>X}bB>U*>7zek6&;}lxV z_e5&Cb|x3L8gh52CKL2)eh$Z&BCPbbRo7Z>p3mJIB}Q@2m8kpSUb;4DchF&Y4(`aQ z@R)w)o3yEaMPfD1G3%The~lbJrqXAbuZYaG$o#(Aq!2eO=;pqa?g=@7e_J%43vrO- zo(e4f4jGF(_XBR7;R9aOY?VB>SAKMhs87`q@h%qlq%tngWe|>Iz3RlY0v7u$l)mlWOpl=Raq4<)-3L9kZ?z!Waz=>e~T&+UCVexw1GzWEQ zs=%78*vgaN25G`#fH{nCbYBs8n_xIHm8Bi#JX^y+Uv)&j7jeDp`7sC~lTC{4e~?lO zuVD;S#scar9Ymd_IFKl+u)~sifi#v2XQe7?M)QGnh#{lfsLWn+XF~)30rB+lD|nqr&5cR|@P3k%gQf68ni$W-~%ngjyb&WVXjLPTI#k zgxzaAE_$3btiOaK86fAjLF8RXr1Ya^K>Pjy0Sn)BU{gug><@70`_(Am-$!qS{*;)Z zj^Zd&oz;33Ed~KEsHc-i(n!tE;DhAOQEmL$?Ec!k_H)$hOf5T8EArX4l{_XqmPU?%m~-DK+(thmu5dVIRbnrBcIYkn5dEsizlCDlx zNo>tbamDlT+%0qOXRc8BI`Hc}4jz%W*tJ?!bjMNv?FJh(eSkemZNC1_B^8RUsp>a- zF>kt}ehIf+Ws&r`(S=bqb;E`&Z7${>UrAFA)Rj@NP?l32o$WJx zYARxBo%)&ytsQ?aZ~tUh09zXW`cbB*>1j44TRcIAaoUA+Wi?K?OZf@WJNK_#Yik>iXKSw4L)A%^|#6T z1T$Bm2|~BhJl<)GmbCZT%9;C#ms<_SK+G=hmiyE2sv+U^Fmvc%xdPA?6CmQv|ti>+XP@2Yyujn(a^`1dnq!KJ%*c+@4k|VP&__Rsp_Y|dLJU=WHErrC| zN&7EyJU`JdW?J!W7Voz$h2w>sqWjn+)Enre5Qp<_R~feU3N|_BmxP0H+-UP{FfXSX zA{q_9Bx(1-Je7RU0!tGHgpo?}D+|h{vL=h0DsB$eZLcb#ZyO9v7747wLh(y>fP$`} z$*&}%%)wl5-cZcCuyNC_k3fUG)20Np+9vjOeHLw0j00!ufa$4FbvPuvPb_4U9hb>b z8<+K9(*je^14P0d>xTp48?L)CW_i+uql-W0=U$&MpF`sT6#+_@?6?Xs+LY`~;4j#< zx`+UV!3)NQHvu;EUi?hkWB?x+w4sM^XDisKE@BVhLh@nSzbc@Tvdl`rEAJ-;wsDk> zz2pG&$zWKL)7jnFLRjQnxwlkF?-Qs%jUR~hyK0o8fxp-w=QEd*aHR<-NR^Y7Mf8AX zJkdwp@=r4icn?vF25y^QZj1a_^KCZ3NnI(4jEAw=>z#4OOhk)UXc&q42J z)Kw)@vK@ErjvFf{)%!u=lHc9N`EGaRPh+@oUFr#DX2T1FWwQcp?mXqj6n~L^{xat6 z@Nq(Jx2A9$2ZiE{8FcUB9-=(#J2!yJg8gv%f;w8D{YM6&<=K`PfT$*rT{6&?@Jx^37DzIhJQBw z5lyl38h&|QFV-hGK+noTx`c-4| z&y;_9AsbK=zAKI=jhn?U1?)0vK_3L!OI|Hu-wPbY7SfM0wnzJ`D5~YNV=A%pst0g> z3z&Mben`!z7KgsVUD`hPoXIU5@!-5%<&mw(UCxnkr(?Aw<>82y%BL94XRXdpT!cU5 zjGc#glL{xMMsE1V-SYXia~|uh3_UcJM4<;CjX6t#8B78F({lS7g_lGP2PZQ1LvtrJ zYTx2UN>5~2&>3hiaiC8?x16oDmx?Y|*m#*K4vQ+T{jLIE@8Txg5SKciXLNo|4bt%V zwawb!-5nM4H~bBCqSS55c@J>Ozv+ zxlAh*IXg2arRd+5_u8hF7T8_hQn*X}DREfa`jC;O?3up^&XF{1z*JB#5BWtq<4|`8 z@Q$l-Hpw?<_$%cTgkpTF4f_tm400TDhot^B7mwZ?tFSbF*={EwZ8iZ$0>I22S55-( z%Dwp#FF#Sd%b~u({ch4Fq+odUj4wQZFw$uA*G~3{`!$Bj%g=qoVP=jNpAr}SSu>0D zU5ma9AF%BgKHXJtWtX5BfKrFM4gS{b0IGQ>0r!ohvqxa=HGP0I1sqjev&}QSDSfpX zXX#o@Um&OzHO<@fjO=z1{meI(gMG8QYRtmKS2k-^Zgq-v08uC%3l+J%kw~Al<#DXK zGOhLj_wDSH52570i>SyQn6M@UifT5t6h@Inn$tWJyYV@wl zMG_?to2nmMj+<<14k8`x9bDk(P-jWw)Vw?@E#Y}%Y!svO9g8S@4sIX(0p~)utgDYSh7&B#@`%M0W==nN# zOaxc0+v1H9n2<#DGIYG8b_T&kAth(AR1B#jh%Ib=yo!e|2l{slLJ9jHbU#&oCLEYm zDgg1=QdmeJ2zVx$Y=mRdBguXPa0oz&d`mgwi0pNi6B-F-A^)A+eBL`5?(B|0we+x# z3f}x?c8qkHG;lk`{C=}Ruoxb4aXDRiy20{*lfah;so1Zn9Lo`jTZyG<7hq)f%qrtS zfQiJS<+a8?zKvLzY)d!kWxK<0_76o0IkLROCjF&kXlw^GWY4zdGnSyl1D7xB8R=fD zj&YQKwX*>7d?bz_sD1rTmsee3=gIWMh?4`NaDh+zrh0VmMumgK%-f5Iy@7qy?0SNabnYjyZz=9Vk0p9emt80jA z!{MR@sXq6{fUu!3%0%%&fDsQ@N)QJIlM3UsuuFh!lNWOV@u%7-;-wNZ)i5i-5$TP> z>>dXGwJ7T7JaQmloA;=4+T->QP+vW(S4EQ*Sb218wWHL0TpD2l%DR1^q4Xc)PTK9%*IXv?xPJIkS3B?@v@i0iYhtP6&Qte%bVRcTp;L z-Z3smQ%LJAsX|#3ZYG%*#^?Erh&g7FQYj5NH=r$==^*jC!g$l(8@0BJFUf6&R%|Yw z&QZdiaFE=%c6gspA;ClQ4JG6yr`{fbZ%T>n^JO}^;@({sg;c$l*5HEyWmFo@ycbK$ zIXCb`d{vSYA3U4=#+Ao?r1ilsUd{qg;r_p@OppsDz1ENeF*9)y!1+DgS53>#I$a2f z69IpyJJFHNn86xm2dCovT2MnApShvDiYU{f(MHtpfEZ$&wyj^AYTS@Xfm6f2;^2be z8;Rc+RRpxtj)CbsLQ9*0(e#=XmUpZ1`J{V$ntVG9D6lXQxz9O>>*-2pbTfGPGdt<@e4R_pUD zlRP_(2Y6b9Tep0da}6)Y3R1Wy8|f7O&$=rTc#l=W>Ivowkk6&$=~|;;ySsqJokhS_ zp_}K9AbPQ9%Xy3qPHgLW#4fYgJZFltSQiNde@x2^@hqLS>&@RIshqHFeUDZ%6k&>0 zXmb35GWYpi1;uVyx&W-w{M-gE8q?QlSr%|#l~s@?QAY1vTmWJXw0d@OT+{I(-t9&0 z6(iJ5?ZIqjgR}cXYkfoKW9_IUcAbb*6`ogFVwBo=9bKxoT~e7pfqA(HU}LfoS6BAZ zAF&2ZK~>+CtjV<|wV__07= z(?FaELeCH}sCoSW?5|Ijkax?EG1I%-dB~U1UwT*<4v?0!+ErI%6XW=zhB7@SbUDZ)ohSV%t z7X1wHMRC1~9#+ZdYDhsmU?BP$Y-l3O`YT~loV!L)L?ktVLJZ}lKzHPK_SG3|$$fGl zr|GeYjcqgrP0X~)YUzKI-K~;(%XE>!;clPw4fG0;{i6gY-IyAOoPexn3npo3QPA4U zR+=nWK%RQ|Y^@cFze(Bfsx$8@r0UO6>exUDGsZ@m4TkWh>RsNw+EE^8V_GNapvqoY z-C4*rcJh)pX0CE~Y-)nv`|w)rUhIJ7NU5-WNUO=s`{dMdfbOwono}v7f9)engP+$| z&C*NKmbS?KK(!LtKs!C2^ukL_JzT)t$P`ZuqfYZf%}AaO`|K>9wlTr>#j|)Z3&4s9 zahW#2soOUIQP5uVH7)tD>Eq#Q0QYy)(SMCQ0#20VgY%evm_NOc>zVK%ePaRkp*j(f z+o1~uSWzdYKmcwmt3VsRehsL|3mV6HVey!_yMg;Nmi~LE- zMs7XEEer6y?{Ydmnh2}i0=zCTw&$f?L)aUO?C^Obn0XWXqkh5c*?5XE)+hIiIf&K{`m0{AqRTu4CZn!bWFOgxH2I6> zm!o1`DmYWzjgIIBlAI6=*QECn-hRpDSU=G%unfJPt+v+5Y1!N!FrX{(6|~21po=@8 z!{0VH^J9P~7J0OTS^Xb77$j&r_c+Vd7Ztb9_QEO7HxM*4?c)=04MkqO-b&>5_ zol9qL+%@nrqq*?x!G>TSPK(_kb-mdi@JBujv^cH+ir>%l`mqG&AWnorF zb@P`l4H7F+z`10vjZz(Vlj4}qKI$#>D4PW7QCQKvp$##X`aM~anpY%1IxXNPQ!xPe zySOS9gNoFrL2P>(k0!wM8oqXD#Rz;5;Fwc~vaP%l71ovQ>lmTs^T~`lPk9@WV2_~y zcdlSjAB<$%ftkYu((y@w4GN#6m^$iX2QZs`CAhwcL-9`vgfE?9HO&MWchC(}pNQ@t z>^r~I9Sk0lbJh%zLYU6vLEk`?3?%8(t~=~eGY8|9yQnGqFl*48`RT6)%*S0y7x24_ z{NTX`I1t(Z&R6s~hReZZ_joUE7(-`-B<63)ydv>A;NYHzq{<|JzCK@dpZ5`1d2YVy z))=p5;Gp@?D%KE3_2onvWX0^lvhRUB8`G+cxP~b z>rc!ZnUHrb` z+<4o{**O4iKzk>doku$J3aDoj|7be4$w79}FJ3JP97qOrS?w}#&zQQuiA4vbn4Sp} z35Y4G$1o!8AEWyP;F%z4d-6zK1nLVubWYG8mPEG3_zz;RxBNEkSmctv*q2jjMNr&G zmhwaH-&$0ZhT`ufmii=1@jM@8qHo9X<$D|3rGExff5#iql&%tI_wIwQ|O3KKRQ^5$F>>Vvsh ze&u}Dn=j}Jwwk4?K^=MKd~_T?;QD`9orU>n<`PK$okGmC;_hIZiZCUOI! zC10BKO%jswa|*4`Edt+hW`t1V4CFOmpDH0>PK%XMyn-W!IrKJEib?KW3&&n&F3>K> zmE_IyhEIAstsb<`zYrWlpr+Dhc*)!pmLSt|Cr^LTpTlj(dL zJuhrvO{3Vq)aEwQuJmx`3c$~F$J+lP4)Rq&;rlexSGf-#H*4NFZZyaB88hh6tW3Om zhzEE}QY(?M^AJl~hq2Uw|D7u6!*Dr?u?OdY=^SltU9H)gYgr!+Xr5W#6aPROV5aqq z-qM}0sFqdl*DwG4mE7BF#~R^vAf)VDP~-v5r1HZxGXvyq6gcVy^jM{_;vJtjzUZM$ zGaemW+7KkB^SrUsI75??xF1Lq8(%Ud?>&i*&L79i5I6!{3>o#bFImDE4Jx$ROpt9^paDcy?SxIo?w7Zv zVvJwC&u2fuO|rvnVxGKes0s%}V%l%P$d5VTZ-Zc(F|Vwa-NI2^~0(yD!Lmf-9YHzkLE-=PTZ zxyKMDC1&AV<)iyWyb$G;z>x>+B7GG^Y|7G<;8hD}q3?IXeuZAP9dnzNM?JU9d6Vh8 zG6U}mia=U4PPDGdnL=khK4`=Am)Q<-|AwRu^;?^`6c@0?$#>OsqXA@@L2MNW8)zhR zElCxAbP58GpDh20Xwgt~@>-*Of+C@0OAwUi3fNlMLk}7GsKPz~J?<&L_4##{lChbd zV>YH7Og8dhHg*`hLOKY6-=}^0e@p;yyt}r?KTlFR3-|xJjCjGTVBNmqm(cR_vD(2U z`8aCVsuC8={DRU_A2>|bbbSV(NXRp^(*jbRk>2j0+I?NLq;rQ&i=>0oW61euXn(^K z2UtU#p&GX~I+vb57ricYah6@_oG|RN7ph^qi5EiRO4H8a-QiqUc{Hju&*4fJvLogxNMBV@y(7KmAoSH zmkI$h7WKV!*xVYJ&Y9<;&i;baIpBYFr%ZLXYkNar`_8i`RN;Z!F!te7Gb!9^yV?P7 z7~bdf$$kBfasp_d$R0 z{h=L89I*LSTJBJ^)^~A^s=>_bwl$W%H+a~|>#I*Dtp>y+oJV(*%>T9J0>OZq5eNqT zI};{ttR@6AgJ*-8f2|F?UDy!yPJ6jAcDS4x!$gGM`x)ZJyVd8S8Gg|krN4+I<0&G_=S zH+ESs5=GP5;AdSoh$GQ~oBB5T21l)JGvrGCw6HknbJq>B>Sb5jGt&3G0_2?_NX6A}X z)>l=zm%#g}sLZVA4BU9V=d{}ZxA+LS0{|BwB+ueSJd1t*lzepr0e{JrCzO`feo_E` z+=1MKo*>nW9Bfgt>BM=WkArY05?Tly(Fk2raAaM+i=C^z2dO~gsYmNK?5+q1z!0b3 z3^RE2t^IBGbeULPquk_0RhxhGST`*N(5`5aIHhu$n}J%fl-NDtmMBO(f)%p=>`^m_ z^WOa7rBc#{l<7DOER8hqH)EBe7r&M}p;s~aIRsJv`p<->oYh+ZQO+FNt(o|_kK9`T z(yEbn9^;QK>>0P5Cd0R{Ble~sY-v00eXlOj_SlOdv(>zi7EBi>6XVV`Xt<9x$?3B3Rq=BMx25rt#u|N{%+q@;=nxOl4YYk zMsd}3W#mqv03ZYrCMrZ16$gJv?I+43atkrXe5}y1Pm8wdIdu#j!t8#J= zx-BVvPd8`S1_tQAftHQtHahGAqJckZs`N`)Lg-DM+Di+ICcO|X znf?+zvf_8}1h;P#_Ow}ohWNQssKcr0G2?S7Ay}L;)^JWB@X%}yvBMikMW}#qSlAUW z2|yJnw{{Wvp_Gm^YZvE`^wWG7VHppc=p;@=H|GWM)H40X<$TUwRwz*QLSZW(&(C3d zYV6B0mrWuPcC=4DH5;0mO*`i^J>2U$LC3CQm3y!z8PPLY`p}Gmt_rL z9r+<*O}*JL(7QW^CR(lh6j!2V_S#MI;fJ-*u_E1#i!!CNy-+9+uW#xN^ffQbA`V?N z$s5`EYm1L9IsisDrfn_grZ;_$1#v=8d@B0~gfLiP1khL4$QaD%7_Xjg*9QtDpqW9g z`O>CVj!HvuYjV(Hjb{b$M0=ZHemt`fF;8PUplELUe^~-WvOwiXv<)-3zx-1hP0~lR zl^Gxx6;Q_^*@PVGT|v2gZIHbwhU@m^;8Iekgoix*)t`W}S72VteuZX-LBjsawm zF8kOhjlFG~^rOLvi+6e!8_<+d8{fXly)wkLSitt>h2Dd1C1X04?q)Gb7VPjQgDHjd z)*aapH8A19S`%7=Ijc9%*=IB7FyBp90MWy7+vj}{a z6MD={I>aVq>3vl&ev{ta@u@y`gpfS@2}-V3BUsf!mRAt)OH)sY4 z<-Ud7AYPK|Wu;yP{=QXPo)$h(TTHFfJvXf$45ZV1K>oAfA(q>Z0B`yoFE{J;ve~Qa z!3lic;mQGz=djvPHWj3}=0>!Bd}Tg*i4g6V{5-(_jx#1bnRF~XH5uq(H)~vE;?p;* zI0$trmL&lk=Mchm5Tvz?<83v^C2|$X13lgvOqc$T%`wq`x)a5rc%KCUPY%R$jzqmQ zs;B?U&}2}d%CL%{bvm#`N%Z=s*Ae^pTj!a4m2y4qar?Pf)h(6^QPV}Y zuEqI@axif!`d}*s{OYwy9OWf|{0sFh+Sv%>-95hXH8f#-&OO=43tNx+sXvc-v)JuD z1aL5dK|0{u)`)=A)Ue!$D$9XsO-#ITg8DnKcjvnRnA?>n5ZGqKfps2FQQdB#rGKLtv)v)j8qUdoQAG{&KrwI*JYsuzpj{Sry^r^|BR`Z;*u3gc|=2u|$V) zcwX|N&U9v?n4h=qIAC*@LLpH8Khnj78b*NsL!W>KcTs-(-{#{;868>c{bb~m16nj3 z^@@RZgOi9W;FcUhWV9_X3UF1dWhg1ghr=G(!diehT2!khm`!Re{C1oh}Y0+Kq2@wQhetrgnf+s@Ra=&bi3VBq9sz*N4@cZ zJTn{tnFxaD2J5r1jnGw_${v=F;qLglA6G&R5JJi@fS&Fx8yJBhmzUDOg}NO0`DA~d zE!U(4Io@T>%VuTfPyX}faLL)CJh>Uy(G=asm%ZHO=$qhFeL9NoQfU}ZALqXCoQ0$8 zpOXx!sEJ;e|GN0eyJ0I`Gw4(dwL&qJFD1OGc9(Zzwm!Uf)2QT#fAN_Bd}!2#XW)_Z zEGcvfB%nUWWJ4stS)j3p2kbAC0g~~+62D6*eW%op0-h6I>$Q@rU9fiDG#mp7}-sa#%JHo{Qs8HusBVrP0_A zFaUah`Y?R)3Lz%xLb^F-n<$_lQID~%i3qM}=hsec0rdS3F#{i__RTtVqpM)KP8YH# zoMP29ONR;iO4@wmI$%2R7W@rp&PGOm;%c?V;x6+AJ+Boi1Arb@PN+qOa-!EOcgJ^t zHBhTh3!sQ$g=;40n&o-ent;LAeN;?XQ|D&Fy}&R4gwSYjZk+Ff-6i5m0mwd=;-_&3 zWUZ(qRSxdPB$#iwiuUF#;h|%p-lZEek`2cTti0C2hV?XTUF_~$47hwo^gh)qTqRF_ zy`~Z3FBRSVcs8rxr3W8x-)>YcczW${N0XC52n0Jk6uxx3+o>R@Ul*GxcDrxu3;Hli zlq!&3mVSQTjQQnWnf!WvaQ6Nt6;c2ZVu~kAHxqd1@xYVNlQ_GTts zc)@E*_oU3>#SN4G-brOSP^03?`MukknijqX{|t+hUBHw5SW?4RC1Mt>DEbGWZJ6`E zCVa~Oz_Zuk_D&;BTPKrs4Ee{w>;R1S7qxep^U83KZ7SbWA>V11fp8?V*a97BvwEk8 zqj>a%7W~+}uYX1W-<1IXGpHL$X3&+&$Q$_A?KJzi9^s$;&V$TYsLtl<@o&``iJA^@ z0M&?okWYak5`kWbduqt&e7iuKfG&olh_xg?F)Xc6ehY@jWZ*3^8|`qu2fm6%!^>d4OiHVWh*&wexJvf2z+pFpugutV9H!27B zxO{;|Fbk00?q-PEHkQ=gQSg(v$}4Ul1oAJwagq}^jKN~2F2=yA?u(p*!zz8ieIM?skwnIvgl<>lfiNr@@EghO4~+sI27YT0;WO0VHMnplJexlQwpH* zL4M!Xzdp79)ag|WvjryaIN_!?Q^+G%rncI3TXYI(QZ!z4)ii%AqsY(6NB2GmuIUwKCFGy-fR*if(QBk_?B7)WCkBI9kH^rXffFx<_=Utf?LY*L0CEg> zOma>7R!AZ_m6LJ7A0~m?DsX>NOjt&?GI5#&vnZLX{51a;dP*n=HP}!AMBxo8tetT0Z0w7PdwX$-rM#89J zvNIcZlG!dTU>07sj>5yIeu~Sxt4ZLX&f5$#IwYk#SJ`57l+I7FhYLz+CCs7JYZ(rE zn@XLRsBO5^mtwv(`fZf|Vfl&_;kR5C>Z2mcSwj6ZTBwqPc?9YEeU$O@K3}VaPqnzG zsD0w0M~ROOJfH~;hdIVhiv|xc<;-Gh*jd5XXASM$lbb89Ik_xas;HerFNsQ6i*V%1 z*j;l6zQ9A178quYuUb(<1bZMbJn$|?*O!=m@pi1-n91#dq;8IzvtbaE^ zmIC7xwgNB=%?$o7B*2h0E`%O2l@LRZrf7+WI+9doU@n{Y7DS&vonXtI5`Z9S zR|t~Ef*go!zuf|hEnN;!#bwS6@%pru3QZc~-a2&c0==nh>&jPwnihvGyP*{n@AGOl z-qt(U$ zPoQ2~TS#|T^o{)4UM-aSd|%UFuLOa?{wJc!$p*BLRh~{Bh&-A!sl&34$U|m$@ z%BQsDVM;J_q<_LP=^Dg_L`qI1L8XCD)r2{VYCxxU*V?MH#yWK5Sw<9st+>?*W`A82i{ZcA>~gum2(c zMPKBme#;4qR5xB?c$*;&bka(_a4l5E6;=gU<$RU)BRnnCYO7iO9?g2$Q0w_MPP|nX zWzie0B90lbM>MVvx;l#jg0E%Mgw@rMw%zL3z|pog*+=b<&@rPPzkhtbWOcgfpe;Ii zX{eLt=woJmUamtpYE*Ju&kk|3_G!zV$8|9+bESfAWaxgmGi}ZM9oF#sh?0rKvZUv| z+Xz1p_`FU^XkCq`{+KRTclCcp;2m@N5j$l&B?|7Lhd;t8o`N_7jZZ6m8+XXQ-8qF{ zIt4WQJ;+V4bJ{;fYzGS~YNuZhx{Kz0U3?QMB1zFt~sNKgJ`K1g-}FhH6p z8gPgA(0il+(l`}uQZ9k+tS*v>8^YRu4GeFr>RTZ34nEB1osh`*H-HUrm;l~%Q#yvL zCtaY~7u&|;M_hr{#_jKxW?sh-yb|q{;;R?ezFm~SI&<=2JIK%5NipwxeY^hvu>Q8c za1nr`S0snvFI(UXf%B3`y!BBZ`gY?CR}~osN|bDk>b<-?iN^RJ=PD`%yian}09xCu zp*CvWqn|fp)j8upryiz;HyK#Qdyp6NxTz1vsf}3e(^L0!DBIsGz zaFJ=O_Bf+?Uj;+cMSycoJVNXXo{yMcaCB2B?7s6B&62!bAj#&6&fi>s=eQ}&hN3ek z$g^_7sm}IJ&J1jGi?Q*44Gd*c%alz9a zsMoN-Ov#Mua{v>YP{If-1}DXdd}S@A+pJJ=wHob2Wfh^_e}`XE&77b>pS=S#f~D$x ztikp4E$GQ!Z0j_WZsD_-6~i=%*A78x{H>EYWCxS?XQGg2FjUqsL*8`Pnq9-L!a6!# zt(NtqamHK=q0=^+>Cho2!b6)y-@JbgNb#;1%>qzKv_|YvE2ZUTN;-tet~HiRCq#1h z4}0^TNm_>Pn-9Bn2NKQrh?*S+RG6$5qh{&_XU3E)kr9{k;~gc6$haDlxQ^Zkf<3S0 zr?SQcbb|AGlD`?U(%&stg?jP-PT#d6k};yPn6GpkDY6`Zl@INaezg=E7l0Ih(+Hrz zpDZby_Ji)4leI&&2fIlpz5G%AoRi_3n|dz$_Dvv$^!8+M7+J{v&XGEAG;EYyjc{z4oQ+(O@HChCXX8?we0Cw=2^0 zN8_2p*Z9@O$w)fue%|xT0c5T)mujrVVegg&E|#~g_xUs=oX7ZAppY_B}98-x$uq6K}f@SRB!0p&Sy{q>X&l zRmDp~&Tmu0^tEZ=43>z>N?v}>+}<+5{0o%mtxZq!*!d(s-W>lsu2Kag+dxBCm(4}7 zC=6{?F8f=$DqZZpD*IXsowoKY$)KUG_xGUq$bsjYj$=KBUIg!F`0Fmt1S=W|P0d8b zZQD*K(if}2dP_4+ni(;-hx|x1>>XgV?5NA&wpqUg94qS%za9tq{P`;Pih9`ti>%Dy z<&03ws4kREWitU`1BfaQRpnYohxkFut8H`nY9z2y_TX`2-qPf0GZZ}2MmvPfR1PQ-`swT0LaFK zMnm13XU|#+j>l67$d@9$zz45*jlQYO=gl>5wf~X~@YEks*RNx$7+I;Cmbw(SU{ZxPak=Z=D@vx$Tl1I}6Aan))eopogXx-5JXbzMC=>-S*M;TI?;MYB+T zNOC1N8rq`b_uz5vw3;^&St=&3=0NB=f;62EGTL#P^f2Gg$!YtbzyzIQEz9obF_Be( z^J`T_oSZad;g|2%(dEwJ2NHbZCP}0#<0H!|zigsiD$VP@hLL2t?wrmRTv%he;x(NkFc{3yb00 zqWy-q*J>cwaI6)kymsIF%~R(A>wwY-f=S1+8V{W>#{!gNI3rb=80<2vetan+q5|{K49Jh!DKB z`@@x}#ioj{JnT+^Kpe_a>!!1MsUGz++~H5$3%d(N{lg*&%eN0p4_|eQ zuD-4M@l`D5WaYYpD913<6BZLcH*66&-$t2DXn*8(9qBR5pwyoHxw4XgaUi8eM4!dL zS7v$Hm)xHteo@B*(4fG2H1TMLB~=w52#Co9R@0IX+7dJt_AoLydmP249=SH zz`7(<7$eF0Wfog*_VqZ zi=es%@H)(FRWybth2lwm+pK7#Wu0+HXOE|f!p=g7;9CKwE;*XgjcrRI7pKDFyU(S% zD~s)5EUNF9eR-Wfz$1Vs-I|&h75MXt`A}XQQzz$YGL1?!w#9vJNLsZfwtqJcA=UuvN9=G`UH)500xVGn0%mmRFS(*A z4*`M0-kf|UT)19p$ORk%wre@FF9n(HB?hPRUZ09mt|d=@ zCmlQA?mTobmHsowa^rETC`F2j$E$Z3uMlij^3~;JM&ESi>?-AcB+$QOJ30UOhN43y zry313GUknjIM_Yo`9gAsK3~hjhWM>>!(iaCF9zM#|Xgwgl>)I zbEk-XU?1Sdt)}H~&o3+dNaXurU#|Os9Nb|G8$a)zL%Bd^Xc>>Cr}pLyq`Vm37%dXF z^d-0O-ugS%gO>PF9U6IO4w29#ZW3M+#z_pf@$yH-HFP{B5jdqUj*UA?eax}ITR2|j6KOWvFoup=J z+!pzSR=e?63&atU%+6P@sJag{acqjn-L_2)@sNUemZwIpVrfb(H?B6Uc^w`CwoUlb z!^L>(53ZcvkTYNlZV@jIhMm(yUuNZ53T0E!i9BriE@*-)vuXT1?r#7@No3hcFjubk zWhGP|k(jDtVSY%LM-bWh42XE)8v8WYm5>Kr3#?mlIpZbeZ=oA{-hTLm5pr{Zr71zU zDW?Bhn0TrIWThdgA6HNoO=-Yg;N(Sp<@G@v@`M|KT_vTlvU8t&TvSr>I)^_n8fQDT zT;GovdwfE!)j~XDBllfcHW#p=Fb$E<^<*8#zb`26Uj`u9*hA|kF5KtSK~eu|)NRcM z$-B*Ovs9idV<$U&>Fus8Nn8BSKhK{UjZxNp;T%V8Hf0B=DV5A2Z7AV|DzL$& zEPF-pZ#>w_0GQ1$L4bf$cjMfxi*9|}8M*+LoI=KF=J0^uB zFIAk*|Ls5j_zdzG3d$^}fOT?LWjl-{qgV&?O(U-bkkava|wqVw3!Ma@z5`vr?IFDtyY{nFfG_rbqs_9`FhW{&TlN zWc|Nu>wpiG`we)bkCmp`_5hseR%tAXc=-q}!{e8t<)ZCL`+`P#h%!Gm;nkLtack8M z#d2eOXx3UfJ@Ob(|Ni6pvYYRQ8&AVo1Cf;`dQL%G<7V{0N{f3OP<_=ffH&e9jUtY} z#9@ArlJVdZ#=ZQ1sC(P)b3^&cbuDQ$#0Jpg_($E&QvLR^I=iWu-{~G83b3Bt$wNk+kTAUT0`4B8dj=h$*-UCws46Uk%GnL{9yCDt$lb0ilZ%h=YJ>leFFj~d5w(rHF~mdT z>F0Y%<=}3f`3%-Sp(7vJj;*m=elyUK3u)jr{=%v)t;&iPDSXOz4NMbTkjEX(0yAfP z!h<$D zC0vDYN!?Sb4)2rjmzx0=Qh$FzmIcU$g?%^WcHnjyq z8`p3`pgsNS0#xR~$jHL6Fs`hlmd71o$j_fOa}kDolgniNBm9Z>wI%64g4*F1j?6+} z*Z+7H?Ax~?dB5l$BWZnY;l=H+kQennWQ%wKTos4co8fLf8ilL3&VRhgiw-*i;wK_2 zZeA%(^j1bBFPJ+E`8$hQy%RltJF>pn>Rpzm~?hIqR=GWJa1nKrsSG41$i*(?~an!nl&ys%gNKh5?7)z^c3ist-KqDRq$6-B_g`VPU_&{ z4Z1grW%||u_at8wGZqZ zbK5ej^zKmGmzY)e&!6cal{M0q-E00BQNC};-E?Y;#S+K`jwSQW#H;2~2;x&Ru_IjU zji?|O+~$h;6Zv3zjPEbT0RN6j_CQR?&4BXv!V`{!=XSIe#U9Ct#}S$Mi6F~-j!9W6 z5J7Th<8 zDVQ{T)wu^!MqA~28pfK*2G4|!Jd8mofm zQ)C1S_>gHPIy%C(Qh6=&hY$Ab3qEYIwN>{wug|iy(-CGv2Cvek>4OkA zUnoWk7c(MjqeL_JQ6aUl>E~awbVnRs;HsqamoeN66FA(R>;>qMq`mz~!i&zs|Gqg| z4!r7!t>ymx=%-lbfnYzSsDw}dg6mg7>~y~!Cu5p)Bx{=aNhwdmbRC9VF#0L40L%?5DF5v5?bG8)FgK2&vDQ-wxeorR*U0GafP_areEdj|B;uGp zKAqDxxjvV9?Eb9-b$r(I!OCzP-^lS9j|IBNERH0^B^@{cuMagb`1h^Z7eF#1{)?{; z$Qj?&qJ7}65CEYIQ@pCejtYquCT!+=iQy0B>tT#s&RgPrtZ`HzJPYrhkbfzR9w?0E z$VNq2lg`$U2Tu-N<%SP1nc|Kp-NL0$(%mF>xkBysfepRFBYC$~yNnyKiXcl&Yr{!9 zR0ItIChPQunnN834b_lc^9%0_(Ep6bgDhsQx#Et?89OV-cmt4&gY@$U@lxUxrq`P) z&syO^?6>nh7630Af*u7EzMt4gT1fXDE_gTCU;5XmPav8zkBx2u)XXD_+;a-JQ1?_V z-aYvGa)M{He0o87t|3e+(uEPO$JEz5hTMS%$R~;1hVv!xhozrsiT9@iC_Co|6kq#W zEo;rLq{~ShaaLK~&zHSt8jXCLbUI_350g?BLo(waF}#PM2d81a&yRfy9$@0*`R{JX z>)|ms?7ryke+l6dJ;S4IaPwgJs%P6FuA(Ep3dazgxSq0?pp-nw2&v%qW9}%` zm1A+@ZrmxWWuX~S}SbkxVT5p`GX?SW%%Cnojxa4!?#OI zkjUS`2&<83O|DTRIJkhRp{~8N_e2J)=~L!N%R~6k|BW0kk#mRK+5!$^O5iG3Opcr* zYGBpIB;A3x{6Sm8pP)}8UtxsHv@s{Ae%Q7C7uR>v9F@ohJ)&n~dj2}zt#95Y!+LZz zi=0INMvdsN>RjeGGxIs(z;}>xAfD&-3HCjYz}JyFNQ19~=*G)%ft7F>^i#YL?ttkz zbUNK`20gVQKGqbQ}M(Edm z!nd9uvpfm`I#)f_!)+qOW0yH|Q4YOQMKk%!V{OAPuT0Clz56q<(aQjJ(lGT7$_}~n z4CQ&>f3l*}!7JV`a0#9IOe0Ei#!RUij~V6rM)nSA%N&P3;0#Vv{wK4Cf4>8E?%!`dMyQFl5J z=sRr@lk$CE`FwI{DmxTRnj<40q04pk7P^1|f};0`K2zd&%12@^0Dw7g#MnT^i944( zD<|p00fG@OrEI1oIB&)~cS9fUgsA$-tfk^IL-}O*Y{ zlnoj!VTG%nU}F2pNii&U{=AFWPBLuMp;=Nf0*W>InoP3JrN?ar`U)J&}j3xQ>wb zFF>M;y%ig0UwY1erX(SIM=EF>Jzp7EfTr?0NG%hN4E=QfBMIJ!{D(*lj+*f~4+^xe zDj>;~+g_dOA(5MZ2c8SUx@#D(buWL@GnEY)cgC?gRk(i?f5A8p(@xZtR7;aYjXf-` zS($g-Q^PkKsksaqfvw;XAfos&0*dd6Vg8phen`C-7V0CC9mF{KJ)^cX&T@9F@)tRz zixcr4e*(@gi>51r3SLG;)VH##C0Xl_29H^CgZLvu7rGmpBq8;y@^;`PfxF=!O%Tcw zWEu#_tqv|`Ebc+Sf&ZE>f$r``@n-QW(G2c%O(AP(})D*qHy0FYk#9o{`C#v^!Phu=FY z(8PxI_;=VS5>ykzamd?y6wpP;QGOp*3k-q!t_wh+;5Bjq35<95);0Xis1&#mEZG^m zoTmtPFt?`PhQyG}rhjRC3Wig32P|NO2@e}yscA$Y+f1M>&>N|5^N{Amr)ZUQuZgOH5-0uKY>u>9e|8~4ZmO2)?# z2w+t6XZW}qCdXZbjVy@QWIg9%Q`m~EVz$UIYCK$=cy-weW|J=X)*W(nCS?)=g!g2G zC^)M4BCO3+g+{(Dtkot}G|%c9nJaE}!MG!XA)7W%q}&Smxq~ z5Ljk8=cG1K7>X`2$r(sSqTheBoKmoympXU0R^ftaT>NJWzn9bxv+urt(ci#w39fq#J4d4%p0}d6>ru|O@3~`K8 zNAHW0iA|RH+^_mvUY@?6%{Nsu>l72Z?%rCcKl5MG8?OU(!Kc|&bN;0s)vDm6W20tu z7|Q1>&OWB|v!X;M!CF3>Q5$0tiAu2poKzlms5G96_VLW0Q`|pe4JiQP{bw3uc2H=@ zz^vpiBHKZd52~H7{v-$FpJH`Vo2-EkSx=g|%JlLn-{+{O55JJuGSHS$+Ox7aT2R-# z*gGMc*FsTTwI5Li_2U=NY*qnFW@B9Y`*4mD&cB4<7(f%9kQA#ZrL6tRcG{=*&PDMG zvpH+=cKhA1rUQ88DQaBj&@s$GgF|8uytKivU*j`eTg}r@e-!m6C$PTLji-%1U^9QI zz_slJCsU2wpd8P5`2BTIHTq|1kcPr@WgNYyXFW9bIx?VYlZs&IuI5OK8}MdLWpjd; zxkeZ+Ka&N=Uri)1Se=idY#<)`7M=y>6AXvLt^Zlyb7@p#P9%d~iD(zxbcDc|=P$yJ z4oC@T8Ie#Hd+rnBnnW5J9Gn^~pDXu-n*v#`)Ugy8{P@-CWy7$U2P?AdHyi=&AgL@j z0}L|HKhjvdjpsU(PD6AIy?ufUwgOzSx|H=L4w(^`puDrG7LxDF!6dK4CsIw z4x_7YmT`LFU#ou^R{u&{y*WSdkoGA|fbRi%=3HEqZxtz6Z4{X z(Vr{_$B+0np~kwzzb~dndPfGxA0Mck2o4&EG~%dHmvc4;<-d-sFbTa?JTEN*nMAAR1}tjz?#FjdE}}Q@>)IL z71qV=b};m^?~EK^-0fIAUo>VKN>%5TXNlX3DixUUHq^OOmqX%Ov zUr{0jqslJPBV?YCy0$0RfuAXtki*csFX)zg*2 zpylr`y)~zS`mAz(&U=5&>O?V!*`Gz&d^Jso*IysP{r@in4G7?F`o8(6VlClkWu@A5 zi$uRv^gK)O1rtlO0Ib*M8@cyYDdHBUKdi@R<}#0>gh#a}s+L*N@vvBvcd7OhKr7{W z)LVw85;G0Np)Z53KqDaJ5|HbIy>j{a z>qU?gaN~zD!EX*(2^jf>5RX#CWljBbdPoos1!_p9JcKDBABQ8% z*)LU(-orIGBOTwZy$Xn{j2!Z!n<82+!R zT_I5!=37eE`_T?E>%Fl#0GqUt@l`%wk%fCDQTwJuxLjsxr0Pd+b|V~>ftC_#CcFjw z(ZJdgq^b}F&pK0;2KR!n4~rWf@>KwkQO4mVI_sf(p70bsl3fTe0w0Ar)bN1|4eYNX z(DlGrT@wcKmgvw0A=*stb7Cn2T1wHT^z05lU3@q&hj8$a@Dvx!^rPO1`ylAE5s%Ig z(p(;NF>tMUCV9l+?I1M-Qn-zKT+jvTTfrSp5Z2$27S6gaekq^5zL%(pK(7ZCT&48; zS1F>Kq&>ymU@;>uP(1A5+loLaxDvcQkhMsZ%x4-QI%s^2yL6U1eR7;Zc`TwLAA*{L~d; zQ@|0^C%zF@xN_&8l*0s89l@7{FAa!2Mt7-cZ4Pp3D(#^;^kbxx&URghE44JaEpuA3 z-1bh`cCsqRAp&;*SWrjP{Jz3>e3ZBgdEl)!vvO2MKaT@~lGoS!dX-CcPKo+%F@}MT z18HA8uqOaOH34^ABPe6xW zUALjsI)~`ij{&bMr+$#-qadalazbp#zIH<2PW2Arq7pC^KLJtGj~76Ad^VM$RpueP zXKh8vq{+$j)(6~P$vqHyj_8sILLTaS_~dyqB|#+2ibCG{a*WT!?^iuT?>gtYdbYn@#QB z$4T0_YXt{5^xag>W^67=C-liR2`;)?S}|mw`&PTl`|b697IO+t%7SaF18of<&#d(_ z3wT1F0sF!OrH65c3gCru%Eh3-!HlTCd4fR1X_s4519HLUB~TE=uK~!>{lPe{apK2g zy{@N2FOCLjI+x5&e6bE&@>g1Zsk!#6QlWGJyH*1>CpIJyj=6rMJb1bC-zRnOzxkgh1u`hPH`4x z%VYk=>=Y^QNJQAHso&jP3X^fxXXfMW+G;RO=x33%dpZE_nLko5%@zP_#IsuPS^;2E z@ttG9TJzi|z$56?h>kx5kve}SAQlrdfccwh*Su4WCeSp#zAL0@yCzIXf#9f&pryx8 z-mjVFD0!}Vm6%gU!6)&#l3(yBGquPk25&weaezGt2D+AvBxDEi=5}m}jKVdrqKYnH$!A2hh(3$`r)hxbJs}7W|qoyEjbw{$d~Z z7j9Jr-hGupvXMg5Ia=;7E)U{Ls%G!#WZo@v4KR6E$LFH4eoLW&o6JK0xK~`x!o76C zN|TmHY&o>OIujt6ABA^hw2tE>5nY6M!Bsu#J~q2W98+e?#7f?@E|vy{i!(T1E4BhPA^k~&x*Z^vr6Q{ygY zH;b)tm@H+4*&9BrUDGjzQN6WSUUyne(g$(HQWKRfFAkOj5445h&d)VCe{>mhhsI(1 zG!~>9f=@fa*AvqnKZWW=+B4v*hXR1R5NfFAB07(wChp;T1i9Tl<`GFVBV=v^p?V=Yh^lySfh%u-&?Mf z9JwtEMFNSmU1apPQ1P6d3u+@4b^P$sVY2>610mWd!tV^x72t(qpfnd`Mubci%&)0> zod!E9mj;t}pOcocz0zgY_)%cAqcXHRgd%0p&0o@KU!_u)tWDp+gJGA&*mG~?Qy7$c z6-N$W=`i&!w8Tc1J1lsS9CI6)X=F#`9)ZEj1PUBN9p#ipOj#zh_*R4+e$Vu_H4ZGMr2L_G%8mhZfJ&A*{{)AIUr z0s}zKjQ9pk$e0HXi#ic}&EbK4rH>vYi=DBnTjnW%-FdTJ zsgtK@SFC+n+!)o!dZHl@+yip#fTNRd`OW(uDLT z8Ele%2^qln1%13qz#9*JC(cNj07iO3UL%HnHm6&C%86mmCS~1`*{Azol4NM-mq-N< zQ`m-1JAwmv%ZH6Ob+X7@i@S3Bb`hBkI0A7M5}}r+_qHWDBwNhuNlJF6N8Lt7 zKei#@4-rhSC?LR1OH|~*JL0_(6LdYXttj8_krvJ`b`H2Yi7nK`U0y04*OaES<&eDP zLD&8diY!DtR3f{-&cDMwRq=hhA(!%o!=7!)rt2@l$elW|R^py*HaQaH_09Kl{0qVv za~!A)CkhRIC>Tu%Pk~D^6X;rB2JWSj;_(i@Od5ncR3ppHtkjE^M!l{!?ze_J3r*(-rJ!L%>rnSeaPU8#{Qy?V5Wlw2=T{~K{d5SjzN$^qB1%?+%hRqj zSpfF!wf{*2RGWCY5c8*mRMh08FoDmPVR^l~_b7We3l+0%lACBO68f7BNVEiPT4uT${s)@iE+y?hhRT#_ALx6N*P*lzZ_erOTERSgkU`)?eJx1E zlh`yBcvXcz{qB&%&0(#_c@2V6!178yVo!Ie;o9_abMt$#4R38m$?NaaBatw6B7R^@ z+`76@z&HoGU6r}>*mi+_@mm5n-%N!pX*NT-lEr63fB#-#(1n{%nBNW+M@j-YVh`9>d=!59f0ra<6O6_-F>b##|lk@1FwCGnl zW8DNj_6<)T+;*7%_PU|h_QH)#AD^-U&+YB!e?FB|(G@wnbq{c8s_!FJDU*_<7VfdQ zb94AtKe!a{v6gOCQ;|&>y>u{Zqf3%gH>qnTtSODYu;hH|Vs=SAm0dcs4VxrZzD$6r zj^dZtb#M8NC8C0ZR>2B?)ccK8(pk(*=n2+9k1X)6sD0%(I*E_wl0Q8wk&}co;h6Tv zSf10_$yQev@s#uHcPk?szLhKZ;zp@v#1fz75QBTciQgxrxy2(qrb>J${j($XOWHr(NX zdLqKDBi6F0$0g{5hYb4JKip--W7(g*bbKhyEWF{GW9tIRRUxfLrgU22o-k((T(Pg# zLXnZD?JbMUX@_6+-cfQYgS;(G_bNeHI>+5c@~F#P1&|Jt78uC~R8S1%H<DS5wI^p9%XCijKCBCjLlwF+t^Wk>dfpZ*X zzMT}EHt(Q8b5sXAfQiAx|KA5@*_DsU`|9@CviI!bAc%_V8=v2;@zHl{t$x3`C8o#4 zoR~fzcP}^EJaVOXRI2^foYJhq(n7&;fni z62tf;XWZ4nH!1>U8@5Tw^hGp>v|Syd4f?_~sh_eC%R zp+ShdP?{3ZL5rVP%~9VhqEn^d2$4SV#z`%LZ$6Cp=KbKCZ=MlWML&~azC>vhQvc@2 zx-`3sm`a5BL8jeC0i;(Q>zE5^n4gb6VGIviX8Yxy+MQ1&drIDEOSZ6matbuSu}*>) zZ`o2#ql?EqH%#fd%C;iQa<|@n9@v@mU>Uj?FT7w~o*ROVSXa^x0Javh`qO`Ij@QT3 z9f(Mv&*4HNJ}4eSp&K7l=qd5R`Hglta0(-e2lkT@l;S>_3SDzeDm+ST!~SONS02jx z`2Iulu(5n9W<}W>E~fjW+^~$EK{U(-qIN}mZPm5E-_+;mc%(%ddKans^4lt88v648 ziW;r2t-jtTcvETG=Z^Visp@gNVv(Qc=Yoc-JvMQcXST_5%lW8wo=tQ>#wSKwgKH3= zJBFsL3NKNZ8C>_j12ZpC8%@}E{+eWz*m5Dk-5RfZYpofROn(H@1H(5%wN_GvLZwq! z4Tqa+<;FACER`{_rVWM}F9&gY6**yEw4CXu*=|nVoW4IbH;@r5#O1bRs_Ft+joFAR zWHlQ$mJmsP;j@|_(D?G)fw0j8Ly!0JneTW{R3C)Suf$8V1nd(;g+S0fNaO5&v_p0W z2_2m79Ff=8#$zWn?GjF%6Gp?#P5x-eB`!~rqRHG;;JR{Q0&71>m0e`H>a&2_fU2~7PwHe-ahvvorJhc-Ci+1LJYkeJ!U+~!f zqOXhor_zuZNNQh$bAdGVTmh9~z-$p91=jMX8oehAoZUV@`0O&4?NYb=k=^-~YlRf> zELT)~ZG3JW&kA)-ZFYRYQmIsOPrH>@$}W`kg%IR3qg6RG#=tzSk0O~eGyp(BsSL<9 zcVgaxO72GX>LFoqZ8kTTpE_8^+j;C)|E8{Ix;={b5HfW7*Gx#{nSMQt%|1bdiwZ`h zmuvWXjl~j8rI^1t*%rRc!Wk%!+k7iV`%MWW`HOXv? z%71=2eJd`fYGejiB`mtC@M^o$uwq`%vDc~yAC16Co7MDA z1ECay?ClC|+(!zmP3W{Tt81C*x}BTd`#?@f=kHwuMp5j!{vPk91M5uKZdesfwY^Zs zIZyY98eOO(5l7sD#b?(Ep9?#0TK+g=5T|0zr7ADib8fC7koTqp1@u*1Yu-mnnSxd? zp^ffqbQwB`6Uk_5-u{m$9(cghT8X2cdmO)R`-Q%HZ-bC|Jic%*QwO0xAi2;?I|y2 zgKuBq?}e8szWX)a*j|-KT29y z!zbHYJPm?$y*Pdp8d~UDx{od%C?uD7nCK_s zAURg09ck zJQ_M~@4Hrtsgv`tUR@Kb!3}g&&Yf<#pFHGJ(dDqbDV?)6eZ`n5PE$;QxwnM(Yc+(c zzLuHQx&gh|yJ^>UatKY7BxUbs?>`!#J1nK`0(*9+zAgdpKCB`HIU+xvX#vU^``@Sp zq;aP&!rzZ5K>BwuP%glvC4^5Da><+T+cA@++z9=kESfu)qqWviS!>(gU-0KArYNx6 zVYks2^01+>Y5jhyf*(`Mw(m{98|E5m`V46rZ*;WHhQ;PKzVQ_&$+$1KZ;XDXs&}I~ z%TH`+dKs9GQi1r}K0tUZr8<+*3!@p&-f|HS2XfRlFi^^gl*B}>e~nS!L|SGsILiC`9TJPH1f zJP6JFW*GB#2ZrBgGJ~@c_GKF6J3o!TD!)sT0i`z~2ZBkSt} zfkN%j7m>QJ^YQydGsSN-H8`7cODJS9<7MkQU-ppcUs{|`3r%Ve4*<~cknbcmGP#uB z*iF=5KQe@XItXd`VSx@TFJM=b-Xp23bl%I`KUO$aD_Cswlec@#i_&k!UM_Q0+^GR| z242rx4Tqm|g*CEi%}q2H$uFMLqexM)ol3aao!kFs(WS+!(7L)c^tL>tD*B32Y+)0P zL5a@q_QXj#Li^ZJVEAu16MvtTq{RZ76fCt$j7Ey*S}ULc#b1-*NaVU$ryN8n~YQ;;M;GWkbqH?alN9t!0! z0;crHR8Ah~c8Q9nB9PN3kSfqGH_WR%5na@3lz6@gI+?QdJi12}hbDo z*22VB|6jc44r!w|6a>_fs6cu-iLKi(qf7M^Yh`BJRGHqFQTIb5lP=PRC3A*8jlDX` z*VYRL;xDQhiZMu%3a>tC$P8+ZO@c^`s^fQqB9^!hiHpuJWkcex_)FBu7fnE_LVmbOQ??7#(*r{p&nXt zN&t%Zl9# z29(edfN9>ohcvwh4c2DZ-E}hgcWR`Wt~Y-^KG9LhAO9D+Wk4`Uu7c0n|?q0GBao2D9Y|u zpGB=Vi}f}_fM`-v5SxGxo~mah7Ar}q&YzP&9Q9+N63dH`Nqn)U>js~O&MGaesatI$ zC8gu3UF>%HJdzH;9mN-K*^p}3lZa?m^A*>Px+!+gwe>hh0+my_@J=T^>`G7H_Ad*; zho>dk8^`s^>ny2_6}>ABL)klL^^))S z{@N+u^?H^@^d4Qu{*vXE#wjYJB@OxYN>yWRGFi}xzIaIH2j1e6k%xpQiK1D zk$2nGP9f)!wPQ%cS{gX}qo%ixR6_-YxIij~z73bvl6*vUR`d?5bPNrt`eN$-dbd^|{#)QXvY0ZgYPN>#4z3u#Mck|3T-PbH*7OHdr zOakY<`b8{2Hyl=TD?!xI0;Y$ zwmN!&pc^hc`^V(2_@xYBXYvs!{KhMP5NGb_bwZ_8Jn?5KA4WKk{rJTkwXUVi7WR~P zE4fn3o%-(!@Wj-tao%*OT9`Ftrjr8?Ym1#zrnG*r=Tcl)Dc7XB`)JBXz9nRE%3yYI zZG&6|wBiWYuW%oMaT32we0Y}w=rqZDy${t3en!B5hul79{zgjp5~(I!1bwMizn4YK zP)~#_lnr3xFPzp*aW%-qN9RQYD4dw6XKM%de&Ue{Wdz}Jo?e?X4y?zqCG_<9 zF_NYYVC_WQ`AxEo+6P~4+V`444kG3`k_YvlE7?EvSmczhhB*>3V6;%y754qc4lR2& zXD?qD(oti-spq`mm_XZ~zS9Vf3z@OE<@5A9T_4$|es54JTW0x>7o6L6J+^{#9UJ8= zV$M0E%22Lx_Lp?e{=T92s|Vgg>lNrqn`iBf5%9`Jc#dlOmm5}x=@y}qH-yfI*GN@a z`o@3kTnk61lNdf?_6=Q)2&L*{ZcHkt0X6%xzm)34Dy{5weVf#1ABZ5S{kVw9&|9m# z8;)MRk@>Uz_9NHIwqLg-?-=uxgM9jZQ?KjDvoC%$XMKJ6ZzPSXZkB4fX;T&X72OelKM{UYKVZt!?SX7_P)3+W`$_Kg+b{}t^ zamO;=RCe4Leo+T472k)M4BLH!m4$M--P)8lf31rn=(^q_>(?|=hEu~QGwndww-Iq5 zm&qDGbd(khg+L|wwo;7(!3S3lnjJKzer-T>$?c?;XC)xbk3V8&&=GXM1 za9*a1IxvxB;CJUn4HQi ztU5{mA|61u&=fUhX;cLB`2~gL*jy1Gupth`=ynZp-;H*x~ zL6w#Ju604NrpK+TQ*(MNBVpIU$A#&pMKcig{8BokvjeZr{FB|KFyQ?d_A9o`0a#z` zPF__)eNMp&>L_By)G28r7YKu{*G+u(?Mt~~#$vGurLkhzbgZq5&7ZZDWZGeuvSw+6 z%NZ_#8D|GGry;I+D?nUZz599!yXD$FhvoSd;gmJ_+*ilO_cLR-mCl;WFx6y)Sdki} z1dZzQ(tK?j8Ij@EaH3ku)v!qyvwzyFi)ug-Cc7N}otEWg@$}{yoJ{KZ* zHWZ;X)IQf1LB>vUnAkh1V2&>uL*Q(9{Ne#YeYsKa4_i14u)E4!W;&3vJ#-5q@U zkw&cL4~3ZD6Bakw-!`ut3&?&s4In00xh1L+TB-CT4JJ}TX$hN?BS)qKhy>vZvO>G zMTC&8d}WTB8$UrJoj=(LLSXqrozMoFu5&a}%QU(_jjiO{UG+Ls+w zJbrT3@I_&Uw+lRL=c_I}ruWN(%%9gI;5nff{fA&Xb#dC7;H#AUY6S=YCOj7D4H<{s z4R+j#*9q(Lnh_cZitlGQwTrix0bvoR2IrVjZyUN5;pX0Wf&90o=A6?EbKebScbKkg z{8GY-{h0fzcVNb)K(0Ji8`o*Teo!Ksu`n;shsP$yAOEI8eMCOS{{OV zeQbad9HHNGoD*f%Z@_L8pyPPW4V5LW0NL>KJwrP)6JO)G;~TIiLH`B?dN6~6C7I1x z3Fs+fPhRny{LWpZ78tw_R?4;2*sUE`Os_MPqjQ$Bdze0% z=BU)DfJJ}RuxxOp6W1-F@^wtiov4{y!?>=1T$>-hc0MMY{L6PjLep4tC!lTAJd-%2(Dtwm9Ak4`*bx0phEX`c z?p@vTr#DB+n$-@uXBoNa@J5M0^VgV0T9TG{Da}7}oO-n@_J&2~_a3o*Co_hQCdOA1HDod)^+A$$=VxTAkGGT^W$S ze4KVU1>KlM+hsBpI=HYGptD4`jF0%;5V&7>;*7%m~wJ@@!jM}Uj?6_ z!KvQ;G3%UmT?fhcb0jFAR_agB?YDRMIf)do9gL)vLJ#(d7ax~$ja@#{etMRJnXDd< z+n(49P~P8d6JvnWvr5mnFzqdv>UrVS4^1h9)O(nGL8UKSE$#A9LCSb+JK(o%A1r^$ z^eANnG!?9b$GaLEs`js9k=o z9$&Rps@GSwg##_iBOI1bkfpXRIQj^+ktBU^J=itzDV5;d-J2!j1nFPzmH`U-H=5j4 z1v){!e?F6Rn!u{cz$`xEu9;m_naj*ewHQJd&J7MRYG}+8CT^p8xEE^s1=590O9PER%iD&1V|)aMMQc=~cB;JuDSe23e2d|WLxHyY3AwZDJaQJg&S zWtqm3{Q7g6!*y#^SOBRrqNN@>kn+~?@*m&31zdsaVpXY+jds&i(JXQHpzLeUZwb-cX<(0WU5K;?jQ?2UOF19yc4r6WaaNj@)BpomL7@*N!vLfM&>a+ z{(&u(-iJTcAWLg1tEIg@^(^IjHRkR0Fj8IjC|qe4obBO!$Czhpr_lGKHpnEDw4BoX zA!5QL7GFbT)s}gH_U$UrA-<75A*UCZyOO*1rwE0DpKvx2ud%Tn5vD>%1mGLPxThCH zS(x)EFDZtR(+1`~bt%hiv+7Phl%4X1%yGZ>OeJ4}%^m~#Qad<(xN&xmOL)-wT@6Z} z9vuVUtTrn{T<#-^l;(rhue$9!4}CTZ5VI@W%K36Uw^X)x3~5cm(+AuIZ;)eCPx168 zMy&ZVPQH3N-`Q!6y;NRjC8NO}epU`*vXyhiu%eU}cYtooj5tqgvSx_0G<)pmydY%< z1svk&oV4G`PeBpRbfmN7fW{2Nqbh7@EJhA~;1B*^t(gf!c{4)@MQ|58joawj(wXQC zq~eiZ6GY?2J?%2G5BOcRt~RU2&XrlWrk6tO-$*jHEaXLp9T-jAjPfs_toy+1GndpL zICwm@)D)rIq|?W9bglvCVe-_i)ud+?A*k}Xf3ot7tcAYUDZNMQQr&zA7jtzzCCf)y z;=nJH)Vj?3K`A(C4Sj;#n7`RjX}cTz+^X%8&gmEIo14A5d~~gyG<_hR9??t!0yqV zkh>R-op@N?Ip);X74cJLu3@R_)r{e7HaBpA6*1o!NHGkrH)T@{Aqdzy3mc;r^%NBL zjTH5fxn{PNJ)imQ3=c)Pr+!Ja{(Edtmq8Pe<@NOqhD@GCAcyEqji`&Eh-7~ul)Q&& z&zV%&NMRfLxAw!2LRe%SCSMi|Ca5CaWzgJsMmjBd%ix^);BS~VtxKg<{uGwFKlbeu z#vnXfb8K!CAx>3RU!6I0K63!$CYUd+Jh9`)FAD8R8SbAVQOX%H1Blb zt_;UhTG{fkaF~^)zGnB-(@?gXMSS`-eFhfzg^FGK#z%^QLy=@t1Yn`AD+*sk7wQ)% zVyC1%b{8n1%n8zS#L|T%VuBR^L^OpiP)K93>SrH+yZY&?oVff}I;iQRewatyrzf~0 zbyJW2GC0oqIb}xNZtqL!%X-(h}NPG>Rw`q1`?^|gJ1 zwExw5Wt$v2<7e%Aw1C~}!%W>Vbqk(aEw1z+E%bx4f_rgPvIzUo-G8nNcI>uk?}7`C z5kJ8N8`qd{$-*#lYE51Wg1<)&#K64#tg;VvB^s1YtfkP|DR!y(jeCyncZKHEV2Rh!d%f4iKxH#ImZkVoCjs||MI-X=Yz_gS6X-h+WQfHmdKpr_Rq(MqEQ+kT?X& zQEYV&nnT=y10s<91+vIdL+3n8iPRf8;=UOFabJFF=Oi4jbEYousyVTjYPneNylV`x zbB&STs{Kk&#dnjoe{!WM7ymiz;EC$CZ0)J8xuvv{3odCfyTcX16ey}yY#;c<-(<|u zbgL8ax}9!aZRR;>txCclx~xd7oT)$SlN`M*L;42! z;0}ZDlC%fCR+m$Jbz+_dcGJz|wpqQoD3)fp)3O%p6z1)%o%u&o;81(3ne7;o0Oi>v z6b1>IAkGG}p(nbN%o9%flTE3+GS|?~DxfIUGL^=?oHNXaxP7{yr^fLgPMUUga zFI)IMg_v(4s&k)4W9FQkIwtip9_@3E zD~5k=Iu7^`Sk$Qd#&Klq7cX7;(`YW9P_7i1JGwRQ+m0|)?|jnha<*lqeiWyk6!L5v zU9A(d<_b)`^o;T?6N--y!QNpge*9nKW2B5Q&BYWrwXd?7Bm>{PRUB8`oAXYdE{t1{ z?3C-T>qnhh?TT>YGK&Y1O=nW2Q*HPfNZW0nwM;b@OveeWv=04Qzx9)lgJ86pQ%2k@%ib0oL&R<1zdB) z(?_UNx#~_5^({nsoYyy>%6P)JHRQNNMUzVr?w0x}srK22T)K=iMF^gvnR(MY&D#@b zXFaz%D@WhAq(u1!$s(I4NU6d^-LtNXxwXkly^(e}nDmgw_+wiJIHw;9=?f#?WX;rg zoR`Wp3I~G&6s^ASY)5 zQ5t^Jxjt5W_rs=)RG0~Ep>xoK+_i+w&yORNI8FC&eEPZnquLLumBaJ|YnuLl zpKX3I%52@ztEk-GwwN^-=;3YL*p@l|Tx}x2VOpix;SHCY9}@{v>NCqE!Lr1eOnvh9 zkJ~{neJ_b(mCXuxm`Yqke0{r_Tq_Pge1%KAbzRDGuh!fiK1wF5SQSgZNF$45l1}lizVJPh;slX0-yBOIT@pigN{+M)r3fe`At5Ew z-QC|A1%LPZuez+54T-)2G9srXdTfHY+SuuV*YH*Wir(7Shz`?0#?bV|G=|Y-bc|7!L>Ov%|3?j;A&Gbl$0B2xmaRXL z1?oL;FjAP7LRBU*HeyGUE+?iqG=<<$A6x94?%bfe9^zJ$^=vIGF|?co5=VX+G^h7%=gsyq3sVk%5=9;mk|PwLBEd#3*G~J3#|zp z4fJ$;`6}2KX4CuBrPD* zrN(mk!oOtxxpy} zbp3T#P3-P4zO8VM=HJD)s-sLnLY$0+FFxqOUg_0$Bu(_&%~ymkz6~eteZaWt43P0| zO5WSD^*P1DBK>JnCKiTnM?A_bhhl1+SZ$RN#Q+Qhy{ zSEIkI^{%@6sU)cRx$~zsn{vri$pwC$V5mPTly9e(TmNj-={u3^<0LT*Uu%g^WxIfv zY4Qbm3g=uQd$eHCvtvRhcYI!T-j3zB_`P}D?~-a*0Uo33Q^Bu9ZV{po1+b#Et%z!;r= z81)!%`A-|Z(kek7qrc1_mLc8x5C^d5FEJG0tE^^=AN26=<-jBwV1|Va_>s517MKLW zrRt>&l6dpie*&1{1AX>?HBj|tRm_aVQq`bDy?RCt{f$#MYJ|)eUx22SGua=t zG6<cmuvIDw4bv&9vj(q**A5xkQypz+X3e1`PirHFc`*gd`cL@2e9Ky8h_@XzC zXaEHxz(Zpvv;C5M5Qf8>p5;T&8;>z>nC24VAwslRoHXm`(fd8bjY`* zV*Wg$2W1`*nXaEoXHv#K&e`cwv)L_vi(*=7%aUDXW@q;rR5JeTv8@Z;2X)N%Y;c#s z#p@^|w0}}`w|9@I9ln`vn7b`5J}cghYHRx_phk$c_hYIuyRC+_chO5ef@ebtFo3I{ z#%8zExff`JU}qQ~J?23dknrFZCdifT5tbsf7_LEqGH|G^Vf0<0MuU)GY@FsorZki1 zmrY3{(F?oM@i{plTpOb*xrbe@94tJs0Fpg(d<21BBCFahk@fdQ)mvqQrgpm7dvn%! zJIcKLpR?Ui!EN=D1T7Q^Q8-5zahfzEZ6z3Zsf59&kGEbmsE;_^Dg>BC<&{mO1qHaS z^M!HT-Dgh$2;=H}K_PuNf%~A+w;qMUx;0Y4m6Kk<1Rutk)W;O65@6~?#nl1eWqK8m zqYCC(56cDwnUxr@T5GVY0xa#9FglP+lFVxt)PF^}b$>s-scwBkrni%u^6O|Aq}WBw-W{fhIdbpBMN7 z(=IbFtkuD-Jxh2c<*!OB5`>E?bso}}sdq6k4qvsPSj!iVy=pc4<_HX!`DE@>5Mcy> zks*^$5Fa4e%6!`TTta{f5F37wHs>v|0bUb(e06^w_ld$6I95661qIwelPw&prYgR+ z-+|W}vbrd&Dnd|ljP9XWxP&vf@j@R9yp2GcO%kCKGIG;KTkB`cboo_+Y}3Obzs@E% zL3Vc@tL(@JMGSW)_qjQo3&;Q)d9iJXsT699GfGwN-Jgv zH^pC!)?=IJtUVD#u;T@MDb21I^Eq-Y@%;v*;^l{8%~p+DUxRK3Nsf8HVFw@<2(KlI zt$?_op#XbEbQ>pxfv+MA)AF;(WxkzjfUp2cBIC?U8CkQcRRizJ$V(RY!$w@~61u=2-s6(v!udU2yul2J)pn&f#G~#Lr=3cP$Wbd+ z+j))dn{)rV81>^*E}>_Uw#qkG10*G$4cpufQRg*{CIIP>Jz`cVa*X!8TFMGU-DC{8 zcOMQ9`dGR5kpqMwC?5r0aw%c#mG-0u&fP7u4Dv@`e_$`Dh$a+Y14dLl(*>Lj`7^1U zD)^pkUWvHe8qqxjC^nrG%&`~URKLx7^YBZ>M2=Mz(sGpAShX*Bg%y(8qgy|~vXC_H z8B~ii7hEXIRmv8LSiOgCA~6iHQu|JTjLm%>AdCqNDo9z33=??m1Ga;=gH;yVyasi* zG1Hx8ga2AK*Uqncn?+2huA6n$^SjUf+oZolt(G}3XBePZzS)!G?&}yeJ08lP@#esC zZto+u@7I(|pPbO_J5$5(mU_w3dXCRh`;;aGt;d*!4o+=}#G6%}-|xp}{EQ!{ECh=T z1k8F2ks|iMNiDJ0DjEX0G75qnhGM@n;E9NiQTOl2tJ0^f3xKdK&n_hCiMY=Wrlt*A zigNz2bu0%?07ol&uBPfKdUjSYSN=ogfB-{a(wEp`-gkfz=!J#MFmuW@#myqfW1_FR zQ}*%~pXrtC(aOqU<>R(q65mrq9OpH`fs`nCoL0|5`oPJgQa_+zgvwiJE#xf8THLkl zJM7%(*}-pbM26~!B=Df}e%^g#^>=_5qPBM^1G^T84BvAM)IA1FBNv3bU`zSO3pILe zJr7vldv{Ozk8lbqyghc;d)&duE&B1vKm2_HnDo-1nBl)M>tcV9<(3K_CK~VmxX7<) zqqFcdRK;(g(k4@l3~Gv^aWkl)2mKI}Kd-)HnFhwJ+N?G!Ic42E{rm+W4%bLn{TwKU z5<%*iT@w2mDB*q2rotxplX?6Wt~_;@XDjyj(<2GzQ*GZbM}hs0yX^pQd&u*6Rm~b$ zIx7X@1AyCV|1si*P>!T;F{Xzn`W2UDOQK9?JJc_(hf#w=;t(nKFld~ ze`g)xnr~eEgEeE+nqT)LG|w2Sudj&C$r>y{cIaFAy65y(>accL_Aj@q%gm#ko}-kf&SSB_-kn!{?fd6( zoj?$xBC3e?@4x5w?;^P}D}v%YB;qRrlSZjcwhogjLXyE*laq(`SB#43dRWF@RBH&i zY0L!EyN9Xym}TD{IcMOVSt*pDn~Zt3Y$i1J_vh~nfQ9yR85I_Un^CJ%SJgCtr7DfU ze*>7T2l>6do(EK%_isrXW(u5OK9TspA(%fQsd50*aiy>xd5fuDQm+1}8N^c>G?8Df zQ!?TM`Q~BD47KS0RTwNP8#DQP#o;50Dq4!7>0K{?-4emp@_vnyEraQOx8K0KW{n*TG1Paks32_um@Q{4+5XJMV-~-P$@kNa(1~$n?e)1A;)B7@8Z%k-kpg9bAg)0l{|ul|;vwB#kbtWabW>WI zW(*D0z9KycUXaQt1?Pl(bv{}cN+Sfi?<4sJ8ynj%x?!7&%vYZ>qW>QKKr zD!>DhYT59S0|H3kwuk@kVgD~iTG=-ZM@jWP>ohY)fwO*jT=92K8)}v0OPqd%)v8Mi zy-RpYH7W#9_G(p~fdq|a2B}pb)nm#YJC4D*lX{|sf%T=_L@>JDhrngHd!8MaS5Ss{ zjE+skcHYKEVKF!zRGtca^=~O;fmbU*GYS}u>B_X#MTb!nDdhUqwyJ$4_Tw2QiovEy zTQzz0COf)c0P55u@J^HEY|~^RPd{gm0t{)QTs1@kR@O>{z!@M3iJ*IXs4EX{?M;{* z8E&fYbCqV`ctYeQe(r>0u)XO~k>q#dpRRt>Sh19l489s7GxOelUiT+Dz>dEB5qiS3 z>I$M8fmv?C)3nAr1I0uZ1(piaYE_LJZbc!aIRBV~HvGo8e>Vd89ORpu`kQLs;Bp<= zs8SbAhV*LRdTP9@%@RoXx}Kd`sVXRac0YEx&c}OVVipXizw$dGz!$hrSm@y(fIAs+ z<;^q(7PwGQ6M)63g{v^Obu-#F##q{e+H>S-yqMa0p*(EV$m&smxklu62-gAepcF5W z?H{lN-~*#Fw!&ETtV!Pvs0q_so0Y=t@;zdkZ1Pr(@oN(dMp_O? z^5$!BuTWZJ$>wV~HwWM&{Ks3iQkhS&aET+0FR)4^#~0}neMHreUq8Xez|$b^<~nU~1MUqYfejT$`F61YHW( z-cl}TSo=+I}7nnebGb4#OrjM9tQq$ZhDp{*Rlhcz+d7%NJ zFh1?U0p{dc^sFiZ5hSNd%f7LLJI>ebTyr~~CESMk|0vcy1V3Q3`*P@8 zx1+y@xGs?sKM&D;qjRoedS47MFcx>)n2Fjj=^wSi`w+Q_R#8hag&)M7)J?8Sg8r*@ z>sP8*mq`zqo*#Yw!Q7N|b}r$a%zyR8W`LyVNVu8dWH8Ua6Xg^O(77~-g&rZ^$0P>{ zolpSCz)r4=1?(e3P*ve0k+HI*$?wNHfD(N?v5};0S!=)A&%4*8ZBjWE^#4cGKqtT= z8A3_VZ?#E4YK#}A?ktlbfR2dzd=qusaKjFp?#NR`p8(W_htSd_JxDaRKJ;T(u|tG0pw$)XtbU8u|-rLTncmRNfy`=1F{T zR1EGTv9rY3>)H4$-V_30KxuCMgU=tacB#Q^zRWXZ-fzP?ZT0oOqYgR# zhnPnofGvc7I1jFejtjXLEO)m1>lg6a#yxnU->_pit}l3`7YXz5zP>NT;C-1!7S)N0 z@v`~JueRBWmGrNiCuqE_Ljz$y=<%AkJT0dhPCx@Xt+ExL`Tdps#`ZKW$9#u5eFKrx zdp`me;3Yg%Y4&#stm>IlkP#;%{u*07FQK;05%SY;trcQ!*QHVOZ#=4RNy_0hoHctttSH>+~vtgY;uZKRJvYi;k8O=Z3kBR&zS)W>D0e?prve&yKGnh>q)b2n*`|!!S(C`^|%N@{2ha{l`4tIavUvb7|8sQwnGp zGfCVhK@?!FlWPjE+aXv`1JBj92y;O+mQ^2xl0u*0gR0Ky-y9i2joLPyw= z|1{u>Jg>o*{j|I#2r;6gtl|6G={e;J$vc&Wi#T6Y(Reu&mon|Ax{dv8k+$#3)fu)` zgS0TudV3~$A7RSeO|6n?3p*GS+H*g; z^^PYy{+Ej1CWlr4SJ8M}`s|+x0ODAlub5}ItK#PsyuRa@-U>!3v>q9^|qWC)tp#MroFXj^!Fbix6Bb9I_O}|1$ z4gooxPokc!PKAudPc~lqnXt1q=_j^ChKXv~wzSI$HM|%No3hLvxgdj?e{}-H(Wan{ zemJS%*u*ws0!AAA|WqG=B_gt5MZ(e+RK@xK4~_qmboyZX`_ggJ~F+)BWQ;J$wG}P zk4Z~fVoUEpcoj}T&(daY+XBHZ4&P*u@V~sk5RM@2!Cn6lL<3I8A{^N66tKUVMS$=W z)-ENy3V6L2cKq0YMf9MLBb-L)8My8@?PxX$M}V*|G7tqtno9>rUymhG{$`lbW>;J4 z1l1&JRQ9R=sP?6!q%P7$`l(%k?Su`2-7k-9MRLHvNJb<1mmdSE zn+CbfD&jx;dk8p7={;PrfAD>$qul@F#p`4V(uP(9;l!3%GH`D*GdhG_!Cgc!fnWxn+MA+b$|D%17*91%;u{S<@>tVL%-KmV5gu@d?)H@prl!S{xDsBjlw>x)N zUaLj8U9KIEllYO96w^xABKhhQod3Cd1}*DjZ;LFglRH_p^|FzlTL+_f;6X>4;lghP zTN_gDSGD(w6Se9grGq`TWde_lEY-hO`z~s=vZtKStMtyAoyf>&^)+AC_~Nr;F{hkn$G_OM0{>Y?O@=xXq3U-eAi&J*j8y2S!5y@$wtdd0 zbW_PY%RtJiBvNWIp=kZQZKuj4e}!YP`73c;!vla&Zhh!wu9XbaVy;aE-kJ4x={R|S z4-{Ghk;(3&OAa-P_(jMsigtJGA9&v_Z<1Oquhp0vm6=cxb>H1?I)*T3mM#U=%vfrX zxx4>)s@`|v5J^!DlU|h1CKCV_fo^y`ZC;u`^j>W+n5SV<{YtN8~wgwU4ZNz1cg; z?$JInSpVM?HGuRE^e?9o&e=m2pBFp9-t(pfU0Bl)q>p>3fIxt)@!bY2A+fkq7)1Qs zW<$Qw;q)Be?&Z-$`$go=lm1lS!TbEwF0T~P28@PWX>1!zEDe+RB-_0kw&kIICt2%K z(}Ent9%sfiykC!-wM?mum!D7&;2Ly=SyCpL&=v1=Py0+RY>5>(F&_PaI-YH?0&n$F8DBtz7=WHb%=ZuP{7jlE3zjDRB$Yp5 zlV-U%?35gP4Fnp$VB(lb-rl*IU6-0U=Mcwen_AEe%uJ_TVmMUzIn#QxQdQk($ zuI(8vQumla8p43~EXO8$3lG0r1w>R1(rjF5XL5h|P59AX>GWfZjO!4OLXfHsH1XNg z3xLtu){ItEDFY?Ds#xuZx3dEf1Gw-ZQv1Q(bcM^X!n($1sHw=Fj{!xukE3H@M*+fR z*ndOAHhqfoP}-Zq8slJOS9PnRs+d9ZdIKSU^TICcua1c>g)P58l zZxAt>wak~xXV*RWqRprXt!x)5os5+2^>M}kQ(MjzSAPO*^_;~&$mB!?rXF356ZS6& zzlR8>9&DjHA~8G9*;6z-sim(yUu1g@;F*QbUtd_-GC#Z|Q|R4xU+tq;lRO?+o4iho zB6*iTNIZOoY!+TxK(W;SywSaQHCc%JgM)YBSKH#f5p$Cs?d=)S5h9nFzKns8!pN|$ zNiddg6LytymP5w-Kj~Xe@t}7b_AmsSD+=inzza&-j-;4jg?z}CbC0|RAX!>DGbq;& zIL1~4sTXztoDXX#MD$E5mf#zW>@WeSFrv*?JX7*gIEmoLZ*h8USHly)2uZ4M3Zi33|L~+2;DRt@MBz`ef0AH^)3b0U z0xvSQOe~+b!UBf84r3I(+49YfoXYktJvi^*dYDRBhH01b=dSK!v)Q6owN@F_ygvKG z6}FMoWVGC;{eJ8}9^kjl`sU#QC0#8;x?F#_R|?Zp*&4F#EMxCE<}oWOeM@c%f$lq` ztd!jR;I!qUt+%1W*G@IPuqn=ddQ!%g3_0qt%r2j3(*H=lpwSpw<#jGSc{6O$@` zxv6_E$_z(S!NykPHqRKfw8DN=ZsshtR6i^M@mT4@8020t5U-0TGq8HJ5_nN})hB7W z^!!>fubJs#Jg2)s-s{0Q?Xt7RgGQBWg-}_G|EivV0`ohb6L*6EH^cn23_69!!65PNpT4h;}!I#|B#Rt|hr_u`f1YR+2R)nsr zAil6O358P$gWksj&t?un0m;C*U{6c$0y(zz^!oeE+#0vm>*W^tOY}JY%={|zdK<4b z&+~00bsoOvQepBm4;w-N7~+sKHG=0NLpaU9fZ~|9l;eT#SFclo6z}yr!&s*P zd$v#PMn@E+JIAEMuG4qY&pt%(!kfW@B<-2Y%%ju*N8n%C+({{*aNSwNIl{0DmX zkU2>Mw>{SJjid4DK?s3k6qs8?yz=Heij-RxL#B9G8}f&!Dt770 zUpZ2BimyYk%bO~Gs(4_oQOsq{U!T7y-b-1-NHg*OK<{~O*1%%`rG50px&DV^doHDT zzL-pLYDaZwaHy++(!gN4)FH1^_wW0Z73w!0-;8Gm$pMWpkFP*IvJHK z#kV`(K-XfHNPC5jgN%-fV%Q>Gny$Z(h`mhFw^dY)Yx_CKXH~+wIFxq@SwYnP2N!Qf zFlhA2&q^wa6{i6+JHf3zs{w;vK!hBPuiw(wyf4P()DvTb2UXW8OJX+EI58-(yH`K2 zQHV$%sjYrit_~uSFMQNXIGYBMea#&yN6j8UU)6c+dhDpSl6jrx0RDA;8tYb3Z&~|0 zW1$G|dZ;JUfAS>fi?UVrK5N^=7yfTr0GYoaC|g=}o7WJGoJ-5T{;BV#+&SW8Y6J{o z|NZOAY9PmFAfkBmPeOc;37|19Lip?dg_r~(g7!x2!&dvd-ldwL7n(DC!xsw-NEJ5e z9^44_WJ~Cymym>H8joq(Z|``*)cN@4L|nYmc_L@Zt};6r^B-GZCLDInkv;5g|%RjX)2xtvS zXwV$){uaFo@j(z zOdcBw52Hb;$&ue87?Z&x*3RGcmal{Vs}){)9QI^ zO24x4#b|iE%2dLP=h)(Diqu-T^3YSvb~-@g&aCd-@axy9KHlOzXk1S%9Tya@sF{anS=87uTDDF{i(lHpc2C=A)Qd}IyB{tfyZ;XW2-V%pf{VcB=fok;k zp1Y!_g0CAPtq0#)&++T#J3v#TM&&Jux7DReML%@ z5uMEZ!hQTR=?w!mbVR5b*AIF?4DKuo$8tH>TrT>h-kpL!OArT3oIB$CXkIIC~4=Ub<9?ht$3U2E1YG+X$Sd5y;(f-WT&1h9UIr}2{# z5?m}T>*2RpGz%58y24oY?*k20#4{h)mVdRKrf~}!LsX(u1h>=z82hNGVxQ3BU&hMT zV!b+F-T}2cUy!B}CdGYcinWk5D}QG}yH2Qd;5Bv`^g&ize4nUi%{#4xDi>&0dLtu1 z7IQw6{K$Ss2d0`@DQ@C0PtnR_tSrZ0YrpGTstHsMxmGpnS#w_2etXyONAN-IkYTE> zRnw{Ho0u%^tean07WB7h)px{nTYlBIM5b}pf#L5z-Ug^5r*5OxpFn%E;nfW90B2OE z)8N6NHEkr|5;@bkMC*+IVbQ((v< zOsT28k|~=4%r@kg*Gny~4_Zi6+OwK&J?q>p|7@=e%2kSBrO;i3xMm-#TIP;SCi-yM z+MEo-BYX#AzO>I(w|L_L0ZT=N5Y2GZ4Xi|40Ff90ew5U^p=p$|;G zez(2TQfFa<6~m%nKqu<2wLQ6i#nsAP!*CpsT$Q)yx`Q`7yHr?VOSHUF>#$9f4mJEp zzx(V7NmDYv6V<^g`-Z8)qW=pFCXa&Q1A+zD&hh>q(rugpVK3;ZsM`xq#*-20d$lW$ zxJEvjVOd9v8K9v=O1}+D6)#eK>0@{vqUJxQEFbm_XiULk?I^2u|E>sg^7(DYz-FN? z2I!y1c$^*g#+*NhVjFC{NqWeMrs}3svhOb??Sjj$RT3p9+092w2rguF_OH=4iGu)I zx-rHRTOa2F<4*VMS|u6P`u1D{eMN-S#%2(0eK`v3i!Av#n-KRucs+?TwG>VY&^Q`AwM1 zOm9%ClnK~%HJ$`7hSe5xbpK2q-IbzwR2;KC*!sIZwDgh$#}+dV6Nf}n{9+>bYX{$O z_fOL?YuRSh*fpqmo*YSyK^4Db-W7jB#!br1PtPIyi*0}MB96^Uv>&}+u3DD&g^AbX ze51q_SprqZb(&cDldcTvoexbFin6Fg(RApn+62$7c_+MWyDPBfz76Nb#yOOD3hY#d z`K|1J5*@&>X+fVpN<}iWZY*J}u$4$4Lx<|_;;Nx)o_&Lnj;EI<+L8pbUL2A{Cz{((u*v200i~ z_wex#&v*|B@o@6g5}=!wv=;$SM%S-KfT#R(+8%>L2-(J|7YnzN>Eu3k) zTd=<4nYXKe`%2OS{A-x0pijq{G)_AsLgumim(tr~@V|I&TI7@vep$-}{S}{D`kpCA=etw-Z1{TxeH{>k$oCz z_zk%B|6VdaiR>toO(d+HDux&BCZR84Q`?ldG94D)Se9`!Clab7n3i-htjUfa<)ZNP z(jRE3Wj_4VqpN#$$~|$;AF0*x1t#hK7#blkVIn7f*V}y$K|vG_CspWxBwd}0{9m<; z8d0dW{FJPCRd%w&2{UaGZy8y_lR`lV58*DQydA z&y_L!a3TrKi)O+*ux{_;YC=m2olE?TcKao@nWuz-GY&NBI+RI9qCM@JcZ{cpkR(TK zwR`UR>w z%m&0j+DsEp>Y8BFO_)OW4{pAGqBWv(M3l^zJm5y!7OT$#qZiH#LIQNf3Kz(0`!M0X zCi4boqA@jk^O7lBMz@1+J$Tbm~&S$30E?!${+&# z_xr300=wK-Cmrb-$yMsdP0Fp>8X1PX2aqQ4sYals*OgP;0yMJ`aU{hI2q8A_bI`n zuz(Racd7N);XdRKg>dCdPWcHGZ5cDr{sj_Aia*c-bT8#^KAXSImIIF|23t&arK82{ zvEvs~YZpu}Kd-7$WNuHosBL0Y$b+zzqOnx8E8@a;6luLTIaX@f-#*ftij#YU@ocCT zV-f}HF&;yED!DQhcp_5mEUDCHHmYi-H@k7E4~y1gMsB<{*!4PP30C6)8O5RUSzO#Z zoQ*HS?V0k#h05Amx%*hqmE3H~k#3<{QkGI>8Sr$rnZ~yme%K(2 zhU!rju)3u$v8LW7`P*xobUWQan^OwU={D(-uheb-9@JfZpeyMWkZdDPn03 zVJSuNgXk0!*^FLeUThlNX{5y*^K-mB(AlbCPLR!&w4g?yn%YC zVBbR(t6xK32Sd!WSm+H(hT4Am>w$f)fXMGQoTbz3MAGYCyQ<8HP&usd_p|}K7Xw|5 zwt9HE`q>U=(xxtiWy(D2W^{I2;BrA|(lrLfPG=s%V+Yyl>7aW@Y-)xDv)Wi%79$U@ zbYF+HS{PyYMDJ89Rhs8$hGHE6U-I;kmG4(V^l;UalcS;}=$}&^3>QAH17zV^txVc8 zw0|rTp4$~fS5bf=Vg$bb3X#ol5$~6*JegT82G-DL#jBTJr3&n~Cstjjm#t`t!=W4+ zVe@?K-K1r^L;7-7!4^QGww^}B6Qm=Q91N=XP@rk}h5~FEe*unZ&vw^_R)!ukyEEH1 zoNg+k#SDSc zHAU3J;Rz>+yoN&_>oydQOfntv{y<|quSv(gyHlp@<9NxEzS3XzXG9e)8{5<+18lwe zdN1USVY_IAy=pMQrDP5#R-oI_P_(u(8EF<9HCSWq6H74xydpRG?g0f@!)ZK%s@zg^ zx?g;#*`ctbES{j!X8u(Vwxz%EFd23H3ZKihR|~tLC*1QH4OdE}VZ1v*a^j@-6~D=L#(-UU-Fg5EizabBh;|!{J=$3IHN;hW~SCl#X{*u+Iovb8#Pq; zCN%7=puDK;E3XCdCSR(tB6 z(g;dOLsV2Tg4S5&FFA~^id_76W-p`0zu8hIqj%C3WHRM(uwB7%0wbwMUwup$`^{V< z->Nj0UlXQ#*l}q9wKxf8bx)q&-uDoX&H{nlNS{x3LCRtFGcNfJ=w6|QAGSZ~n{T^L zI7nke?;Rg19AsA$IqM$|waK0hn{~1d)mo<>25IXgc~G~%I8i6_*XI~ zmA*VuUd@tL$D?$GfVP7%ei|BX!HQDI{-EW=YuoU12-tu2!Cnu}VIIw57;?cqcE$mu1XP(ClVpJ9WAc|EfXQ_ey`9-0C&P(#l(OoQs}{B|S1=dZ@M+St3Zl-~Q_+cK5U z@1H*XJ*0y|BG)Hn0V*{a8q4^G)|botC4JbxXvdFy#hicC&F&K4*(q_xmo&hrk&Vau}TWueQRPzDozRUBfMy{ilN5cBJXEd;Lfyt6B(jNJ1*hs zq6!7*da8QJ&T8b&&NNAuU(HNL?sGt73i;Lcu@eW7H*1i6hbu^MuDCKcGpXbok7~dJ z<|nAV1@YnXllf~Vu~&jRk5t$VJfMQEr%69Gr_Ll^PA0=d!pzR22gJNv)DBITv4eqz zL1ky_ytj;TR}dSCJ`QPddQCOyD<=OV(@P#EsteD!58~aL0{6^ZR%6{$kx z_v3KdqUPp>&f2f&TItdjkCEl7quzDrbBskPMq5(SOY1n(aRF-d? zxtIL6tJTyHf38x_-|>Bs`K+8MZIVD%=zaAN3W^>N3*M6ORd(R@Jq;s1WAd-Y>g)Q@ z&BC;JEsdF+g1GR^&UFD96JO*Mvi_rm$(3$rfpx0BB*#OewA>)o+RM_*&Apw)d3sY$ z)gOPDW>zir^xB2}SggU5wxePr%tEN4e%(uPMbGeKx1J<>@m>Zy7;Dd-qdVnFkl;-T zc0#DDp(IGEv?0Y(4Cu7$G(2=-JzF)cJGRw6-2fKw%W@fzuI&40)Tb#h{g8QSLaE2| zc$?)lTP$`rhv>dJUJp>?{-_i^S|JTPKb3Iw>Q{jl4jdb3vvWZ99Kg(-6%{hgs_`w@ z-0OR3Otkn?b8ZH8+mA6%mBR&>_YD*an-S!7>R4I}iGZ(TSYv-<#SfZ%l{l@&IR3Zr zx-0fsDg4c*>)cjOb;j{(BwB&|bALmuF;^HV7L6SpO@XzQdixxEA5N0*xqCdU#3 z9L-Qq&e;nX7h3HE$hv|E6D++g!h53au)0o7u~aeeS5@hJkf{xhrf_IQ4RrIZ>hktFDWxTdyg+Kn2nwGgzh zxbJBdI9D|ov6(pC^aeRV^zblhbDNcC#=U7ljOa>{&gihtktMRMUyOpNwBWT}b3+#gDOnwC>$EggVzC3H|QQD4k~t(4VNf0 zKi2}1|F89PD`GHJu~Xg$qv!8lO-EqTVMC)XcsZa308I;5jbU}Q$B*-Q@sen-o_>+> zPa4nQ)b(7t5Z*)kR3_@*i9cnQ`wgtaU8g`ZD|PhsKln65h-)1Qm02aKSLZkLV36R% zR-#{{up5^QBQ+_?WU5sTGfSO%KJ<9aWRtzPic&75Rk%;p#s??s+VJP2>QGC)X-TmTx#NpboBsRK7hicfEjq=i zMRqVwytt__@%dWrc!*ex6RE?@^2=;s8juLpbnILx#@(R{m~G{p)tr3mvE-Lm(!8l@hqKyID`i@zN*y9$ zf{(QlW@4Y4534*FY@MzQ1;dv5*3AuS!+-wCHz(}e=jJ}fR|>k##rx!|f*>$Ezu((5 z1|>)bIJQ8?0%jPYO3Xfp`*EgUmrgI4&u>8?C!Z1~9Y3CD2V;!ZDduZkBD<+t-{f&~ zm|i{ZJtiPa0V+)>4)Lq7$w=YlDxeDt>4yxtGgd+0694GO7=n<9>UZ$wSI^QnQWW10 z2pldb-fXziDg)Tu&e_yr1d6c|XJBok3#=$xJ(r^r8m~S-OSjkg*v$&rK82yBig$}8;X`}ZC?gF& zS`H;$1|N`ZtY)>Y$k6akTD+J2@%ZETxjE z<~p!-UE`^b?ZwZ5$v4rf`=IMZ87TF&1B~oD2LpA(?IAv#LqaI%tVb1B-o2N?rtcp*rIW_@;s1c*t?TQjWLG zI+GbaZ$ejTiibx}Z=*E>y`e-BdP|me4Q?Ejc*6%}iVI!kJu7{1CR2i`)M26K=UsRe zJ|?)v-e@caGl^2iBI)_op!6`Tvan8hTWL)L?Pk-oIFnsdCh5lb52<7Wa;t4EQ8F{E zufyfCoY-^Ryq!5!Zs`Wgw5)7pFXB!I{V|7LcW#-w(=_IgyG=%$GODL8z8IzTx{fXC zKDfuyvS34TS90h#hIyAOnZtJoe0X^#GGL7A^&MP(U;Ek^o)=imkFNIJqGmd#asNZ&VB*}CPy%3BYwb^Zvyb-gm-}y+|H$*ZLYoxkLqDzuT3Juq*XXl1V78dHBiI~ht>*Rg?sDxg2u2>h9 zHqf%pDt_TZ}1K+t)bA#>xROPFr-Wc!o38UA8W z+a1xemXOF!O$+Sdv`zyyUU5-eukVrS3}VilcrBCO${|-??m9zVC5#x^`(ycm8^lif zO!b0k;XVpYZY!~^cVq=uic3CNm1HV$$6v2HFr<5?hddTA^rDLkr(E|G{5^~J8PchI z%Bb}D;YpX6EjprI6O!yC%(>9b;3bxI{41KVP#$x1uf#U!l)mj!v;7u12ZC(YazObdmm`xZ^qJ3TCyn;*F89 zj;y|%b2anPcx+SyHH$pY8g5sI&W=;uvD#=$46NF|Y5y&Hbn9_Kv|SvQdUKKj#|vmg z=}$TsGB&ZX(-fHoIXcwP881z>E<7llI4GES?cZ?h?CflA22q-#aH2|@Ez2~{i$?vqJ$cY*GBZFoanQ2st~9Q^H(;@l3FGY zukwW84Qq^LKd(X!EyjvWCC`6+2j#?SygS2_u&I0mtB--9(kvT>lJM8A40{cjyuFRU z-iFD6cnZJBVb#{ju!kIVTvShK>7=VQTZ^r-Q$v~WNm&~9&EF>H!Iu1sotFU-EOMKe z@(Fum#hwhGTL5J;o`Khx1yEnGGzJ65sZ&DBvToLqb0$7!0&s+(cc&L425ZaGc=5hK zg8M2$p=UBml=m(23(5JLlwTkXkLo3 z@5ke?_Q?#Toa<@xMng%ooOyGw!h%wkGC^!u=*GZAO~0ct&}5a0U&A{!#qqN=bThRS zY6{mJq&Iw>vg>^L0>k7*a@z%*CQ7m#{ZzK7hveJ9VP#>Bv^?L=eK(sz*{tH+i*2mM zM=CuR50=IMZ~@km%_{!`wKa9U`^~UKcl>6k7CjH~?D5~g#U@KGxyeV~!xFC!TQul0 zF%8Xb_7~}rdq0{wb z?Uht5et(OejTdT`Si#x?y}+AX!E7rg4!1z-d%Ll4e?E7l6Z*>aYoASHfkXT8a9O!# z9*6mvWPOX9#>8_7LsfU=C=?eJCq1Mx%;{_Qa?#Z!-CTlW0ik@-ao_(%WD;(pLEXxh|4E}D9<#`J#2IifKf zt!m6!MG$qEU=>|N%j$o|{Iyn-vD5I>2sVjYwNR3JXrIzTW>WO)QF`AJNo{;SUp3$H zC)kL8vAfxQ4H!4e6q3GbX6A$0IV56FJsN06!vzO!lb&+Uta~<8MpEn5*;Y$28!aJq zO?e=Xihe1Ei*uF6(~JzzDVGjqoj&AuL}^Smm1+j~N8d#LVb=UkVxavzw+aJuXxrQbV$;?%BlPC@Wgluu9#A zwB1sqx{1XG*`3>Vr%50l?v!PkHBDd1a3sk@3JzfeT3@%2kG5-^`ARxKOMs6L0^OPz z?!ojJ_&}V>?#WN)*F6#(MI&0=Ywg+NnqAqc3NO3nkk(B9j_~eMd^qX;Boc0tK0sTasMmwob~7LIPEb75&gvv^FZ|~=Wvr1W1=>PHZvRI z3INqPtp*L8wTK#6ASYir=*@<9^Z|DsG^tlL6(++`O@+zTdi;glmf4-`K(Z+?2v~t$ z0GRl#b_dAd60KZ2!qZsiE-H#Mx9nj}&Nco5acVF7f}fXP-G^S$*yPnHB#rf(=&n1o zgb`Igtw<;8{Y<(_6rppYH}Y8(m=M(Wx`|D0f3D+dnZ|r(<>1$wbMn>Ryfpx4HeZan z(?$bJTzm?J$l+}$_G-n}e_uLv%9IuyWkg7=#XVZ_>+afV=~jP6@#v7CP2E6ZTw+1E zuk}?ZAF0i!f!O?MR~NbW6Bp>NweRpHUd0O7ZW63rpQs9zUS|)?G{NKzug#9?6YAnY zz;4Y+cIdG-AS_u_I4R zI_j7zzc5=l?9Gm^TIh?qa2WM!8DKDBzW3O&(Rm)`6wl0bwyuD)$;<>yt2~psKY1&P z@r>pzwxvS!3t!!gfkQWrp(Ydau?mAwMpEqZx`do7j{M=hz88}m<{kmIc?sP2(n1zA z9;?|6GI(*a^1TMsPD$TfwT_sZ0M=^S{0WS-tfJofcKkVxJZoK?Upa4Y%1~t2G~JAY zbS@?E%XS#G2#D~pZ)di*84TI`wmK;>!(>oYAQ@Y+R(3$;2-#onQ81!swRuD`zCu0LqsF?q0 ztA>GOm0F3sT#7?qywZft0-P`nH*B`b3_!laN1JxR7$0X?8)*M$3!m_)>_ zp}qB)KGC))Eh|u$H8T}anl|SN|1#AJh$kP;CSP27tZu|xyAvf&@jGKLI7X0MhHc&d z@*GdE(?hBLUkj%1IDfa2tv8FP@c&svHN)R%7Ia|=TA?RkJ+}~i)TIO-y%g;W?WAs$ zJD>1T$SGJE#ZHt3QCGfdrdUD!jaEd6qaa68mE7Sa%H*+n?1t*TF6q< zJXS8h!Jc;lOHH5S>tcPT?5wcK{i=S@e7*%>U3_h+r5>t~N|^5Gk~~afcx;1`;?(Wx zHG6jzq4?77qE$#ZIH3;txzTy_2&-IKJje8jlo3`O z%JdPB+deJSryv-aGqc-)z$`pKqb(m6%9Me6LQ%y6!s2{r@Ax*e(NveK%EN-bj|gRw zk3YN>WN9uW|DZym?SRrGMb4AapV;j5cHmEwhJJaVzM=ZY1XeTn3 zW*M{G(Rk|gp-|AW_OST9gE-1J6xk&|J#n1D9Z-~4iUSVXbLgXKmy<{hXfU+;S$qVa zF!{;L&lx1JAOXJJedbi&UtJ5Lb^{F1L$Bn2*%P&guOJpT1Y6<1Q!p|>qL9RjUgc)b z%jEB#*L2uBkk82hm=o45iRE-E%yXBio>R1VT@>+BluWf0H)}|r<&u{Nd}0Ue_?+bm z2wa5;3H91>AN8pW?IyoMhGZp_i0kkgB3mmVP|#MtR$rqot+0zA={eF+WVqP{Amdke z@-dyh0El(Lb++wv0-wI+kKXyDuSL%IPC>9yT7E4Bf_D`p{Z>)Z&D3sF`E>P1ev|S9 z*HQ8Lc#`QJGrUvxcV%ZoidXLZL_8%4IWzSAb9ZcJIo@I2W7})t*fhtlzxP8<&wi6S z7Qgkao$%(#q@0`Joaquw*AV+%)P1YMiB;2``pKk@=Sjo!&1=suL7d-a^LzS?f_nvT z4vLk|wrN)Mh7fec6y7F%tfY?c=Q?1B`dSd}Q=WT* z_$4e82Ub*Yq&rJ%yMs*$$c&kgU7ym-**Q!bLce~O@9JKMH3OQ^+huY~HeMmW+8 z^`kqiO`klhh&SKS>|ukJCeHO98*mu9#U@@#x?R>xD_C~B_O{_zUA_wp-R z<^z3QnW_A7Iphk?r2^bsNLu+-6A*qFQx=<3e;#4EPCEbc=Fs2*r%|$q^SF+-Wc|jf z8u7;*_f?4kQ2*jc&8rTu6pJICIQG>3>@KO8_(A|(RwwXdSi5105obvYTZwt+E^i9Y z>xERRnFKN?!hZ5Q81)^t9B#Q4#74Lv%V*O`BpN~Ma(B;kQh}W-IDN;vzjfj*tXiKK z{`W!dM7U4u|H>iP;)if37?xBvawqRxG;61_I*VO@irhepLS|3>(}0n>5t&LSN4gKH zO)jXS&Vor9gsu(Tn7x@s7~bLLOC-PUkPzx^w%nzc#e;TNOTFSavbcS9VFy06XPHbT$LrFsG#D2ia}r@<`?83BbIP|S2+gOW$!c-4 z=9C_?)Z5(wkgU&z{6!Z~cctq`1eCVB*`ZgF19z~g3MbCE><)1gou+;m^jKemB!l{` zS7pT~@HEzwznavYa9Qmop;_+_v$Iu=x{H4VsGWxUnag}xszM$8(k;o{iq{iPq3_Hv z$9>#dd=6PeTnjj+uljkB&ORngb@q*D)KY_#)8l8RejJ%@&yaVuzTy*Hs&8#Kx*hVp z0oNyZzDgrecqX|XCZC{up5Q)#Mxxq#yhI|9EdnSKPb(X{?1|@|a@Rk<%w&Lv6SDWU zzA9|@Mzx~NTEqkT4-45|Qe?I9Mm#3W^k(YznPLry6c@PUsFIjj4=PSDLS?FT^{}1! znVHoYPq$@V$JQ;^l>l@Eu-WH|88M(4vf|l?i1zE`Dh=RNLk;2@MLA_zV<4Z6({24c=m59TZ<505iEG&ZXN7q~Y{~?xf_Lz|zrK==C4B>^CSr3VqP@)p zry6>#{z2ZdIX@;zxF2`cVWQ5&I#E5D`zHBX%T1*EeW;4tljYBJ=*#HN>xR0P^%L0b zi1x|cken_>ea#f+3i>+Dn)w?0gjj<5b=Pu}tk3#gFEjgqc)T^RCkOnXsKgcv&pnGI z)9r^&DL`X1$MylM4;p;#HFQX7GM?OEnh)YD=ac##mSj4VS%k>p>w|_$q%&nTNuy;~ zTV71t_V)KSG07iS7PWr;;=+upd-fBLZVE;<^sd@S=$3;@gQqj7Wi}?xByoi@%V}}3 z`Qz37N*y$AF2z2igETaMN%}xIKarXHd={y|p{847P^nMxwxj-zoSYML^v_Tw=kU2& z5gX50(6a&Ej|zE5~d6YkPh~?k+|Z$Lz^@P0AKYz-aGj`rD3y-yhtK@l}Rp& z5fvIk@g5yPe2CdS&z4mWQRT6Z8efrhsUO03r$k)Dr!#j*XV%SBQ|>3&7662pQQ0Nr zPQYuadTyF}Ge_`p29qN{lZurJYEt-jRTyvG?&?8PMmWM4Zox zYsv2k%K`o<>*Ju;DsStDG&^c*-r-yH9k8+&=^(Bj|E-H`xUbc$URZFS`t%Hv-?Zw_}0^(EY zjR0)Wm!LPTEzP2BQ8E%+#FgjpcCG@Nq*wuh<-Ua_`aVXSi7h$~IkU&7`hkJB3$yxD^|oxz8e0)6oX8n@0g8Yrto>GUWi;g;-U7s~76ZvdP`C96%OFge_9^UIIJG~gFGasMcO4w7hk$!M0{UqdiqQ51u zM@)VUP|W(5)U$zkyNq+BnjD8QeWA|tmS{U5+4HylaiqtkCsm)B$-zz7(X0GnBwri4 z^}4g7^i4e7tX*?HqV^)RoV_uYj`C4tu-g->-igE9Rl#L=OC;|RN!)7gvm1E|(&Bx4Iqmi< zQ;ymJbn9-O!P^@y=|u7~H+1%tTU zg6i@|wuj1v?H7hd`oAh`(QpX7xT%x0NJb`K4^4*iz>VS-+>xYrp8$z?gP$p^bAMki zO5)1yBv}SZc`Bfv4=e>7|LSwzyg`;7>#t#V#UH(x z$QIgl+(MIHh=4u5mq+2LWo7Ig{}57+qy3Axuzj(t=HAKO4Bv|s>`e{#`c3EFb4)tR zyBVsAMl6Az>KKk&E0ABKUCsOl;X~go*k-&V36~7Zgf)s5w4|++l$1pHJ-lD8gM%BZ zj3TIoT|V-PWz&Hx zh9~D2zZvxI_t|+8z&h?CT_gbp#E4=F=^o}e1G=`Aj#}a2?8@_4#xaM>?Tm&=k6u{a zip%mJ4`rrKdbT>d_h!K@z=`Jl^LPfBHitL}va<^|L^W^GMYHl9=L?8m$1D3m?uV`OK6Zu0gG*BYP{kLp^H;@NwXky`l%x3n@^oy#fd?h>GKND7!KFx^TBf=h4kd4RKL{CX1hLpR9Oh;6+@O3Jr{?9>bF2 zj{(2C3PP{%3I^S|jaM#+Q2T>HKmU^O1-yCz*n~x;bZ(&k-O^69{e z6!=YFs!qR<(DiNC>Gog5V^L#)7h?pIY~B!rz@vU|*B|-jfn2OB*UdHq{wcQm)-RtX zigJlLl;F0in$YQwyD$d1>x91C-{m{R$&qiv#;C<$Nt+MPHZN-Zv7r{SoP+O60XDg7 z+(&zEbU`aK9J(@8&#e$t@Z2p{|&CO}zZ)XfNi;BRF? z5f9V~ybup+c6BRXvhjf78b|LZeRNnnB-i-8LC4YVcNcpt7Cp@BTJ}(P_Cf0PBe8@% zs%6e<^=zW4s`wcF8#-l}dwKHG;7y3kDuiSW{LJ1AWG9pyKs+i~;RnV~tm`8+*$~`^ zw>S5i$?f*ia%&r66paw6`ZOO;X{R>}K5S!Qe|gWN`>KoGWl0-7B_C7x_2+Y8m)uTg z>5?1*mavDN1*2N+)YjMSHpj3xa*ag>t}7IJDGz7K^2+a4RKD@N8hbQzG9d7vO0Tgf zZ1bdJdL6}*gDdoP&~Tx zm*w@0k7Fat4Q>SK_nU(=wXkoL~BW?i*ewaV^(<5yrq{a=H-FTfbu=6oV<(dy?!0inL9RRUSFWwxA*J4#^zV(jE4AhllgEkdclIdZvCZ0 zw_-!Ta{%UioEyfu(J76K$Ci}A3-jDWgwwy%#Sg&@QX*$gmhp1kPsHgwfvR{ zZBDIG(9&9~LhDh>`R0Y8IZ<+o@JcS{ecHk7j3}IYT|1YX7whD7u)D}?*HW@6MW_3w zC^E+ObCb@iTCF8&&>hZ&kL%Qf?p%9ynN3#=_OmkA!l!jFM_vWw_5|bmwc0N!@NjDs zcYw*-N`~x2B@iHzTsg(snoVtQ&XakDFZ(O>I!Yc-rF zh;vyQ{7b#QB_|jKM6g%{_z{U*a8Z5`P6CZ< zPX#vmWF=Cbub=~*EJZ8?%7Yo#OJ;Oy)xSo;^S8U}LYIgv9t-8{*o4f>aF3=;h+YOY zb`;x)KXqwiRu$fG;PFh{TUVXC)Z{yOkuTE-A#f60ho@)bAzAr+3WtPD(`BrMZEk(Y&W#*=8{9Q5SQBL8x6zC6e$JN{hCG z6;k+Ffp)EG<6#Mrj0MNcg)QxhA0Z7FCu{qzTFAnPzDCG0!3f2K zHHdcpv^_bkK1p*6yJn_FTH4rkAw{+iUy0n>IU(h<4^-Z`(KtJl7Wbp*PNfF*6i zdiDSn<@%ABVuOn4w;QVJIt6L9!G|^SE3wE8A3HJ*cB{H}3@6N525$VvS$jbmkp>mp z{_U2m1`W4P>s=Z|?(IO@8ksTr702*=J1iokT?mR!^vMMqMx_Xk zyVRg6g;5uLQ;vglQr?t{@=ybXNx7T@*5XtBr9yV%b*j_e-^CAhxwUf#pgj%m!pi+y zvBMdEoY9qf1-ol+3xD{l748ScYCO&|YBtxfx>$K$-~lPBlf>|43ruDR`cD2}-;}0f z4;kGM6szw_?YZfb#nxtiI^4Ezkv?<2riRglr9NdNmtb9UNw+lw6yu|kA#c{cbuG7E zT{1h360UvAfD+WWy8tD-(v|J$zb`^;pdJtzGk}?hc08q9tDK?s<7CHCAN%eS^e> zNTKd#%R|p3!~{SOLT@Sf$J1U)5BnRi7JJiuwUl@_tqebIN8T=Yl!1OPBM;5{8O`L4 zQjDW#eqn~z9f?^Y8VCbx^2OC~va^36Lc-Imzlm_{2z~Q<^@L*(Y-?nQ=Ae}ZJbUAr zQYC79N%PSI+T@sW;|Z&`d?V?y#JPO7i(L`yu#V%sSg8S<=s_{)nFbFXLeZRWh%Uid z#)21_DeR%bum9-}7a+u-#<}D4;WxICHM8{6Nauo*s!#Q*@7=9;w+v2_w{9+T5W~hd z;D8(-Q4|5>F9b-a2vi{Tt^t|thtHs#-_^G*zX|`z1OV~qIq~gEj(JCGmX2$1kRXTD z<$@yXm3pK7Pq<1XjaeA<6>7E6>uNEagr}cG`}qg8+i7&Lapl;NaFw@jJq4{^*5e~5 zS#u#0xx5^Tn>`~}Bk2p2LRSm|)-N-Ep5^Qdz#35>FRkr8S-LEWUcM}Ph>Yd-F5{)i zaJO1m5j7_phsnk&H2OPt%;VoQDADdn219jTTul)&1;x9T$Ot;g4pF7g*~PUvU}^>U z*%<3_ES+W&ev+c=(^2fap2z(8yb`_4){*H^#c!JGfN%?^(lMmgE?xMvL=+JfNBps% z%151-Ew>W_-8EE|`t&$%Oe?^Asuvh#2 zD~cRjrMEC)4|=>xmyo~>cNDuL7=tI|UqV%! zWIn-YX@!D2m?wL2e7;;eyL!Gvl>g9Vh*%@gCy{968JR8it#tQX;HYP#$K<9=i%lQR zFzcV+#PcBndmn{~e{lDU)<557`g7xe=Gz?%b2e(qn4&6;`_(j7!WtnKNL+HHnn3X4 zuTs^wKKto*iD%(v`uq@Dl}VG*hloh8gFPVakatFM9h3M)5|*FYU_G7TpnbZW#V!{r z;gYFk%w*FYUG^f;nfAsVq#NOJW!5;E1DJ;lm^ryqJk*hzISI9vnyzRjYE&Rn`(SPsYn8UPNmU&FRzxr7O#8h@qD1mrsaMw zv_8utKaErtLp;A*OLWp&QajeYUC7sG2-_!bv#yrztwXMkX1!xtlIKJ8HAQZ*Jj>OU z_}oX!nL8(&1@?9S<+sM>$V_|ieS2Wtwg|KRU40$YvF5Ws`0TG1)KB`GAgCYUzS>2U z`!@kT|ImbiNUiqn+X{N1f=lO}reSQP&=cI2fb+ICE?X~`E9H~-;gLp<>LxdLG`4H0 z-pA^u)Zu6Md4YY(Aj4a?MQ)cH9UlgOTH7V@ig1K%p4U6lRbbl#Ddi53Qpi4mf~VUo zH1S6Yi(^;l4<&@F;}|THaCQy315`bwHsk0GtvteWz$z<=n+DFN1>c+6Z<=psW)88n zm)<$WiAN~VKD_fynE0z)ZbINzh0%GvKV=f=zW-50qeaQtTl0Mo#}ZMsRrMafd zK2pZp&XSi;C6UR6ge4GhI z`upsCjkR9}>oNH`itC&`reGnwc0s&WgY_047#Ur8-AQuf+4|WPkW`$`J}4>Pv^%VJ z&iDSdJI{Z&I|1%N?0?&x8}+m-RQx`lzY22m1NN4{d8%!hHNg_zKfZaV-1Ca;X% z{S)_27oz#f)qFf%9~en)#ECTA-~o z-iOn9m*7fn$Wwa`Y_&i1j8;W$2;y|3G6nb~&Ej&3*>Ls?*%KIKE}5hqi+0R-Mu-RI zXl12`%?c`FA~}!ie?aiGbPt_nY=;jsuN!hOKy5KBRU)w;yQ-^el`=e&~RTQcYSB&OMT z1Z+NiC$;Wr-}l0M**2{zVaa2}0>bG-qy^`WxhkdUw+0Uk7I2-N__7f? z_RUi#v3&Ft8G-0V}SL}|tQ_J$uW2uX(DnGGU!bh+^JoGw4%yYTv5u0QtUQ{=$*2K{lBkYG|-R$)P zyu%Vv5#+Dr65Oy1Wj#A`&=!WQu;B}3hr*C5pRqg@8_TLa%6$+cNLvccA@$RdQlk1) z-#D=h$_z6+_bVhHe6|`*Zm=_n@#&6w;a~;Ez<1}@9De<=gZ&$?JWD8ne^qV0V-C#` zKO`$jCkY+i_m*aw<6wrzi51tGjN9g=*{+eU2uE#qhm^S%t7B?r-%nnz2XoVgR%tIL z%$a``O6{X^7UlGJUlo~9`!Eg|W_7aQ+21>;A-{vh7I2s1>hFml;Mpyi0ep%7Itl-P z-{fJ`9<1_b)c?b>pA%pd;ZHR0zwG_;rAna!9UDvMjyHl7AEhEL-^T32$d}0Z=KoKR zItQv3Pl45ckKRz-gIb{%QDzWRQ?SFk7&gByZ|W)MkaK^|T#w+B@uWJ2xCKZ=b4;n;&S&WP;j{{Qz>sd~ zka5CI%WP$J)h};U7NWUk5u|9jnqyWyI#WNWWR9-LJIUPgz-upND$~$ne-Df%jcc>C z{}|*g@!xjJ2i%D>P$&BXy#afqG)A|1IHnyD6u7F%rI13ExoXehp~D@lQorYi7_}$5 z=pR|9^WSdYq)1-;4fXvZ+Yw}Znn8@FC8IN%_^eVf));VX8%|}Kr{}JrSoLhoz3{i+ zhX@6;2!lCTCH7t<$iF<^d0BWOJDEdPWkyBY{^H4dMLK>=I=<2q(V3Af4VeKQ&DB#l zl+UVKr{ruJP#VFgR~u_{}{DH4+aHEeM$qf?vr&XlCnh96N zw-x5RBdZg-?p6l-c!%PDau)E89}F?f*=H&gvA9Mzu7evU*)9%UBQP)hpX1-!^&tja zo)%Ev%({>M;BKb)=uzR_(A=Rm2c8kFSc;co+mGAq6X`Wjd@c$ad0NsgOH|)d)XfcW z4t(gk5-Vi%5Jc1{_}UM$?79U*Tk>r=1zacT03Z>86r#C(RSvY(KrtIUI;%R&v>mCG zF)tjy;^oqwT?e$3Z+N=M3?)A^d)apEb69#7idSAz<)cCxPH)6D0$Ajf6IEtamV?zT z&9fuoEN)r4!(Ha}LqOy#ODWsR$3FWK4F5K*|Je7>oiNN{-d&#qwKBN%liYK;cM4tTIe90!tplDn-&iAV`N3-B z1kgtT622x&NLJqV2T)!o&9TKCk{rx=El!1cZt5kcTrfT%%TXqHlfa_H96>r6;LUD` zqKrm=F>=bfZWwu5-_COG=@c={wr4$Ks>((>TvHDL_HlQ@@WQs8Jv^x0KKVxm(`XA& z>C^CJyE(M8Wq$%3wcaiwL>H0H1%yT>+9H+aB^jE&G1W+H(om>W*8rXg&g9jObC!Dt zvP{WujFEe4{U>7|2aS5!B2vP1BnB-TH(iwrp7dxZ(jMs6;*H6Yku=_$ z?V|~tO4K@sLNEaeKHU?`9Zl8Su!1od;Qg$cB!XEXZ^TT2UlA;~=g^mIoT$kAZKwWh z!ln~hW=Sbze7m~gm*^hno5rIqh7lLJ4+wr0}w9-tpy%b)&Pd;Hu6X+R=r_%`uP`N)MeQA1Yhd;Lz6jN)c7Wlz*ktk;VbA1|ldmQ{|-KRZq) z-J9{^Id;-YaGUFT-q^ceB%^r>h}R==zyc+5CU%|C>%s48xpb z=77MnIZvNFmCfkNpTg{Vt_w_*H6xyIC1QuGhmhdj;OwPIS~-;xoy{BG?__CWF`QVBjKr)}=avagfh0 zot#4g{vo$VcOppwZ}0u+Af4s|p4{=;N4X36Ck9Ii@paxKx0nXzM9$H*1~FJdm(v-x zkM{-fzZ~P)#}1cse$*&4~;VleJ4-FdsM;% zbcWp4Gl?WJ_OuH5CLP5kcsT|0p_AK9^Kf?}nG&vgOa7ENQqc5Fw?-D%*U3pA|d7%5<4MFkMW|%zJ(NEIh}CM!k_v zA#^Zf5uJz-MO`sxSYCBJpp)9QfC9 zts{A?0byeXf(?m%IMWObzqi$Z0EsqhNlrJLf^@B9j4B4}W*;+UCPxZ!N4xuXRmX`u zhNOO_yBiQcGr4bB4qZL33}ll(DLQ_f{E95v_JJ6uMs7+8 z!17$XcS`}8kHbqVkLnhv$F`EogM?5au}lbTXAb#uvy@EmB*y@~19FGbIC}gS4ISV) z@qs9Yl=n7%agt;IKFtV`0A0L~PkxVF-Y=_kCx?u?YqN$iW&M>bsK&8nXPJGlUVWB> zpaxg+2)Chll{mgQxKI?x7<4c*QBSqz{>+*(dRPif5PCu)wW+V z({H~VpPa#n!}OEHLIY&C{>_#5nagV-pMu>4WyntNq0k7JHYL4GP3C=p!4LxqSxGisURbD{gI_p?fl-c2C2l$QZCSoQpZ<9q`hOqC zP5%zTJ->LojaU2dC!IY{Le*abCKE{}Nm)BWJUyH=(z{h*fC8~|BTiq=BRRs?T9x&? z&2j{u%0-Tt35_6$@eR~J6%1fZWoEY*SFWi{oi*W5L%d?8vl)4J!~GGRFFvoAUw#>T z^t;4OvE&h2LTZ?>TAeozKGoC!8Sam*7gktIx5kG+i$r|7EzX`*x>{P=U zLL)>ciz3kak);?`@%GYs;`EUbqD@cT5n{)zl3E5#r&$gZJmuc-YaZItcvjNzS`DjH zBlSTtmyt)I(1puyRT<-N%gHdv%{+!=ExQCOMjOP3U_8iE|IS_No-@kdseu^ve`c4K}^Ay&YI$=m-mR3NE;K|3i;qOQ? zfPCiW6F2!*s;IR^-@UsaK9{>23JjW853-vjm$Cg{HW7aS0Nq*_Z~|prdq|n~*33(7 zfj8_`4(olS!BlrXD?3ptTWxKpq>H-%B`|{#3Ys4RRR`5GWOfO75-LZM(?-!-B#A_H zYgwT*ZPt^vM3!=(C4>T%bVdFHsWS<#a?*yFWBXAGw9&C#`_@iKmLgO6&OPE_`3(q{VhZOT#)*|?NPNI zd`??=kI!?ws5*regaCVnM7f(jcu*F6NP&Xi+lqS-ZThatImq)MFFcxwDbYzatkbwA zh3S1#0|E#qC^DfP&z$ki+7M`aCnEWxeB)lv(`0%%HpoV?L?fI4=)Scm{Q3p_5hjlx z#WeqJ>AkapbE}OAT9TuevrctDVMABL*wkCR000|cHTjt}+L3{_%(;U-|AaZe(WfRi zja2R8XHXf;p5fAm+55RaK;P|;#lu<(Z7h;v;-%xHN0C>JK?^|=-I}2cSCG+gdo$r#*yO~lUELivpv$);`dqs3fytTVH7ci zS&P3Q&~PDM>9hLne9nusJ%u;iBY55Y8NvqBZRU#B3$yZr^h zbqdh2jNbvC0LofKECpapTn59SKV|7V>fgmG86E7@LB{HT4C?0H{H_@P4e%{q7(AGM zSy<>8cNrGtQ@Clc%y`DISE#zUpj9ba*kSa7G$x(SZ!^}6MD6+!=V7L|UazFx3ft!M z6J;yh0r9S*y|`&OK~wJ!!rW~~EJ9(jq~a1G&NC-S0|4sy?6n1_$3dsXbmtEVY$$D( zwA*t>sGQ&WN~CnQ`XV@65)`g6K8d9?esM3%@j(SM{d6`Y~D<%qDS78sZ97Z zXheCw+UX)SYsfSE^4|VtmAKbJFN6B1oGEv?6zi(xNS%57vh?tByg-NQmW0X!;zsylUfZ}0l$G0__r7$IL zGM+yAboY+&^)R)VS9X&1$GIi#*}D97voNKy!wy2oC;(O*&$ zv<|LT_-Z{;-vFSj_~cwr$gsEU5*_8V$?!V=WuveTJ|Mgud8NvEHXBOh<8xAZV_`^6 zbp+=PZ~ZG?_MN|`bnmx;VYGwqDG~l}SnaoG%EBK%!UCuZ*g$urj&Y{eNQYoM?Pd0l zD|eO&kPmxlESH;g;DBe<7m;S)N==6#70tl#S0}&VIcz!#l%vrHDKKK z`a%%{nOsDS``^aGh}_UtuS{+MgB~Iqu2PJQxQ>557ER4tp|~z)FKUg270?K9|IUL- ztHs7@)Oe<=h-!O8xO@Qy{9Dw#m-Km;d=_#4xo{(dQQ8W@*f){{Su`LDdf^96$6 zD8%M@>Fs}L)Smc>5toNpWqG@tky^kJT?(< z@S%h_(h1Ahyb4*hp(S?v?ol6JAup%XLk03_sNfHXo+oUw^gMZk7^rW@d!U%dQfVIv z<7$SU@qM^CesW-Z=3BX>?ee&~>fN|#T7okl;rm5=YaZ48Ui>M#{a)tVy0h~&6IMFI zlHtpD+TyQ)GJd%po+XznW57K`Hz>3MN1H~b#cd+JYSbIbwBDI7ymyZWy{lh)Bg?r0 zfwqSv0=Y0lVy%${{^H2VG6w0%Mq9_R;LpKtnrP4wB-Pg+BKay-2 zejvS*Xe^n`vWkEI^}QP-;-YV6*m2i{f8gd=dC8#^MK*0C-D-0x^0)!S7I1jPBfn!Kmov#jfHeb1Z8z0bd;F4O4) zmz#_yLMe~>-7fkMT(4bhth;l-h9g8r35>Q20NnM&B?3vWpc|8u74lYL{a(JPDAOT@ zYnqG|Ue)X2US#a}g;M5QA@$b&?%7t>fK4QU9EXVFS~4=9_8zFW?3;5m)6ZIQDjy^9#xQ zXFQ^{WnM|K8hX4>irSH7+blc^!zM~7_~_@z5b1!V zJaWjxLm_5m#kI$GGzC)KdT9l^fvJ@-(Yp3>3f+5$QSr?yHeE%zv))Eb!NZpb1;TQ4 zoh<6WVEyhkgUI26{>+rYtp<++?Vo*x`4@1tC6qaC7MVX_e)ZKk4tw@04iw01!0MBK*7J`)|>; zVe@Y%pdBIa_nbaIjgtN?TJV2QlcrpO;uXF|#@v?q_I3V?TpHv!7 zuJO{F~?>ZFy# zv>2rjP=KDTC}4_Gk<@|ghM1&r!sh17&{6do{?0OQ+$!9O(g>W19kPEpn1Y}=%mlo0 z^;rkah5rEHTKco2Rw1J}z~L}fq%p@17gKkV6T}4GwCoT|T$7f+c=g={cHX>KALZx1 zsz|ts%?!MQef!2At<2}|ByPr{0=M?zw+LkZ?-2g{e(Mdm7qkP^=4ynu%G}49*Q42u zh8M`CDHq1{s$3Q5h?*?mN`S-R;q|e~s5Oic_uNBUsPI0CeBMe_*zb`$Fb7I#a3-SH zPu%K>jdg53PL8!RZZD3|(PDnH-x~>G419v!W{)+{;M}3TyVUph{XD&zJw)y6a@!N*u&S99ukQ<8eR!-SWZ+zr(bHq7is4hRV$0iy0SPAwz1{ z?_ttX7VkDN3{e6UK2g|C%@p5;4ROPPt%!2wkG+L>MJ9eTdmLUtRQa9PT^25;(Y8-q zxs(IU=1w?}iS!fhl`t{p7jElQ1TC6v_A<(;kpf7b*+|VxRV(B29dS>@Sg0#Wi&Tsg z)sW+nT`ULFtSNISEH=;FC>W$nYkdm^qe5 zaJbqKZ$O>x3SDHJfpGIK=V!{7M10KKk~W27{q^$c%*a?SILJ{Rj5kgl(04NrM}sR* zuUu$Hr5e`4gL;9Au5=I)-lThknk;f5XUWt~Tn70(x$P1iL zJx~GZw&ie#-uXNA^!@bX$@?hV%ZvY&?GCzL#Fxg#k(JO@-cd=NwH9yej^6!rru ztED1=QvNgtgN>fG)T7u8mu65rs_zXyerI90QpDl=x~fRE7v$^@>YZPRcJZ3lAR6h@cPtc#j?x|8of>{K{$`S>^x4 zuS+^mmTdAYX1DVrKe>fs$F$(}tR#3ccx~t{ZPhyZl%u5fM=YDr_X%c?nr!>}eK-~H(RoUO_r=<;Xyy3~I9)dg%)37j=H2OnY!1Dyn>aY1IQ}VkV8>R{g^!!e z_p4j9%b^N5bW2+IiiR=%84ecm4q{X77ukP|*!71F1X{N#wHSbohsY#TnSKPde-*OL z$$8R5wmItD6JJ@|`5N>Brt~n1ZpbrRj}VoI;`K5={zeu7Ko z{CzQ>)@wJm5Mu7WP4RrJuKw(zwh8={lTdCy3)bsB8$7kAf?@DgTEh)7S7~n9<~eWw z-dNp=i7P=quvMyy(u-xmzhi@n~j=`!-Ob-4_j>b91kZ&0-OYs_xh}Naq`I2B$dK#!NS3V=sEHIfA}64>MueVfP^s6 z7MYC-Xr#oBsWBS^X$ObQpzbns+EVO$VFt+i5*l4j)l=e-2o&T2E<;M??GfzoDt^og zMwk#bvN@o*|V7x zMxzz{JvRIFvaz5ofSM*FC$yqh+uO^v7F{8reDf$#qh~n-y0PDvP=|_oJsm`4e#%xm zA34ah@C;@L@kG#_Qu6tB=imq!B@vQVGL@{}O^^1NpmS%;j~utnp*PrQw~VitBC4vi zw*?K{>sT^1XareBut&I=cjQmS7`xbO1X!2()nc!zw>HtDNkp)CasMi+hCZRb!v$r| z(H_(Lv45n*pB$nE<2Rw@X)0q1d>}4JT}4dB6?ueO2{3h+02;&)5P(|TnUsQce|xbd zv8E{7W=iDDeC&}{0avcEMWly?+zTjqQ)S-D3o?OKx?In%&iUF$3F?rzoHQ%JaJW`J z#B0D3i%%go_3)+V0dgxVj|EX}3o?wO5GA4Lenv41`f&fv;?+7CGfAwfDJi5Mxs)KJ` z0-HVMsiB*Ay9^0)$%!XZiL0<;z;sGv9a}zHn2l#KkVKP%FT7BCO}ZolBvDoQKfP(1wWgUHt1ud`#crOM|q>Ms7UzFWtBED7j$jx4_&WCtqC!w41yrX%wzEt~KFFo?%qv%Vk4sr!-fPN5lM|<}oUU8uM zd{n9NfN%P0bSpE(6VQLr&4{b~okuvi0!Nk*hh<&mW~PvDoR zLy$YUP6R!5;{^>Lj9J6*F@5LwR#5W47(c2 z-(vW0H5l>-H8}nQYJvn;a>B<*VeltQzUE=e-mhCpp#rxl8@RVkh3V;t0pFTfOiyNw zSIOdPp)}P7aNRo^IIoK|U8dTa1mEQ|SX9XVrlg*`E0`jHa3FXwA1T?auHf%KyLVc0 z+~)09^^uPBd#H-TC_yupX2oWdB2711QW44sOLZPQIItegXb}w#u}Ihezmg#}<6hL6Z;h{cdf#(F z330H?11-$y+LtUS{7w!Mm~{yMXQAP5<6PIjMhlu{?mObKAYkMfyy<-+J_=FyvI0sa zp9*<=we?d2xRmF4fY0dQjME!FvVBH8l06$+4mQ9Ci>alT4Qx$`+3v)b|K>MF6U&I3^a&s>XBJa2w!^cL{FJA0>u!cyMT6RB>ub8hiGfhd2ALHGhta|^5CR-a9 zg7HEI5Ir>g#v5=^uqaEEyt2sXTPI|*^dUQx90}&Nl$hIAjiH`)ygS`Se?|jmlTSfO zA?}OFw0J$CR9{aav)dK=RF_{`X`0u_rsSJ*+LIK{&1-Z?q7eVj#k7V5@BIgHa$)mQ9em|3I|evuOyY{M|Q#0cu~^DqUnhlBi?0i@B026 zN^sLGV&8VogE%XJ;PGzV@Mvk=Le3A)+-f#Ov5%McG=QBYp}UsilY;a57d6+d!>F$> z=NoO;ehPBT2ClQ?qJRc91sH?An$1Hjb?1%!d}~WL7!-yIGG40bBIhZqFCiy(^J=%| zKjZs7sE!jfv_CC-5l@){kC;nHqOrhKs?+rKl+LHqE|`(IV~~jP_?Wn+QIR#*)o4F7 zI@EioZInGK1eWgXYsT=$8boFPWQx%oA_f0OM*pELRqy^eh!2TKI4=RP3nW(O#BVbV zQz=!+KIjn=rkf4zsb*|SwZMH-rY5p@*oY$8!zr|8^@ZSMd>Re&eWc#f1z{ybG4+)y zEjbUU+8}p6^_=M@xQ;UpcBZ)H@VA64Vt_-C0aJiDXE%C8=W*0i!@&ij{8wrp988h8zZ>X`rL^m#Y%-j zA+p95U{ZV#W5#jT`?+OQuQSbIopq13WUs zL{ot%Q2t2y%Bp@#r?5giUe75%>u*zPPXN+M0C)rnlU&UI)b4FGe<($gY2-N6fO-&m zv{;U%Pd7nSksCd*emG2bGPL==_K<@;IRw73x^?1pl)8A@$a1L&DyuMuiEDRk$`=mnbNP@Fev6uY zt=BXba=Sv-b9)Mlhh+RX=IKB?zN{|AeC^k0P!SId`A+=59~T7IKLV?zJ!w|(t>++v z|CQo75t2~3+Ikc}48*~TxYGp2LKfro#!HitIkXhtKg^P;$1(4E{3bl>As?TeR5(PCGtBm>;t3WJdvm4UT5rr|J6epauf z!R`_Rzp#3f5G)1e@dG@j~qe_e}4q(ciG21Vb$YA z|4N?F9E2>^(tEmY$O)sQPm0bfBBEZ$>Q`zxi%qMfK2v|p#vz~XJ9<#~gs8G;u&LJf z2tQ+@cR!=*35jGwW`lx{Qi!klc2OpIfY2Vo+CT#y ztcmXQICm|rVIL6JZ*NR2^Y5pT0TCua&u#0Vqs7OeGIiM`jPiUCxnU%`hb3OwvZrs} zSc|i=Y1N6_h;y&{ez^}6=6$})keV`c_7IP8S`zvoW`En}a_NoOTy7b+>Q4@``EZSvkr(lT15cJ&$QmH6W{JoBLY`$B6~cESEf`gW zlLm#>T82Fx1U(-x`m!gKd)`e83D!j)hkF4^M4|a-+ZSq;dY!R|md7f+gs=9Y(SI_y#UhNdgvuJFvn-?y(*GaN?=P|V zM>>FIjOBua;;RVEVLDOl-qAu2fUs_(KYSZ9f=9+$1pJL%iqmc~IHPh)o^7y2NThnY zV6A)gVCfyx)<_znfkyGWHXkqZMy-`fbPyKY4T3+O>N3mv#s0!z?=xDC=-UU1#tvHW9iP z03|9K&_t~xKR*hTptLirFA%a6omSa;9|e`MAOKO9Z|DWvmgQ(24LyU=#qozp`vuv_ zef+$4vBf@&9C6C(v#1+vJ5481O4>tHS-Q_r&J3ayuci)I&1j8I9gU} za|%zW=Tu>bA}f$kUC7<^-hL^YL@i{ma`*|LL}F*{m(700SHFhks7hP`Zyp8as0{XJ zl9~_KJHHG`V1NOTe4}mqF#2pQV+*8?ah0kOf4V%f3jf@Y&0>pBkN-mvVKMxUidqYF zS=M;#&LB!mwIMI5<93JMMSRq3#O^qKIz1i^dez`Trtgw3pC2m^W;U6gi$TpNwJP2F zsD2InEzCP^PZlvu_W-r_cOR~SY=|&oFmAS5{!l;?oJ$1nc!lhg)_x47#+2^ z$e7R?5w*7JO}8DGR0Fwbphqto9_f+#=j!tO}D7OZGoN z?+|0^oLzBkPxz+PsPh8m3C30|?`9*UmAf+?^JQIbKr>__nbv5fPH^b5v8r~hYsw@V)0T1@z2J;zW zm4I|u7gS^Es?C$JI&o%r6;)=OGWPN_Xz@&V$oM}?`BpX{Yk7qQ*7v%J+4OAP- zWBW#wmA|X~VbPDVYjvb!E2%u2xZMC)AZJ)3vKTVL?2>~1+_+dK09xXXXwvc8eLoM2 za;xk2X=f_P11SeuvqGAO2&?E~KwGjP58B0e1xY8h6dOn;AC%Lrt# zaZNp%!?;T_{KsKrXeoAO3F$5+rO@%a#YY^iA!10mxLr?jjk?M;ZVmuw zc7jOeI@D*8{y_&)vm=_WGsM4g%nRw?*h@*K8`>%sN;zU=c3q38S50QXW(k8SUk@AA zc8-;IBTjD2Uo8NphoXSN2J{hvrxa94VNh~|it?Ok8-ZRxW5JPQ3q57Uohg=HZ~iAX zJw;=9$`EW4IR^+IaXfS^IErPp6+M-be3L}BBSQKvTG9ryAn}rx>3InUjsS(yiM_Y# z2 zcACO)`IsngWRojLT@d+;HL?Ob79^p|PJVigqSP=8^ylH_d_4cdtrX71OjRY-Wl4aVSdGQTMbK6g5zL6oH+e~GzMLLNSoyV@^&*KXQ)4R*rIiHNJ9JC6GY~io=eCw* zhPxE>;d~$uS{eI(g2Un4+QaDaD*B~_UAmmVMEhfgKjjglAWEWh@A$Fkj{sV2%ATn&|Vyr}24Gv)zh zPzW(siR@NM#YZpDiN|KMBb4HMwQ)4q*8*^aPmw|ADqj|N=I^ms7Ld7kG8o>cY^MdA z-M)=)nSnT#Q-&R@=6)O(LCC%Vr}BOd&=+$2c-W#QnBR8q~+S06U|Op8~&{ z#;D4T2kTlKj_4Ns|1O*de2I6e&dfPY5^09+Aws7N)x|MuK$GQk{1X)r9{^jywKrrI zo0yV{AIWR1&komUve5$Qnjg1x!4ihLE-H7X>xlD%|BXY=dfy#764AS;^tOz3Tn7CQ zFSdqkT&Y!d#lE%XiZ^c0t9McFhbb)8-y91sDgv1QqT@Rthn?|yS zY=v1ClghD`K=dHM2mkv#ai|Y)QFDy(SoVGmjNfwO{YqK#PvQ30AO{H+W-J$}O4k~Y z!L$fFgrg|`IqZ3bZv~)2EbX)o%{-cfxS_f)gxyxGb^(3vo}-|0^@44{TeljwVaXdr zaXDsPM;ZimBGUJ5t^hpfhSmw$foB^q12|>;bLltndPzE?l-JRk+;L<(pmr#4lyp8(38*i@&0!J47knQ(Kz@)R6CfHE(jgPPz5Bt zNt`r6^LD79mmyU;U5DWn3!<;%AUTbL02E+apY)gwL6d%@wfI`!O9DUuR?%q)j-s4l zsZ*T7+2c&p@0=h76Ttl?3K5t$DdmzMvTS5*^ist79(c`W_(&eo)_`AWlt zVe5-cTuK4Cw1&eapC@C1xcFejL_o{SZ2?Y0xLN>eSqX(hQRvq zWDKt#V}W2n1TSmihpPV|A>)6_yR$b)Yht%fbS_%u?tA00qyiiy2Q$|fuZTW|$!PpB zlOa6@N}*1Cw}1-WQix0xe=x!)Tu?p0;J4X;PJSj!VN;xH%j3FhF4!>!LiV__`Qz3k z3*XJ-j(>dJf)H|mJwl2#tV66y?S$tFfhz$E;d1ZbIKe2VA$>CTNVcav#aqn#sL)s!KX-W9r}KO6TB}8mzr?RmzU4fZd|{` z>u+XpVm{lcc@{mMq<*+SURW1F;D2&!34iCzKyUW%0GtY-1C%q{>w8l-18$<=4AyITo=rUXTtfOe7)<$5 zJa2nJ$jo8FV}1U5b*RiGAJ(sORrH*SWTV%-l72i3ot<#o0Js++cf0Bc_B|8sTslW} z+_?td;2dO$CU`aWk?YbjWPt3MSCnp{vR-xR1a-0O*CpOy?tc-53UTd=1Vspc_=n~E z`|6($zRJJ<&a$>Sx@0gF3vnYBLxzztk`b)S1;Q`OwQEE^noeTnCK9mAe5BWr+Bc?a zeNIMajNkhtH}I?e#GM|p5r~()V+bsxL$!qmJnLqk>t~^ov6rE7LNP)UuZiPx+)M7x}K-HD2KAdF`TbvpSmD&E(|K8omdYT!eWN|>1 z)-<|7bcFlnDftr7z>5sP#g#B8R`Fx5yvn9WNIb5+DH6uAlK+8(e^aMaK-&9U!T-3L48}jMX7HXk6R@|3 z;9%w0Z`>RfMr*itrrqrgGL8 zkHo+At&6w(M8!U}IRsI!h)&^YMSPSi<%0=K{K}ub0k5yEV2BWT;6}iD0Wp4M>QV&! zKellp^~W|Yzv3pd{y~S`ROK>#l@Qb;7_B&A9$l!NMxlWO6@qmOWzt?CXG3K z$q2T5ennQ;Pz(ira*mjnZqta<*pQ=hr>7$4fNuhLl$F+LD#Fxe`Z{yo+s?ChCNP(@ zb|67FuN@&x2Ey}?cS<3Dr}^LS;x`+Ku{m9ZPo-`23{BiauC_*JDc89lmo-BfqF(2M$Fu?7MdbbCMt+IouyH_VFovsjuu`1&{YhZEoY0_V{nbt^qBb6iit}SSY@w82Poshv#!?j zb1my2VH3I0A`C!uRbX!<(*x5Mrw4g47@A<*I3lf$j&L>Up|XG7q%trynkIa?PKba~ z{GYt)|M-^{^|$Z;!Uo=;3>fmD#b8*AgMx$Fl3~ZZR~na#B|i-#5oKc*3|lqBQXif% zQWi)Sud>*<5Ue3`6wl*R3U0i0!zLs7s1R6@B zpyw&u%-scXX5Ih(vZizOK~QjTR~Qkbv!^G7MY1Jl@9sq;7Oi|6Tj6I|#Yv$gzS&e>>_1*g4*!pr%1y+6i5!rD@KS4u zgan&UQH%!b4K=t%k5>|I4@E$U;-TapLF|o`D&{(CX5S@sj_mbo2jj%RfVU_=YD&~l z{F>@8O)(K5mrcb!6w;c`<9&%vH9+k_JD#;0BzYQza9s3>v<(kEd>_n$Kp^y^@fl64 z2~;zGMgx13)b`YBv_SaygZ0Ktj88lYFxS6aOzf=|Q>o?B+{Z&*dYgl8MY;)2!SHA31ZD$;&{>f2dsD+L}Ogj)o@Yw5rPTau=LTJ=O#@K=eIf5BQ|@W zypeZL!~7_83uG|l9f4N3m|kUrMW2B!mW2;MV+ElaZ^kn0dm~)($tRbzKtEg&HDr7# z08d{M!`$~UdUJvm4P4j)cXYD9Mo5J`z`0n&C_=dKhcNkH{^R#+y>*TXRIgSjX*C#2 zTEnIO$LFsAZv1A1POX!^a#C(pg;eMwIe=wq^i-hz?cA?(0?x3iUca*!4L%n2j_0`q z8?8a0WpHCV?nHMfffm*U7b);@1=fn+)B;}okvu^q%M_S~ ze3;V%D|nWlYkpc*s$yz2k?qD(XJX(jQ%F`zs@e&`s?C3H4~In%zH9=lRHkx3^|jw0 zLj8RVr*6+p?aji9u>MNL{$dCmjQ71yDV-%*3-VpVyvq{rVG7*{Xk+L&O~>slZJQxW zcDY0a{`B<3pSU>^Ngc;+I?S{MAKAWSiNRpI?Nfk{U|u(#NN?eNV5JMf=^zc0K5(y}W1G zrs=M@G+xxGa)wjjgSJoCs$=-Ao z|DATT-St8-&rXk z{ZUR>$@{XzrA`-08mP%2c#m-L?WM330?_Eo$-Q^&K|Jsle%*;m1>ik$oqM?KeCZxa z09(L1wZ8xFOz0<=yXE7o%i4%RSIOBp2jR@uYqUMefnDXB?JDE*Y?_0=?95}2%N1{( z1|@C&6y#r7XdhLZQjjj_ySjTQW<}^DT6Iw{T1MF)jyc={<+t5?Bb~xfFl)w;YnhVF zq`W*Q$Iu!J$SVVfop_b3Z@YSZ$XVg(_YbPQq`p#U+1}nITm_5{b!VxY-QB}mf2byR z)CcXa=vl!3ZEyR9pu2r$>zrcgCDC)1;cg89om1jhPEu?@Hr zP4fj9dnNPQ6bEPl1J|}QU?3b(0>NB=t}1cWgIamXBr#m^EP8a_JImG*cdx`Y>7LsH zn7f#dqp2=ae_x|1Cr3?R=9b)8Y}BzdD;lgU1Vz-fuUE-chxb;0KwhcC{Ezg6!am{b z9pihcTk_OG%!BDtSL$;>T)UY(`!e89se34du=Wt-&Qha!%z@K~ElzZs&4{D4|I7to zij0nk@ZGzK2a?AK>r#`n?cZ{6}Q zwGjw`oj7<~@s_&Ce1r&1jpz3!O|XE8Ix;VLR!R>z4Va=)-Q{ejUJ#NHcl(WRA33g=PspbD@yMw8 ziFnPy@Vm^@+QH(h_qxuHChab*CXc5Dx3`46(yU$IZJ*a#pCpY13qIeOSz0x#f8<<0 zvGGloG6a@}^9oThxPrKED%A;$JJ4=84v_>bSDUHR47q~0eGuR=?%ErM{1<9A1>YtL zs^`F&6dm(KK$I8olFCtuAW=F)wbMlDW`v9v^+G^Igq`1R^ZQ|Iyi<%i?ntRTsj^%v z-F#`&?J9D>SqR&_NMJMuy64{fV3j{n=PVX!E$LY&7{emI6V)U*=_@C`@%HO{<5f!f z+T-l%wZ8qO`-I`SzCbnw@4P8kD_f8x8TFUU%O=n1^S&*IBny3!raV;`p8&n%3uUX-!&#xy*Av zfPfJ>9N`%80W>XCU%Ry@T;O+XpgX5=&i>;ekkgR_o9bLBVIuh7^}ag4w&6lw`&lqi z{vN)%_TV|}Jc_)X?GZKB$G2yKL~px4lFA{}R6Yv_L6Zf7{58JWV>$pa8D2B6GwL4n zndoG<)xbF&AK1r4x~1_&gzT(s-eL%dW|a=v!9S_ zrL7lJEmQH1^v!l5rdAULtcm-4m3Z51nKDDH=)qBM=m+$@9K|BLYt5uvbMW+^ki8EY;o2Xk3w!p2(4}7O zi}cX_Ykz$B0C5%=z%x+IW9)2ng~5jBe#BI|wKo_<_Njs4r8{$SZTpc>8Q&BXoiv?< zU>b|TfHUQ=!D|X=B#kwnZFXzQLuKO==0h=%wB|~m3y6pX?qL>00_BK1# zFvV>MU@_HQIa!)?f+hFvWK(%*KZNrUb5Nc34R(@F`fXbZO6TXa0lAMO9l3MpR@nGw zhjI6cxhrGlwlla~y9wbdj|8-Pn=XiHWR&gFcWE#V(U1preZZ~#okss*IQ?a^boXqs z7~HRRN)OztgdkZl>{o7LBv(9!B4|k&dmB30VW9HA~cWXPs%83Av@Ut|%-V!zoMMT_G0JYj1F3xlto=~Q% zLw5yhTE^uV_KETy>?i0lDNcz&xU~pdA-Ee*jYkRqPsmSfOf3+R6(78l0a5@=unB#O)C^peWr4=P*+NsyYbHbIa$PSSz7m2z%;r%)h3>ZM<);trmm1?{qV~y_9FC`0e&GRTC)J+IEh=(7$Y8EQL;SXIj<&n@Z zVhOXBgWsqy9yUu=`6wT-DabRtPt*yyUH;u-?r=>!`S4sk)i*f}VCu5wJL`PyJCLx%z*gxQqJbWTUSJJ1i8I{+v5@hyzmJb z4%(gE^kV8As#s&x+Rt`9^R~lRjf&YPijfXta;+lVpxq)phUjn2l9h=8>k## z#6w)^EG-MmHKwQ*Y9qO6hB!dnbM1wirqK*dUx&qMZ={;P)e$ww4ScLz{l0bv3-KPF z*YDDtvSD#DCQyXNR_2_96IZ&hiH5nz;8!+njI-@Q3(b}b$XguFqk2q09sA3EM6LYh zhadOvluOeXQHPn-Yi=GvL#(UXpC#;z2a>hh9ft?cJ>NZRh&+#4>IrY?OJjgI+?M$< z1&1uQi`CgLqs{Y!wFPH^9f$2r-_rBLyfW`B^3uL&%~loI)vdA8Z||c%_zsd5;}63j zv_Q$-RA@CGkhvAV)jY^kbOXSPfL z3h?(7U;#-X9{z&70FVmnZN8@fA~8A*Ot3QLRiOwFD_Qz@ zdKsQ83^)7KORG<{tqbcB>}#oebv;>zObR(3`{R11GK7OYCY%KPyf!Sg{cLB)SIOLocC~RP63bai67ZIyA+7e2yjy}*$C z88R1z-hth9H@yyZg@_f>gs=y7bat7s)s?KLY^;FviY*2c;wpVs)PVFn$)M~m6QWkB za4`=T=Pd*pyjC_j%9tdw99xUUyI@S~8P&M-IcOs68w;v#`J{N)4O4yQFq(kX@=Ub?Y8~=2G3tb^c!%m=cWh-fYr{Tp0bq)yUb8H&W(iM z%17A?3x*Y%6G}#CqLl@Ot?B{ZEUN5M(JKUo-Pzcq{X|?{^lnHf^{zpy2YT*#QBT>5 zeuXMj`4J1XIxjWrnCRlGpQniRLSfVQ;HUTxc5xi!De7EC#{xdTFZtq!;yAsd6>eWWpIhhaxUj&9NsC+DY>>&1yWy= zQ-0UhfSMt7;fM_xjBx<)g`TdO3j_0J-kYw{;bFCh8#nc7iwqlfY|Xwe_AG`HRrc}m zs>@A`C}=mxAzesQwe^ZV=27l85_Fgcm zQST{+Nt-v)BmssC1SC7NO-^?OFb;{q$JV-x~WE91}X^dmOFP#|>m;*)7@qq+td50?fzP4d4QyvfE`ZiR+q zigRrjUfqMQL`BR)j&nh=J$qBC>Ir*qx*yVZ;w8=iyz^;NB&Z5*;`T$jzoXS ztS#-4gSQ!tLK~$H#oo-YihzbPzlx6z4DhiU6lZ_ObEU>x|Ffz6@@rK-bcHv2?DHXR zmFO9^d!?>RfSe~GM+|^Ba!a@41G?v$9KqTJ@rGuw+Dv#r-LwbH-#&we8FCX&OIt6@ z&6cWMM7I>4G!0%lH4$>Qs-eDow5?mSpoT@KIw|Kl+Rf$TN}W7=2t|GYGIE$))aYv*Z*a^>s;37#KGA*N{1q-nL=NH>#r_A zTgG_gg*Q{Ji^d8&7iu-r_T$CXrzr(x@9U-bJLXiygtTBtDHpiZLn4S!a!Xw@qzVZ2 zrRlBc_7jNnmX?`~1LQ}4$WMPttgOaTw?@&OI87F_XQ;60o_{f@fY6j|8+tl0d^L=*9T_c#oJO>QEhf&3wq%Vg&lg133Ng(3mRQK z`+GydC|5Y;Pv2raPk0M~RewKhJ{%?^*Dz9@5VHxAWTX7fN~W7Huj)=p4>H#(%kcgT z^j5u!enjc_bwQzcti0JxY_C@`SBaGo>;iJiiC;2=76~vbaIt>7+}@G;SSOR`{>FE) zn|>@$;UG};Ry^M5&+nVidV`jnbra5z;!6Dd_fqjQ;>xcQUgpQ6qj4u|#xCZ)#z4t` zagj}UBS1ASzXUso+e0O2KlDB8{_v;vmW7Q7=k0YHIinVf)hx|pPZ+r~W4vwVud@%v z({ahIKD`^+>d#{bm&d}@;lc?NKP{;4O!S2}q_O7-U1^c3?j%S)9W~cd$Cl5ZOSQOq zz5LF>XFngTk$IHSYq?{^809~hWEBGQZ4XYHAJza0tHjC&YQlPxH&D{0{pp1ls7m9svCWYK z<`_Bz!Q7~$)hToBYj`*&@b`T^1`TQ1Mh28?Qt7WMXpOig^Ad`0TFdLHmllvww1PaA zg$#-qd~#Io!FN$pC-K5DE-Au;@GaoHo|GxNn z=0~w|TRp737K~+WuI+`Z#?oK>ukW`S@gzEc{VDtSmC%g9d^~rs(QMso(1vB_A>x`+ zVR`s(_ve7b+VF+uYn}KYIHT}aSB_H~L{3e<&E1coZvE{uJzD~0E97iql{$gV^&}-i zB-c=_8DtU%Q{80}S^20BMwIn5*~rQ&DJ&)(K}vUAgQf1euSJN@U6jwie7vp4+njzM zyL6b@)B3jW)Jdd7_tzU0mwRFuE;o>)zWaNZ+3P4o;G;GHZ3sKSoM&w#h8xm4lxREi zB|}ayX$!Du2Yy|B6()JWS^~Ms)R^U=c`4#^e-!6V7tDq0rrE@W+$zYmBA+Pp>ejpo zW>R~ZGq3WZ{`shCTH}!j)-Pt_@b@1AZ-t8*KKzEu=uv0? z?Fn(|d$gvdx+u0Ea03-p8p<1}%(TO`G`G2S(6Nq@!YFB;X<%p!p0cu9k+^UEny}u$ z+76e;<7!RYw&&QM@3hG>xd=(`pPrWv&8-~n|x;-$EIMr|D z5VBdI#UrWe878qwVm%Y3H{XV*tt8#?5%vAvt7lHxw238}gLRc0;+2ySflrf-6w}Sw zHTR`Sbb2ckx};~qSSIc)WYa7>ZS#AC^rkLDR9va7rGrG1z;MXxmH!Z-d|{zKv6%V| zu0Z)xWIT;LCsqk&Eb9|@jtV=7M3EC_0AK(1yv&QwDwt|m?Q?Z4_QA7TK!nSbT7n0= zF@!Ip6C?3~naw?)dj9O7`z80@>0R3F*?Xe`nPRVg*uxZC3!NpzoFk5_{8Vzrl>>(T zYW=?nHj%hkuvnsnOVXM=U_*bfa`_OsSYJitVEWB*o7UCH&hp`;_gtF*kHD4K@bkju zTk>Du!vbCMmng~yG{p>yDR4ENcVw9}S8fq`@NJ6Uj7Ne7{381C!XBRgG?N5r<)|q_ zUHjx7m3h2IJje7JfAn}t2_9GEsgpsaPyF*kp_`9uHGJbyK0ZVy{qoTF6WMLyVkb>3 zYzMT*V&Q}yd@UzB7RF9!87Tfd95rnyNY9b|(UJTidM-C4N|sZKF%wXr$oUe;gg=}I zd+deKjEGDKudWWy{_vegbU;3mF-w3GnBzWK{u`JEL5z1)@Gwr zR-_3~|HPgDnJRklN|vNc77Z*fb9(WTL>m7*<{3%Omm)PA<+cu@Pw8$_pU_9Fo2HtA z?H5Aoc54d?3$TW4Fl(P9Be^NOw!v6x2=y?JdWnWR@tpK5@RYcyW7Dz>0pmsGe zS-5rVERH480`tZC{ku0D%ZG0Ns_@d{9;LdE7G$!!{N6{6;_lv3VV~09HVB zO^7Bq{0u=5YW+5a?Z+i>f z7L-cai%I+(@JDKpZ?}QRaU&^10{;k~Zbk9iA^mDm+EJQ4FXeo*t)rBL|7jTQl4MW?p$B6_Y&bE;NO}_#t(bJjG^tZj!tws8_`8`~=9GRY2{P>)$dC%GjP&WL+fqOlmZ z0Y7+Cs$TtEtH69Tk6x90|0J5XTo8xm!Xo8vweO*NFe*B-DqhH24OY?ih4J{UjPl#I zt%WEH1}Ld4Zypt7N+@r2yllOi^gNkq@QsYD3o6{f9HhyMQyA*|5YGcP=RCIjCC6=a zLiu^XVxD7U%&|F1U#mKQhfTue0)@D>ZJS9_WWw!zh%LTVIi4Av&3AUW!kYo>E=adF zNDLLpGTiUDAvr0L+=?J5T7*c{GI3?^$b^_qoVR=z@J?o2|6>PF-st~yaUK|M9*mx4 zMqO7eHhxglVR2rz78O<6&LZU8|1mVO?iBvQaxuRJW(sY}QQM0~WqY+r6i_~HEf_706;{HYuZi`R4Oe-hl zX_@*!m`?Qb5hcs5J)Ae6IW-9YW019F{lyJ{tOpP>$#$qi57)|ZAph^!6Qiz+in1ik z3jEEev24i`^fs4?!?luhBq~VC(;MaFm{m0VD-OErFK9HY83JXn!t_-3YI48o>BG{4z{z?A6S+2Ya%HS0e*!Pz!U47T!^gMp^tTVr^%leYD zI;WKo{Z=u)app3Z2*ySfRH0;>{*=zEQyLa|r){EMN@e@Wm_7vz-Vm8)?SRC%l+ma0awMg=YrShz9>3OItokD43BAJ#4SNe-js%@?Z1DyJr3lTx9#xJO(64C> zpddC{BZjfAo|zn}bl|kCkYuCka4?zetxMl+k+ltZ(hpE)_|iv!EHY9<+7yE> zwr!*^&K`S{tRlnFMA4{3)=rh?mvXF)^EaMEDI$tDqPFu+(5VWUgko7I+)L3&U15xu zcU6h*aaj_=LdiNuc*fK!6yF@O1w5=~J6=#@RUpz0;MD=5?sFh5S-P&$;DtWOHOKuI zQE6eryW^|I^k_%ZfC(AY*J1jX(-dog^(oA)nTTceXHnTtz4{our5q)F`0K*I^j+WI zqI1nr+HPYXHy4zNnkztePgd!7wN_>C;3x2A}r7&26 zY69#S^JITYF3}xuTX5NpK7}aMcXj-m&qY5h5Y6o#q8%l^`s$+@*EJVU@f+F6WM!xZ*BAD*KV*kUc#kOkP4*eTuw4T&j<^`xzzniSzo@YB&RxmnrFA*2UJ@CqH9=8!k{A{shNJ_dr2X*!%{|0zlHC%JdT zOdpgIF}Zp=*wF)MWT>z|yksF8?belAx>^{!YxMQq(7k4WmX<}l*}G}Wl+SpQiq`9M zcLu|GnLg{x47YH*8L9Yu6gJ_snullb5y%~U+W81HG6HkoLM;<_$#mwb;xeSRCs6bb zA7X=JGvy1yxzJD5(`ptHx8=)N{KK{+`9$c!UQbp$yF7^E_0zT!UdseSw>1xQWhO<% z#1+d#&Q{*OmxFe;{7#|ZMND-Z?B=h|zvl_1ZY`fh*mWpTb%ZbmK|I_Y*sIC{=5KF&-$)f44&;!B zynugkWj%f5Mj+_ZW$;jCbtb@|=Hj5_fU~}g_A8EfHOw|GWYTpa71u*E!EK@8QVcOD z(lXs7`|s|U__Oyh&3Bpu@hF;C#LCH^-cB6Y?R`Ue#Rdm?dwlGEBx{t_7`8S6Z7u(= zepJ50!4)c;-mlqC&?_8rAPjlG#0orG_*6El=E$32Ns6nSI{QhtG_u4DCViPkj^lSbPq8?u?bO|Br`pf>wY+(lcw4ITv$tpvW#Sv$`0=eR2F}zm&AaQ?|vQA@r8y(e2s~vf};d%wsv0LKF|-Y3p^W@tQ$? zOJ&4An~k~7>V3|l1!{RP;PRz+TCL_CapbW#E!~gW80-l&wu=2tl=45K$!^Sc30$-M zREtZKY_x zz~4Z|bniHD)jY14#Ud9-^k??C`o(>H)Z58xCFKS0~us65DIL<#&V-JabaakhjwVpTZsu6^CLVl0Yx7U2vQ2E zWnTLRLl^B8>3|=o>Y#2}abqP!W{4h{5x|nb4J@5ftn)9Jyg(~+GKVVPGJp zI(cfStFeDTzI3wP?<5m(sk!l4ln3o`|qOOL*qV>!j_*N$8dQRucYFoTAYZak0#2PGY&xx#r}_h4s4G)%APV zR~il5>giHiPWtLqqWf)8-!2H-xR(w=w^Xs} z_`a=Zp;b_A3E~K=7`6QpEpqrbpEk!D7WB933){5)vk8K>CU&ut<8V^iAiK{`h+1?b zEM9g!^!%_2uorS-`)DfQ`M2f-9UOii!9#uO-$$G~@2HwJQdOAwu)Fp(f>j?^V+wz~ zJDazgF9^!=&R5qzQ}P?~_!=BO-k_g>(CtgaI7L(P?Raf%JhmjEbt|@#QO2 z$t+z|^v!2K+(_VxTifq`5EOC!_dj%+6l6RR@wym(1{<^nOn(6tSR*|k1P0&&0sIlN zqHR?HnF^(^Ia&;Av}8Cm{V>RUbo>UR1@j>P@z=YQ^jJf!-VVr+MMDy;Wf8=yCCzmn z=di#xOQ#ICx<~ggDkKdg=JgXrRnWOF%xlcBU<3$VQV7ruwcTpl!k#S#Tu4B421LaC zviSc8WD7#e26kM~RFv|vJ-BRr+TwT0Z4FK|u(#~@%vq3(q(@ClTNPdA27_7rDYHov z^7$#KjrsRSnjNxkM1*H=3eJOSi9}yk7`n6AZdq>y$jqzA@Yn&gsGHj%)*dh5MVjss zCR5>;)xIV{^KT9$_Mz?*ne9p958C_g!`j7i#>%Fjv+yq?GIvxCkzO53EkI zxdq%Pf9se~&@`Lk;ks_WnyhYIs6H7Ns25~eZa2Ik)d{S(-@2dUq*XkFl!H<5uDtE> zGrvjE>r!Ry1H<-`las6R5d*vU)n53ETf-%=7D1D7W8z-_^@7)Hk9A5$b%)#3T^h^2 zbN#8+wO3ZBDWQX>Z@8>L?f?&-#FHHcA@&e@|1Rm9i8{{|p6SEi1y5U1%;4SOw?GuI zMC5=8kve(!dVinfkw3-7Rn(`isAIhDJvf<9D1=+tx?Y*7j zbAQ+5eT9*4i7b(gkF`++F3LKNLyi8u#{1wyU|8OCblxA7@_i8On{Xs{BFM~xGqIx* zY?ceh-_1dkm{lclDi!x~Fm8n}}+V(N$WT+Eda z;4jaYyj}R;1r_zb2JEaH@^(R?(QVPcVH+|fG$gimS?5VBOe+&dKE8~u3bTu66GS2D z6~9`W5tfK9bC*fcjh!Hsk(kdhK)lYs4;w;z987Z;*=`a`2oA%;K9?Uq6NS|CFT&+= zU97N~GbT;>a5M0g#?TSUN+KP~h6+k(@rR>X00vQHu2+3^{}1cHo=;RyrHBV?S;%0E zt(P&ew{o6i->H?7e!LFpHClXhu^0HP>iGQ~%)Y)&s@C_c_)ctJJ+yvg|g`Dm8L&rhOX~^KY#2sCo@R}&+ zMogwnBDt37fWtp(mB#|&s`DAkBkOhcWd)2g1rXv2yuan-KEYN}ytCtCDKgESX-}IY zXM)utDxZvKRV@8+wG*7G7hq~i)cKZqve>-kp{0$FAmxMUdP*2k=FF$kl7s~bb$BAiGdFNJ-7uxGQE_$m zGtsr5H}~$>yV<>^vXe6rykat+jGgCy z>WU8RU12qcAqET+p1?J81*(Y2-EI4a0aU&tI&^9Ks9T5ot@A;ad!2{+&@YE{H{eiw zlPU-aATZtVm>R-Ja%hKYRRVqZ$#_0p>2Jd-_|&b>Qd@=2le7Kl(Cx#vH7nYdBRRP| ze@8|f60?Y43ew55K1H)z1vZHQDo6q?$tkH^wxJ0+k%9{m(FNKcb=LWah#*zc-P$<3 z<&J+f-`rw*EPgh$w@W8}es52xtaDC}eX({bY3Xm}x6?0vZEt5s=nk$JT|T6DzC*@L z6~UISWrJs-16O<=@81V5G}bH+^BJh!_igvyS#Bq>(a^Z?6lXO>^C~o9u>}C z4pe!q9rkrtv5n3jSuu$X+VA-lOaD(xN&0xBlV7~b38Y!^FNx=T2ud_^>y~bDt7>Dg zwR_t?SIR?$efW|EcA)=qbFFJ?kW(_vKOm{%C6+b%BnD@b+G(^BroVTHEPWyBGFhJUa2>U z>|&a%t*Ug18i4q`>Z;LZjzt9qj{?VnCOt4uDD5e-3}Ozt9jQl!$vDX8CuTe;O42^iHLUGAdAHbLD%xKSGQ?dKG=tf;YP;YeyE$xrDSqOnjV_K5KC{k+fHO%mz zdr@bu?k#*m#~%pN%_F{vuN%3}yfxc9(O>71CxmTTtq5FV6J_FIGXg)42KbKd$_BFK zTD3)BJWRXtvaLC0kBC}SW#SNIEW5-CqB6;X%nFW=z{-v6xd_S7+>AE#fP*)5`0as} z)%ByjY8*zy2B+)v?j)ZI>nMQIYSJ+5deVY_JY?NdFHEp&`vgAtK{#JLiKWC2w^K+! zcWt#_Ng(g(c5Om|EbDzFIxP2TTe9A013&WR^569A4BkTT+rRP2-(Nlc@B;TI`IpI2 zy%CE+4ST~0I;0;bdd6#riqpq@wJ{kMYQV9OR*o0CIK4ab3$x8;j(?N7OE zXjteKBYMPwWA)u}{Mj2z_i<(dVg%|1+S)v|oZ0=K;l{Q% zhzKdnT3~%M!1@i8z$(9!=JdG}umP`vq1B2t+i#(>JVzB(p_cjxI?!G6-jCosHzV05 zlx8)A{Dg;}Y=yTJ5V)(yjLGdL8e8RBaGg=mX;wu@Sacwvf0BB_4?6_+-m*G)F>1#_ z0~56a9^@)E3o&(LMX5-m;u`|360?OWqlf2aGC4t5ts8A0lY_%_=zGQ+r^u2&8F*S&72 zdjcM`3MD$+W~Rw6$KsQ-OBDZP4bmNK8`zenADj8t6tAwLcd{Lb61@2Kq{?BaFm3(( zV2wfh^1`x(d;crwW!fxsy74vh&pa8IcsQXA)vP?zV#jlf3wh_IW!q0tc2wVqWwZt1 z*dRI@g}3xyW*0rhZ_l-DXO8Ls1BAueH`;7bp(J$^K;hO(=-??@sb9x;bvP&61_oR- z*hIZDh4iluHbONR>dUB}$AQv8nqJF^DcOo=TivXSHHaLAP~)2r2yxSYajmR|XxI#z zc-vPuiP_TN$9d|dlV5U9K4;o{YBj{qh{d-fH*nKgv9Q!wE}KO2Y|^WwK_z%34^Hp1 zhDp)Lv8r1)EH;EoAqsjS+X2ba==1H*bI49WrPN1fh1_pn+5X~s%J!_a#k@`NbL}&x zW|KAAG2FIdtq@dvtNRh<{}J7kg*U#O5A^82!lY@tDdFQO21CJ!kI(q|;3u-cWysdX zt&0?zPJ3mr&!yCu6>#_>z4`;4IX?VdZ3ao14++4V-sD8w&{bAL9g}pMj|ibDj2JKQH+RY`06##AeIn5<$o*o z%QKiU?o+DF+3WvbD?j5D+(b7ap!Vq^p)Q9K5D-+lEXyI=`*Uk+YeDkRTj6>wd8oDH z<$7{TEz2(`6!x$2!`h0E=P4y>K?{9h0GUj4ScEki+&C2i34H=+ZZ6`S4+1q*^E8;1 zNxsBrNOIeT3UKdvu}OyBguwn@{ix*fcNQ_GW%cn2?xi_B% zxO$>wdZ_G5Z2oiYbZ9oG(!dWxQoBn%bLEBmWBX5q=LcYfnf}4EM^lyCv{_%i7W7y* zHYcfw%kA#%RNOW#xrNmY!9qWJaFw0hB`W52l%U=(68K1ZxrY8uR2EhTr#!pRY;cwa zPCa;}dd4_3f}!#O0{A6YjvWwKFym#PR-MN7N{H$$9k$(Me(^=w(!`Z-boJ!?l@;c1 ztYNExA$5Ec5CUHxSrXB_>AOGRp6@~2(|8#z-u`uNZe;eiJKr#=;PT1E!RKI)mD%BpAtl^QCB~h<@^5XXN;6n zw<{YWWxW?_%=xMh?KS>o)IEK4S58}7;BVj=#HFi=*TZw5N}v2EZliyX-c#dzCkCr| zyn(-IyAAIv-u`D)S9%eE|A_-GzOv$neG<;Nz&lX!BPF)41i$Tw>W;NvRwD8G#F2oH zpl+z27Wr1kG2VKm#UlBX;$lD>u8|oZeNQlG>;ZX#n-Qapl zBVtZ4M_sl!R{P!4@*uM{+qeQd(Q=gT@=bjEM(jPbGzQ<_O1n;jhDAtRI~DPjZmMK} zn?S;q_s?!tSS3bSlyM!8uhZ_kms*5tz}|d~kt!jLC~cY^s2Zg(jndFIHtr_qIHQEW z>yH>uP{K3H%tVqaCUD`gYu62Ph}TyK)ZQfDot}AkG(Atork!!@8&)X;QeU@e)H!6Q z@94bDy8s0Lfxp`NHXG|N{PJN)NY^FId0G;_AmvMsR$ZkdT_Dp4L1Kuz{KNHOzc7At z#eosl4pv;Kd77r8-D&$|+ui2!pvpkDmkfzjUN&_A;pf#QV((GP0C5E#$_LrZjjQ(q zGV6f{XmIZ*&|6#J3jpAY?+L}4ZG0<8y_ZhrXnot_-`3UIe|aSah%8`!S;>&j+VbEB z=FQT=55ni|672DS>G}5lE#GIrZ8mzPHGT^ous%27jSsYJf}BK^`wq#MvaK)sOP=SP zzkF$rIYRZug5cN{?<7qdC4{r5J*Y2fHBTPx`f0PFnH&u|-aW-7c~BXA+OP|ku&GoI zqfVYDP0*6XEmT};aL7E=v@-sO{-mpKjkUgifbO&IPtVtD9%ZXr_mqem>^n3UU(GW6 zUXP%|j+Ajjpk}?^=;E+5w3R?6`p#_-2umhJQmHZo9=63Z2Rh_5BHl;)R4r}`Mr-+Q zYj-aJ_E*s2Np(8F-fS-tmzp}mG)IZ+zDgl%@AzEt7O_CWtSg@WU)iS2%a+q5^`bjH zbE{OG{>bp4&&Pg~9G~F}chreqWKr9b9!d?(dE8j@Z|X&M%PThI@uz05_B%&#noYu2 zD*2TX!xW+8-a6E8mN@sj>d5P*I1~?02=N!LU&logN0xc0j-Z3v@Rf#H4YsGSQsetQ z<8UtiA;g6K#{l-7T)a*=4mp2wBOu_KrFV_1s2}3%@;u{rM8%?4Fim>l`g}hP5MOnm zWkD{>D5KSZa=%Da?yi7+E?nd=F)x-siC$?PTUZpNb!D^nTsIgR7{@mOMM=+jy;2Z~t^!%C7Uj6q?3r8=-_!Keir z)QIpM1u#v%#g)FB0z%X#XS?gmhefo^VgQFqg`{Y*Y$qH+>-Y44radli(%?7>C( z#2JWV%SafRj@{1Ly7ym-Gvjbdv4ry!xiFr)D%^?lOxm#8Lx5Ftms01Qp1LLQp{0ZIM2x(RXot*=0w_iNT*GBVw93 z+F1o()W_;s5~x%d7DQgx(%n8*ZI~*{|WU-#GYlyflXnGX_Vj21np{U4+TV_>;)*26}3GBfwRZMDOBrvWd=_0r7b3 z6{%1#@o1-DNaQqiNz5GJqeDIUXHf?iv!f)>qRir*cX%2og5%bIR-9(!ac077R*2q! zcJ}7`xGPp0YbjE{*cYLJEZdLAe=2pdebFb7y>VoLrR!AxgcSZ0Bc7c96G#*F=R;dR zy&I04P&d52NRHdVnZTc9tlyd8-#Y*6y$$#Cm%-3BFPP^8 zgxDoJL|Y*H>X1FhZ7Hg4C8j=iBYm5HZmQb7lh45PV`x>gPGdH;ulMY``%kuiNgI5q z)X6e?+}b+Bdi`x)Ziu1p3+W!XA0?`J{y?=OnxW<*Hz;ll9ZEnKbUW87v;0kN`WWoR z%O{LkFV!dn^z#p>T?7 z-H#ra1)0{VI<(CMd|mSliye3ZTs4z!TxNv-B13c7ZLykaz-QU8gQgv&Q~!=Md+tST z5zg)23<8qB1R|KIQt)c(P<)J$s{p6S(&MTvUwm>H1cxM2$)tDIedAUMUVaeI!iHhK zR-B&N;UT>FArXF!Kk)qv?r+4oAT8_cTRZq>uI}Kf+vF!kH8!7MeSgZ6@EolEcH6gY zI7tQlN#DUxwUDl8*!^MZ)zYUYdR=|aGmhDg1+z^7h_Yo4BNJ6E^kh%bkij5iA9cPQ zLJFwLCc1egqwDPZOAie>@kK>~HM6i}FO-+A;&h7Jm+6iBn?Z6^89Kw%0G6>$@nDyt zu=rhq)#Oa?0kaaFEegkNJp~!TQM48@7Dtv`NAP%E;k%oAGpHL^H8S;rIsYw=Y!8bK z4;!1*SrA|Rm$`94JTdi`?>~Zxv%jeb%Iy+>7AI!3(pCLcUL0I}sa(k(o&Ifs! z-opWN9Phyu?`_3Z6qU2{3_DnUEf*6JCFHiM%}D(^>#HNHwi-54C8#FVVMjL%g*QrY zXSXZ>94XcC@+VkN0FHph>N~!Gx7fMT1zUA66i^ryZa1jY%8AFl{NQwq!njGzGx~TD zb+6_wG?Vchi4OY=>NN7l_-~VG|F)EsLmBZ~y_Oie7c%}zp!`T9+fptRM3)dkX$key zTTcxCjWB1^O%EJAN7jaKd!n!c=R=cQpiWBBGWB?1_9L}RcC{~bkPl$BAKzgd@e~i= z?zwf<;=d!sgxABAE z!B1QJ5*1gk2AN2ghQ&Js!c5*4afW@FrxEu*l9bp9z#%}v-5vS;3ILFX|4jQr8{|D! zVP%z8>#+g_5V-h<-V9+S8MCZF12Le-52JXNH-VOeKNkiytao z>+a_eSAceSk>D>VX64EMayVBfl0G-RQNbkjyLw%`3B(`!&)4SgiTW?oSF7-J?IBAR zuFku56VsQl2}!h?mDgA0GxqyT73nHG++aX)it|Kj2!*F#i;aF69Z6zRQV;C@LRaxm zQrnK#QaURbVxCeW1r~wBCrN3GZCg#B$!#lwmz}F)QBn&eQgsJO~C~5cX0Un{gF(qMDlP;F^PpzN>hx8<8fVptwsfqmE7J<_r zwW>O%+3_P+uow?SYGo4TwR?vQ6eCKQzPpNA+wGL#-**t0qH;03j*46CCL5cjpK70( zp5;BicZwG>r*)-{cY`s0ZeY`SZaWIBNjR%%| z;DSi}WGpJTY8AN0-MdSD>N_=>(!mwh-jbHtPx?!z+q2394e?gueJL8ei<*tc9lAqP z8VALHqn}&yj;{c}?2$@!b27Q!%1z~kq1!vLRfR4fu`x5vwVO}e=}7)?SI$a6h`6Ee zG>Dt$x4J>~g)_DJs`M>FVq<+gFfq8X&d)K<&zOVPh)feX;WEQYWmdtK314jEh!dDztCB?{!IM*fOpnzl{SN#POa@5NYP-#oaS4jpznat zZdCi>8B1Csbv$Huh*{;bUm%8wiRPfz;xK9}4B~f@3Z}?DH4FY23>iu6hAEdWPRR&C z0QP~HC8r~3dTk+nyYVP4S7swsso{ zze|NUJ0SF7xI7;0I2>ALRW?13XqtD=IY!5aEDxC1r!>cANmT91OgK-uwVmxUpI+BG zi|k%OXd=(=EVP_kZti|~QzAtmN)c&=b^S!V&D?$rLpG=gRW;YNJhOkky=z&CMLw#d z+KAirTuLeOyq;-m{5m-Fa!`hPo}+tftPg zWxtheiPbWmYmTisOi5dDQXBc7MC*K`na=q3J5vq?&yr)t#8$LmZNjtP&zYE8x4)9H zi$8elUWQ*uv~Xio9;%bG-k7UN1ee$U1VeQ*5-@G0>~>PS-_zv$xR7$WUQ2mN+KW(G z-x^p0FX-BEJ^5WZGE(^2M*{?e=&8r%LcHK_4|jxs%ckPIMunWrAIXAGLo|1ly10!e zML`%BN%q22Ki5aRYvzGvC4USSYQv1mvm{blEW zFoN$lQD7&-VQU&w1O&c8d~ ztvWY82jd%GIa+T(!a8u5JJ*Dr%TeuGX#Tn~;ElyM=knhIvfs9wqO>aSy*G_du*JL8y=G^8K(yXrjVy*RUb z#I{=dvER;oAC;LM<|J5VK${Bxc{+a1IQ~P@uA{#Uqu0cG;2|_!$XtUM1VvwPKhHgz z^;cyuIH?+&D$dUuFbK2HMv1t?%pKHqSN5}ge?QMsW=vWK#b|vDo6WO*eROS>@RW5x z-Tr?$ljwQ3Fmw&pl*#n=jKtWCPla($0ly$!IhtFs#{9O&N}o}k4eFTV&$TZ{Mk}aN zHp3tt%~eXD4zBoHt0U>Tp>?8MQj%T_B27X8Q);7?D>@{zIA!sRg^ixc-*Cgg`R3au zt)r?nz+??!uBzU6_>Vr|rp_N_mHG3}-Hv0*C&%R!khkG}Fx5HBtKwP@`0R4}5Ix2zgVsFl8WM*>JWuG(0|xsm}6 zKhPy{fPeeB0x7GjZtvE+9|a4i1|ISO8M{Q`1jLttyW*)+8ffqhwSXWzAiMAOUI{P_ zhZLQk#N50Q8w+-~dG5KM-hdsBBiZp&!NDL!J(tyX~x%9;oIEx zqQ88nf)7qd1s$Y+A_=b)30UKCdZSG?A)a=%DhMY`C!CvPYJPU5O(#D+N6 zWOZ4Gt^;Nz)#nxKTaZ?(2!$~|z{D$VyCEJhNvJy(w z_BHVm9k}Jk76B7+63GzBQDM{dJ)*hZw8C!P=HAI9Rw8l<+L{apBy(OrB0fi3R!1Mf zP`XhLUBrkzPk(G?usgz(xcbsc*pQ|xi%8evfNo-g=buLoum0ARzgw=)=2IV#crgNc|4+a$r%4FxCp4boXUVQo>AUvy z#_u$0>0{neI1D3{O)Qq!wyNc3s5`d$xz)8O+_3_c?CrPg{unCtsc>=(sNtC_`v7EZ zM@^liRF-!4SX(vSzmc77XWFWrUPyH>Tx&)EaLhiZ|}E?KHOk^AU;uJ2SzRk)^Gz$bpe z5WVmdeCZ0WCLOSEA=R^tOj>2>Vj6o}IJo$9m1!+0qz{t?rJEAZb7nV{nnU~(m(9oe9IN26dG%+x?rr9*$2J`< zqtkZdhjJdJjPeV6`Ir~6<>~jM(MT`h0gN?pOaFreH46NcqPKvlx-}rLULo@LSEVi& zaGD0&7=;H3-YxmxMQtcgCvu#+A5K&Ico>=+&{y4d3SY#60crN(0?M)i^1(Z*H#g;K z%3V1p-(6LLKR+Dg&&tN9k@?QsB9>p}#jnJ)QY|QH+WMyU`Z5eHEFSa1b$*{w*oDV> zW(5p2I%-HA=@I^y5X%(f7d58VPNDa)V(l)#3hvGT46a>RGT=;wBqQkPr9cj+IaBmE z5?+D0OXslS_-hY#m9NaQjKLX?le9$?rsd(8N~cjwRjEG%@J-H8211b{3q~=wIurII zb-b3FGONV`uzi}?KkDGNO(AAtCyk4ORdHQ`G!D-m<_Wcuw>C^pbzV#aDYgplaB4Z^ z5X}om1}2p21q#$()lqSp%;*S*va~s(si%h9m%UN%1#h(CE zl0=)LRJEq@j(aC9K~iT5(KnVag;y4th~^^*i2BaT%-ON;2-$21Y}RlnjAKPO-vpQL znsXd}Hx0kD!DjW0+t;nrpfIYA+IpLzppPg$8L%iJToTGPcbL02&UF6mu<~Lg^)2-s zDxzrFe_SeLKRRv^#~`fV{@d!pukeRsBzxds;WH+afg}5mkhPcAtmU?qpBE}vCo2#T zoKGkp7G4VWm(OA^lUDc?A$$w-ns+(az-n@Z%x$1k_-?JPt5{)F#1TBH%lz6}6{|FV zlgH@4_cm_Bs>;p;l}G6*d6si^c74~+6Cg>S>6B*j9sMgk(u%8Mvmj+|XZ_Mo8t?bI zz~u1rc#S~2QZ3VOqsqC&R6TNXvF%fNhdJr4;U-UcV#Kjmdqs_Fg9{;Q4Sa zqC^W)zE0bLtJlAOq%~6-tcq-`bq67Zg`R9vd0bNg(>f8RHvM*gP-7o$e|d?QN-i;g z+oHjpj0<6Y=?VZY6;3rd8uU_l=p!?yQ^v{PS2J?l0XA4nv3U&tFAMN~24p0W+);^E z*r+c&`7zzNbQM5407!cyCl^w2;{ZCKLE&qyex`<=^kkK0>;dQm?F4^%2C7K?C32yC z+Ofp+!UnGvAXnr-=A-E2%b_Y}PwgJtM(>*W89(ilT7nN=!FtP8qqBeti*B`E9ke!Xx04`L7ZL2}t>E931bDeWFyrM%*Vs#B7 zaG@=BIEjr8I&Wm|GkgH{_onV?=N^qF8<7JKYbd!bYTY`p!g6!F3GMYkn=(3g_#Zs3 znklnn0M0^henl^}*b@fndpoK>ndt*-GRw&#B`&&YW`G~K{1%`* zqpCU|JqSzqvE3g!*ki=a=m!GQ5*M2=cnzr4}_Fk6B!Tgd{oX&8=-FN4*Y5T@Mt zX2g+-NqD--^@`c3%t*nM(V&PqIdarzlF#!NeqR4XcYvJt-&AgAcBVFI_$?mbKTVR( zT;9Vay;>dS&)CuX7l|4|m1r2AO8#e-z+=+?_Tp)C_Zm>a*Xn``xFjX1f{^VFm@XW0 zUVhc~73p-1mtx`@Ll^z!Snvj0AVej_>R%8x;2%Z+J&jTThymp1h~2s~Y(N5JdQ(|L z-{NK89js#B@9!;|uygl?Nzfh`N}WOwnt$iO=zBU*0?eQU{fcNy^&{u zLGC)e&IovPZOt!gWjt#7Sv~-IBlHzZ$fpXZek*5>qkwXz?TVX)oIz-q$g>Zf`{|M2 z3?2p7;ArP!k$O)W*n41QfRLL!HF0~Hr87y_@7Sm-gy()^X8oeF*|6-?;6#BOe>Vv? z!>Wml<`GJa%>{!zmJITb7=t(o^Z& zamN0>&|8%P@!kutfB&>Q=2Przc3x$#w&hur@%_tlBaGE~%H2a6PIjSIWX8P$ziUii z)dKaOm+=+rx?qbT;u@N?TqV%jq9iE#T~Gd=*z_lS@XGNVqSHMbtidYz&KR32SZ(+j zTmg2dq4`QiCGpY8t{DzoMOse@je?$0Z+7Fw^WkmQJ1ij%=wtgy*ZtR(-$R{lisbcC z;7jqXd~*kCn1Mx&esYIZs~jqkJ(0?Z68HS5k^Y8pt2$3}3T+_^ebRk&Xjkin-B?g2 zRK{>(cZa`0in`+F^|WGpyXuX!xZ%8NNprp>6aclWbC=Y+vr|(?CmUgy zXncEBKwCCtz7PhXe5UM*H?0;7#URuEK(mL-+hXZiZ;n(xPrJB`nIj2No)nrZq@z!% z{^9=C+-DO5m?i)idmFeKMdgl+b_=u6;nxFatS7h59f%NFy5aJpU*nKhJpR-`AQ-^U z4Cv=Wj>JT#j8z>2fRVZ1r+)H(^uXm}@)ZM&8Q>`SMWNA8G=qq>zmGL;*DLDbvm(x9 zL76wde8N<}G%}j>Td)O`q^I6HjAIwbd_vt)I-fAO%`Rn-NjU4lGyGT#3|ud-B+=6B zY;1tA3jD*!jfCLr(nE@#-l8Okj}_kwie?V%F&;s?|x0!2bq|x^e~De zJXu>;UZ&4gJbnL2?}iz1&$@DUzaa=)_Y_CQ^sM1EPY=@D+L@$zR@vrg!<=67+0$)H zp%Qi3@@}=!gW@mf4KhSFUZaLBBkNoHsbm`8L;nN!0{_6)b`Q}yt{`gdvH_G9rIYHY z3UlU}~KX-qrT$jzmkh}U~D`cc-Ai}@;@ z>Sy&ox1P|ZAb|Fx;vS3Kd_==m14*=RRSL}(q-N~SFXFwn|e<4#zU~27gr%|HYkHs z883*f@h`r(cj(VoVsd#XRnOAF!Ei-$Rt?NEoB5vJeiyTOv@8p zp8%DlZ4)}t{g{Ej?QijS_DBf8Q$rHi$7Trtu_%L^T?CJ4sNG14!3>yri&Z9=G z1bs~83q=j0Q_8G)y%LR0`cOVlC90@Kdc7e?eEe2e*hFKnSMK$?FBeiP4gw{bDxnkR zV!p(bA)H>@xZAGN;CqLfJD0XgX{(U*!9a;h%p3dQ zox_$358&T%{6kr&Tw4)9I0Nwh>E4>RAmq;&(xgTSrj)Z)JvQsUQ|hXQTl!|l#^6qT zdRN~Tc{QBMs?H)1!U2JJv}-8)%zns0^YH6dI3{*iT+33ehty-VtlrYO@<$uZJ?j{l zv$yZZNFC0@oX?jCf!!6)Kg`Nu?U#YeaKix^i>Vq7bmK&tA~N=*2dyz_v@5%Z(#I;S zJi=xqTwU~2&!a^$_OP9#ncApL$zQY(_!_HDZVn{QBo3L>yBDQB-tLil(fg;X#zeOm zH7jogD<%KQ0#^p!d|;^5$XyCE3M2YhUjbm+tSI{$XM}WB7 zT2T)NkYjFnce5fU#W7%qnpA#)-g!9wN0315v+8z`BP;UFQ*LqDJ+Ayy2>NWHfR0zx z^Wr<^k;jD8CaF@D6+CY~NqOL(M^^=q3s3~d$%K+p@zOps*{q!P5b^IZlokouv8F72 zkv>bQjp}I(;^^ci3k>(z@-H425u15*r1eL1Zb?x-!Oq14?up-zrvv29g*A7XnA4~- zztmvrt4ga4!Og3xUA6K4*w}Vu%4t>XTPjF5Q^r;2{sJxMew24UyL;S{KrSH^-Wwr6 zjNSeC4;2{u@d^WYJ71t|C(Y>o{ls1WhSaxx5|m=0BF8$>rHMGFTW~4p!-}u|36)@O zmONVe)MM^{^kH}}mUgkNPuLY7?OEDb)$J&1&qkKhtk$qwkkcGvjzczt%4)z0(CV-A z$ZxCP+Nwx(SIVNjX$wdDf_fgxByUPeIXUPJN^+FY#6^F@#CX{E#VsGuQ~#qzB-7VK zzfKiq@#Z>RG4SJ!XcFaVa{+Y0=VmQp)=I)DM8x`fXNz50!2-+b%B{5;f_g$_reY_F z6#dE0E32Z|0V&kAfjVaI#*^yW>3u%XIK6sSY*BWo4pT|AE74h6X|6}SUbvS{%B9sFMi^Y$o*J~JMhEB_Y56eX~KX(z1DWjzLSHkKA z#&Nj3l@56&1? zFr6D&Q7@UA8hX!l(j3G5Jgh6Gn`mmT&@IHM{E!Slwztj>gAhJB@drm$d6Vq`BAW|M zbTS-dnhuo-pMvm-rUgIuqWBTOzGxBmoZE$b;|d+v1>l*feD5WMq0%dNg2TgO5@>+# z+Z(v*n_r3GE^V3h=9sbFJLdToRNnr!QGk`}a14{A;Yf4L5xmXWwt z3#abM1WeMr13G>P8CC2uaq`2hxS#wcgkB|6)NtnybU^N2e)P=tA&B@k7a)p&=3%z* z9k9uxo?}X2kL_VHCm>eiw&jrfxzY0`|Gsi!yJ7WkKT@cE$!Y@=HScT8<+<)R(6$tW zpB^D8c@mHG3GZOxy0&oUN}qEKT*$@GI=DKai`Vhu8J(ZR54~lTRi=G^?!W@Gm!jtW zeXEYt5ld=XEn9m_PIk`{vM)*fPw0@_GATUhpezObJFF&TGo|HQ&U=XJQ3^N zR1hXB#OuIZc6UOQR%t||AR?mO+XV9kX~Fgl)MAnrO4m@*rF2VoNOyO>$9q5b`M&?a`C(?Cz1LoQt#wK~ zquN)ae;~v0Y5{52?5G4UHAe43>2I`4m)Z%O1Q|yAG{-gW9?PPM;B(YW<@uxq;lmxr zPeW|SRhU$4joB9uFKZ}Jap{0tnZ@FFXbBxBz_YP-S85QsVkc?v2U2`WqjL zYB9Y@X+-Bq8(q=8Nd3A^>9Mh)h9k;-VAHI!{0)HqXgYuRyt&^VVAGuE3hdIH0F|M2 zyh0oe)u$H>SXXNwiK7{hPUQq(0k1AB489Gb1DaxX3^3Gw80T1H z>26*9arFLy`Fn~@Q76skVopGmmn}}K2X`Ey4mKc_6y7$wyH;Aj4dKSvkn0jcMh;(y zdQ(v4^>(RBIl&z#1wRxk$|46ZnQDO!(al`~+I_D-tggw5rC@s1#{`()`>zSupO4cu zk^6j%|C0t}MAQukoK?M7*fe`n*)H`7iKtfb93jXz6)8D z6{j{7@XE?(VH^7!{9^G8x7aW1ytt&aLBIKcRG@CrXv^dN(gw;vdc5K=)u`XE+%(1) zyaNJWObYk8y^eo$=SMO8{7d6L#Sqo4B{pPw&-4Ws_V=NKfpD;IFALJMTjcgudo=IH z2hWEAsQo-uzJtN;Mqg~*=YO} z)4?FN&;E43*Z_7g=hBCcq4s0c73PG$bgKSFvNHMCBPUP`kCVrrwchBhcTwwym9_p! zNzoDF6*E`#k6ItQHAv=4{=)^W1hMFgNoh&1sw^Tyx~E4H5R;}I{x~ldkYq{e3l;(5 zrN0i`00d&Qg{E|*RaL(cL_kI-Kn4=s21~%OLHmQh@+ceL=caxCx}RU6Ml9?-G*Iu- z7qwQ*;OSkf>*BjxKu98oY|=U)uu%Y9Y8M(78meud>j~P49#g-xPIvA~l0t06X&~@NOyP*ds)%EXF z%}XpSo3OyMZ+S|dwP!W1UbG!!(aaj{PL|*(MHlIXNZ%9sHE3tmn*^6iHa!6hW^l~X zn@*VcF`M6I6v_^)NZAedoN^|ZXvb?YeB{sEOnFk3+E$$+!JpsspiU%j&Q$S8DmfMl zj$J2WV;p;CUNjCaniN1p1*dtIRUusS`*q)S`j49s-SLS>cckkO7*-klX==D>3rCc7 z?ekCdj;(n4UGF$0Hi_=H#5KdTIbM9dTC|YV|iB|?yCcEkl z$)dAW6vao1v&&V2_*_iyNLU(g^H9aC)Topj-#39@X)l&v*DUBUjN*ElqQucfciB43 z8Jwk3q!(2UlSgp*^UJLLVr=^zX{#-YW*enl%W+ze0m+za@ZKjUm0dv}x-+*TnA}`-p zgp}ars`M`ISZT*^U+rAvR$D!4IvBompfbc4l2BuWipmyTVNQG=pZmFVc#?P&;bKmo zl19{Z9ksFk+k}FMET4MYTJWsMP^NF2ocCW_{R*<36d0*O6c1yPUql56{ZQJ)jm#*` zvnZ9lq7GDc^Fcnp7@Ijk6>jsm71p1|m5KY+g;If6h{)99?lF*p{=1Ey8ExS3`lRtt zEn*}m_7g?P4@My1f*xx493&FQRPc3VT`%n9JLvd>sDxg35clNgYvG5`6#QTUZhB%@ zv-BU=qPW5~Cl4>Ho1n3(sz!fxKL3DdAcu*0L6nd#j@7NpZ+1~m?91DU3_i1w^}U2l z1)p#C15o~-oIO-Wvw|N{rdeNpjEI>} zDf>bBWF{ukbP9~@+$@Ep$KTVVL*8{@h(&2(!N5QHXjek(k|s~y`KpKWls!U04zWL+ z>gj5>hlDp@=K9OJq&_B2#^3dfVFQXhPNYzMB^I0B&;IO<*~X&isZ69(3krBf2t2o_ z;@b+?ck!rqI4_s9y_YgUm3qPNt!~GS{8gO;zu|yL(+8?maI-J56iKeM=v>GU4d2)( zDw>DPIfW+8Wf3`_(xJi|9!F$eTnaY+2vv4-zgp$y+e~{4xXLv_tGBCy3Q{)j%;jw~ z87g7bMcg_svDsrYsN6{5 z)<1GjGeSP=z-)}y6g5nDAA0)XwRnz9PGywc4hY0fh46q#3otG+N&A?X3|LH)r4r4s z8l{Gmv!?HJrgo{|;_93qw4}%2>dm48lae`ea+MdNtpa#;pk8&yYiy@MkL`s2!Cb+> z-ahlD8h>984ybF17a!(JQEf?%chirHcqR0T&W(TD*N|OzwbFl@A5NUg+QRH6wW=L0 z1o&{N6WhUzv;R9ouvQNQQ6|S$q{S5T`o1t-=ziB>3X|W}XNsOo6vh1aCE|TZ0t&$6 z%Pg&^`3adNL`c^%-1$Y-`3GW$?vGA)EOdshj%h(YGT5pwvr&9!$_$*8zI-qKE0Y-)Y`Sh{RUw4?pi_+;jSGv4Qr-Rp{ zW^ZT%MTMa4J&T3j3*vSIcJEY2pEr}qAuEU?V~6N1f1Qf>_{MEaPGG!eO<#PICCOSR z1dWER@TC5*f4}#b9y}7j=M_TdeMXN(DJM+;GHQNn&v;_{Q(W=>2rQ0sW%Uv#E~tqX z+h@Ex(yQUDsergRseZ!Wvizu?B(}=Z)G4J)jux`pH_ z^}n^|EuJ*EzxJ~0j9}Tm#z(uY$iTAjbJYdQHZ=oS^%)!@(a^TQ0st>!e7~dH7SD9N zKYP9v0Z$(TVX`^=bvWwBVYB{pco+x4#S%(wuL-Xt0YLD9wUAk^wxuHB`t& znu3vl@aw}y&>Z$a(O`P=UfguK2Uu0nFczu@;F>67-#6ozk0V3c%dgPLfjA``t(>%5 zWX5@Zv>2FE#ZAQ1ftYdBGp7m@W2#{zASv}V-v<<`VYvEt_k*@~LpBxd7XQ3n@+W{x zgh$MYOY(M3QX$y43CQkA!yvM&?}}~ER!KP00uCOtPMbsGo%C)Lx_`~tHp}ENP|T5W z$bjA9BpVWV>zZnh!x!&qVN&(#OtOny(IE`o5c|Gg)fDX@3KhO5`sRj$Oc6D|UjtAB z1BtNLdYfdRhq<*JoY2$PLp`7sbTe?hvW6hL>_$Ez2^$dQknErnu52KB|DP5B_(iOe zoosjQ1+lAN#7T!r?1i1Dk>&ZrP1Y$aRwk7+Steo45kNW`SUACJJAnYzl3k832wvWN z?}VASmY8eEwn)+~MDjd1zh*)jrK%nxr7b;&MCUfn|8aw3I`&Mb$GD4DV~v4&riFJ( z>r>Opkl(lpRKpBd^50zXEXne$tbDM*!n{n4#tow2m0PZRy>xy1 zv1$U>(Hg6Z$x3k_9g zvO6HD2o-Wo2Kv)pVHbkxa~j37{{+%xx0`?r@gV(mLN^eWzXzYi?}i7Kp@6>XpT^3> z1T8V6Dpb9k! z!0?QI2%cd0k$vfx8ck%fmY9!4KGjI$&%MI7FKm+Wzo~qC7ZP)McG&ep+gS-SF)%=* zh2*UK%&7*f# zZ0A}lAeMK$k!rRP%9KeAM*{HsJj@Sg^St4zH1_5r+(reDeB{pTevD$|~M_cws- zvI_KlpTekR3KbopQ0qSEZ~X28N+In(^>1yC!gKO|Yd|hA*mu!ie*Wzsp+}Rl)yDbY ze*SxO&pDUM4NrJ}+TT>HBBo4c-mlU1fQ(376&zF%rXBV>HRw-BmzXO=sh9XqM5VVJ zNuwW>f*s9s14!p3WpQNA;{O_4w4b@2v}09~gz)lL_j+!4M}Ax|BmhAbMO?GZ=Ozzc z@ZGGvo@Q7@+gAtt6C!mbd?%XH`2C98fcr^QB@e|ky4>(#M#9tJ&7^0wv3rH=<6GK) zZnb5m2@lAm-7TiJnuK@4Q~#tpNhT5_s7y(jHJ1LP?-k>TpdW@fy9`Z_8QX%}i<=Q{ zC`z9_G&@;zWO?C`$1Xa7O8wSU*)a`5@+m4%)XxFzx<8U5xt|x7^G{9|P%wa>+ycmG zV_Qpz1u`9*p!(IOi|PVEwD^2$n@NiIi*zHZ$9YEMt??U64qJeneSzG}m8@y99rmY0 zBnPsz%5uD0>^{wQI~peJC1~zWX#%))e1Q-*Lk(ZQDnx=Eb*wKq@Y0D#J?nu7+40nI zv`%-jF+zlWtS{R?55x+6G!7zEvlIULd$+!^btgKS_dBvdkHff=zQ9GYA;RslZP$mJ z?@hU{;-3@cQDm1oG#j$F37dX_18WS`Ncvr>RKo@{vLXFQq*oRq3e(fammjK?Je{&e z#v}6quQaOfE}XDe3f#K=CPB245V%0@;!q>;ylX>|;&=w)f3|81a-c&vr2AI-Dtz`e zByjGig@%RwST2iS^R*Njr*i)kq9?|xTw;oGg>}~CXdi-41A=NZRg^ivU_V9kIGezx zD-sa?@%y_|;55FK$JPJTfNY3>(p=hbozY{DYkYvIVfnjRN$pCsnKTx~C#!iN^% z-Th|Ktvs`RA7V~#jclnvl%}>IuxO&j;=iO}3Y=N+GGBY!$0B3G4`8yq+o-PPJINNW zSH^`O8iU&LJ_=zGmDB>m8&@u}k#D2Xyrd&%$!XeAQ;ae%$n|Zquh_%%bkBALBh{~Y0*{G1e8EC{Oj zT}3daq^SF+&@-ca&|RRjc3^to#Q8WU5XfBTzHd=bO3RR1`L;dC3sG#jPKjWElu$?7 zoH&^X?Z^LE2Lj9QLyB*ikueIzmC*)3#R5b@#VEeTes4KIx_x}or7!8&EVA6~ef2jh z0eUadmeZsi@|qfmQQT=@IDUod%WN_$ir9LJ2m>O-P$-Mv0kUN!&pR1$RB*^Y}M5 z^qzBsh048OE$IF_WcodnjP4f}$q>UR!*2Jy9-dT!G=HPE!bIo7#C7N}^6yC!y~Lrn zgqpECnJVgdsD3-57q6Z3OUla2ofI?1UrQ;Ccw`2nZmV5P={^-73OWtLpV*_`RNRqN z)qze}WjiiMKeioP>UQ9$u_{n${yx&mw@j*ql@^_ebg!(By><3Za?u_1PNDU1=LvxN z?z3&SdnVKDY#1z zJ%*W40}bT2pr%&vs(iYW)$+~aLJdg(Yo*w$VN{UHVN$d)5^w0&#<8##O#Ff%hy7En zSHO!g2cAeFB%wfdW0E9~d7={~z@wO^AuU{e!o|?IG3hrdIYG9;TLziA+HaL)PTiW- zkx1l_*H!sSfSBMny$=2YB3-FM1Q9tHHF1!=Z1mq7NDdwru3cMK;tGW0zO=#hlnfLgksOn}H0f5f6U}Cb z^W+_^cqRQ+8J4d<<*uGjR=}M$N!R`oX>jJ_l}@i}((7Bhu6n*nwu9S{t{F+Etrwm{ zlAeW4d57+8eP2aNvzIIH)hW`?M)P3HNNE{b)}N3(pT*czXx;v>;nie+NjBEi&9fus zK6|!SJa$BpR%yu0wPy$t@NH6=V;M)(`thT{Z0Jdx?&tFH+}d?`X4zrcj+z^RRjtB(c0xmBvs`t@fy&#gJ(3fI02X z6U-8N0h#*yk9`C69?sSp&5aR1wf}+K9Di!zVuH^!(NwYlcmc8JnVW`$-N#h98|HR9 z+rHV8Q~&!XigJ9oa7^O7p8z&#n)-(sj4B-H{h#vblVz-#fIKAlwITEM+P2aB+0C+L zN;?N64b_0OJ7KXrfz!!8F?eqhmt&N?H&mHQ$~li28TbNZ6*AKkqoXroEedh-2eeSh zyXTqX=T}ccMoOQdJcCr|?D~oyLu{!39A6N$}Xv(H9Jn{?Nmkj)O1t$)SBdywgwm(Y8uC-=Z zmObgmaw0gpE@Y4GAh#bQWknsm_(jkcdf6dF!jk0X!ZP0g!7 zt%wl_+qKcGlR*s_;BuCFdPH4nU!BYtO+U=%<37V_gKwr$MpFiY zD?R|N;Qu-TkfRg7Y`TDe=cb{b2Kg;Tnc0Z$Nnh9SVP`d}hsw)j>CrwEUlsGXSbYrm zaLPqnnn6(3L+<1|SUt?4r!r=P`t0S(-lr2}gQnZrHWAjgL#Sn*I+rTNf6q6RW?FGY zRD2#_+Z|b0mXl_^V)cni8nBImzD6vTOFJ^VId`jxg^SjGzq67%b`+8 zvzcZTY2I}ykK83f3CV^Ible{|TkG=QJ-}daJrGk_koVfaO_-kEl!fw7$Rnm#(5$&* zcA)U)_NQ833xh42XD{4wfhyw2g>G1s()1rZeyJPbleigUdFEGu zUzKtMtE<{4*!gtwlT<^2z<0;|n6DxR?V5Das^ZYunQ@zW7r7~%?XFts^4Y^%_oGdh z3kg^2ZHtn<6<_s-yE<f4=9?pmns_e`XRd@_z1MD<+wJj)u-SnmB`-) znV!<=jEnJ!@yAeEve5KT1bCF*c^1KP^!{sFV+jhBbZ*#dVUG4nWiU_jY-uNeFi zhti4Co$Ed?UvhD}M_&BOfD7qAaV=$9w#mXcLj1JM1)m3B^7KfAKRT^$7kfcL6;c!9 zILG6vPge2H_BQddTBEQ6DjY*<|5`5&U$2i1*+gySV|&m) zgFr@RAXn%Z`YF)`c1-Q8L^Jr=Ns!z`O#b7RRHi2350|1PncDUf?OP(ZjbJ)SUUo`L zA=Dt2K2R27xBlMjR5gz1Ek8;qk`FcE#)_%XqhZZi(~(+KmQ+9vV%N*RL+;I7Xma`w>byMWSu@m+^Z4&tDqfZk_Qn&KDpCiTE+W zW?Q#kghB{g!u`sp-g`6tsdwC2Xkrjc;BZvuV1#ey4sM+dl##RjuGhENqT!hYsp?E~ z5M0ZN0~ws!?|wqSdG>hpPzD>cB@X6^4HTy$8e*kL!*W`!Y%WqsRE3iXBmw%d1X$s< zRRDrgqAY=QsS${m!B)%95F#kn$MbDpMf;^QuTU7p8ydLx@E<2MP%Vrmt{y6qJv~ zgEaOvwn|0?w7+0|Nw=?BZmDbChSrN^ zFK~wjFh84j;7whs7&UeCa^c8Y5` zxZPoRgeTBj{7%z3y>EbulDIEIdl=-lqkUi`Q!4CXS3Yp3S*B7>3|LMxe!DVo3Cy~A zvAFT@<~+Dc{A}+_{xMQTH|2`t*@JgQ*B+jNCGybi=S)uP*P!ZEnLn(Hc`D(_JBj~P zIocfdk>_CE3U|TP*XxZko(fi|?`vi5%OI20K#FX>i4~2Qof1F}VlY5v0GjxQsOC`N z4tj)yVm{Xav_hbj$`X=_HeC=PXcV7LtD8Xe@Fg%A3s{&sYE_CE$&pY@{1yKf0{%0~ z#Zwqp1ftBe3fXypxyTUyRpG_C6eXqM#X>my2!Z1JRMo&c%2sCfotEm@oDu@Xdx6r& zIv-S+y9@y;m-9>a476r4#U_78`hVX6l3|SNMc??XxBP2CXL89euau{^i-A+Cms78V z!tCG#*SJJ>$s~n;>T8RB7+D>}czS}yP}K!zxL&_MRT4^vGV(`_5^|)h2jp!v+d1BW zRLh5rn8lypInixx(v67S%K9f;Pf*e$!Y#>#lasi!@z*K8J8faC4$^ni6%H6U^OMM( ztLHGDG-Al~z0l|vJ%=idORfbGk=6GH$r$p#)ZK$$^%szAGdNA=xK{@F%QrSpRCzT= z5^Lo;HGRM$$0L2xP72gAUK58^W{}Gua@k0pt2$qE zsh3eQtSq4ahI~2`#gIHv^enXqdkS0M6xAyE(*s_t0`|r1&RA#@wdv)|kX^Z@n-b3n z0-S>QRn4OxEk(bzhfHAQtETzQ*BeRWM&V6Sky`unRZ_&?E$1@4mFyM}ar%T<7-< zb!D#CnCQT*efQk>qQ{x}lKq~+{DeC%SICA1;>_YW*^|m|&VZV&;Sa{em-<9<1Qs+V z)=pJ6OOdO2jwo>d?T&dm!yjt;q?A`bKzPq}LXlA?553lmV z_ay2)=tqp{cl!Ld_!dVFwjUe&ijl#&??J4b`GD8c#!}>QJs3Zl>6H^rD#>!ee$MXa zL|0bUWS<(Am1B+abh@WDRAo*4W9F$D2L{CZ(!M$6G+aV^NZZ#d!2^}BQFZx@@nrJf zCS>t-XZ~5z>Cdnwke@km%+V=IwSOluUTEoT%Qf`IxdRze(;X_*PEhV7>uYVl1!Tms zCJN;|*-F~taL-SschVmG6|&Avk|qQ3tQY7P&WD!HkK32jhTmMnal&p7w>`?6tS9W! zQCq!1Db%0n9W`O_R^=A&#WG`^Df6CQrz2*R#?vub)T$yYJQrNIGSh?AD1y;ncDDy@ zv0hX*NS+L{I#+g?I(*KVepsULTGF9?h`x>045t>EqQ&P`!n8N7T5;FC`f@)8twy`T z_-eC2hF$|!6w+?suRn+?eOyuA&i2lH6n7Co6zIOG+xvNYncwsBtwup~^vup{Ez=8A z636TpPlonn9A7&Oq)i?oDl_hvvHn~EBO144=oNo?imk+t-Thr2slebk)(fBG)M&Nm z_Ucb6SX`PTfwygqemX$mo{EyLA=UYhr48_%23Z2iCj zi63rIN;y}NKB(q!gu2Qvp8dSLy(+ZX)eFKpl~cAi&o{Ap;Cfp6qjS7GSu&P#6ztrn zD)S}~2>HK&pG`y1o8z{$K}H*T6(}^oN5*&=Fgb+80%&@!{#-CF&8gLEb{9CDC zSsC;GH23{u~pud3*`C&mv)y#k5Yr-0{!tD zKQ*@0zw?}B9#qQtBy96K*ylAe#a@(4g* z5w@c~Iby)~C1gZI239e{ppwrzYa`bRtXQAo5u*uv z`{C;uP&ObOLt2c;E%o%!%Zaq3WTU=ls(wwb(Bapv?2m4ztQKa%F2AzFP=n@qTpCOS z*&PtvWT>IwG%grXOt>_?De3nx?(M0rlJ*Pz$5E!qZN!c*vxwgA(&W<_pqP_Di~A4i zkM2^(mhbLFr1$O-UP}sLq->MH7D!PsANxvJU0tiR8cTL5XQq6VCr9}zPz?8<>M!2? z=wu&l7?)0KY(fM6w$gZk9O4%oc?26PrDmcAwX+A4_PnPPa zsEtOh%6c(pRmr3PE0~EOYPTzDbx8iTOK@9V86olF@N=Sdk->UWnk;`~4L45h)ot4T zcRy;~{n?4mC}IC3%JXo8`Fa;x{|C-I7*)b1@r&LYFh}uGFvvbeR}9A++<|)HJL(hc z>Ix?3wPZtV(oYCezoXUik*l407`;i^=v*d3tq61Zipd4fu?i1CWYd!2Y!C3AT?28T zeay>Gm8`LouN`bM-QHAgjD3H2mz%oxsMGk23I9JvM;rso6&a|uL&&wnqaW37y@GC# zH;VVsub|l;iY{uQdP*b%iv)B`Sg5l1apI>|1}VrIDxj~8&t*591RZTao+mcuN{Va66L&p*NC|5(1i*pBXnUh zVqnU;4~+uE>~ir240nXY^?1tpsa-eYaUUfiS7`PXaVz^-ABG(uoIJZu22(=5^;#FqwyB!^Y%Q;bl}ApxP3c0;h(X2WMgidA8a?mv;|PQr&4?f@Q8%G zxBo-34j5k-d)~)D%#pee_ z`K3mnnyp8~fn1J5-b{HF}3a z;4%$*_BEG7uh{L04qHd3ZLsfj<eWE*koO$VEx$>%f4 z;10b8Np=7S)m$QU??>Nl1p2Zw=&sf6&h7N0a)m#X15DEkOOLuAGQwlON(b?AxBFd$ zgVB^;>hAiK4V1ae&bfcB#9W-LiX>fCi!B~ZJtRMyR_QFZ*=^RreO1}2uJFKB7Z>LJ zd3RVQ`O_l-P3NQ&g`AVKEG9P|NSa)D7jz71Gzzvd*DD~)?OSwADCr@9$-ylHl3Os!`x*FPA#%I= zkw0LgDqQ~~mlsfey22VC7d$G1pE*pSzgK|x)y*TI%8OzCTl>XspL;kP4-y=sz0A5n zqR0J>{;NlyqQD$tPmTWvNJBvrK>&ApPh<$vIqpNK?L$eopv~+BS>k2m6@K^ z*^H*+gN30NTA#n7p)B5?>lFhuNF1S8MJDpEp9B+}78^~MXLrc2yi=Nv)^Qjb^ewU( z@s6J#;pJOr*|tpRy}{vH*nr~vwxbR?1I`%yWqxBpC8k&9*&gjYs0|rTPHqO9)xI3_ z?v#EsrRm~kKm^&lX$op%5CcaTlJ{ zd1~<=naJA{Lvpz_(EBhKQXw>}`joyW^m4A`n=tF4Xs+|hhr!mmg0i0_r*E?9qxhV? zkV#6^gcHe{SMP3Hc2D>l5~^xgYjj$?AG=e9%(+pLw;6(;i^f?;Jq^ziceGB>oa*@7 z9%_19S>YI*WYI*}n6R9#W!5$zSA1I*-*8-7ZykB`7T00ZQK9;;fq|GfvO&N&t|o|} z+TG6IL)LocY1%5`-CB%Y+stKubQwq>hEwu%u$feq$*f zX7=nFk71NYzmet?vxwH+18K7P`@?9V&36_7NKBrLi%A;)_EYI0*2F<>I5e!H*63U z9ai`D=&{MTpZaNndmU-xm}#&TwW~B@9D>;k4u_bb=ub8#kVyy5i%5{fzloiDuYY+j z0I6OxgW99~p$z|tGyh>^e&;-hA19)@i?(#;jSq#D(pTkZK5rBd&Tm|+mRQTOyPVI% z*qN0icW+$hn+p&WCFb=|^(&cOFwZ;Oq?@y|391&`wT4H-lgT2^tG&%kQ~lQic-P3{ zLkTd_e}0f}YHhc6`TRISJQHVK)Fu&0ZMAxTWC}Muvw%> z3c$9HxGKxnKqp(RVBuIe6A`8X8qQwDH@VZzr^gT#bkI>j?FF00AK~$aqJsrF>?rRZ z{rg>Zvdh58lG*QH@@VtkhRh7$)tZeRzn}CoHh9ON=$7Twq{hA{!b|{ebwSP}e&gDp z_i_K5c~2F3)1Gh6bI(s%xcvN>?#JaJyGM3QKkEZ>1W4dZI|;9+67jL(6L8wAz!lWK z2gYc^cr%zJKeHI@!r-{v;tl7V4M$Qd8V#k-HzfY+VhO>(;*;1Tlt72M94yo*@xGlo zo=h{#EzYZiaz2iAs6Oois z(#<$K>%$#X{RtVUnlk)0o!e=xXbHm^GS*!5(7#yIbr%86e3-v{qlnsFs}+kzE%n%Z zwV3L?w~lOZa{ylciO6%^4#qSWrbqL_Epv~ugX(U5j;)Iv9RsrE@Rz%n^EErEHH_b+H70?KpJcoihi4!jb`~>QVU;incq2)*Sm@v? z&g+|C1by0>EAEPV2sC?$1bmloQ-%#E^xWhtvl36bQC%8g^@a6K-I|hl)s!m=!A`SF ztOK-+?~+Nh1b?fatHE*@_{$zjyY`!{#7Czlv{~mSE?5osk>I@5ct?A-po$cGi+p zJeRiUus~W1bg_RFgGz~i-Wva~dFrvUIZ3c+-B=i2Z^iY4ZZ!KRkpBlWInDu?$$OrP zI~C&h6Vecof!P~Bpuyxm&1pV0=x>1bW-XkU?L!@WwY&>ahCZ2Uy`AVO{3GZ>GDE=}JI|dYsPou{WfMA$zJ&4Z_}F%DlP>X&)C?q_A^?1n zTCM}R9)Ipeg5L;MbSg@XA73zF80&=N@cHZMXWI>MOaG<&PYr#;q}quU@xIpfOkq@2Y*C~A#JWW0=t^VJqPY>pI_{PA5zfQ|X#KFr~CoWUvWG=mrQh-zf) zXu;l6B2;au%|&H8N2{xxH7j;@dB#WMEg*L*}&@e;2-c8Ot|b$+w?B?aZx7_$H0@sVm&i$Fz&weVgn4f%$Ad z`ex6tg_EsiPX~Mwa;e6CB*GjYgpeJccY^vFvSt_NQkh>)&DqUByw6$lI5V$$^{VZp z+IKAaVTDKE-(f=9W40u8m9oeZpc^71C<``g`4?Sp<{=|))9mK5FH1X?QarY25MKx{ zo^ty2dGT}L20m}Ecby=k`;CmC>ir(_~Xf(b76 ztE>cMw5S#iofKNspw>XFtU|N>kwgT&Q0IRet%WP+oBzSjpr*eJ(-qM@%~LZfQi1p8 z`QO86CsEYuBA@lby660BG@6&m&EpM%@3sWfC(%LBGfrmgR#jLz$neIAy>;Pd%n7P? z!;6qwTU`~{D_m4A1UU27!+UPpf7w<>W90X??V;!B&CF|GC{ia*%SYWU+UL!(IwT4{ z^j{Js81KSj>J<~f>y=(B-w-O$KsDu1A!xDn{Wm#m4B2)pj1Gr>L{XXs|5(`%yYf<4a0+2T0qIw#Y`2b3^%@-ILTHAF!<w8;d(nAMuZo2e$K{tEj>hd6s{Ed#Z-hH0+g8l4L=HBVJhcbR>J0&&VtP;xo9@-B}2Bw&AZy6wtMRc2EYYM@W?zB z{ok%CPWlgy%~e{_AZ1_wovR7bFT0%)Y~YedIh1c?!PJ8Tbf_6x;m4I*g4)iSH(FI-#c--%KCxJbXUH~1HEBu*VL_X=5T z#-M<121xI(g2mf>u!l7BRAl}7)eI|)N>q~x&UL_)Zj*v8*%PG#zd)*uoZ$dMb!w8E zO7|$nVm@(jUWvniIv7G`RY%0qe!>Z}b#ypNxhEG)+dkU>*LetZ;OHt>XAL=PUf&d~ z0o$m}-^&$pSD3w6VHkX>%Ho6fd%VJpCT;K&vNenrfuM#|uDm$*i;l}Et|XTD=4T+a z9;IcxHH0u6XHfTIDnnB&4e9w^o5ZA~FU-Q@T*0pNS{kmq{L%Oost1npi22wK`LdRK z|7N!F?i?TEP9=i9TCS*r9LO8 zPc&%fm_B(_H5gGwbKg{5YHN1tyzE&YR`1)qrpu5|DR!uFSVRY<*dc2}CLJKM%jug6 z8Ck|y&kMb5w%c;*oLfDLrksw#C#dx2!y+P|dp$FfugVjJ=dL8sQ)bmXdumwWCjLXY z-D6hzYXG$0;lCO6@3zGDvF)eb2&@c6yyW#xF{4?j7RtV$q4wJ1LYZ6=!Kn%D(L-VOnp^@r91V+LrvVl1D^08NCCR1z&#bsW!<@ z=3&0>n8)}nyA_zX$-e+%!M5)zNcRYN0b=6EW5oidoMP%}w8*Q1L8HsxLd5FBNd^Bg zp)m+|GT?Y}dpd3e_~i&$;%H&{N+OtIgEvydK1|rcAv?T>qMj{y=iY7rfj>DP!A;(| z1;1R~GSlb}V`lU__pax{TI;cUy^^h3dWwNpAkYh$;I-l68y%;3N^^TSmY?n#nPfH7Sy(x5Erh6*&bB?Gr?M1FZ$@< z-p27FrKx4ECsoLfs9efXI0G^EXZ;+5*$PqhvzaVXEpuO`A_-|X+F8{$IT!z8n|;0F zM?LXwzE|^`i-imuo4L6GJ`3l4UW#bbthf%}B4Np(idpwt1d({_vbKP>=Qh@2;C9uY zOn2?6QqP}QPe#4;8v&YV2y8+etd-W5r?bb)rn?!tkiNpj_qZNObV9s9*WedXM0O|4 z6+>dRTOYxB|MBPDaFuTS5Vp@&GQuc5tQvg6LI4T}yU5`AEHA2FHQ%tH=56?<5j_o= z+&Hcyzj35T3dX2e9hWp*_!H*W5>6XMvLaVn*ylx!07o%>Qd9n)^k{}zd}Xo%*680k zX=l#9T;ZVB0&+mYqDNF?11KUo$I=D%_y|_9$FJWr>|QidAmeB?Q=(S(pB#hAud(^J z^3#$%zRGBekL;jmzv6s+vwY1ga+h4NQ4j20Yx&>O|F8CgTK)pg&X?%TWS0Z5eI%5Q zld!E^rxqa%kR*oII*LI(|ne@F!t~DDUmsHHg$OD+hy=I0* z3cXF60?WBJ#L&PsB{SvS!vpom2Pv^KV={9_(P$H^`=;UBCLzsAgM6K>GG~LPC?U{& z*t~m<{fp{Zmj92guMUdx4ZGf5I-~?d1VNOR?gjxxLSTudySqagM5GZ|LP9`5$t9#~ z=?*~}1PMVpr0aV?`MvM^$2YT%RF#-V%n zf27%juju%X9#<%=lgF4gW;dqihx$DrO4@%rQWyF2P}N%JayaNNUFFvcDiF;T(&iYz zJn@4b`oFX1G??Ypn00${v5~^Z^XE;Pwc`bPY9XpY1$_fEIXE?DU|t^G%|(WyXbCGq z+?{#$^k#UOU!A7d@bVuFDL_^QxpdlWJ8*VZn>C-(3$Nq{uc(0Z91|JQq89j0C|_h7 zWir1{(Q%6jl5sZc=VnP!9s?zOY=tK^$$7Td=ctS$6+clA!Rztv`79P(zpmrr%wM;I zDsfD-KppYB9wg7^d)A=9*8;bYOwh=pkpA?BuM9k?D|N!UGtU5A$*}hWE!4I0&b}uu ze&^G;;~F@3mvr5l9w-^t+*A%s>aT+GmTxP>GPI>cJ9gz504f#J?l2Vw0%gUHx;O|H zv~1J+YPnq%Hc! ziFEBUeR&r&qqpMSM)r#$&!x4Ke0;#%;A260`QgEp+>zq1CR)8{-eQqENYP%ztbsh> zb)I#stbqrgO{{0B;T{MOgFFk1PRvVJ>$yHc^@tca@ClAs&eKW&%iH>voEQEn=_{M%{e z)IijRCuVVvB8!#yxy~CIpZ8xZUp@@u zD*zQ8YiR3DKEdxc;iH%M}SVlqc; z)Ea-f9ji85eAgDw@!E2Fg_^S(%31w;k+^AjUug!?xtCd+%3h-*<6d82=8fFdG$$J8 z46gB(PtD`@k4M2udT8e?la}t#bK)TmE4G8}O$cAo4vIJ&1a(JJ%)~~=o;P}`+l-;% z)A9WhVHiws<%auDy@zD`XCVzxV9OBg?vb$om~|&xBf;H<0duR;7{y=tlI0)s5-KS^ z;ys1(WWF3sEm$pc4g=OND&+B)EBdH94{pd_j$ob z|Mpm4gk?97Gq$!eE>T2qpeMpoc~H}$Xu)*5Y(UFaaD`*w2TjX!gJV(@-uwPOn4nHi z1kR<1no8BP>K8zJGl1S9y7_Izb;GNw9r4t(c`&%G+<0=JaV)U<24BLQ#Ad&Om#nEs zuf4X_*Iv6ixwcx}s69GC@m%gzgg%{+G2AE`?|B4c_|)fTYD?vnP%|g?j^Pf9pE;-( zF1$6{?t74G zP~zVAb7+mm<0}C;N$GyY+*vcP;vYRV6?lfHwY#|cf(k0ZymD}jcw?Jh!DbCc%QgvN zA9a=2`y68(e>A@l8=T0}WIM{DXG(?PDhYMCEdVm0B$!TMg?Y7{Ey$v0joznlOmqj; zW`iunKkwT}db%MKUDUqm&SRRTfQk%rB7^oSpUVBh1zXd^LLeyfMFRav6y`|z5Q*Q! zmoHFDY!Mh{I=?I@PJUt;`yT!m#<4)m?Y*Nqw6J=i^#7%xix)plqj8mNQ{+5fIn@zm zPd!gBZ{%5Fh{<+T|6>~a$dBW3RXCvU7sA0mR>a2UlT>-c(^P8YYac_Qa~LhcI$I^h zg3;Xz=A2%zgQ4ZH+<$NYENc`SnW8r<`2v1!=2afQrS`;goz9DlR_q4(DQcI8xY*!n zPl9lFb>D6vjBPevD=ZT5WedQ68_*s3oIb9$Jd1R8hyNyKV7YY+Ab1&}$rn@2KxuZY z-regp=iij19JPEIPmYUqxCD&>WeJBcvz2ryvVys08?9((fIof~OQ*d;?(GX0?j5oC zyMlfS{4lI8Szm=X96$aM&+eAq`K;i?Fvp55UBgUfj@)8DtPJLdqWJZ-rOOFX+q}AF zTBqOaJps7IKi-cxw#i@j9DO&(+c-}G>jFjfU@=ySEarWbzR*G7F5KfEGNVk!rqFLt zS6TUyQw=3q?w}q_S$PDv_`YnvqB(Iw;gnWg33u&x9hC=ut_CAu4G&|Z5KmyB!R#8sRRjHyutseYEbF3R{ z4X|dTlG$#!uuLbcJ#c3%6wMSf+0fzR+re($GE9Iw3mEx_WcD{=tyb&5Tn0OO<=fk| zuq9fkjKlnaJDKLjRf-PA^PPukA_VMYSq>7zDns;s=xM_%kA0SemEJwl9vR`>zND`G z&g<%X=YDGTpHh|S*KEr%s$-8fJ0*_N$VZQ1bM<=ALLeK>8Gx2EXZNKcfUPA+&O2)H)u`t*UvTu1m z045BypUcB^gQZN`balvs?*&iiBOEcBDr>fjgw5ZxFYhd!^OLpf<~=276Q)| zFDzZ`g9_;0p`Vb|d!e!ucErJmlVqD1^feFy&976pS-FVrKJm?bO=HAbb&CbKs8utb zP6&s-lQ?=3t$*|*Ovq%Md28oMA`BO3Y5FDNVHC&pgYMfzwmjm=^czp=LOg3M(ST_h z>f->I#2bph%D9v<-!Y@g0eFwM3yxokRg_r1n*(#)N_`^XQPgWH#E;XFTK7H-PMdDB z=P9*7x)xF!xuleNV$*6-+;37v51{LD3p|Yr%k0c6FVyv3bg;UKr{g0Fj=q&46nOb; zj(QhkXm!6?0mRw(?pWekBV1e}u=9CY7&611Zd`GhXJR=m?!80gfR~0z1 z(XM`0B-oK{8x~Lrb;jn0!#Ic7?(uZwczt+vs(ba)^J6=(>{h%3pz@Aup?(pD*Goia z{TC}`rcmsdBRH5*Jas^y%e5iaIi@0(hh&+gHNo$D(TMvG{j%RjziWlEIk4(EXA332 z+wGODbZRD3@~!t|-_JqnzNQm(40_PD^y^EzG1nXS4*9QlB@C(J>Th=&mC|om07k?E zd86ZsJll}|J{nk)Ylc*|ihbCzH>}bLri@n>P!dLX~&hO34 z8Lp$fqTG2|VB-vUZKs==3+T+hw{_a(a|7dN6 zxq-;sh*nk4lOIc_>*kutF6s~B9-i370Hr}?3pA!)ZOk!3ziA!+!R6zM77SjTbm+_1 zZKPt3UnAeMJ$hF71pLj2T}d*Aqr{yjUCE_ag@nF&1FTl0&RvzF2TsCn9Y+`WT22qudv{2#{Knv6VoQz``sFVe#AVPBPjTLG!E3B!DcrK94TrWaqF+5RaiTO5snfD{0KmcZ*>43W$$`?^db49F}aLuvuG zhjOlUoQ$33wJa;FXQS3->m&fj!76gaAEkmg;{kEbuZ?))z698x5lPoEsPoWjDnMUk z0qBcr`@`|DCp$eZkM9`PO$=A8a7`y5K1V!%flQZQx_HpgQ$=|V7yDGu;W)%NNXS@a zP7vESwLb!M5&LhyWdujE*ScJAKiJeN_^8mr#P6T;^TL>1CYt{Q*wMY*cABm+{0 z^7T~J_`?Y?x_wCyMQ1Z}O0ykl^E3-Og#jCXK26f=i;kLZ_I+WRZ=z;%bz{L1&84sW zaIRvlqONrAS<8;x{XFq>uRXPcw0PAr>WZbW`mGQ9*aUojC{86S_UEif(Qbe}rCjGy z$AB@7|B44vnU|*CD(7d_O@r;Qp;NB0Fj=}|H^=8h{t}#8zoE=`^wnoiZKV2JN5wd3 zA|$!;-lm6UE70Gw9Y=FjHP*()IBBDvU7GaPcY?q1yoKqVyI;xp{lbjUz~Fk&p^bcw z@;rT1zyU2y|7+<5s()8-{R}!g=H4x2)kK!vMUxS8EIez8O)jX_BV*g zVG9N2|K{4V$~W_yVqoSs&N>tbb4nK0t<9Z}vlMd0Mfm1GvQ0cf2NNGT_n?w$R2?X5Hv#fJjZaj-a=)9LWLpW0dM4BoWdYCX(E9%`D~mLK|k zl`<+zof#p0-1lo^4VXO}4V#%CN}_pCtai2j?3ObBmP7KuOH3E z?19b%^GU+)pKZ*686sMNRaO5+4z&KJZaZzqfBoY`1ZUnN;pO9JZ53|}Ip*PAzmd!j z3z}!|PE0e4?H0q*fiX+#ed8AzWS&(3CHo}98GGvTou3_5c^#d~en;2|MaKTj-6*{? zP8Aj$;|NoNq1QMsq9>;=7Nb`Z&2c|SRbDK0@Qe`VuMs-XLAH!B*&-^rqMN41N*>F| zR8V}<*GHYfQvWq@%`m%|atbLv%I}iQtR; zme@F7&$R*k8Q28hUC#H5U`Jli$TK)~ji!K@3cp2rp#q_N6NRB#3g%brPmO+5HygT> zbs3ibTL9%EN1ydc_Dru$~^~^eXiHJdsdqhd}KHR893N*{W)psMWADG0Gx7he>4G5$DUbV6P=kj&C?s3EeGZ4&jP7FR-S#<4&o%kO62lhs zjbiXW+3T-U(~?l%-O|n7Lt{jE00Wjd+bAbQn8x;{QDSbH+}c-%%` zx342%KdpA1&vWbT4d@1-%?L>|N~(-AH|>S#f#50Ya4Z+v^?9{R<*y?WuydVKuZ*OF zjK*f-cR+U-#&KK=W7~2t{WQzb=yw!H=da4DPGczT&Z~m~!tiW2f9FLwFKv>1RRPkQ zO%t7uT>FM$LUR}uWb;JKw?`Xu_31zN1?UqO6lqy$k=O=#w|*snEEHW-%ZC z@N52nq(1}uTcgXe6g5|qKW}BO8jk?aptd1YP`KHmy+MA5|F^ppzv)VIfsuu$?Yk_1 zInWGie+GM&Wkb;!%5Te8dEPlC2%`g#zTJ-P59%y)V-WL%vg8dRP6x8hmKT63&(bUa+ zfK95`gmRR|u&5>5f?EAk{RuLOQ>+~(nU6+OKoE_1y*yjxc0+~10Xg``|6Y%nTrYfi zHyr@(k?v9rBN8qk7QyZ@c= zpGDUvd>R*kbRa6&)-v%vhT&lnQ7bX(q#u)UYN(oMHV7X86ZEit&CekzUWvce*};?N z6kRUHj=F589k3Nb57Szr?@_m}5fkzECAO^VJQ9)A|5Wfw4nWG!^x%e-1ulf+=f{yG zPB@mwc4{4;qtJ^a&2*(9mRdAs{!`3ZazARG_K3d;c@YfJbia;_yHq9dh9_qoU zgzNHHQuIAlgJ;g#nu#>c47djnyjc1IpdkQu7=bm}aSv)OdG%atg1h4Rg5Y%J%Knw} zF;nIK<#une#(B7J-k66Zz>U*G0WJdv-r0yMa=q@;c1`i_>9j9_*-`%fGDlnLv0xrY z_#}$q-Y3yk@qlZB*LZrje;NnbB+Y!d@yPbYQzgbWq9*{f8B2KwCv>LW9Z-|b6? zpq&aP4yotMYt`JR6z!dyjPJ?5Yxd&T5;@~SUhIm-=02xRdFfr#pQ_0vee(Q04V?Tb z;)ucYAEQs{(chjj{~4*sIX6WAlb3*uC6abao>oY+CZTT;0EgPCqluGXgl}#BV7LDr z?#Hj6?ABb76T%EHFanrZ(LwQe+`Y~P(6l@wzgLB%9J(|0-m}HuyHOdy-E~ABB$pSG zB0vXAT_6sSMS&}(QPi07g0-}$`dE#4Gei#c`*2p%p1?)JVYEbvfOWHQ4F0w`L@0QZ}|eubkWu%=YGTB z{?tcX6$E-_mJ{6MT#7dpi%p@?DNq7Ly#5X>Y+h*&UzXxZ4FD^HaOGgI8%h}rygQkW zrFc$BgjJX1@!kCx7${v+e14Xv$1~oJ9odPolXS$YmnDEZAq!(p$O5R=s)HZq1LOvS z_v3#qK#Zdez2B32fSY+%%m6%98lemAuT2tt(ZsX|eyen{-8%%p0c`U7LVNp#28Dlv zQ-o>J_qPGX-xPWdPxw_Vo0-vKYIO1zs==%48 zD;r$vVmlYfO*z^1tCd5Y+iP`0`S-|o#=U160T9!7cfS7c>-%C`#QEsv<6b`S{6OKR zRqfTS+q5pmhzI1K^FlExz^ zJ<$0sY5eFPx;(`{p7Y-aL|^!Xwtk?15L{*=`f8DE^}dTU+4>(d`4s_6ei3%+_;M}F zp`LvuZ?Iv}kuhcetG+(>&PEf6*8J}@7y^;X z*C8Cp{2HSepY=0yC;bwRIoRisuhFQT zkt}yy+Gnw+0Qf;F-#zJn?0;%BlfRo`o`s`V8P+Z%Wj>InVHX01sLH!UKAZg0!cBeK=_ zTu{U>eeLzAu-RyX{^c&BQD=j^%UKD`wpBPfqTadP%^!jtk+-5-K}b(FoyB}b=7LWw zWWFZWM*^Tdr>b6wCaIN9VQR#2VHy)~-A|~TtIU6X6p>znI2x7mgwTfgx$8bnGgL;9 zd8geKLwc z*`ll%V5|YeqcC2ATelX+{(>!)SS%tM!2}@elx=rTS075@{;(kSmyq(=k5HvL2VUnK|6?@l%76YZC^YG!wn0Jq0jut(sZ68@w(_x_c zOs~(Pw!#pdR6FPD-OQ+`r~JyuZoFr|oK^1}EU^92OKB^`rZS-Rm2b}7yzd!#WjCcj zJ#c^3Y&CpyKg=GY?^ykNxIwPTYR!!{ntr8?@(Zd)`~z4(v5Otdu2{>6;$gv71BrWA zG3?w~bd-GM=y{l+iO=`4w@d`N5TKi&^v=D9*J@#+u)t0!ihp0 zDtWv5xPmQ+E}C29!eIEaS}MoZe9`(s_!bLkEfEKg>6yBsFGH#Hq`-4p^kq>_YT7!> zqKRR6<7Ey#kdDl2i{gYax;5o-C34VP-zoS2kEB)%pdN}Ww)q&Es<#6N1qK4*Ws5xq zgcv0tM?w3$C*M*$X{|p+>Uw@W^978NI>yXaGnP%95&AGI5<7A?m2Gy!1xhN;465U{ zZkHta>a0y)<%(H`5!e?EOs$u50q)OoB~3g&BRl6!0kP%v*x7!l@OF3!WrC27&UL}_F&xh4}t8pt-f>!nW^STsr z`sb~5znczZ1#EqL_61=UOp;3I1FGpNyV~^1m&(AD2?Rikarv-#uCdGRXsWAb&!5z| zZXUPaGs<$0oarsH`IuM9WI|kHc4h^Jyev^>P5p=ix0|US4vO;1svy7HATZAxF-=1C zqD@T>{Nb54Yt5@F+cO&9fwDrLXZFfdJJ(_{`6v68zRo+^^pxJxfJPr{u3M`v@Qc4a z!-igFi<|z-IXxQIAJA^SM@bgIq%!4vIO8L&(c9F&=(Ti-3$a*^XIp-DTa@8GxUp3? zzzeWRa4jKX0U^|VHc}5-Sn@T<7*f8jp|>}GaoywBbogy`2MNTkFA(jZoWz$pgQ*QO ztxL}2=1k+IL4|P+Qwz;y>!||?Z-{q2JzKMS^^!5AZ2_Oja3UTGfTbDNoXumf$7oMB zW-##s6f3Ul#B+I*c*u8{Ft~Sl4QGl?3^o#c%sg89vuiCKl`e@F}LPQ=tZR!fCE{qeUo|KF{R%#BqZUC&83e$I*D*WV~+ z;QQ@qGm5g{UCM09SOXeEUCu06?5+qleTS|PD#1=hl~wFw;nOAS8$2UMmnC~jtsvDI zK;6#v?tzdlQKHror7eq24!NUxn;`&$QFC8UdLa;bYua| zo8pLKCgKVJ0dJJXfYSAuVFnSFYDc!B{i*CbgyzF^1yBw6*eft|4nkeVe^C<0KvVO8 zE57T`O=Or?1w*}W)#@A?iIac`w*d*0z>Z)?bD>rQ1h8A1)^okVGTBL&AJ{akgRzRSuR3ek1I-w`tBjkK6CmufOwPm%Nc?h#Wds!Re+YFFSPS&dF;+T0uK@g z7}Oc~K^T;fZ4#mGWwIc>Jpb?aw=a$huHXWD)=tnY8@-qusBWH=K8GF|j0F&e$zNC7 zPf|Ndhg}@2>rRS$KE#$WMU~0h8I5<}PU$7vBWfDh4PHA~x1$^>6RmrWW{P#;vP537 zDXMS*x$15<6QAU1e~3uh3uBMRh?0?uICHWx;U zid$3-AI~naxN0}V0_YXV`O!;VH}bUGdg#qdJE18jCja@ao+6OkNE=lxpC;t-g4 zZVTcmn|aQUUSn=<0zBkvZ04g&ttSiB`ZYD;mMVv!Y<`M%-A}m)fMLLO(o}AcuokAK zRLh15DE(KGiCbNdHASjE2@Tq!fl}+kfqJ<1i}O5U*D0nQ;y8)6xQ?W{3=cvUJbJzV zjXhhOmN6s9?pj64QuIYtnNQNH?p;+BuuN!@Rk!Fv`{_63_MnbyVLv-m+%qs#IM*)q zT1%z2zZo@V*aCfy(r3^$G4eEW(Kqv%Qf+L2#DTN(_QL#VeyMG5Yhh@YL>fLu_t@-t z4nA7{dtlDLTzp+TG(L-`Vl4Sc!hh5#v$4}%imO3YPR(_f(A@uyv&Tybkd!z-h^)Y| zJ2nU=l3+SJG%I|>ib%dGL9N8L(a6*Pb3@5%H*A&8jK8h4{sK#TfaV!M#5)7aTjx6= z?9414BtB0Zb5esGU<(LM(n8)~gttzflVsQCFSjCL{Y7s$vj7=-3>3_n<^{t7G5W^o zhziDjrrjdhGHmC6yPHw=+=#$6?b+4?2;v#`i&@}l^C)O8LkcSs(nkqI4~OBKD!m7{ z;~tu26El#0G6*UhFBp|5sY)O&>)Nn@w7Zs=vzbm8+u<5_>bcBYCILvCW&7RE)2H5} zQ#kf@zt7xB%Rd8CvF9RdLa8_Tponx?78^Gc!s*aHp$u~1r}myWF}l3CN5~Fu--TX8PZz)vw;b4sRMM@|J_onYZQ%Fw6p8K&we6gTns}gBOVF zB=Md$0CwiraOjMVHa}`xK6p}#SIFraMYNAKeVK0iAlFj%NPtz|FoRiBpU=Ng%JfXt zAIsxJO0*F*cGuGd0vZ?Dd1S3c1Ki}x541rj2vpbWJgo-)OAGj|^EuG}r4dCMGkhSJ zX_VYud{*Z-66|5gL-!hIhFk#vl~pkV#IZ$mv}|CS3GA4yh6S{3ryIMH{jhquu|?G8 zt=W;xod=~n1G7}WsnM8Zfy#=>O2CpcTYMLr0Z9T$X^E-RZhk~14#RWf3FDYY2n{5B z2m-g@8I*`Z)WWMOeAjFdOMk~L=X+4pTO(u)1Ln>jR*(PnZ(8yXg~V=gqty{~*MrBR zmt6<45&-By&fs8k2IsXvpfruz-OYdu(nxhl!g9PYu1;3iks5H5@pCMI#xC&g*ao6l zG}KYZNh34`J8q~TxE9V&tG0hfNs(O51Y0o*=2_;+g9@7ov@*|3N z0|-IAlQ_+9g$n?d4H!p%_gd!xCZW)9;_fl|g|hG`;G+-97A!}@&Gl8iuyN@wTg`bb zj_=3fI?0}BATvKDZD$a=J{xtknQvqQF0zojfZE?h$D5<5-ih~`xD!t>sv$`r5TSVL znm;UR1n#T>a-ar9?8%Iofu;%O?*T)wg1KzKP(v3F#Ylet2g_pLyD7zr1p5CIzr88N zsIzZkm_;q&J?K);Z&E-yd4x9r5ym)8pTVMgW2FbOKmTyQ0VGV^!U&hLM}%!oUI;vD zd_^9@@hSD3?m4hRff|@FW;ojI1>5b-Gv703;uG)b-IP_=8y9=W44>n7I-jXf6BqC4 zKgj=FR4nPXwXi!oQx~|wo9=v5VfgTSz$2-!w-z|I|09$voNfhBd#Y#yQYhDNSVui@ zj~eYT2%_oEJUu{RZJ13;fM<@I^@^@b4y#4OU_%MD&=fR^a-Rm$0!EU#*9}u);*$M& zRI>84B&D)~w|;?72v}LUG<7OU3o71L=Mlm;yC2I>DB%yNmK_v+PNav3~# z3?vG4JHqi(LmFt#+M)+_eN>hhCVs;qs zXX+@J5qWw>96-3hLS4y)CtZcH=vqpf1M2&w%?#*_>@CEYD0*0-Gd+;kHPDk9-R`{t zM;BViY(g(^wH0;v`D#CN5Np%G0h6Zlma9{-#Gcy&eG3lPar@$!X<*kW!eir2xPQ&B zdA!54+M{yz^UHOVa2#bYhi1s2xh$h%%oL&HxqKfq?`Ak++9eM^up5l7v6pqk==8;MK06n0t^a~Xu zdmsq|di?^ReLTIg@+?Oi9au|e7pDK_XDx;maD1z4cadAw0qz+5r~iqaSU|l@*ud?8 zk{uZDN4&c%TD2i003r3t8Z%hOknfkgQpJ+3aJS9sB;0SRiqu2pn!nt zpS&ozyA4p80uvkgJ4{PiDty3$$&@lQcEUQ@S*Fbw0COeQm-$54hU%2h?(hFFp+I}Pu$vp= z8U@uwm`TNIk4NcyKcag*{_f;WFhU;87`GQ)R+(IY*N}eoG05f{C4M%c=8wTRRqNEC zc9$3kNeoA9K zka`$xe2>o#zXCd(-V`^dF@%@@w#d33Oc8iUdj;Os2sh!$pO{_sTEGEQnr{JDx@g8s zIso=8p_yTt9+Y`YC`uJ0mK*Z!TiFuv>q(80LFK0~-B9K98ji2yex>f2vtl~`Qsqaq zBHQ4B>{mWle69dQJa0j{^Aq6GOx}Bu64qH50l#CZUU*AY~@f z{N$X=dH)4~%}FhBhzE}0DEZ)-W|o!7!c6;Fm;d*_1-u>$_g^JNJcg%uReRA>yqfQd zRJ}4<=9st}u&)V(*cwtFAdDGIF~LPPLe7Q3qahpyabLI8ox~JZ!(dczlq10I$b1M0 zPkR&1pPRFb-DH~@NebFPF{!ilH-D|QwvAWDese+<38eE_ZcWC{dF{L=gp3RHhK9Vy-DK9GxkKuQ0#T6W9TUe|u?fi_br;E`iMm zJ(dfe@?5_tF*I4U*<(1Ws_qw$WOXqZEhTUhASn>hPMXzxS6p8^Rpr$lseiQ}XmetX z1|-yu?m$VE`qad=m{fmpba?X}70;YMSt)^Tf}0wEj1q8B1bEk(7n+4PG(!qIDS_xa z{ylJ8UevT&zzE5rlof!u=b!-Q}9LIU&OmazdD=vusQ|+_o(=Eo3Go*pSJq5 z7Xt|^ZZ21d;poKEML&;|wv$|E0^56{SIC!i^Kgo}B1NDvN{@z4v1_09xawj8FgvN6 ziKq?<15j+V$U;tk4ye{Y%@_!ljZ?y)StmyLv6k6c*RQpotf+}Ks=0`B^g>Tgz$P{OMAW9(db=Dh&JNC}OzjUds>uFNe^kwo z5mZz!iCdpu%LVy;E^yeXg%{U!3c;nH87RK=MjPGqLayM(bGKq#{pBCqujzql;d$H51Yy2FymTn?LEqyb>4Q30 zI$NE@30;o;ym%#K04Uw#K7W@^_tQl$ub(NF2e9p5^SI!+G73K1RaMM+LIUBE=)K3* z-gxKsqS3{FIIMlgsoZ6kbLrAlXy8BaTRnW$=?z40~JK)k>7iAD$RrDX(g)tP4^?Y5L_3b)0JY8EgOxV~Kk zRk%3+{A$kG{u!U!8txS;sE4s4FXrqi)2$%(Tf7|IpWWBDTHsiod3Y%XzEsNpiCH;Qo$<`GDu3 zm*@&zvcQp7lRe88)3~Yv>XK!z-s7KFC?(Y&NRc`({ZVCrj{y^5iGY9a-n_(&YAq*Z zTk(CX=zA1^(3tLz4l zoRmq3Zt#VSP|j~;IYMMf_pA#ir#d*9gXJior63SSClmw1BBoIaTg{E(QdN)t6P{_j zk}Bp9C5*|N+3%9Nm$+H}vW>0LNyj~hQRDhwE{A2wQ~A+jR)&7CUIxcRKZ8u7nBk^) zYb2Ah8%+TABk`YV!8WKP)B!rE2~XXRCXB~*F;rePjQvI#&MzMLc6z`RQ4SZYgyLnm zE0Yu6sX)OkCGm&B$AbJ{YcgkpHn1c6jsy{rgu319vU&Ym^Wybn-{28d0!KeR@%`kl z?Q-)uM`fsA;31R}*GZxP1>Jq~qR>z*CU5%AIj;CGtQN-MR}hD~QgzL%WEGQ59Xc%F z*91PQl;9MU>WwT90+{Qx_STzlBE3n>Z21>YA3TCH5{1nGH0}OpI5pNJ%(XoOl*D44 zslL0hZ@N}qFRw(k?NZLgNGucSzI@uWt`;>xtT(A+vmpt25|b!in)N^%gHh%9@$#`R zTzJi0t3aJCkMJnh$v*BkI*Do}Tc5XtDL5##5u))nna)LD?&oN|i(rGxlWOH!_A{;0 zaq-nR0{*CU$)I3ZTs=579rYX)@p2{o;^qW+oe60p*xV#-2Yft!s65q;dJHC_20j5( zw7~1x+_L3ho+d=ngS@ekZlE@w-;z%HnMnqZI=mksJL@m~P}r%ugqzvF*}|xe&Fj$p zg*C+pH+?|9M)JfML!yLto$+qI?fMIMP;Kz$%alC{?xovDMq;wmV{2CquE+!T_fS$A zKQv&FriROTtI5Qh)k7KhXC#j|Jc^c)%)hyf2tMGYgIod_!~iz9XFh^63cQmN9sFg=<3JbXv-oTuW5 z!rt4$F@dp`bA`9}Fu38#bAcDjjMIGYi($E+U_-CZ&*ER@{6d32c>0SRvp4$UWd;$Z zl7|{r9g-qf7>w{X5KI%CP(G-W$f;yb8R~hHLZWLaqHVR0mw1bl%|CFDSSvlB;Oxlr#|Qj4S=PHTtu>%xj$bDf{)kt|`qaRG zjxLjd3E{ju+~V6-TkwDeE*pU6_7Dp|!_Nu2>rlFi)GI=};+Wpcf#UCJN& z^7{#Yz{y}#ah5J9dc2H!CxqD<3U{p|f<297!9HbddYtfQT-GQDM!V2Cqa{0Bxgr|M zto4w=^kEe3U$+MnePMyLV79vvGe);aY?0y?#On<`Oz(ST`YXx)IL%OFK9<1s4Y zJQ*pmz!0h?J1N>^9e=j0F#fVHqs%9G5AU`9Seap+%3*h{V8bDwY2i>o(s6E(>aTJQ zfB(Xy>b!7wI9HZ@y&<>^My|9@Pccs7`2DW$BbXm7TzDq2e0iF_2}N@$Sf36)yl|Oh z>nGFp2`5|=r!z*J_Ac;VV%VOT`9c@|G-R*ZHD8&0CRu8jczsz|%4;(4=FJ z*|oNVc}W_^K~7zPTXbFGh=PVr!R{6g(u{U6qS3>dkd^|itGxNse=(ez0*sAl+0D=S z0mV6kfS_5A_2Y*9LNr))WS6?{(0LL)(@A}DsUBY1gzE6&n__y#m43LRgl;9q{M9@Q zq|hb6V;$7Td#bYq*Lli$XWeiP)uHj*nH0!fBiii6e*p@M*1!uy|5Dk5CsSJ`G!6|L z!8!hRCH~1(6GdP~2ES*|97#Jx(U{(f zW26yU$u=cDs~y1Ts@@8=+`(w)b<0-&I%&CMyfdJ$Rn81M$CTo!_4+#`EuB zR?_$=_a!HOY6B0iO^!tOr5$hpi1mUeUmpH*|9~m_>!`mCpxL8Q9pV%%;=|kWKsJS% z?WSuI`Z3#}<7%{pY40d)nhBzN#YR(DAm7CY6Sx^M(kV?Yq5R6aTJn%bo$u;KCp(fP zQTX5Dc5nT2baBX{H1ZJi>euHTt9rLgtA!{cy>1lz2a2m2w%A!6nKpA-Hs^gjs|Kb( zI>_wBK_@({gL>|AAaFs&I(1ZZl*-4(gjXN1&h}i~ zEUMJ-gKq2Km>B=cdDGmb-eU=D;Cej`{wUO3_J9mdXCI-bHQ)6~OLU4=HNSsqQ#N&p z-m8P&xoTvc-R;q@9As-_dOoA}r9NvenMwbo^XWMIS^VbNzZz%YOB20I{fCw&Vk?i| z#CoGUznm;d6bz!H)J8&h3*v^gOy7(xThLSvYaKCuX|m4#=$!G(GFYVId7Geb$ENHy zq{yv@t+qvpyt=BX{NVNags0$C`Wf)*@TMXp{)K`HN&l9DsY$tMxC~=mgqnB2AvcKe z#N9nJ>c?3)xDa#oi~}^sLa^utqQCEx&7JWMK@RTQM>V2JCt6{0EPsuK^lNZ^;#0aD z8XDq*Xn2TRM047~LA*lWVeYL+9PV#&d+=U^ao_RjzXB&l9P1|ZU}Ga>LAnnlJ24S$ zlx_fsz%r8lgYUHA{-hY2W0QCfl){v9MBle`;<$2AN(M+3@1e=tR*=$dxQ zv5M)Q&1(Wy>A>fLNkHOW0^x@?D}@?7va|hlSX!RQJh11mnT?wHtt%@mzmFW6C;j#e zUcm(idX7%Z_nYKlBv!N4u0MgVAaOQzkgp&Fg2D;T=QzKgVTLqM^Iu_sHV?vUKf*I+(u-KARJ6M^;v@;d(_G_j1-~G#s zRtf(7NB6H5*8hg}XXwusd*man|4iYEQXmfndr#fBVe? z(791r3CHBe+nj8WiaGHR+5LxDFLH!VRdGW6Cp_C8`%MpR6z8IBU*Q)9XBP6DJFN@* zp~=rFifyD{N$gKXRQxvXV0}()TI;cF6u)V_=(4Q8&ZvNq-VO~iMDQQdgNb(T0?{Pa z7u=E++p}i6k`5&HT(Z2RvLIdvqrN6GFruXz>UpN5nQVhOqixFobEU8ge z#^R&13KbZC2DuNRq#W3|r%l7CcI0TWLH;%jvnXRX;_X8s_kws?TNe^NGM9C}J|DwV z@vA)642-t;&cnJf^1A{CYbWXT@d>elX0inD~E%5QBZ64#iBO#yKSqlC3El zkOPN)lLbMZv`grV%o%|O( zOvkXrKuEFuCrx+#SG>3FF%0A~(Gq`NL_WNWMeFs*tNr6Kde)-U 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 - -
    AWS Cloud
    AWS Cloud
    Download binary
    Download binary
    Runners
    POST event
    POST event
    API Gateway
    API Gateway
    Webhook
    Webhook
    Github App
    Github App
    Request run event
    Request run event
    Webhook
    Webhook
    WebhookQueue SQS
    (DelayedMessage)
    WebhookQueue...
    Register runner
    Register runner
    Scale Runners up
    Scale Runners...
    Terminates
    Terminates
    Remove runner
    Remove runner
    Scale Runners Down
    Scale Runners...
    Actions Runners Binaries
    Actions Runne...
    Upload
    Upload
    Github Organization
    Github Organi...
    UpdateBinary
    UpdateBinary
    Creates
    Creates
    Viewer does not support full SVG 1.1
    \ No newline at end of file diff --git a/docs/configuration.md b/docs/configuration.md index f7e936ee52..53a1dd83ee 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -9,6 +9,7 @@ To be able to support a number of use-cases, the module has quite a lot of confi - Workflow job event. You can configure the webhook in GitHub to send workflow job events to the webhook. Workflow job events were introduced by GitHub in September 2021 and are designed to support scalable runners. We advise using the workflow job event when possible. - Linux vs Windows. You can configure the OS types linux and win. Linux will be used by default. - Re-use vs Ephemeral. By default runners are re-used, until detected idle. Once idle they will be removed from the pool. To improve security we are introducing ephemeral runners. Those runners are only used for one job. Ephemeral runners only work in combination with the workflow job event. For ephemeral runners the lambda requests a JIT (just in time) configuration via the GitHub API to register the runner. [JIT configuration](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-just-in-time-runners) is limited to ephemeral runners (and currently not supported by GHES). For non-ephemeral runners, a registration token is always requested. In both cases the configuration is made available to the instance via the same SSM parameter. To disable JIT configuration for ephemeral runners set `enable_jit_config` to `false`. We also suggest using a pre-build AMI to improve the start time of jobs for ephemeral runners. +- Job retry (**Beta**). By default the scale-up lambda will discard the message when it is handled. Meaning in the ephemeral use-case an instance is created. The created runner will ask GitHub for a job, no guarantee it will run the job for which it was scaling. Result could be that with small system hick-up the job is keeping waiting for a runner. Enable a pool (org runners) is one option to avoid this problem. Another option is to enable the job retry function. Which will retry the job after a delay for a configured number of times. - GitHub Cloud vs GitHub Enterprise Server (GHES). The runners support GitHub Cloud as well GitHub Enterprise Server. For GHES, we rely on our community for support and testing. We at Philips have no capability to test GHES ourselves. - Spot vs on-demand. The runners use either the EC2 spot or on-demand life cycle. Runners will be created via the AWS [CreateFleet API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html). The module (scale up lambda) will request via the CreateFleet API to create instances in one of the subnets and of the specified instance types. - ARM64 support via Graviton/Graviton2 instance-types. When using the default example or top-level module, specifying `instance_types` that match a Graviton/Graviton 2 (ARM64) architecture (e.g. a1, t4g or any 6th-gen `g` or `gd` type), you must also specify `runner_architecture = "arm64"` and the sub-modules will be automatically configured to provision with ARM64 AMIs and leverage GitHub's ARM64 action runner. See below for more details. @@ -121,6 +122,16 @@ You can configure runners to be ephemeral, in which case runners will be used on The example for [ephemeral runners](examples/ephemeral.md) is based on the [default example](examples/default.md). Have look at the diff to see the major configuration differences. + +## Job retry (**Beta**) + +You can enable the job retry function to retry a job after a delay for a configured number of times. The function is disabled by default. To enable the function set `job_retry.enable` to `true`. The function will check the job status after a delay, and when the is still queued, it will create a new runner. The new runner is created in the same way as the others via the scale-up function. Hence the same configuration applies. + +For checking the job status a API call is made to GitHub. Which can exhaust the GitHub API more quickly for larger deployments and cause rate limits. For larger deployment with a lot of frequent jobs having a small pool available could be a better choice. + +The option `job_retry.delay_in_seconds` is the delay before the job status is checked. The delay is increased by the factor `job_retry.delay_backoff` for each attempt. The upper bound for a delay is 900 seconds, which is the max message delay on SQS. The maximum number of attempts is configured via `job_retry.max_attempts`. The delay should be set to a higher value than the time it takes to start a runner. + + ## Prebuilt Images This module also allows you to run agents from a prebuilt AMI to gain faster startup times. The module provides several examples to build your own custom AMI. To remove old images, an [AMI housekeeper module](modules/public/ami-housekeeper.md) can be used. See the [AMI examples](ami-examples/index.md) for more details. diff --git a/docs/index.md b/docs/index.md index 77a248f737..fc669f0148 100644 --- a/docs/index.md +++ b/docs/index.md @@ -66,10 +66,26 @@ The AMI cleaner is a lambda that will clean up AMIs that are older than a config ### Instance Termination Watcher -> This feature is Beta, changes will not trigger a major release as long in beta. +!!! Warning + + This feature is Beta, changes will not trigger a major release as long in beta. The Instance Termination Watcher is creating log and optional metrics for termination of instances. Currently only spot termination warnings are watched. See [configuration](configuration/) for more details. + +### Job Retry + +!!! Warning + + This feature is Beta, changes will not trigger a major release as long in beta. + +The Job Retry will allow you to retry scaling when a job is not started. When enabled the scale up lambda will send a retry message to the a SQS queue. The job retry lambda will check after a delay if the job is still queued. And if so it will send a retry command de the scale up lambda via SQS. The feature is designed to be used with ephemeral runners. The feature is opt in, it will not be created by default. + +Consequences of enabling the feature are: +- Increase of calls to the GitHub API, could cause reaching the rate limit. +- Could create new instance when job are not started caused by other failures, resulting in more costs and useless instance creation. + + ### Security Sensitive information such as secrets and private keys is stored securely in the SSM Parameter Store. These values undergo encryption using either the default KMS key for SSM or a custom KMS key, depending on the specified configuration. diff --git a/examples/default/main.tf b/examples/default/main.tf index 38a2c4f096..cb6711e11a 100644 --- a/examples/default/main.tf +++ b/examples/default/main.tf @@ -42,7 +42,10 @@ module "runners" { # iops = null # }] - # Grab zip files via lambda_download + # When not explicitly set lambda zip files are grapped from the module requiring lambda build. + # Alternatively you can set the path to the lambda zip files here. + # + # For example grab zip files via lambda_download # webhook_lambda_zip = "../lambdas-download/webhook.zip" # runner_binaries_syncer_lambda_zip = "../lambdas-download/runner-binaries-syncer.zip" # runners_lambda_zip = "../lambdas-download/runners.zip" @@ -95,7 +98,7 @@ module "runners" { runner_name_prefix = "${local.environment}_" # Enable debug logging for the lambda functions - # log_level = "debug" + log_level = "info" enable_ami_housekeeper = true ami_housekeeper_cleanup_config = { @@ -116,6 +119,18 @@ module "runners" { } } + # enable job_retry feature. Be careful with this feature, it can lead to API rate limits. + # job_retry = { + # enable = true + # max_attempts = 1 + # delay_in_seconds = 180 + # } + + # enable metric creation by the control plane (experimental) + # enable_metrics_control_plane = true + + # enable CMK instead of aws managed key for encryptions + # kms_key_arn = aws_kms_key.github.arn } module "webhook_github_app" { @@ -129,3 +144,13 @@ module "webhook_github_app" { } webhook_endpoint = module.runners.webhook.endpoint } + +# enable CMK instead of aws managed key for encryptions +# resource "aws_kms_key" "github" { +# is_enabled = true +# } + +# resource "aws_kms_alias" "github" { +# name = "alias/github/action-runners" +# target_key_id = aws_kms_key.github.key_id +# } diff --git a/examples/ephemeral/README.md b/examples/ephemeral/README.md index 2a21c46a4e..8cb466920c 100644 --- a/examples/ephemeral/README.md +++ b/examples/ephemeral/README.md @@ -61,6 +61,7 @@ terraform output webhook_secret | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| +|
    [aws\_region](#input\_aws\_region) | AWS region. | `string` | `"eu-west-1"` | no | | [environment](#input\_environment) | Environment name, used as prefix | `string` | `null` | no | | [github\_app](#input\_github\_app) | GitHub for API usages. |

    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | diff --git a/examples/ephemeral/main.tf b/examples/ephemeral/main.tf index 239cd4e7bd..d879b2147a 100644 --- a/examples/ephemeral/main.tf +++ b/examples/ephemeral/main.tf @@ -1,6 +1,6 @@ locals { environment = var.environment != null ? var.environment : "ephemeral" - aws_region = "eu-west-1" + aws_region = var.aws_region } resource "random_id" "random" { @@ -32,10 +32,13 @@ module "runners" { webhook_secret = random_id.random.hex } - # Grab the lambda packages from local directory. Must run /.ci/build.sh first - webhook_lambda_zip = "../../lambda_output/webhook.zip" - runner_binaries_syncer_lambda_zip = "../../lambda_output/runner-binaries-syncer.zip" - runners_lambda_zip = "../../lambda_output/runners.zip" + # When not explicitly set lambda zip files are grapped from the module requiring lambda build. + # Alternatively you can set the path to the lambda zip files here. + # + # For example grab zip files via lambda_download + # webhook_lambda_zip = "../lambdas-download/webhook.zip" + # runner_binaries_syncer_lambda_zip = "../lambdas-download/runner-binaries-syncer.zip" + # runners_lambda_zip = "../lambdas-download/runners.zip" enable_organization_runners = true runner_extra_labels = ["default", "example"] @@ -95,6 +98,13 @@ module "runners" { # maxReceiveCount = 50 # 50 retries every 30 seconds => 25 minutes # deadLetterTargetArn = null # } + + # Enable beta feature job retry + job_retry = { + enable = true + max_attempts = 1 + delay_in_seconds = 180 + } } module "webhook_github_app" { diff --git a/examples/ephemeral/variables.tf b/examples/ephemeral/variables.tf index e8596eaf0f..f78b2c6ae2 100644 --- a/examples/ephemeral/variables.tf +++ b/examples/ephemeral/variables.tf @@ -13,3 +13,11 @@ variable "environment" { type = string default = null } + + +variable "aws_region" { + description = "AWS region." + + type = string + default = "eu-west-1" +} diff --git a/examples/multi-runner/README.md b/examples/multi-runner/README.md index 8554821658..37e4fae946 100644 --- a/examples/multi-runner/README.md +++ b/examples/multi-runner/README.md @@ -2,10 +2,10 @@ This module shows how to create GitHub action runners with multiple runner configuration together in one deployment. This example has the configurations for the following runner types with the relevant labels supported by them as matchers: -- Linux ARM64 `["self-hosted", "linux", "arm64", "amazon"]` -- Linux Ubuntu `["self-hosted", "linux", "x64", "ubuntu-latest"]` or `["self-hosted", "linux", "x64", "ubuntu-2204"]` -- Linux X64 `["self-hosted", "linux", "x64", "amazon"]` -- Windows X64 `["self-hosted", "windows", "x64", "servercore-2022"]` +- Linux ARM64 `["self-hosted", "linux", "arm64", "amazon"]`: Amazon Linux ARM64 non ephemeral runner based on module defaults +- Linux Ubuntu `["self-hosted", "linux", "x64", "ubuntu-latest"]` or `["self-hosted", "linux", "x64", "ubuntu-2204"]`: Ubuntu runners non ephemeral based on a custom start script. +- Linux X64 `["self-hosted", "linux", "x64", "amazon"]`: Amazon X64 Linux runners ephemeral with retry enabled. +- Windows X64 `["self-hosted", "windows", "x64", "servercore-2022"]`: Windows X64 Servercore 2022 runners non ephemeral based on a custom start script. The module will decide the runner for the workflow job based on the match in the labels defined in the workflow job and runner configuration. Also the runner configuration allows the match to be exact or non-exact match. We recommend to use only exact matches. diff --git a/examples/multi-runner/templates/runner-configs/linux-x64.yaml b/examples/multi-runner/templates/runner-configs/linux-x64.yaml index 84d9aa650e..bc3527baca 100644 --- a/examples/multi-runner/templates/runner-configs/linux-x64.yaml +++ b/examples/multi-runner/templates/runner-configs/linux-x64.yaml @@ -25,3 +25,7 @@ runner_config: http_endpoint: enabled http_tokens: optional http_put_response_hop_limit: 1 + job_retry: + enable: true + max_attempts: 1 + delay_in_seconds: 180 diff --git a/lambdas/functions/control-plane/jest.config.ts b/lambdas/functions/control-plane/jest.config.ts index 43f5c85284..b768636f97 100644 --- a/lambdas/functions/control-plane/jest.config.ts +++ b/lambdas/functions/control-plane/jest.config.ts @@ -6,10 +6,10 @@ const config: Config = { ...defaultConfig, coverageThreshold: { global: { - statements: 97.99, - branches: 97.26, - functions: 95.45, - lines: 97.92, + statements: 97.78, + branches: 96.61, + functions: 95.84, + lines: 97.71, }, }, }; diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index eaea04ce8a..c5f830464b 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -39,6 +39,7 @@ }, "dependencies": { "@aws-sdk/client-ec2": "^3.629.0", + "@aws-sdk/client-sqs": "^3.629.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.1", diff --git a/lambdas/functions/control-plane/src/aws/sqs.test.ts b/lambdas/functions/control-plane/src/aws/sqs.test.ts new file mode 100644 index 0000000000..e4ca545042 --- /dev/null +++ b/lambdas/functions/control-plane/src/aws/sqs.test.ts @@ -0,0 +1,74 @@ +import { SendMessageCommand, SQSClient } from '@aws-sdk/client-sqs'; +import { mockClient } from 'aws-sdk-client-mock'; +import 'aws-sdk-client-mock-jest'; +import { publishMessage } from './sqs'; +import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; + +const mockSQSClient = mockClient(SQSClient); + +describe('Publish message to SQS', () => { + beforeEach(() => { + mockSQSClient.reset(); + }); + + it('should publish message to SQS', async () => { + // setup + mockSQSClient.on(SendMessageCommand).resolves({ + MessageId: '123', + }); + + // act + await publishMessage('test', 'https://sqs.eu-west-1.amazonaws.com/123456789/queued-builds'); + + // assert + expect(mockSQSClient).toHaveReceivedCommandWith(SendMessageCommand, { + QueueUrl: 'https://sqs.eu-west-1.amazonaws.com/123456789/queued-builds', + MessageBody: 'test', + }); + }); + + it('should publish message to SQS Fifo queue', async () => { + // setup + mockSQSClient.on(SendMessageCommand).resolves({ + MessageId: '123', + }); + + // act + await publishMessage('test', 'https://sqs.eu-west-1.amazonaws.com/123456789/queued-builds.fifo'); + + // assert + expect(mockSQSClient).toHaveReceivedCommandWith(SendMessageCommand, { + QueueUrl: 'https://sqs.eu-west-1.amazonaws.com/123456789/queued-builds.fifo', + MessageBody: 'test', + MessageGroupId: '1', // Fifo queue + }); + }); + + it('should log error if queue URL not found', async () => { + // setup + const logErrorSpy = jest.spyOn(logger, 'error'); + + // act + await publishMessage('test', ''); + + // assert + expect(mockSQSClient).not.toHaveReceivedCommand(SendMessageCommand); + expect(logErrorSpy).toHaveBeenCalled(); + }); + + it('should log error if SQS send fails', async () => { + // setup + mockSQSClient.on(SendMessageCommand).rejects(new Error('failed')); + const logErrorSpy = jest.spyOn(logger, 'error'); + + // act + await publishMessage('test', 'https://sqs.eu-west-1.amazonaws.com/123456789/queued-builds'); + + // assert + expect(mockSQSClient).toHaveReceivedCommandWith(SendMessageCommand, { + QueueUrl: 'https://sqs.eu-west-1.amazonaws.com/123456789/queued-builds', + MessageBody: 'test', + }); + expect(logErrorSpy).toHaveBeenCalled(); + }); +}); diff --git a/lambdas/functions/control-plane/src/aws/sqs.ts b/lambdas/functions/control-plane/src/aws/sqs.ts new file mode 100644 index 0000000000..79a1039f10 --- /dev/null +++ b/lambdas/functions/control-plane/src/aws/sqs.ts @@ -0,0 +1,38 @@ +import { SQSClient, SendMessageCommand, SendMessageCommandOutput } from '@aws-sdk/client-sqs'; +import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; + +const sqs = new SQSClient({}); + +/** + * Function to publish message to SQS all errors are logged and not thrown. + * + * @param message Message to be published to SQS + * @param queueUrlEnvironmentKey Configuration key for queue URL + */ +export async function publishMessage(message: string, queueUrl: string, delayInSeconds?: number): Promise { + if (!queueUrl) { + logger.error(`Queue URL not found, skipping publishing message to SQS.`); + return; + } + + const messageCommand = new SendMessageCommand({ + QueueUrl: queueUrl, + MessageBody: message, + DelaySeconds: delayInSeconds, + MessageGroupId: queueUrl.endsWith('.fifo') ? '1' : undefined, + }); + + try { + const result: SendMessageCommandOutput = await sqs.send(messageCommand); + + logger.debug(`message '${result.MessageId}' published to SQS to queue: ${queueUrl}`, { + command: messageCommand, + result: result, + }); + } catch (e) { + logger.error(`Error publishing message to SQS.`, { + command: messageCommand, + error: e, + }); + } +} diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts b/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts index 3ac5b3e834..8930f368d6 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts +++ b/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts @@ -7,7 +7,7 @@ import { mocked } from 'jest-mock'; import { MockProxy, mock } from 'jest-mock-extended'; import nock from 'nock'; -import { createGithubAppAuth, createOctoClient } from './gh-auth'; +import { createGithubAppAuth, createOctokitClient } from './gh-auth'; jest.mock('@terraform-aws-github-runner/aws-ssm-util'); jest.mock('@octokit/auth-app'); @@ -35,7 +35,7 @@ describe('Test createOctoClient', () => { const token = '123456'; // Act - const result = await createOctoClient(token); + const result = await createOctokitClient(token); // Assert expect(result.request.endpoint.DEFAULTS.baseUrl).toBe('https://api.github.com'); @@ -47,7 +47,7 @@ describe('Test createOctoClient', () => { const token = '123456'; // Act - const result = await createOctoClient(token, enterpriseServer); + const result = await createOctokitClient(token, enterpriseServer); // Assert expect(result.request.endpoint.DEFAULTS.baseUrl).toBe(enterpriseServer); diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts b/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts index 143527aee1..25e2773031 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts +++ b/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts @@ -17,7 +17,7 @@ import { EndpointDefaults } from '@octokit/types'; const logger = createChildLogger('gh-auth'); -export async function createOctoClient(token: string, ghesApiUrl = ''): Promise { +export async function createOctokitClient(token: string, ghesApiUrl = ''): Promise { const CustomOctokit = Octokit.plugin(throttling); const ocktokitOptions: OctokitOptions = { auth: token, diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-octokit.test.ts b/lambdas/functions/control-plane/src/gh-auth/gh-octokit.test.ts new file mode 100644 index 0000000000..161b787dbb --- /dev/null +++ b/lambdas/functions/control-plane/src/gh-auth/gh-octokit.test.ts @@ -0,0 +1,76 @@ +import { Octokit } from '@octokit/rest'; +import { ActionRequestMessage } from '../scale-runners/scale-up'; +import { getOctokit } from './gh-octokit'; + +const mockOctokit = { + apps: { + getOrgInstallation: jest.fn(), + getRepoInstallation: jest.fn(), + }, +}; + +jest.mock('../gh-auth/gh-auth', () => ({ + createGithubInstallationAuth: jest.fn().mockImplementation(async (installationId) => { + return { token: 'token', type: 'installation', installationId: installationId }; + }), + createOctokitClient: jest.fn().mockImplementation(() => new (Octokit as jest.MockedClass)()), + createGithubAppAuth: jest.fn().mockResolvedValue({ token: 'token' }), +})); + +jest.mock('@octokit/rest', () => ({ + Octokit: jest.fn().mockImplementation(() => mockOctokit), +})); + +jest.mock('../gh-auth/gh-auth'); + +describe('Test getOctokit', () => { + const data = [ + { + description: 'Should look-up org installation if installationId is 0.', + input: { orgLevelRunner: false, installationId: 0 }, + output: { callReposInstallation: true, callOrgInstallation: false }, + }, + { + description: 'Should look-up org installation if installationId is 0.', + input: { orgLevelRunner: true, installationId: 0 }, + output: { callReposInstallation: false, callOrgInstallation: true }, + }, + { + description: 'Should not look-up org installation if provided in payload.', + input: { orgLevelRunner: true, installationId: 1 }, + output: { callReposInstallation: false, callOrgInstallation: false }, + }, + ]; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it.each(data)(`$description`, async ({ input, output }) => { + const payload = { + eventType: 'workflow_job', + id: 0, + installationId: input.installationId, + repositoryOwner: 'owner', + repositoryName: 'repo', + } as ActionRequestMessage; + + if (input.orgLevelRunner) { + mockOctokit.apps.getOrgInstallation.mockResolvedValue({ data: { id: 1 } }); + mockOctokit.apps.getRepoInstallation.mockRejectedValue(new Error('Error')); + } else { + mockOctokit.apps.getRepoInstallation.mockResolvedValue({ data: { id: 2 } }); + mockOctokit.apps.getOrgInstallation.mockRejectedValue(new Error('Error')); + } + + expect(await getOctokit('', input.orgLevelRunner, payload)).resolves; + + if (output.callOrgInstallation) { + expect(mockOctokit.apps.getOrgInstallation).toHaveBeenCalled(); + expect(mockOctokit.apps.getRepoInstallation).not.toHaveBeenCalled(); + } else if (output.callReposInstallation) { + expect(mockOctokit.apps.getRepoInstallation).toHaveBeenCalled(); + expect(mockOctokit.apps.getOrgInstallation).not.toHaveBeenCalled(); + } + }); +}); diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-octokit.ts b/lambdas/functions/control-plane/src/gh-auth/gh-octokit.ts new file mode 100644 index 0000000000..4fed2e17fe --- /dev/null +++ b/lambdas/functions/control-plane/src/gh-auth/gh-octokit.ts @@ -0,0 +1,46 @@ +import { Octokit } from '@octokit/rest'; +import { ActionRequestMessage } from '../scale-runners/scale-up'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from './gh-auth'; + +export async function getInstallationId( + ghesApiUrl: string, + enableOrgLevel: boolean, + payload: ActionRequestMessage, +): Promise { + if (payload.installationId !== 0) { + return payload.installationId; + } + + const ghAuth = await createGithubAppAuth(undefined, ghesApiUrl); + const githubClient = await createOctokitClient(ghAuth.token, ghesApiUrl); + return enableOrgLevel + ? ( + await githubClient.apps.getOrgInstallation({ + org: payload.repositoryOwner, + }) + ).data.id + : ( + await githubClient.apps.getRepoInstallation({ + owner: payload.repositoryOwner, + repo: payload.repositoryName, + }) + ).data.id; +} + +/** + * + * Util method to get an octokit client based on provided installation id. This method should + * phase out the usages of methods in gh-auth.ts outside of this module. Main purpose to make + * mocking of the octokit client easier. + * + * @returns ockokit client + */ +export async function getOctokit( + ghesApiUrl: string, + enableOrgLevel: boolean, + payload: ActionRequestMessage, +): Promise { + const installationId = await getInstallationId(ghesApiUrl, enableOrgLevel, payload); + const ghAuth = await createGithubInstallationAuth(installationId, ghesApiUrl); + return await createOctokitClient(ghAuth.token, ghesApiUrl); +} diff --git a/lambdas/functions/control-plane/src/lambda.test.ts b/lambdas/functions/control-plane/src/lambda.test.ts index ab87a5c968..dbb5acd964 100644 --- a/lambdas/functions/control-plane/src/lambda.test.ts +++ b/lambdas/functions/control-plane/src/lambda.test.ts @@ -2,12 +2,13 @@ import { captureLambdaHandler, logger } from '@terraform-aws-github-runner/aws-p import { Context, SQSEvent, SQSRecord } from 'aws-lambda'; import { mocked } from 'jest-mock'; -import { addMiddleware, adjustPool, scaleDownHandler, scaleUpHandler, ssmHousekeeper } from './lambda'; +import { addMiddleware, adjustPool, scaleDownHandler, scaleUpHandler, ssmHousekeeper, jobRetryCheck } from './lambda'; import { adjust } from './pool/pool'; import ScaleError from './scale-runners/ScaleError'; import { scaleDown } from './scale-runners/scale-down'; import { ActionRequestMessage, scaleUp } from './scale-runners/scale-up'; import { cleanSSMTokens } from './scale-runners/ssm-housekeeper'; +import { checkAndRetryJob } from './scale-runners/job-retry'; const body: ActionRequestMessage = { eventType: 'workflow_job', @@ -60,10 +61,11 @@ const context: Context = { }, }; -jest.mock('./scale-runners/scale-up'); -jest.mock('./scale-runners/scale-down'); jest.mock('./pool/pool'); +jest.mock('./scale-runners/scale-down'); +jest.mock('./scale-runners/scale-up'); jest.mock('./scale-runners/ssm-housekeeper'); +jest.mock('./scale-runners/job-retry'); jest.mock('@terraform-aws-github-runner/aws-powertools-util'); jest.mock('@terraform-aws-github-runner/aws-ssm-util'); @@ -189,9 +191,32 @@ describe('Test ssm housekeeper lambda wrapper.', () => { await expect(ssmHousekeeper({}, context)).resolves.not.toThrow(); }); - it('Errors not throwed.', async () => { + it('Errors not throws.', async () => { const mock = mocked(cleanSSMTokens); mock.mockRejectedValue(new Error()); await expect(ssmHousekeeper({}, context)).resolves.not.toThrow(); }); }); + +describe('Test job retry check wrapper', () => { + it('Handle without error should resolve.', async () => { + const mock = mocked(checkAndRetryJob); + mock.mockImplementation(() => { + return new Promise((resolve) => { + resolve(); + }); + }); + expect(await jobRetryCheck(sqsEvent, context)).resolves; + }); + + it('Handle with error should resolve and log only a warning.', async () => { + const logSpyWarn = jest.spyOn(logger, 'warn'); + + const mock = mocked(checkAndRetryJob); + const error = new Error('Error handling retry check.'); + mock.mockRejectedValue(error); + + expect(await jobRetryCheck(sqsEvent, context)).resolves; + expect(logSpyWarn).toHaveBeenCalledWith(expect.stringContaining(error.message), expect.anything()); + }); +}); diff --git a/lambdas/functions/control-plane/src/lambda.ts b/lambdas/functions/control-plane/src/lambda.ts index 0389483285..7ad82bbaf5 100644 --- a/lambdas/functions/control-plane/src/lambda.ts +++ b/lambdas/functions/control-plane/src/lambda.ts @@ -8,6 +8,7 @@ import ScaleError from './scale-runners/ScaleError'; import { scaleDown } from './scale-runners/scale-down'; import { scaleUp } from './scale-runners/scale-up'; import { SSMCleanupOptions, cleanSSMTokens } from './scale-runners/ssm-housekeeper'; +import { checkAndRetryJob } from './scale-runners/job-retry'; export async function scaleUpHandler(event: SQSEvent, context: Context): Promise { setContext(context, 'lambda.ts'); @@ -74,3 +75,15 @@ export async function ssmHousekeeper(event: unknown, context: Context): Promise< logger.error(`${(e as Error).message}`, { error: e as Error }); } } + +export async function jobRetryCheck(event: SQSEvent, context: Context): Promise { + setContext(context, 'lambda.ts'); + logger.logEventIfEnabled(event); + + for (const record of event.Records) { + const payload = JSON.parse(record.body); + await checkAndRetryJob(payload).catch((e) => { + logger.warn(`Error processing job retry: ${e.message}`, { error: e }); + }); + } +} diff --git a/lambdas/functions/control-plane/src/modules.d.ts b/lambdas/functions/control-plane/src/modules.d.ts index 38e1186bf0..319afa7755 100644 --- a/lambdas/functions/control-plane/src/modules.d.ts +++ b/lambdas/functions/control-plane/src/modules.d.ts @@ -4,6 +4,7 @@ declare namespace NodeJS { ENABLE_ON_DEMAND_FAILOVER_FOR_ERRORS: string; ENVIRONMENT: string; GHES_URL: string; + JOB_RETRY_CONFIG: string; LAUNCH_TEMPLATE_NAME: string; LOG_LEVEL: 'silly' | 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'; LOG_TYPE: 'json' | 'pretty' | 'hidden'; diff --git a/lambdas/functions/control-plane/src/pool/pool.test.ts b/lambdas/functions/control-plane/src/pool/pool.test.ts index fabcb47c23..64feb47044 100644 --- a/lambdas/functions/control-plane/src/pool/pool.test.ts +++ b/lambdas/functions/control-plane/src/pool/pool.test.ts @@ -35,7 +35,7 @@ const mockedAppAuth = mocked(ghAuth.createGithubAppAuth, { shallow: false, }); const mockedInstallationAuth = mocked(ghAuth.createGithubInstallationAuth, { shallow: false }); -const mockCreateClient = mocked(ghAuth.createOctoClient, { shallow: false }); +const mockCreateClient = mocked(ghAuth.createOctokitClient, { shallow: false }); const mockListRunners = mocked(listEC2Runners); const cleanEnv = process.env; diff --git a/lambdas/functions/control-plane/src/pool/pool.ts b/lambdas/functions/control-plane/src/pool/pool.ts index 736ac5ca47..543280641b 100644 --- a/lambdas/functions/control-plane/src/pool/pool.ts +++ b/lambdas/functions/control-plane/src/pool/pool.ts @@ -4,7 +4,7 @@ import yn from 'yn'; import { bootTimeExceeded, listEC2Runners } from '../aws/runners'; import { RunnerList } from '../aws/runners.d'; -import { createGithubAppAuth, createGithubInstallationAuth, createOctoClient } from '../gh-auth/gh-auth'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../gh-auth/gh-auth'; import { createRunners } from '../scale-runners/scale-up'; const logger = createChildLogger('pool'); @@ -50,7 +50,7 @@ export async function adjust(event: PoolEvent): Promise { const installationId = await getInstallationId(ghesApiUrl, runnerOwner); const ghAuth = await createGithubInstallationAuth(installationId, ghesApiUrl); - const githubInstallationClient = await createOctoClient(ghAuth.token, ghesApiUrl); + const githubInstallationClient = await createOctokitClient(ghAuth.token, ghesApiUrl); // Get statusses of runners registed in GitHub const runnerStatusses = await getGitHubRegisteredRunnnerStatusses( @@ -110,7 +110,7 @@ export async function adjust(event: PoolEvent): Promise { async function getInstallationId(ghesApiUrl: string, org: string): Promise { const ghAuth = await createGithubAppAuth(undefined, ghesApiUrl); - const githubClient = await createOctoClient(ghAuth.token, ghesApiUrl); + const githubClient = await createOctokitClient(ghAuth.token, ghesApiUrl); return ( await githubClient.apps.getOrgInstallation({ diff --git a/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts b/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts new file mode 100644 index 0000000000..9317e42292 --- /dev/null +++ b/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts @@ -0,0 +1,257 @@ +import { publishMessage } from '../aws/sqs'; +import { publishRetryMessage, checkAndRetryJob } from './job-retry'; +import { ActionRequestMessage, ActionRequestMessageRetry } from './scale-up'; +import { getOctokit } from '../gh-auth/gh-octokit'; +import { Octokit } from '@octokit/rest'; +import { mocked } from 'jest-mock'; +import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util'; + +jest.mock('../aws/sqs'); + +jest.mock('@terraform-aws-github-runner/aws-powertools-util', () => ({ + ...jest.requireActual('@terraform-aws-github-runner/aws-powertools-util'), + // eslint-disable-next-line @typescript-eslint/no-unused-vars + createSingleMetric: jest.fn((name: string, unit: string, value: number, dimensions?: Record) => { + return { + addMetadata: jest.fn(), + }; + }), +})); + +const cleanEnv = process.env; + +beforeEach(() => { + jest.clearAllMocks(); + process.env = { ...cleanEnv }; +}); + +const mockOctokit = { + actions: { + getJobForWorkflowRun: jest.fn(), + }, +}; + +jest.mock('@octokit/rest', () => ({ + Octokit: jest.fn().mockImplementation(() => mockOctokit), +})); +jest.mock('../gh-auth/gh-octokit'); + +const mockCreateOctokitClient = mocked(getOctokit, { shallow: false }); +mockCreateOctokitClient.mockResolvedValue(new (Octokit as jest.MockedClass)()); + +describe('Test job retry publish message', () => { + const data = [ + { + description: 'publish a message if retry is enabled and counter is undefined.', + input: { enable: true, retryCounter: undefined, maxAttempts: 2, delayInSeconds: 10 }, + output: { published: true, newRetryCounter: 0, delay: 10 }, + }, + { + description: 'publish a message if retry is enabled and counter is 1 and is below max attempts.', + input: { enable: true, retryCounter: 0, maxAttempts: 2, delayInSeconds: 10 }, + output: { published: true, newRetryCounter: 1, delay: 20 }, + }, + { + description: 'publish a message with delay exceeding sqs max.', + input: { enable: true, retryCounter: 0, maxAttempts: 2, delayInSeconds: 1000 }, + output: { published: true, newRetryCounter: 1, delay: 900 }, + }, + { + description: 'NOT publish a message if retry is enabled and counter is 1 and is NOT below max attempts.', + input: { enable: true, retryCounter: 0, delayInSeconds: 1000 }, + output: { published: false }, + }, + { + description: 'NOT publish a message if retry is NOT enabled.', + input: { enable: false }, + output: { published: false }, + }, + ]; + + it.each(data)(`should $description`, async ({ input, output }) => { + const message: ActionRequestMessage = { + eventType: 'workflow_job', + id: 0, + installationId: 0, + repositoryName: 'test', + repositoryOwner: 'philips-labs', + repoOwnerType: 'Organization', + retryCounter: input.retryCounter, + }; + const jobRetryConfig = { + enable: input.enable, + maxAttempts: input.maxAttempts, + delayInSeconds: input.delayInSeconds, + delayBackoff: 2, + queueUrl: 'https://sqs.eu-west-1.amazonaws.com/123456789/webhook_events_workflow_job_queue', + }; + process.env.JOB_RETRY_CONFIG = JSON.stringify(jobRetryConfig); + + // act + await publishRetryMessage(message); + + // assert + if (output.published) { + expect(publishMessage).toHaveBeenCalledWith( + JSON.stringify({ + ...message, + retryCounter: output.newRetryCounter, + }), + jobRetryConfig.queueUrl, + output.delay, + ); + } else { + expect(publishMessage).not.toHaveBeenCalled(); + } + }); + + it(`should not ignore and not throw if no retry configuration is set. `, async () => { + // setup + const message: ActionRequestMessage = { + eventType: 'workflow_job', + id: 0, + installationId: 0, + repositoryName: 'test', + repositoryOwner: 'philips-labs', + repoOwnerType: 'Organization', + }; + + // act + await expect(publishRetryMessage(message)).resolves.not.toThrow(); + expect(publishMessage).not.toHaveBeenCalled(); + }); +}); + +describe(`Test job retry check`, () => { + it(`should publish a message for retry if retry is enabled and counter is below max attempts.`, async () => { + // setup + mockOctokit.actions.getJobForWorkflowRun.mockImplementation(() => ({ + data: { + status: 'queued', + }, + })); + + const message: ActionRequestMessageRetry = { + eventType: 'workflow_job', + id: 0, + installationId: 0, + repositoryName: 'test', + repositoryOwner: 'philips-labs', + repoOwnerType: 'Organization', + retryCounter: 0, + }; + process.env.ENABLE_ORGANIZATION_RUNNERS = 'true'; + process.env.RUNNER_NAME_PREFIX = 'test'; + process.env.JOB_QUEUE_SCALE_UP_URL = + 'https://sqs.eu-west-1.amazonaws.com/123456789/webhook_events_workflow_job_queue'; + + // act + await checkAndRetryJob(message); + + // assert + expect(publishMessage).toHaveBeenCalledWith( + JSON.stringify({ + ...message, + }), + 'https://sqs.eu-west-1.amazonaws.com/123456789/webhook_events_workflow_job_queue', + ); + expect(createSingleMetric).not.toHaveBeenCalled(); + }); + + it(`should publish a message for retry if retry is enabled and counter is below max attempts.`, async () => { + // setup + mockOctokit.actions.getJobForWorkflowRun.mockImplementation(() => ({ + data: { + status: 'queued', + }, + })); + + const message: ActionRequestMessageRetry = { + eventType: 'workflow_job', + id: 0, + installationId: 0, + repositoryName: 'test', + repositoryOwner: 'philips-labs', + repoOwnerType: 'Organization', + retryCounter: 1, + }; + + process.env.ENABLE_ORGANIZATION_RUNNERS = 'true'; + process.env.ENVIRONMENT = 'test'; + process.env.RUNNER_NAME_PREFIX = 'test'; + process.env.ENABLE_METRICS = 'true'; + process.env.JOB_QUEUE_SCALE_UP_URL = + 'https://sqs.eu-west-1.amazonaws.com/123456789/webhook_events_workflow_job_queue'; + + // act + await checkAndRetryJob(message); + + // assert + expect(publishMessage).toHaveBeenCalledWith( + JSON.stringify({ + ...message, + }), + 'https://sqs.eu-west-1.amazonaws.com/123456789/webhook_events_workflow_job_queue', + ); + expect(createSingleMetric).toHaveBeenCalled(); + expect(createSingleMetric).toHaveBeenCalledWith('RetryJob', 'Count', 1, { + Environment: 'test', + RetryCount: '1', + }); + }); + + it(`should not publish a message for retry when the job is running.`, async () => { + // setup + mockOctokit.actions.getJobForWorkflowRun.mockImplementation(() => ({ + data: { + status: 'running', + }, + })); + + const message: ActionRequestMessageRetry = { + eventType: 'workflow_job', + id: 0, + installationId: 0, + repositoryName: 'test', + repositoryOwner: 'philips-labs', + repoOwnerType: 'Organization', + retryCounter: 0, + }; + process.env.ENABLE_ORGANIZATION_RUNNERS = 'true'; + process.env.RUNNER_NAME_PREFIX = 'test'; + process.env.JOB_QUEUE_SCALE_UP_URL = + 'https://sqs.eu-west-1.amazonaws.com/123456789/webhook_events_workflow_job_queue'; + + // act + await checkAndRetryJob(message); + + // assert + expect(publishMessage).not.toHaveBeenCalled(); + }); + + it(`should not publish a message for retry if job is no longer queued.`, async () => { + // setup + mockOctokit.actions.getJobForWorkflowRun.mockImplementation(() => ({ + data: { + status: 'completed', + }, + })); + + const message: ActionRequestMessageRetry = { + eventType: 'workflow_job', + id: 0, + installationId: 0, + repositoryName: 'test', + repositoryOwner: 'philips-labs', + repoOwnerType: 'Organization', + retryCounter: 0, + }; + process.env.ENABLE_ORGANIZATION_RUNNERS = 'false'; + + // act + await checkAndRetryJob(message); + + // assert + expect(publishMessage).not.toHaveBeenCalled(); + }); +}); diff --git a/lambdas/functions/control-plane/src/scale-runners/job-retry.ts b/lambdas/functions/control-plane/src/scale-runners/job-retry.ts new file mode 100644 index 0000000000..6a2cbe5887 --- /dev/null +++ b/lambdas/functions/control-plane/src/scale-runners/job-retry.ts @@ -0,0 +1,90 @@ +import { + addPersistentContextToChildLogger, + createSingleMetric, + logger, +} from '@terraform-aws-github-runner/aws-powertools-util'; +import { publishMessage } from '../aws/sqs'; +import { ActionRequestMessage, ActionRequestMessageRetry, getGitHubEnterpriseApiUrl, isJobQueued } from './scale-up'; +import { getOctokit } from '../gh-auth/gh-octokit'; +import { MetricUnit } from '@aws-lambda-powertools/metrics'; +import yn from 'yn'; + +interface JobRetryConfig { + enable: boolean; + maxAttempts: number; + delayInSeconds: number; + delayBackoff: number; + queueUrl: string; +} + +export async function publishRetryMessage(payload: ActionRequestMessage): Promise { + if (process.env.JOB_RETRY_CONFIG === undefined) { + logger.debug('Job retry config not found, skipping retry'); + return; + } + + const jobRetryConfig = JSON.parse(process.env.JOB_RETRY_CONFIG) as JobRetryConfig; + payload.retryCounter = payload.retryCounter != undefined ? payload.retryCounter + 1 : 0; + + if (jobRetryConfig.enable && payload.retryCounter < jobRetryConfig.maxAttempts) { + logger.debug(`Job retry is enabled and retry counter is below max attempts, publishing message for retry`, { + message: payload, + config: jobRetryConfig, + }); + let delay = jobRetryConfig.delayInSeconds * Math.pow(jobRetryConfig.delayBackoff, payload.retryCounter); + delay = Math.min(delay, 900); // max delay of 15 minutes + await publishMessage(JSON.stringify(payload), jobRetryConfig.queueUrl, delay); + logger.info(`Messages published for retry check with a delay of: '${delay}' seconds`); + } else { + logger.debug(`Job retry is disabled or max attempts reached, skipping retry`, { payload }); + } +} + +export async function checkAndRetryJob(payload: ActionRequestMessageRetry): Promise { + const enableOrgLevel = yn(process.env.ENABLE_ORGANIZATION_RUNNERS, { default: true }); + const runnerType = enableOrgLevel ? 'Org' : 'Repo'; + const runnerOwner = enableOrgLevel ? payload.repositoryOwner : `${payload.repositoryOwner}/${payload.repositoryName}`; + const runnerNamePrefix = process.env.RUNNER_NAME_PREFIX ?? ''; + const jobQueueUrl = process.env.JOB_QUEUE_SCALE_UP_URL ?? ''; + const enableMetrics = yn(process.env.ENABLE_METRICS, { default: false }); + const environment = process.env.ENVIRONMENT; + + addPersistentContextToChildLogger({ + runner: { + type: runnerType, + owner: runnerOwner, + namePrefix: runnerNamePrefix, + }, + github: { + event: payload.eventType, + workflow_job_id: payload.id.toString(), + }, + }); + + logger.info(`Received event`); + + const { ghesApiUrl } = getGitHubEnterpriseApiUrl(); + const ghClient = await getOctokit(ghesApiUrl, enableOrgLevel, payload); + + // check job is still queued + if (await isJobQueued(ghClient, payload)) { + await publishMessage(JSON.stringify(payload), jobQueueUrl); + createMetric(enableMetrics, environment, payload); + logger.info(`Job is still queued, message published to build queue and will be handled by scale-up.`, { payload }); + } else { + logger.debug(`Job is no longer queued, skipping retry`, { payload }); + } +} + +function createMetric(enableMetrics: boolean, environment: string, payload: ActionRequestMessageRetry) { + if (enableMetrics) { + const metric = createSingleMetric('RetryJob', MetricUnit.Count, 1, { + Environment: environment, + RetryCount: payload.retryCounter?.toString(), + }); + metric.addMetadata('Environment', environment); + metric.addMetadata('RepositoryName', payload.repositoryName); + metric.addMetadata('RepositoryOwner', payload.repositoryOwner); + metric.addMetadata('RetryCounter', payload.retryCounter?.toString()); + } +} diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts index 925e4e4b10..c2255f8839 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts @@ -40,7 +40,7 @@ jest.mock('./cache'); const mocktokit = Octokit as jest.MockedClass; const mockedAppAuth = mocked(ghAuth.createGithubAppAuth, { shallow: false }); const mockedInstallationAuth = mocked(ghAuth.createGithubInstallationAuth, { shallow: false }); -const mockCreateClient = mocked(ghAuth.createOctoClient, { shallow: false }); +const mockCreateClient = mocked(ghAuth.createOctokitClient, { shallow: false }); const mockListRunners = mocked(listEC2Runners); const mockTagRunners = mocked(tag); const mockTerminateRunners = mocked(terminateRunner); diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts index eeef81d5d5..8b222b6a47 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts @@ -2,7 +2,7 @@ import { Octokit } from '@octokit/rest'; import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; import moment from 'moment'; -import { createGithubAppAuth, createGithubInstallationAuth, createOctoClient } from '../gh-auth/gh-auth'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../gh-auth/gh-auth'; import { bootTimeExceeded, listEC2Runners, tag, terminateRunner } from './../aws/runners'; import { RunnerInfo, RunnerList } from './../aws/runners.d'; import { GhRunners, githubCache } from './cache'; @@ -26,7 +26,7 @@ async function getOrCreateOctokit(runner: RunnerInfo): Promise { ghesApiUrl = `${ghesBaseUrl}/api/v3`; } const ghAuthPre = await createGithubAppAuth(undefined, ghesApiUrl); - const githubClientPre = await createOctoClient(ghAuthPre.token, ghesApiUrl); + const githubClientPre = await createOctokitClient(ghAuthPre.token, ghesApiUrl); const installationId = runner.type === 'Org' @@ -42,7 +42,7 @@ async function getOrCreateOctokit(runner: RunnerInfo): Promise { }) ).data.id; const ghAuth = await createGithubInstallationAuth(installationId, ghesApiUrl); - const octokit = await createOctoClient(ghAuth.token, ghesApiUrl); + const octokit = await createOctokitClient(ghAuth.token, ghesApiUrl); githubCache.clients.set(key, octokit); return octokit; diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts index 1382052baf..0376d70671 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts @@ -45,7 +45,7 @@ const RUNNER_TYPES: RunnerType[] = ['ephemeral', 'non-ephemeral']; const mocktokit = Octokit as jest.MockedClass; const mockedAppAuth = mocked(ghAuth.createGithubAppAuth, { shallow: false }); const mockedInstallationAuth = mocked(ghAuth.createGithubInstallationAuth, { shallow: false }); -const mockCreateClient = mocked(ghAuth.createOctoClient, { shallow: false }); +const mockCreateClient = mocked(ghAuth.createOctokitClient, { shallow: false }); const TEST_DATA: scaleUpModule.ActionRequestMessage = { id: 1, @@ -56,16 +56,6 @@ const TEST_DATA: scaleUpModule.ActionRequestMessage = { repoOwnerType: 'Organization', }; -// installationId 0 means no installationId is set. -const TEST_DATA_WITH_ZERO_INSTALL_ID: scaleUpModule.ActionRequestMessage = { - id: 3, - eventType: 'workflow_job', - repositoryName: 'hello-world', - repositoryOwner: 'Codertocat', - installationId: 0, - repoOwnerType: 'Organization', -}; - const cleanEnv = process.env; const EXPECTED_RUNNER_PARAMS: RunnerInputParameters = { @@ -260,28 +250,6 @@ describe('scaleUp with GHES', () => { expect(mockOctokit.actions.createRegistrationTokenForRepo).not.toBeCalled(); }); - it('does not retrieve installation id if already set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); - expect(mockOctokit.apps.getOrgInstallation).not.toBeCalled(); - expect(mockOctokit.apps.getRepoInstallation).not.toBeCalled(); - expect(appSpy).not.toBeCalled(); - expect(installationSpy).toBeCalledWith(TEST_DATA.installationId, 'https://github.enterprise.something/api/v3'); - }); - - it('retrieves installation id if not set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA_WITH_ZERO_INSTALL_ID); - expect(mockOctokit.apps.getRepoInstallation).not.toBeCalled(); - expect(appSpy).toHaveBeenCalledWith(undefined, 'https://github.enterprise.something/api/v3'); - expect(installationSpy).toHaveBeenCalledWith( - TEST_DATA.installationId, - 'https://github.enterprise.something/api/v3', - ); - }); - it('creates a runner with correct config', async () => { await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); expect(createRunner).toBeCalledWith(expectedRunnerParams); @@ -487,32 +455,6 @@ describe('scaleUp with GHES', () => { }); }); - it('does not retrieve installation id if already set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); - expect(mockOctokit.apps.getOrgInstallation).not.toBeCalled(); - expect(mockOctokit.apps.getRepoInstallation).not.toBeCalled(); - expect(appSpy).not.toBeCalled(); - expect(installationSpy).toBeCalledWith(TEST_DATA.installationId, 'https://github.enterprise.something/api/v3'); - }); - - it('retrieves installation id if not set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA_WITH_ZERO_INSTALL_ID); - expect(mockOctokit.apps.getOrgInstallation).not.toBeCalled(); - expect(mockOctokit.apps.getRepoInstallation).toBeCalledWith({ - owner: TEST_DATA.repositoryOwner, - repo: TEST_DATA.repositoryName, - }); - expect(appSpy).toHaveBeenCalledWith(undefined, 'https://github.enterprise.something/api/v3'); - expect(installationSpy).toHaveBeenCalledWith( - TEST_DATA.installationId, - 'https://github.enterprise.something/api/v3', - ); - }); - it('creates a runner with correct config and labels', async () => { process.env.RUNNER_LABELS = 'label1,label2'; await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); @@ -556,26 +498,6 @@ describe('scaleUp with public GH', () => { expect(mockOctokit.actions.getJobForWorkflowRun).not.toBeCalled(); }); - it('does not retrieve installation id if already set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); - expect(mockOctokit.apps.getOrgInstallation).not.toBeCalled(); - expect(mockOctokit.apps.getRepoInstallation).not.toBeCalled(); - expect(appSpy).not.toBeCalled(); - expect(installationSpy).toBeCalledWith(TEST_DATA.installationId, ''); - }); - - it('retrieves installation id if not set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA_WITH_ZERO_INSTALL_ID); - expect(mockOctokit.apps.getOrgInstallation).toBeCalled(); - expect(mockOctokit.apps.getRepoInstallation).not.toBeCalled(); - expect(appSpy).toHaveBeenCalledWith(undefined, ''); - expect(installationSpy).toHaveBeenCalledWith(TEST_DATA.installationId, ''); - }); - it('does not list runners when no workflows are queued', async () => { mockOctokit.actions.getJobForWorkflowRun.mockImplementation(() => ({ data: { status: 'completed' }, @@ -664,26 +586,6 @@ describe('scaleUp with public GH', () => { }); }); - it('does not retrieve installation id if already set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); - expect(mockOctokit.apps.getOrgInstallation).not.toBeCalled(); - expect(mockOctokit.apps.getRepoInstallation).not.toBeCalled(); - expect(appSpy).not.toBeCalled(); - expect(installationSpy).toBeCalledWith(TEST_DATA.installationId, ''); - }); - - it('retrieves installation id if not set', async () => { - const appSpy = jest.spyOn(ghAuth, 'createGithubAppAuth'); - const installationSpy = jest.spyOn(ghAuth, 'createGithubInstallationAuth'); - await scaleUpModule.scaleUp('aws:sqs', TEST_DATA_WITH_ZERO_INSTALL_ID); - expect(mockOctokit.apps.getOrgInstallation).not.toBeCalled(); - expect(mockOctokit.apps.getRepoInstallation).toBeCalled(); - expect(appSpy).toHaveBeenCalledWith(undefined, ''); - expect(installationSpy).toHaveBeenCalledWith(TEST_DATA.installationId, ''); - }); - it('creates a runner with correct config and labels', async () => { process.env.RUNNER_LABELS = 'label1,label2'; await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts index 26cb538445..6503a1255e 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts @@ -3,10 +3,11 @@ import { addPersistentContextToChildLogger, createChildLogger } from '@terraform import { getParameter, putParameter } from '@terraform-aws-github-runner/aws-ssm-util'; import yn from 'yn'; -import { createGithubAppAuth, createGithubInstallationAuth, createOctoClient } from '../gh-auth/gh-auth'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../gh-auth/gh-auth'; import { createRunner, listEC2Runners } from './../aws/runners'; import { RunnerInputParameters } from './../aws/runners.d'; import ScaleError from './ScaleError'; +import { publishRetryMessage } from './job-retry'; const logger = createChildLogger('scale-up'); @@ -28,6 +29,11 @@ export interface ActionRequestMessage { repositoryOwner: string; installationId: number; repoOwnerType: string; + retryCounter?: number; +} + +export interface ActionRequestMessageRetry extends ActionRequestMessage { + retryCounter: number; } interface CreateGitHubRunnerConfig { @@ -103,7 +109,7 @@ function removeTokenFromLogging(config: string[]): string[] { return result; } -async function getInstallationId( +export async function getInstallationId( ghesApiUrl: string, enableOrgLevel: boolean, payload: ActionRequestMessage, @@ -113,7 +119,7 @@ async function getInstallationId( } const ghAuth = await createGithubAppAuth(undefined, ghesApiUrl); - const githubClient = await createOctoClient(ghAuth.token, ghesApiUrl); + const githubClient = await createOctokitClient(ghAuth.token, ghesApiUrl); return enableOrgLevel ? ( await githubClient.apps.getOrgInstallation({ @@ -128,7 +134,7 @@ async function getInstallationId( ).data.id; } -async function isJobQueued(githubInstallationClient: Octokit, payload: ActionRequestMessage): Promise { +export async function isJobQueued(githubInstallationClient: Octokit, payload: ActionRequestMessage): Promise { let isQueued = false; if (payload.eventType === 'workflow_job') { const jobForWorkflowRun = await githubInstallationClient.actions.getJobForWorkflowRun({ @@ -140,9 +146,6 @@ async function isJobQueued(githubInstallationClient: Octokit, payload: ActionReq } else { throw Error(`Event ${payload.eventType} is not supported`); } - if (!isQueued) { - logger.warn(`Job not queued in GitHub. A new runner instance will NOT be created for this job.`); - } return isQueued; } @@ -224,7 +227,6 @@ export async function scaleUp(eventSource: string, payload: ActionRequestMessage const runnerLabels = process.env.RUNNER_LABELS || ''; const runnerGroup = process.env.RUNNER_GROUP_NAME || 'Default'; const environment = process.env.ENVIRONMENT; - const ghesBaseUrl = process.env.GHES_URL; const ssmTokenPath = process.env.SSM_TOKEN_PATH; const subnets = process.env.SUBNET_IDS.split(','); const instanceTypes = process.env.INSTANCE_TYPES.split(','); @@ -279,14 +281,12 @@ export async function scaleUp(eventSource: string, payload: ActionRequestMessage logger.info(`Received event`); - let ghesApiUrl = ''; - if (ghesBaseUrl) { - ghesApiUrl = `${ghesBaseUrl}/api/v3`; - } + const { ghesApiUrl, ghesBaseUrl } = getGitHubEnterpriseApiUrl(); const installationId = await getInstallationId(ghesApiUrl, enableOrgLevel, payload); const ghAuth = await createGithubInstallationAuth(installationId, ghesApiUrl); - const githubInstallationClient = await createOctoClient(ghAuth.token, ghesApiUrl); + const githubInstallationClient = await createOctokitClient(ghAuth.token, ghesApiUrl); + if (!enableJobQueuedCheck || (await isJobQueued(githubInstallationClient, payload))) { let scaleUp = true; if (maximumRunners !== -1) { @@ -332,14 +332,28 @@ export async function scaleUp(eventSource: string, payload: ActionRequestMessage }, githubInstallationClient, ); + + await publishRetryMessage(payload); } else { logger.info('No runner will be created, maximum number of runners reached.'); if (ephemeral) { throw new ScaleError('No runners create: maximum of runners reached.'); } } + } else { + logger.info('No runner will be created, job is not queued.'); } } + +export function getGitHubEnterpriseApiUrl() { + const ghesBaseUrl = process.env.GHES_URL; + let ghesApiUrl = ''; + if (ghesBaseUrl) { + ghesApiUrl = `${ghesBaseUrl}/api/v3`; + } + return { ghesApiUrl, ghesBaseUrl }; +} + async function createStartRunnerConfig( githubRunnerConfig: CreateGitHubRunnerConfig, instances: string[], diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 450fc934d2..51d4235008 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -2913,15 +2913,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:19.5.6": - version: 19.5.6 - resolution: "@nrwl/devkit@npm:19.5.6" - dependencies: - "@nx/devkit": "npm:19.5.6" - checksum: 10c0/3ef7efed315f6c1544616f4f645516cad8516d848261bff85463c42212ece678e3c9af94774bdbef3016fe744c9ae66dcd1d48b1719f93e6a0eea9a0407c226b - languageName: node - linkType: hard - "@nrwl/devkit@npm:19.5.7": version: 19.5.7 resolution: "@nrwl/devkit@npm:19.5.7" @@ -2949,15 +2940,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/js@npm:19.5.6": - version: 19.5.6 - resolution: "@nrwl/js@npm:19.5.6" - dependencies: - "@nx/js": "npm:19.5.6" - checksum: 10c0/adddba088706b1bc25fa846179f8b83764e66bb3f17659505bfc073d23b833327e0a8adf0897bb96a694b9e34aa8ca46b4b8cf32dfa93d9891e712596ed094b7 - languageName: node - linkType: hard - "@nrwl/js@npm:19.5.7": version: 19.5.7 resolution: "@nrwl/js@npm:19.5.7" @@ -2979,18 +2961,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/tao@npm:19.5.6": - version: 19.5.6 - resolution: "@nrwl/tao@npm:19.5.6" - dependencies: - nx: "npm:19.5.6" - tslib: "npm:^2.3.0" - bin: - tao: index.js - checksum: 10c0/31d698d408e12e84b392c71ff82eea288ba0a15582d413460efac3bed932555b72d4812aa5783fe7e8eaee44777be472702403eb662551e33279e807dafb5484 - languageName: node - linkType: hard - "@nrwl/tao@npm:19.5.7": version: 19.5.7 resolution: "@nrwl/tao@npm:19.5.7" @@ -3012,15 +2982,6 @@ __metadata: languageName: node linkType: hard -"@nrwl/workspace@npm:19.5.6": - version: 19.5.6 - resolution: "@nrwl/workspace@npm:19.5.6" - dependencies: - "@nx/workspace": "npm:19.5.6" - checksum: 10c0/92969c911c370ae1df5fe49febe86cfd94a9a4d2265b6dffddae10ef100f7e336c0391be9ece1dc7ee5de068064973fd75ff1823127c78d3d8465e27a9356de8 - languageName: node - linkType: hard - "@nrwl/workspace@npm:19.5.7": version: 19.5.7 resolution: "@nrwl/workspace@npm:19.5.7" @@ -3049,25 +3010,6 @@ __metadata: languageName: node linkType: hard -"@nx/devkit@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/devkit@npm:19.5.6" - dependencies: - "@nrwl/devkit": "npm:19.5.6" - ejs: "npm:^3.1.7" - enquirer: "npm:~2.3.6" - ignore: "npm:^5.0.4" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.3" - tmp: "npm:~0.2.1" - tslib: "npm:^2.3.0" - yargs-parser: "npm:21.1.1" - peerDependencies: - nx: ">= 17 <= 20" - checksum: 10c0/1c132cead5b3d6ce47dc234a0660717997ebd3d54764a8840a34e70e33319adbb0a8d0ea2af8a160f185165f1af046af755cb8711abe79f9f993943de2332790 - languageName: node - linkType: hard - "@nx/devkit@npm:19.5.7": version: 19.5.7 resolution: "@nx/devkit@npm:19.5.7" @@ -3172,49 +3114,7 @@ __metadata: languageName: node linkType: hard -"@nx/js@npm:19.5.6, @nx/js@npm:^19.5.4": - version: 19.5.6 - resolution: "@nx/js@npm:19.5.6" - dependencies: - "@babel/core": "npm:^7.23.2" - "@babel/plugin-proposal-decorators": "npm:^7.22.7" - "@babel/plugin-transform-class-properties": "npm:^7.22.5" - "@babel/plugin-transform-runtime": "npm:^7.23.2" - "@babel/preset-env": "npm:^7.23.2" - "@babel/preset-typescript": "npm:^7.22.5" - "@babel/runtime": "npm:^7.22.6" - "@nrwl/js": "npm:19.5.6" - "@nx/devkit": "npm:19.5.6" - "@nx/workspace": "npm:19.5.6" - babel-plugin-const-enum: "npm:^1.0.1" - babel-plugin-macros: "npm:^2.8.0" - babel-plugin-transform-typescript-metadata: "npm:^0.3.1" - chalk: "npm:^4.1.0" - columnify: "npm:^1.6.0" - detect-port: "npm:^1.5.1" - fast-glob: "npm:3.2.7" - fs-extra: "npm:^11.1.0" - ignore: "npm:^5.0.4" - js-tokens: "npm:^4.0.0" - minimatch: "npm:9.0.3" - npm-package-arg: "npm:11.0.1" - npm-run-path: "npm:^4.0.1" - ora: "npm:5.3.0" - semver: "npm:^7.5.3" - source-map-support: "npm:0.5.19" - ts-node: "npm:10.9.1" - tsconfig-paths: "npm:^4.1.2" - tslib: "npm:^2.3.0" - peerDependencies: - verdaccio: ^5.0.4 - peerDependenciesMeta: - verdaccio: - optional: true - checksum: 10c0/6526781657c5625f4b3ffcd2034c0a4a08982d8aa9d1f2ab5fde5025cf93e0a2ca9aca73b6172d0fbb89552f1e4177071f7167556dc6eacc63edfe401806d0b7 - languageName: node - linkType: hard - -"@nx/js@npm:19.5.7": +"@nx/js@npm:19.5.7, @nx/js@npm:^19.5.4": version: 19.5.7 resolution: "@nx/js@npm:19.5.7" dependencies: @@ -3272,13 +3172,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-darwin-arm64@npm:19.5.6" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@nx/nx-darwin-arm64@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-darwin-arm64@npm:19.5.7" @@ -3293,13 +3186,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-darwin-x64@npm:19.5.6" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@nx/nx-darwin-x64@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-darwin-x64@npm:19.5.7" @@ -3314,13 +3200,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-freebsd-x64@npm:19.5.6" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@nx/nx-freebsd-x64@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-freebsd-x64@npm:19.5.7" @@ -3335,13 +3214,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.6" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@nx/nx-linux-arm-gnueabihf@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.7" @@ -3356,13 +3228,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.6" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@nx/nx-linux-arm64-gnu@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.7" @@ -3377,13 +3242,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-linux-arm64-musl@npm:19.5.6" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@nx/nx-linux-arm64-musl@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-linux-arm64-musl@npm:19.5.7" @@ -3398,13 +3256,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-linux-x64-gnu@npm:19.5.6" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@nx/nx-linux-x64-gnu@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-linux-x64-gnu@npm:19.5.7" @@ -3419,13 +3270,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-linux-x64-musl@npm:19.5.6" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@nx/nx-linux-x64-musl@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-linux-x64-musl@npm:19.5.7" @@ -3440,13 +3284,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.6" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@nx/nx-win32-arm64-msvc@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.7" @@ -3461,13 +3298,6 @@ __metadata: languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/nx-win32-x64-msvc@npm:19.5.6" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@nx/nx-win32-x64-msvc@npm:19.5.7": version: 19.5.7 resolution: "@nx/nx-win32-x64-msvc@npm:19.5.7" @@ -3490,21 +3320,6 @@ __metadata: languageName: node linkType: hard -"@nx/workspace@npm:19.5.6": - version: 19.5.6 - resolution: "@nx/workspace@npm:19.5.6" - dependencies: - "@nrwl/workspace": "npm:19.5.6" - "@nx/devkit": "npm:19.5.6" - chalk: "npm:^4.1.0" - enquirer: "npm:~2.3.6" - nx: "npm:19.5.6" - tslib: "npm:^2.3.0" - yargs-parser: "npm:21.1.1" - checksum: 10c0/be5a122d9bfacdcb2b340d10ae4721c5d681e7ff9e06e17a86dc375a56a6cf6680ea93a9c50cc7a4c8fa48fdc82e6902cde3af0ad3a5cf74dd0f08ddab0af742 - languageName: node - linkType: hard - "@nx/workspace@npm:19.5.7": version: 19.5.7 resolution: "@nx/workspace@npm:19.5.7" @@ -4814,6 +4629,7 @@ __metadata: resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" dependencies: "@aws-sdk/client-ec2": "npm:^3.629.0" + "@aws-sdk/client-sqs": "npm:^3.629.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.1" @@ -9356,91 +9172,6 @@ __metadata: languageName: node linkType: hard -"nx@npm:19.5.6": - version: 19.5.6 - resolution: "nx@npm:19.5.6" - dependencies: - "@napi-rs/wasm-runtime": "npm:0.2.4" - "@nrwl/tao": "npm:19.5.6" - "@nx/nx-darwin-arm64": "npm:19.5.6" - "@nx/nx-darwin-x64": "npm:19.5.6" - "@nx/nx-freebsd-x64": "npm:19.5.6" - "@nx/nx-linux-arm-gnueabihf": "npm:19.5.6" - "@nx/nx-linux-arm64-gnu": "npm:19.5.6" - "@nx/nx-linux-arm64-musl": "npm:19.5.6" - "@nx/nx-linux-x64-gnu": "npm:19.5.6" - "@nx/nx-linux-x64-musl": "npm:19.5.6" - "@nx/nx-win32-arm64-msvc": "npm:19.5.6" - "@nx/nx-win32-x64-msvc": "npm:19.5.6" - "@yarnpkg/lockfile": "npm:^1.1.0" - "@yarnpkg/parsers": "npm:3.0.0-rc.46" - "@zkochan/js-yaml": "npm:0.0.7" - axios: "npm:^1.7.2" - chalk: "npm:^4.1.0" - cli-cursor: "npm:3.1.0" - cli-spinners: "npm:2.6.1" - cliui: "npm:^8.0.1" - dotenv: "npm:~16.4.5" - dotenv-expand: "npm:~11.0.6" - enquirer: "npm:~2.3.6" - figures: "npm:3.2.0" - flat: "npm:^5.0.2" - front-matter: "npm:^4.0.2" - fs-extra: "npm:^11.1.0" - ignore: "npm:^5.0.4" - jest-diff: "npm:^29.4.1" - jsonc-parser: "npm:3.2.0" - lines-and-columns: "npm:~2.0.3" - minimatch: "npm:9.0.3" - node-machine-id: "npm:1.1.12" - npm-run-path: "npm:^4.0.1" - open: "npm:^8.4.0" - ora: "npm:5.3.0" - semver: "npm:^7.5.3" - string-width: "npm:^4.2.3" - strong-log-transformer: "npm:^2.1.0" - tar-stream: "npm:~2.2.0" - tmp: "npm:~0.2.1" - tsconfig-paths: "npm:^4.1.2" - tslib: "npm:^2.3.0" - yargs: "npm:^17.6.2" - yargs-parser: "npm:21.1.1" - peerDependencies: - "@swc-node/register": ^1.8.0 - "@swc/core": ^1.3.85 - dependenciesMeta: - "@nx/nx-darwin-arm64": - optional: true - "@nx/nx-darwin-x64": - optional: true - "@nx/nx-freebsd-x64": - optional: true - "@nx/nx-linux-arm-gnueabihf": - optional: true - "@nx/nx-linux-arm64-gnu": - optional: true - "@nx/nx-linux-arm64-musl": - optional: true - "@nx/nx-linux-x64-gnu": - optional: true - "@nx/nx-linux-x64-musl": - optional: true - "@nx/nx-win32-arm64-msvc": - optional: true - "@nx/nx-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@swc-node/register": - optional: true - "@swc/core": - optional: true - bin: - nx: bin/nx.js - nx-cloud: bin/nx-cloud.js - checksum: 10c0/3008a43300560284fc4dc4c7a06047882f7d5fff54c6fc700587c1d58ccca74fbd64cd2cbf5483d27c30f0f9ee187f100e999a1aef85c2fd4796317953dcd11d - languageName: node - linkType: hard - "nx@npm:19.5.7": version: 19.5.7 resolution: "nx@npm:19.5.7" diff --git a/main.tf b/main.tf index b1a0e6bbea..f23f2a3ebe 100644 --- a/main.tf +++ b/main.tf @@ -292,6 +292,13 @@ module "runners" { ssm_housekeeper = var.runners_ssm_housekeeper ebs_optimized = var.runners_ebs_optimized + + metrics_config = { + namespace = var.metrics_namespace + enable = var.enable_metrics_control_plane + } + + job_retry = var.job_retry } module "runner_binaries" { diff --git a/mkdocs.yaml b/mkdocs.yaml index 75aa49a1f6..2196433e13 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -43,6 +43,9 @@ markdown_extensions: - pymdownx.snippets: check_paths: true - pymdownx.emoji: + - admonition + - pymdownx.details + - pymdownx.superfences nav: - Introduction: index.md @@ -69,6 +72,7 @@ nav: - ARM64: examples/arm64.md - Windows: examples/windows.md - Custom AMI: examples/prebuilt.md + - Termination watcher: examples/termination-watcher.md - Lambda download: examples/lambda-download.md - Permissions boundary: examples/permissions-boundary.md - AMI examples: ami-examples/index.md diff --git a/modules/multi-runner/README.md b/modules/multi-runner/README.md index 839ee22801..c3bb9ae179 100644 --- a/modules/multi-runner/README.md +++ b/modules/multi-runner/README.md @@ -130,6 +130,7 @@ module "multi-runner" { | [cloudwatch\_config](#input\_cloudwatch\_config) | (optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details. | `string` | `null` | no | | [enable\_ami\_housekeeper](#input\_enable\_ami\_housekeeper) | Option to disable the lambda to clean up old AMIs. | `bool` | `false` | no | | [enable\_managed\_runner\_security\_group](#input\_enable\_managed\_runner\_security\_group) | Enabling the default managed security group creation. Unmanaged security groups can be specified via `runner_additional_security_group_ids`. | `bool` | `true` | no | +| [enable\_metrics\_control\_plane](#input\_enable\_metrics\_control\_plane) | (Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release. | `bool` | `false` | no | | [enable\_workflow\_job\_events\_queue](#input\_enable\_workflow\_job\_events\_queue) | Enabling this experimental feature will create a secondory sqs queue to wich a copy of the workflow\_job event will be delivered. | `bool` | `false` | no | | [ghes\_ssl\_verify](#input\_ghes\_ssl\_verify) | GitHub Enterprise SSL verification. Set to 'false' when custom certificate (chains) is used for GitHub Enterprise Server (insecure). | `bool` | `true` | no | | [ghes\_url](#input\_ghes\_url) | GitHub Enterprise Server URL. Example: https://github.internal.co - DO NOT SET IF USING PUBLIC GITHUB | `string` | `null` | no | @@ -150,7 +151,7 @@ module "multi-runner" { | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | | [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `"GitHub Runners"` | no | -| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
    runner\_config: {
    runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
    runner\_architecture: "The platform architecture of the runner instance\_type."
    runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
    ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
    ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
    create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
    credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
    delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
    disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
    ebs\_optimized: "The EC2 EBS optimized configuration."
    enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
    enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
    enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
    enable\_organization\_runners: "Register runners to organization, instead of repo level"
    enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
    enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
    enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
    instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
    instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
    instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
    instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
    job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
    minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
    pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
    runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
    runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
    runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
    runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
    runner\_group\_name: "Name of the runner group."
    runner\_name\_prefix: "Prefix for the GitHub runner name."
    runner\_run\_as: "Run the GitHub actions agent as user."
    runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
    scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
    scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
    userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
    enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
    enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
    enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
    cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
    userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
    runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
    runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
    vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
    subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
    idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
    runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
    pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)."
    }
    matcherConfig: {
    labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
    exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
    priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
    }
    fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
    redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
    } |
    map(object({
    runner_config = object({
    runner_os = string
    runner_architecture = string
    runner_metadata_options = optional(map(any), {
    instance_metadata_tags = "enabled"
    http_endpoint = "enabled"
    http_tokens = "required"
    http_put_response_hop_limit = 1
    })
    ami_filter = optional(map(list(string)), { state = ["available"] })
    ami_owners = optional(list(string), ["amazon"])
    ami_id_ssm_parameter_name = optional(string, null)
    ami_kms_key_arn = optional(string, "")
    create_service_linked_role_spot = optional(bool, false)
    credit_specification = optional(string, null)
    delay_webhook_event = optional(number, 30)
    disable_runner_autoupdate = optional(bool, false)
    ebs_optimized = optional(bool, false)
    enable_ephemeral_runners = optional(bool, false)
    enable_job_queued_check = optional(bool, null)
    enable_on_demand_failover_for_errors = optional(list(string), [])
    enable_organization_runners = optional(bool, false)
    enable_runner_binaries_syncer = optional(bool, true)
    enable_ssm_on_runners = optional(bool, false)
    enable_userdata = optional(bool, true)
    instance_allocation_strategy = optional(string, "lowest-price")
    instance_max_spot_price = optional(string, null)
    instance_target_capacity_type = optional(string, "spot")
    instance_types = list(string)
    job_queue_retention_in_seconds = optional(number, 86400)
    minimum_running_time_in_minutes = optional(number, null)
    pool_runner_owner = optional(string, null)
    runner_as_root = optional(bool, false)
    runner_boot_time_in_minutes = optional(number, 5)
    runner_extra_labels = optional(list(string), [])
    runner_group_name = optional(string, "Default")
    runner_name_prefix = optional(string, "")
    runner_run_as = optional(string, "ec2-user")
    runners_maximum_count = number
    runner_additional_security_group_ids = optional(list(string), [])
    scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
    scale_up_reserved_concurrent_executions = optional(number, 1)
    userdata_template = optional(string, null)
    userdata_content = optional(string, null)
    enable_jit_config = optional(bool, null)
    enable_runner_detailed_monitoring = optional(bool, false)
    enable_cloudwatch_agent = optional(bool, true)
    cloudwatch_config = optional(string, null)
    userdata_pre_install = optional(string, "")
    userdata_post_install = optional(string, "")
    runner_ec2_tags = optional(map(string), {})
    runner_iam_role_managed_policy_arns = optional(list(string), [])
    vpc_id = optional(string, null)
    subnet_ids = optional(list(string), null)
    idle_config = optional(list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    })), [])
    runner_log_files = optional(list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    })), null)
    block_device_mappings = optional(list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    })), [{
    volume_size = 30
    }])
    pool_config = optional(list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    })), [])
    })

    matcherConfig = object({
    labelMatchers = list(list(string))
    exactMatch = optional(bool, false)
    priority = optional(number, 999)
    })
    fifo = optional(bool, false)
    redrive_build_queue = optional(object({
    enabled = bool
    maxReceiveCount = number
    }), {
    enabled = false
    maxReceiveCount = null
    })
    }))
    | n/a | yes | +| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
    runner\_config: {
    runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
    runner\_architecture: "The platform architecture of the runner instance\_type."
    runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
    ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
    ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
    create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
    credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
    delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
    disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
    ebs\_optimized: "The EC2 EBS optimized configuration."
    enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
    enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
    enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
    enable\_organization\_runners: "Register runners to organization, instead of repo level"
    enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
    enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
    enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
    instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
    instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
    instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
    instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
    job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
    minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
    pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
    runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
    runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
    runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
    runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
    runner\_group\_name: "Name of the runner group."
    runner\_name\_prefix: "Prefix for the GitHub runner name."
    runner\_run\_as: "Run the GitHub actions agent as user."
    runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
    scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
    scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
    userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
    enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
    enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
    enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
    cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
    userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
    runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
    runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
    vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
    subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
    idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
    runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
    job\_retry: "Experimental! Can be removed / changed without trigger a major release. Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app."
    pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)."
    }
    matcherConfig: {
    labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
    exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
    priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
    }
    fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
    redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
    } |
    map(object({
    runner_config = object({
    runner_os = string
    runner_architecture = string
    runner_metadata_options = optional(map(any), {
    instance_metadata_tags = "enabled"
    http_endpoint = "enabled"
    http_tokens = "required"
    http_put_response_hop_limit = 1
    })
    ami_filter = optional(map(list(string)), { state = ["available"] })
    ami_owners = optional(list(string), ["amazon"])
    ami_id_ssm_parameter_name = optional(string, null)
    ami_kms_key_arn = optional(string, "")
    create_service_linked_role_spot = optional(bool, false)
    credit_specification = optional(string, null)
    delay_webhook_event = optional(number, 30)
    disable_runner_autoupdate = optional(bool, false)
    ebs_optimized = optional(bool, false)
    enable_ephemeral_runners = optional(bool, false)
    enable_job_queued_check = optional(bool, null)
    enable_on_demand_failover_for_errors = optional(list(string), [])
    enable_organization_runners = optional(bool, false)
    enable_runner_binaries_syncer = optional(bool, true)
    enable_ssm_on_runners = optional(bool, false)
    enable_userdata = optional(bool, true)
    instance_allocation_strategy = optional(string, "lowest-price")
    instance_max_spot_price = optional(string, null)
    instance_target_capacity_type = optional(string, "spot")
    instance_types = list(string)
    job_queue_retention_in_seconds = optional(number, 86400)
    minimum_running_time_in_minutes = optional(number, null)
    pool_runner_owner = optional(string, null)
    runner_as_root = optional(bool, false)
    runner_boot_time_in_minutes = optional(number, 5)
    runner_extra_labels = optional(list(string), [])
    runner_group_name = optional(string, "Default")
    runner_name_prefix = optional(string, "")
    runner_run_as = optional(string, "ec2-user")
    runners_maximum_count = number
    runner_additional_security_group_ids = optional(list(string), [])
    scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
    scale_up_reserved_concurrent_executions = optional(number, 1)
    userdata_template = optional(string, null)
    userdata_content = optional(string, null)
    enable_jit_config = optional(bool, null)
    enable_runner_detailed_monitoring = optional(bool, false)
    enable_cloudwatch_agent = optional(bool, true)
    cloudwatch_config = optional(string, null)
    userdata_pre_install = optional(string, "")
    userdata_post_install = optional(string, "")
    runner_ec2_tags = optional(map(string), {})
    runner_iam_role_managed_policy_arns = optional(list(string), [])
    vpc_id = optional(string, null)
    subnet_ids = optional(list(string), null)
    idle_config = optional(list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    })), [])
    runner_log_files = optional(list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    })), null)
    block_device_mappings = optional(list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    })), [{
    volume_size = 30
    }])
    pool_config = optional(list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    })), [])
    job_retry = optional(object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_timeout = optional(number, 30)
    max_attempts = optional(number, 1)
    }), {})
    })
    matcherConfig = object({
    labelMatchers = list(list(string))
    exactMatch = optional(bool, false)
    priority = optional(number, 999)
    })
    fifo = optional(bool, false)
    redrive_build_queue = optional(object({
    enabled = bool
    maxReceiveCount = number
    }), {
    enabled = false
    maxReceiveCount = null
    })
    }))
    | n/a | yes | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | | [prefix](#input\_prefix) | The prefix used for naming resources | `string` | `"github-actions"` | no | diff --git a/modules/multi-runner/main.tf b/modules/multi-runner/main.tf index 68589248b8..22ec0df3ba 100644 --- a/modules/multi-runner/main.tf +++ b/modules/multi-runner/main.tf @@ -10,7 +10,7 @@ locals { runner_extra_labels = { for k, v in var.multi_runner_config : k => sort(setunion(flatten(v.matcherConfig.labelMatchers), compact(v.runner_config.runner_extra_labels))) } - runner_config = { for k, v in var.multi_runner_config : k => merge({ id = aws_sqs_queue.queued_builds[k].id, arn = aws_sqs_queue.queued_builds[k].arn }, merge(v, { runner_config = merge(v.runner_config, { runner_extra_labels = local.runner_extra_labels[k] }) })) } + runner_config = { for k, v in var.multi_runner_config : k => merge({ id = aws_sqs_queue.queued_builds[k].id, arn = aws_sqs_queue.queued_builds[k].arn, url = aws_sqs_queue.queued_builds[k].url }, merge(v, { runner_config = merge(v.runner_config, { runner_extra_labels = local.runner_extra_labels[k] }) })) } tmp_distinct_list_unique_os_and_arch = distinct([for i, config in local.runner_config : { "os_type" : config.runner_config.runner_os, "architecture" : config.runner_config.runner_architecture } if config.runner_config.enable_runner_binaries_syncer]) unique_os_and_arch = { for i, v in local.tmp_distinct_list_unique_os_and_arch : "${v.os_type}_${v.architecture}" => v } diff --git a/modules/multi-runner/runners.tf b/modules/multi-runner/runners.tf index 0c33020313..0fdfe272b4 100644 --- a/modules/multi-runner/runners.tf +++ b/modules/multi-runner/runners.tf @@ -31,7 +31,7 @@ module "runners" { ami_id_ssm_parameter_name = each.value.runner_config.ami_id_ssm_parameter_name ami_kms_key_arn = each.value.runner_config.ami_kms_key_arn - sqs_build_queue = { "arn" : each.value.arn } + sqs_build_queue = { "arn" : each.value.arn, "url" : each.value.url } github_app_parameters = local.github_app_parameters ebs_optimized = each.value.runner_config.ebs_optimized enable_on_demand_failover_for_errors = each.value.runner_config.enable_on_demand_failover_for_errors @@ -111,4 +111,11 @@ module "runners" { associate_public_ipv4_address = var.associate_public_ipv4_address ssm_housekeeper = var.runners_ssm_housekeeper + + job_retry = each.value.runner_config.job_retry + + metrics_config = { + namespace = var.metrics_namespace + enable = var.enable_metrics_control_plane + } } diff --git a/modules/multi-runner/variables.tf b/modules/multi-runner/variables.tf index 5bd1f52bfd..b19561309f 100644 --- a/modules/multi-runner/variables.tf +++ b/modules/multi-runner/variables.tf @@ -111,8 +111,15 @@ variable "multi_runner_config" { schedule_expression_timezone = optional(string) size = number })), []) + job_retry = optional(object({ + enable = optional(bool, false) + delay_in_seconds = optional(number, 300) + delay_backoff = optional(number, 2) + lambda_memory_size = optional(number, 256) + lambda_timeout = optional(number, 30) + max_attempts = optional(number, 1) + }), {}) }) - matcherConfig = object({ labelMatchers = list(list(string)) exactMatch = optional(bool, false) @@ -178,6 +185,7 @@ variable "multi_runner_config" { idle_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle." runner_log_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details." block_device_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`." + job_retry: "Experimental! Can be removed / changed without trigger a major release. Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app." pool_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)." } matcherConfig: { @@ -661,3 +669,9 @@ variable "matcher_config_parameter_store_tier" { error_message = "`matcher_config_parameter_store_tier` value is not valid, valid values are: `Standard`, and `Advanced`." } } + +variable "enable_metrics_control_plane" { + description = "(Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release." + type = bool + default = false +} diff --git a/modules/runners/README.md b/modules/runners/README.md index 92ac3512d7..15d0290982 100644 --- a/modules/runners/README.md +++ b/modules/runners/README.md @@ -63,6 +63,7 @@ yarn run dist | Name | Source | Version | |------|--------|---------| +| [job\_retry](#module\_job\_retry) | ./job-retry | n/a | | [pool](#module\_pool) | ./pool | n/a | ## Resources @@ -99,6 +100,7 @@ yarn run dist | [aws_iam_role_policy.ssm_housekeeper_logging](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.ssm_housekeeper_xray](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.ssm_parameters](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | +| [aws_iam_role_policy.webhook_workflow_job_sqs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy_attachment.ami_id_ssm_parameter_read](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.managed_policies](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.scale_down_vpc_execution_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | @@ -164,6 +166,7 @@ yarn run dist | [instance\_profile\_path](#input\_instance\_profile\_path) | The path that will be added to the instance\_profile, if not set the prefix will be used. | `string` | `null` | no | | [instance\_target\_capacity\_type](#input\_instance\_target\_capacity\_type) | Default lifecyle used runner instances, can be either `spot` or `on-demand`. | `string` | `"spot"` | no | | [instance\_types](#input\_instance\_types) | List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win). | `list(string)` | `null` | no | +| [job\_retry](#input\_job\_retry) | Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app.

    `enable`: Enable or disable the job retry feature.
    `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status.
    `delay_backoff`: The backoff factor for the delay.
    `lambda_memory_size`: Memory size limit in MB for the job retry check lambda.
    'lambda\_reserved\_concurrent\_executions': Amount of reserved concurrent executions for the job retry check lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations.
    `lambda_timeout`: Time out of the job retry check lambda in seconds.
    `max_attempts`: The maximum number of attempts to retry the job. |
    object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_reserved_concurrent_executions = optional(number, 1)

    lambda_timeout = optional(number, 30)

    max_attempts = optional(number, 1)
    })
    | `{}` | no | | [key\_name](#input\_key\_name) | Key pair name | `string` | `null` | no | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. | `string` | `null` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | @@ -181,6 +184,7 @@ yarn run dist | [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id) | Specifies the kms key id to encrypt the logs with | `string` | `null` | no | | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [metadata\_options](#input\_metadata\_options) | Metadata options for the ec2 runner instances. By default, the module uses metadata tags for bootstrapping the runner, only disable `instance_metadata_tags` when using custom scripts for starting the runner. | `map(any)` |
    {
    "http_endpoint": "enabled",
    "http_put_response_hop_limit": 1,
    "http_tokens": "required",
    "instance_metadata_tags": "enabled"
    }
    | no | +| [metrics\_config](#input\_metrics\_config) | Configuraiton to enable metrics creation by the lambdas. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    })
    | `{}` | no | | [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes) | The time an ec2 action runner should be running at minimum before terminated if non busy. If not set the default is calculated based on the OS. | `number` | `null` | no | | [overrides](#input\_overrides) | This map provides the possibility to override some defaults. The following attributes are supported: `name_sg` overrides the `Name` tag for all security groups created by this module. `name_runner_agent_instance` overrides the `Name` tag for the ec2 instance defined in the auto launch configuration. `name_docker_machine_runners` overrides the `Name` tag spot instances created by the runner agent. | `map(string)` |
    {
    "name_runner": "",
    "name_sg": ""
    }
    | no | | [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone ` to override the schedule time zone (defaults to UTC). |
    list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    }))
    | `[]` | no | @@ -209,7 +213,7 @@ yarn run dist | [s3\_runner\_binaries](#input\_s3\_runner\_binaries) | Bucket details for cached GitHub binary. |
    object({
    arn = string
    id = string
    key = string
    })
    | n/a | yes | | [scale\_down\_schedule\_expression](#input\_scale\_down\_schedule\_expression) | Scheduler expression to check every x for scale down. | `string` | `"cron(*/5 * * * ? *)"` | no | | [scale\_up\_reserved\_concurrent\_executions](#input\_scale\_up\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | -| [sqs\_build\_queue](#input\_sqs\_build\_queue) | SQS queue to consume accepted build events. |
    object({
    arn = string
    })
    | n/a | yes | +| [sqs\_build\_queue](#input\_sqs\_build\_queue) | SQS queue to consume accepted build events. |
    object({
    arn = string
    url = string
    })
    | n/a | yes | | [ssm\_housekeeper](#input\_ssm\_housekeeper) | Configuration for the SSM housekeeper lambda. This lambda deletes token / JIT config from SSM.

    `schedule_expression`: is used to configure the schedule for the lambda.
    `state`: state of the cloudwatch event rule. Valid values are `DISABLED`, `ENABLED`, and `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`.
    `lambda_memory_size`: lambda memery size limit.
    `lambda_timeout`: timeout for the lambda in seconds.
    `config`: configuration for the lambda function. Token path will be read by default from the module. |
    object({
    schedule_expression = optional(string, "rate(1 day)")
    state = optional(string, "ENABLED")
    lambda_memory_size = optional(number, 512)
    lambda_timeout = optional(number, 60)
    config = object({
    tokenPath = optional(string)
    minimumDaysOld = optional(number, 1)
    dryRun = optional(bool, false)
    })
    })
    |
    {
    "config": {}
    }
    | no | | [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secrets. |
    object({
    root = string
    tokens = string
    config = string
    })
    | n/a | yes | | [subnet\_ids](#input\_subnet\_ids) | List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. | `list(string)` | n/a | yes | diff --git a/modules/runners/job-retry.tf b/modules/runners/job-retry.tf new file mode 100644 index 0000000000..e4f04cd0c8 --- /dev/null +++ b/modules/runners/job-retry.tf @@ -0,0 +1,34 @@ + +locals { + job_retry_enabled = var.job_retry != null && var.job_retry.enable ? true : false + + job_retry = { + prefix = var.prefix + tags = local.tags + aws_partition = var.aws_partition + architecture = var.lambda_architecture + runtime = var.lambda_runtime + security_group_ids = var.lambda_security_group_ids + subnet_ids = var.lambda_subnet_ids + kms_key_arn = var.kms_key_arn + lambda_tags = var.lambda_tags + log_level = var.log_level + logging_kms_key_id = var.logging_kms_key_id + logging_retention_in_days = var.logging_retention_in_days + metrics_config = var.metrics_config + role_path = var.role_path + role_permissions_boundary = var.role_permissions_boundary + s3_bucket = var.lambda_s3_bucket + tracing_config = var.tracing_config + github_app_parameters = var.github_app_parameters + enable_organization_runners = var.enable_organization_runners + sqs_build_queue = var.sqs_build_queue + } +} + +module "job_retry" { + source = "./job-retry" + count = local.job_retry_enabled ? 1 : 0 + + config = local.job_retry +} diff --git a/modules/runners/job-retry/README.md b/modules/runners/job-retry/README.md new file mode 100644 index 0000000000..d0e2f81bf9 --- /dev/null +++ b/modules/runners/job-retry/README.md @@ -0,0 +1,53 @@ +# Module - Job Retry + +This module is listening to a SQS queue where the scale-up lambda publishes messages for jobs that needs to trigger a retry if still queued. The job retry module lambda function is handling the messages, checking if the job is queued. Next for queued jobs a message is published to the build queue for the scale-up lambda. The scale-up lambda will handle the message as any other workflow job event. + +## Usages + +The module is an inner module and used by the runner module when the opt-in feature for job retry is enabled. The module is not intended to be used standalone. + + + +## Requirements + +| Name | Version | +|------|---------| +| [terraform](#requirement\_terraform) | >= 1.3.0 | +| [aws](#requirement\_aws) | ~> 5.27 | + +## Providers + +| Name | Version | +|------|---------| +| [aws](#provider\_aws) | ~> 5.27 | + +## Modules + +| Name | Source | Version | +|------|--------|---------| +| [job\_retry](#module\_job\_retry) | ../../lambda | n/a | + +## Resources + +| Name | Type | +|------|------| +| [aws_iam_role_policy.job_retry](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | +| [aws_lambda_event_source_mapping.job_retry](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_event_source_mapping) | resource | +| [aws_lambda_permission.job_retry](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission) | resource | +| [aws_sqs_queue.job_retry_check_queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource | +| [aws_sqs_queue_policy.job_retry_check_queue_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) | resource | +| [aws_iam_policy_document.deny_unsecure_transport](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    'ghes\_url': Optional GitHub Enterprise Server URL.
    'github\_app\_parameters': Parameter Store for GitHub App Parameters.
    'kms\_key\_arn': Optional CMK Key ARN instead of using the default AWS managed key.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics_config`: Configuraiton to enable metrics creation by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    'sqs\_build\_queue': SQS queue for build events to re-publish job request.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_organization_runners = bool
    environment_variables = optional(map(string), {})
    ghes_url = optional(string, null)
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    kms_key_arn = optional(string, null)
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics_config = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    queue_encryption = optional(object({
    kms_data_key_reuse_period_seconds = optional(number, null)
    kms_master_key_id = optional(string, null)
    sqs_managed_sse_enabled = optional(bool, true)
    }), {})
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    sqs_build_queue = object({
    url = string
    arn = string
    })
    tags = optional(map(string), {})
    timeout = optional(number, 30)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | + +## Outputs + +| Name | Description | +|------|-------------| +| [job\_retry\_check\_queue](#output\_job\_retry\_check\_queue) | n/a | +| [lambda](#output\_lambda) | n/a | + diff --git a/modules/runners/job-retry/main.tf b/modules/runners/job-retry/main.tf new file mode 100644 index 0000000000..32b50f8298 --- /dev/null +++ b/modules/runners/job-retry/main.tf @@ -0,0 +1,95 @@ +locals { + lambda_zip = var.config.zip == null ? "${path.module}/../../../lambdas/functions/control-plane/runners.zip" : var.config.zip + name = "job-retry" + + environment_variables = { + ENABLE_ORGANIZATION_RUNNERS = var.config.enable_organization_runners + ENABLE_METRICS = var.config.metrics_config.enable + GHES_URL = var.config.ghes_url + JOB_QUEUE_SCALE_UP_URL = var.config.sqs_build_queue.url + PARAMETER_GITHUB_APP_ID_NAME = var.config.github_app_parameters.id.name + PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.config.github_app_parameters.key_base64.name + } + + config = merge(var.config, { + name = local.name, + handler = "index.jobRetryCheck", + zip = local.lambda_zip, + environment_variables = local.environment_variables + metrics_namespace = var.config.metrics_config.namespace + }) +} + +resource "aws_sqs_queue_policy" "job_retry_check_queue_policy" { + queue_url = aws_sqs_queue.job_retry_check_queue.id + policy = data.aws_iam_policy_document.deny_unsecure_transport.json +} + +resource "aws_sqs_queue" "job_retry_check_queue" { + name = "${var.config.prefix}-job-retrys" + visibility_timeout_seconds = local.config.timeout + + sqs_managed_sse_enabled = var.config.queue_encryption.sqs_managed_sse_enabled + kms_master_key_id = var.config.queue_encryption.kms_master_key_id + kms_data_key_reuse_period_seconds = var.config.queue_encryption.kms_data_key_reuse_period_seconds + + tags = var.config.tags +} + +module "job_retry" { + source = "../../lambda" + lambda = local.config +} + +resource "aws_lambda_event_source_mapping" "job_retry" { + event_source_arn = aws_sqs_queue.job_retry_check_queue.arn + function_name = module.job_retry.lambda.function.arn + batch_size = 1 +} + +resource "aws_lambda_permission" "job_retry" { + statement_id = "AllowExecutionFromSQS" + action = "lambda:InvokeFunction" + function_name = module.job_retry.lambda.function.function_name + principal = "sqs.amazonaws.com" + source_arn = aws_sqs_queue.job_retry_check_queue.arn +} + +resource "aws_iam_role_policy" "job_retry" { + name = "job_retry-policy" + role = module.job_retry.lambda.role.name + policy = templatefile("${path.module}/policies/lambda.json", { + kms_key_arn = var.config.kms_key_arn != null ? var.config.kms_key_arn : "" + sqs_build_queue_arn = var.config.sqs_build_queue.arn + sqs_job_retry_queue_arn = aws_sqs_queue.job_retry_check_queue.arn + github_app_id_arn = var.config.github_app_parameters.id.arn + github_app_key_base64_arn = var.config.github_app_parameters.key_base64.arn + }) +} + +data "aws_iam_policy_document" "deny_unsecure_transport" { + statement { + sid = "DenyUnsecureTransport" + + effect = "Deny" + + principals { + type = "AWS" + identifiers = ["*"] + } + + actions = [ + "sqs:*" + ] + + resources = [ + "*" + ] + + condition { + test = "Bool" + variable = "aws:SecureTransport" + values = ["false"] + } + } +} diff --git a/modules/runners/job-retry/outputs.tf b/modules/runners/job-retry/outputs.tf new file mode 100644 index 0000000000..38bb0d6030 --- /dev/null +++ b/modules/runners/job-retry/outputs.tf @@ -0,0 +1,11 @@ +output "lambda" { + value = { + function = module.job_retry.lambda + log_group = module.job_retry.lambda.log_group + role = module.job_retry.lambda.role + } +} + +output "job_retry_check_queue" { + value = aws_sqs_queue.job_retry_check_queue +} diff --git a/modules/runners/job-retry/policies/lambda.json b/modules/runners/job-retry/policies/lambda.json new file mode 100644 index 0000000000..591ec04790 --- /dev/null +++ b/modules/runners/job-retry/policies/lambda.json @@ -0,0 +1,43 @@ +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ssm:GetParameter" + ], + "Resource": [ + "${github_app_key_base64_arn}", + "${github_app_id_arn}" + ] + }, + { + "Effect": "Allow", + "Action": [ + "sqs:ReceiveMessage", + "sqs:GetQueueAttributes", + "sqs:DeleteMessage" + ], + "Resource": "${sqs_job_retry_queue_arn}" + }, + { + "Effect": "Allow", + "Action": [ + "sqs:SendMessage", + "sqs:GetQueueAttributes" + ], + "Resource": "${sqs_build_queue_arn}" +%{ if kms_key_arn != "" ~} + }, + { + "Effect": "Allow", + "Action": [ + "kms:Encrypt", + "kms:Decrypt", + "kms:GenerateDataKey" + ], + "Resource": "${kms_key_arn}" +%{ endif ~} + } + ] +} diff --git a/modules/runners/job-retry/variables.tf b/modules/runners/job-retry/variables.tf new file mode 100644 index 0000000000..1255cceb1c --- /dev/null +++ b/modules/runners/job-retry/variables.tf @@ -0,0 +1,84 @@ +variable "config" { + description = <<-EOF + Configuration for the spot termination watcher lambda function. + + `aws_partition`: Partition for the base arn if not 'aws' + `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86_64' functions. + `environment_variables`: Environment variables for the lambda. + `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning. + 'ghes_url': Optional GitHub Enterprise Server URL. + 'github_app_parameters': Parameter Store for GitHub App Parameters. + 'kms_key_arn': Optional CMK Key ARN instead of using the default AWS managed key. + `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing. + `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment. + `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'. + `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with + `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. + `memory_size`: Memory size linit in MB of the lambda. + `metrics_config`: Configuraiton to enable metrics creation by the lambda. + `prefix`: The prefix used for naming resources. + `role_path`: The path that will be added to the role, if not set the environment name will be used. + `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda. + `runtime`: AWS Lambda runtime. + `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly. + `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. + `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. + `security_group_ids`: List of security group IDs associated with the Lambda function. + 'sqs_build_queue': SQS queue for build events to re-publish job request. + `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. + `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked. + `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment. + `timeout`: Time out of the lambda in seconds. + `tracing_config`: Configuration for lambda tracing. + `zip`: File location of the lambda zip file. + EOF + type = object({ + aws_partition = optional(string, null) + architecture = optional(string, null) + enable_organization_runners = bool + environment_variables = optional(map(string), {}) + ghes_url = optional(string, null) + github_app_parameters = object({ + key_base64 = map(string) + id = map(string) + }) + kms_key_arn = optional(string, null) + lambda_tags = optional(map(string), {}) + log_level = optional(string, null) + logging_kms_key_id = optional(string, null) + logging_retention_in_days = optional(number, null) + memory_size = optional(number, null) + metrics_config = optional(object({ + enable = optional(bool, false) + namespace = optional(string, null) + }), {}) + prefix = optional(string, null) + principals = optional(list(object({ + type = string + identifiers = list(string) + })), []) + queue_encryption = optional(object({ + kms_data_key_reuse_period_seconds = optional(number, null) + kms_master_key_id = optional(string, null) + sqs_managed_sse_enabled = optional(bool, true) + }), {}) + role_path = optional(string, null) + role_permissions_boundary = optional(string, null) + runtime = optional(string, null) + s3_bucket = optional(string, null) + s3_key = optional(string, null) + s3_object_version = optional(string, null) + sqs_build_queue = object({ + url = string + arn = string + }) + tags = optional(map(string), {}) + timeout = optional(number, 30) + tracing_config = optional(object({ + mode = optional(string, null) + capture_http_requests = optional(bool, false) + capture_error = optional(bool, false) + }), {}) + zip = optional(string, null) + }) +} diff --git a/modules/runners/job-retry/versions.tf b/modules/runners/job-retry/versions.tf new file mode 100644 index 0000000000..1df1926c45 --- /dev/null +++ b/modules/runners/job-retry/versions.tf @@ -0,0 +1,10 @@ +terraform { + required_version = ">= 1.3.0" + + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.27" + } + } +} diff --git a/modules/runners/policies/lambda-publish-sqs-policy.json b/modules/runners/policies/lambda-publish-sqs-policy.json new file mode 100644 index 0000000000..031560874b --- /dev/null +++ b/modules/runners/policies/lambda-publish-sqs-policy.json @@ -0,0 +1,10 @@ +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": ["sqs:SendMessage", "sqs:GetQueueAttributes"], + "Resource": ${sqs_resource_arns} + } + ] +} diff --git a/modules/runners/scale-up.tf b/modules/runners/scale-up.tf index 0b6bf7b54f..0e962ad973 100644 --- a/modules/runners/scale-up.tf +++ b/modules/runners/scale-up.tf @@ -1,3 +1,13 @@ +locals { + job_retry_config = local.job_retry_enabled ? { + enable = var.job_retry.enable + maxAttempts = var.job_retry.max_attempts + delayInSeconds = var.job_retry.delay_in_seconds + delayBackoff = var.job_retry.delay_backoff + queueUrl = module.job_retry[0].job_retry_check_queue.url + } : {} +} + resource "aws_lambda_function" "scale_up" { s3_bucket = var.lambda_s3_bucket != null ? var.lambda_s3_bucket : null s3_key = var.runners_lambda_s3_key != null ? var.runners_lambda_s3_key : null @@ -46,6 +56,7 @@ resource "aws_lambda_function" "scale_up" { SSM_CONFIG_PATH = "${var.ssm_paths.root}/${var.ssm_paths.config}" SUBNET_IDS = join(",", var.subnet_ids) ENABLE_ON_DEMAND_FAILOVER_FOR_ERRORS = jsonencode(var.enable_on_demand_failover_for_errors) + JOB_RETRY_CONFIG = jsonencode(local.job_retry_config) } } @@ -108,7 +119,6 @@ resource "aws_iam_role_policy" "scale_up" { }) } - resource "aws_iam_role_policy" "scale_up_logging" { name = "logging-policy" role = aws_iam_role.scale_up.name @@ -142,3 +152,14 @@ resource "aws_iam_role_policy" "scale_up_xray" { policy = data.aws_iam_policy_document.lambda_xray[0].json role = aws_iam_role.scale_up.name } + +resource "aws_iam_role_policy" "webhook_workflow_job_sqs" { + count = local.job_retry_enabled ? 1 : 0 + name = "publish-retry-check-sqs-policy" + role = aws_iam_role.scale_up.name + + policy = templatefile("${path.module}/policies/lambda-publish-sqs-policy.json", { + sqs_resource_arns = jsonencode([module.job_retry[0].job_retry_check_queue.arn]) + kms_key_arn = var.kms_key_arn != null ? var.kms_key_arn : "" + }) +} diff --git a/modules/runners/variables.tf b/modules/runners/variables.tf index 01da8d4de2..3fe2fa40b6 100644 --- a/modules/runners/variables.tf +++ b/modules/runners/variables.tf @@ -176,6 +176,7 @@ variable "sqs_build_queue" { description = "SQS queue to consume accepted build events." type = object({ arn = string + url = string }) } @@ -668,3 +669,44 @@ variable "lambda_tags" { type = map(string) default = {} } + +variable "metrics_config" { + description = "Configuraiton to enable metrics creation by the lambdas." + type = object({ + enable = optional(bool, false) + namespace = optional(string, null) + }) + default = {} +} + +variable "job_retry" { + description = <<-EOF + Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app. + + `enable`: Enable or disable the job retry feature. + `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status. + `delay_backoff`: The backoff factor for the delay. + `lambda_memory_size`: Memory size limit in MB for the job retry check lambda. + 'lambda_reserved_concurrent_executions': Amount of reserved concurrent executions for the job retry check lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. + `lambda_timeout`: Time out of the job retry check lambda in seconds. + `max_attempts`: The maximum number of attempts to retry the job. + EOF + + type = object({ + enable = optional(bool, false) + delay_in_seconds = optional(number, 300) + delay_backoff = optional(number, 2) + lambda_memory_size = optional(number, 256) + lambda_reserved_concurrent_executions = optional(number, 1) + + lambda_timeout = optional(number, 30) + + max_attempts = optional(number, 1) + }) + default = {} + + validation { + condition = var.job_retry.enable == false || (var.job_retry.enable == true && var.job_retry.delay_in_seconds <= 900) + error_message = "The maxium message delay for SWS is 900 seconds." + } +} diff --git a/variables.tf b/variables.tf index ccfeac26f7..7491296a3a 100644 --- a/variables.tf +++ b/variables.tf @@ -906,3 +906,32 @@ variable "lambda_tags" { type = map(string) default = {} } + +variable "enable_metrics_control_plane" { + description = "(Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release." + type = bool + default = false +} + +variable "job_retry" { + description = <<-EOF + Experimental! Can be removed / changed without trigger a major release.Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app. + + `enable`: Enable or disable the job retry feature. + `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status. + `delay_backoff`: The backoff factor for the delay. + `lambda_memory_size`: Memory size limit in MB for the job retry check lambda. + `lambda_timeout`: Time out of the job retry check lambda in seconds. + `max_attempts`: The maximum number of attempts to retry the job. + EOF + + type = object({ + enable = optional(bool, false) + delay_in_seconds = optional(number, 300) + delay_backoff = optional(number, 2) + lambda_memory_size = optional(number, 256) + lambda_timeout = optional(number, 30) + max_attempts = optional(number, 1) + }) + default = {} +} From 2f3219597f3729a2e0b7e464048e3119958b62cd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 16 Aug 2024 12:51:42 +0200 Subject: [PATCH 31/90] fix(lambda): bump axios from 1.7.2 to 1.7.4 in /lambdas (#4071) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [axios](https://github.com/axios/axios) from 1.7.2 to 1.7.4.
    Release notes

    Sourced from axios's releases.

    Release v1.7.4

    Release notes:

    Bug Fixes

    Contributors to this release

    Release v1.7.3

    Release notes:

    Bug Fixes

    • adapter: fix progress event emitting; (#6518) (e3c76fc)
    • fetch: fix withCredentials request config (#6505) (85d4d0e)
    • xhr: return original config on errors from XHR adapter (#6515) (8966ee7)

    Contributors to this release

    Changelog

    Sourced from axios's changelog.

    1.7.4 (2024-08-13)

    Bug Fixes

    Contributors to this release

    1.7.3 (2024-08-01)

    Bug Fixes

    • adapter: fix progress event emitting; (#6518) (e3c76fc)
    • fetch: fix withCredentials request config (#6505) (85d4d0e)
    • xhr: return original config on errors from XHR adapter (#6515) (8966ee7)

    Contributors to this release

    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.7.2&new-version=1.7.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/philips-labs/terraform-aws-github-runner/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/gh-agent-syncer/package.json | 2 +- lambdas/yarn.lock | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index d44c0270a3..e39f0b694b 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -42,7 +42,7 @@ "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@terraform-aws-github-runner/aws-powertools-util": "*", - "axios": "^1.7.2" + "axios": "^1.7.4" }, "nx": { "includedScripts": [ diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 51d4235008..8d6795d399 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4684,7 +4684,7 @@ __metadata: "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^4.0.1" aws-sdk-client-mock-jest: "npm:^4.0.1" - axios: "npm:^1.7.2" + axios: "npm:^1.7.4" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" jest: "npm:^29.7.0" @@ -5573,6 +5573,17 @@ __metadata: languageName: node linkType: hard +"axios@npm:^1.7.4": + version: 1.7.4 + resolution: "axios@npm:1.7.4" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/5ea1a93140ca1d49db25ef8e1bd8cfc59da6f9220159a944168860ad15a2743ea21c5df2967795acb15cbe81362f5b157fdebbea39d53117ca27658bab9f7f17 + languageName: node + linkType: hard + "babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" From d1e407f705da0c3d22eda5d03eef0505a81ad836 Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Fri, 16 Aug 2024 12:56:02 +0200 Subject: [PATCH 32/90] chore(main): release 5.15.0 (#4062) :robot: I have created a release *beep* *boop* --- ## [5.15.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.14.1...v5.15.0) (2024-08-16) ### Features * add time zone support for pool schedules ([#4063](https://github.com/philips-labs/terraform-aws-github-runner/issues/4063)) ([b8f9eb4](https://github.com/philips-labs/terraform-aws-github-runner/commit/b8f9eb4638efbb45a7e27ddb66b3a10eef2617a7)) @janslow * scale up for long waiting jobs (job retry) ([#4064](https://github.com/philips-labs/terraform-aws-github-runner/issues/4064)) ([6120571](https://github.com/philips-labs/terraform-aws-github-runner/commit/6120571a959bd672c2bbc77ebf05825185c90bc6)) ### Bug Fixes * **lambda:** bump axios from 1.7.2 to 1.7.4 in /lambdas ([#4071](https://github.com/philips-labs/terraform-aws-github-runner/issues/4071)) ([2f32195](https://github.com/philips-labs/terraform-aws-github-runner/commit/2f3219597f3729a2e0b7e464048e3119958b62cd)) * **lambda:** bump the aws group in /lambdas with 5 updates ([#4057](https://github.com/philips-labs/terraform-aws-github-runner/issues/4057)) ([5ecdbad](https://github.com/philips-labs/terraform-aws-github-runner/commit/5ecdbaddaf255043057e5427e5f62283b7d59be2)) * **lambda:** bump the aws-powertools group in /lambdas with 3 updates ([#4058](https://github.com/philips-labs/terraform-aws-github-runner/issues/4058)) ([f9533f3](https://github.com/philips-labs/terraform-aws-github-runner/commit/f9533f3423a060f232455aacaa8d4967025f6e2c)) * **lambda:** Prevent scale-up lambda from starting runner for user repo if org level runners is enabled ([#3909](https://github.com/philips-labs/terraform-aws-github-runner/issues/3909)) ([98b1560](https://github.com/philips-labs/terraform-aws-github-runner/commit/98b1560f86bb609110bfdbf3607eb19f23beab0e)) @PerGon --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bfa341a497..8fa9d8ae7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog +## [5.15.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.14.1...v5.15.0) (2024-08-16) + + +### Features + +* add time zone support for pool schedules ([#4063](https://github.com/philips-labs/terraform-aws-github-runner/issues/4063)) ([b8f9eb4](https://github.com/philips-labs/terraform-aws-github-runner/commit/b8f9eb4638efbb45a7e27ddb66b3a10eef2617a7)) +* scale up for long waiting jobs (job retry) ([#4064](https://github.com/philips-labs/terraform-aws-github-runner/issues/4064)) ([6120571](https://github.com/philips-labs/terraform-aws-github-runner/commit/6120571a959bd672c2bbc77ebf05825185c90bc6)) + + +### Bug Fixes + +* **lambda:** bump axios from 1.7.2 to 1.7.4 in /lambdas ([#4071](https://github.com/philips-labs/terraform-aws-github-runner/issues/4071)) ([2f32195](https://github.com/philips-labs/terraform-aws-github-runner/commit/2f3219597f3729a2e0b7e464048e3119958b62cd)) +* **lambda:** bump the aws group in /lambdas with 5 updates ([#4057](https://github.com/philips-labs/terraform-aws-github-runner/issues/4057)) ([5ecdbad](https://github.com/philips-labs/terraform-aws-github-runner/commit/5ecdbaddaf255043057e5427e5f62283b7d59be2)) +* **lambda:** bump the aws-powertools group in /lambdas with 3 updates ([#4058](https://github.com/philips-labs/terraform-aws-github-runner/issues/4058)) ([f9533f3](https://github.com/philips-labs/terraform-aws-github-runner/commit/f9533f3423a060f232455aacaa8d4967025f6e2c)) +* **lambda:** Prevent scale-up lambda from starting runner for user repo if org level runners is enabled ([#3909](https://github.com/philips-labs/terraform-aws-github-runner/issues/3909)) ([98b1560](https://github.com/philips-labs/terraform-aws-github-runner/commit/98b1560f86bb609110bfdbf3607eb19f23beab0e)) + ## [5.14.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.14.0...v5.14.1) (2024-08-07) From 8540379e36dd0e900e777684a55c51da80a5ef1b Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Fri, 16 Aug 2024 15:52:25 +0200 Subject: [PATCH 33/90] fix: missing lambda s3 key and version for job retry (#4074) # Problem Object key and object version not passed into job retry module. --- modules/runners/job-retry.tf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/runners/job-retry.tf b/modules/runners/job-retry.tf index e4f04cd0c8..973f090d1e 100644 --- a/modules/runners/job-retry.tf +++ b/modules/runners/job-retry.tf @@ -19,6 +19,8 @@ locals { role_path = var.role_path role_permissions_boundary = var.role_permissions_boundary s3_bucket = var.lambda_s3_bucket + s3_key = var.runners_lambda_s3_key + s3_object_version = var.runners_lambda_s3_object_version tracing_config = var.tracing_config github_app_parameters = var.github_app_parameters enable_organization_runners = var.enable_organization_runners From a2fe8af2469d6c7fa123c119303a7394c3f4a022 Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Fri, 16 Aug 2024 16:01:38 +0200 Subject: [PATCH 34/90] chore(main): release 5.15.1 (#4075) :robot: I have created a release *beep* *boop* --- ## [5.15.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.0...v5.15.1) (2024-08-16) ### Bug Fixes * missing lambda s3 key and version for job retry ([#4074](https://github.com/philips-labs/terraform-aws-github-runner/issues/4074)) ([8540379](https://github.com/philips-labs/terraform-aws-github-runner/commit/8540379e36dd0e900e777684a55c51da80a5ef1b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fa9d8ae7c..57c661f3bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [5.15.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.0...v5.15.1) (2024-08-16) + + +### Bug Fixes + +* missing lambda s3 key and version for job retry ([#4074](https://github.com/philips-labs/terraform-aws-github-runner/issues/4074)) ([8540379](https://github.com/philips-labs/terraform-aws-github-runner/commit/8540379e36dd0e900e777684a55c51da80a5ef1b)) + ## [5.15.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.14.1...v5.15.0) (2024-08-16) From 8bb62724c41b6dbd3d3f484f32da9d46dc5ad853 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Mon, 19 Aug 2024 10:52:59 +0200 Subject: [PATCH 35/90] fix: use name instead of name prefix to avoid too long names (#4079) ## Problme In #4063 PR the EventBridge Schedule is introduces. For schedule groups a name prefix is used. But since the name for the name prefix is already unieque the name can be used instead of prefix to avoid too long prefix names (30 chars plus). --- modules/runners/pool/main.tf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/runners/pool/main.tf b/modules/runners/pool/main.tf index 6c6dc82abe..df292a9a03 100644 --- a/modules/runners/pool/main.tf +++ b/modules/runners/pool/main.tf @@ -199,8 +199,8 @@ resource "aws_iam_role" "scheduler" { resource "aws_scheduler_schedule" "pool" { for_each = { for i, v in var.config.pool : i => v } - name_prefix = "${var.config.prefix}-pool-${each.key}-rule" - group_name = aws_scheduler_schedule_group.pool.name + name = "${var.config.prefix}-pool-${each.key}-rule" + group_name = aws_scheduler_schedule_group.pool.name flexible_time_window { mode = "OFF" From 098c0ea9ad96d31a2fa944d7eafe90861d8c6184 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Mon, 19 Aug 2024 11:11:08 +0200 Subject: [PATCH 36/90] fix: pass lambda zip file to job retry feature (#4080) ## Problem Zip file is not passed to job-retry module fix #4078 --- modules/runners/job-retry.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/runners/job-retry.tf b/modules/runners/job-retry.tf index 973f090d1e..47edd1076c 100644 --- a/modules/runners/job-retry.tf +++ b/modules/runners/job-retry.tf @@ -21,6 +21,7 @@ locals { s3_bucket = var.lambda_s3_bucket s3_key = var.runners_lambda_s3_key s3_object_version = var.runners_lambda_s3_object_version + zip = var.lambda_zip tracing_config = var.tracing_config github_app_parameters = var.github_app_parameters enable_organization_runners = var.enable_organization_runners From 015c6a520f41ade9f83f16aa56c976b4d975336a Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:18:12 +0200 Subject: [PATCH 37/90] chore(main): release 5.15.2 (#4081) :robot: I have created a release *beep* *boop* --- ## [5.15.2](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.1...v5.15.2) (2024-08-19) ### Bug Fixes * pass lambda zip file to job retry feature ([#4080](https://github.com/philips-labs/terraform-aws-github-runner/issues/4080)) ([098c0ea](https://github.com/philips-labs/terraform-aws-github-runner/commit/098c0ea9ad96d31a2fa944d7eafe90861d8c6184)), closes [#4078](https://github.com/philips-labs/terraform-aws-github-runner/issues/4078) * use name instead of name prefix to avoid too long names ([#4079](https://github.com/philips-labs/terraform-aws-github-runner/issues/4079)) ([8bb6272](https://github.com/philips-labs/terraform-aws-github-runner/commit/8bb62724c41b6dbd3d3f484f32da9d46dc5ad853)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 57c661f3bb..53ed1206b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [5.15.2](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.1...v5.15.2) (2024-08-19) + + +### Bug Fixes + +* pass lambda zip file to job retry feature ([#4080](https://github.com/philips-labs/terraform-aws-github-runner/issues/4080)) ([098c0ea](https://github.com/philips-labs/terraform-aws-github-runner/commit/098c0ea9ad96d31a2fa944d7eafe90861d8c6184)), closes [#4078](https://github.com/philips-labs/terraform-aws-github-runner/issues/4078) +* use name instead of name prefix to avoid too long names ([#4079](https://github.com/philips-labs/terraform-aws-github-runner/issues/4079)) ([8bb6272](https://github.com/philips-labs/terraform-aws-github-runner/commit/8bb62724c41b6dbd3d3f484f32da9d46dc5ad853)) + ## [5.15.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.0...v5.15.1) (2024-08-16) From 975ee4e0aa45d17e5b065fbc58e042003bd982b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 13:03:24 +0200 Subject: [PATCH 38/90] chore(lambda): bump @types/node from 22.0.2 to 22.4.1 in /lambdas (#4084) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.0.2 to 22.4.1.
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.0.2&new-version=22.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 32 ++++++++++++++----- 8 files changed, 31 insertions(+), 15 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index e90a258116..47eeca8bc3 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.0.2", + "@types/node": "^22.4.1", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index c5f830464b..2da3ade03d 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.0.2", + "@types/node": "^22.4.1", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index e39f0b694b..badc0c8b5b 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.0.2", + "@types/node": "^22.4.1", "@types/request": "^2.48.12", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 4ea93303f0..437b09bdbf 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -17,7 +17,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.0.2", + "@types/node": "^22.4.1", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 293a79c74d..df311b9f7f 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -20,7 +20,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.0.2", + "@types/node": "^22.4.1", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index f2eb3639c3..42f7e94728 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.0.2", + "@types/node": "^22.4.1", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 9b12090b14..2dbacee863 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.0.2", + "@types/node": "^22.4.1", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 8d6795d399..3d22e3c74e 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4544,7 +4544,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.2" + "@types/node": "npm:^22.4.1" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -4576,7 +4576,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.2" + "@types/node": "npm:^22.4.1" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -4606,7 +4606,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.2" + "@types/node": "npm:^22.4.1" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -4642,7 +4642,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.2" + "@types/node": "npm:^22.4.1" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -4677,7 +4677,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.2" + "@types/node": "npm:^22.4.1" "@types/request": "npm:^2.48.12" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" @@ -4707,7 +4707,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.2" + "@types/node": "npm:^22.4.1" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -4742,7 +4742,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.0.2" + "@types/node": "npm:^22.4.1" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -4991,7 +4991,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^22.0.2": +"@types/node@npm:*": version: 22.0.2 resolution: "@types/node@npm:22.0.2" dependencies: @@ -5000,6 +5000,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.4.1": + version: 22.4.1 + resolution: "@types/node@npm:22.4.1" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/e42607438fcbd3a6aebd09084868fa0b22a4b0daf9eda79ed615df7ff8ae95e35ea56e090e1f3140ebae76b640abe42d4a6d5b60c0819eadf499adca737305b6 + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -10755,6 +10764,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + "unicode-canonical-property-names-ecmascript@npm:^2.0.0": version: 2.0.0 resolution: "unicode-canonical-property-names-ecmascript@npm:2.0.0" From 70d7731642cf8f26031bae9e2f1a45b8ed1555bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 13:03:53 +0200 Subject: [PATCH 39/90] fix(lambda): bump the aws group in /lambdas with 5 updates (#4082) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 5 updates: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.629.0` | `3.632.0` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.629.0` | `3.632.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.629.0` | `3.632.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.629.0` | `3.633.0` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.629.0` | `3.633.0` | Updates `@aws-sdk/client-ec2` from 3.629.0 to 3.632.0
    Release notes

    Sourced from @​aws-sdk/client-ec2's releases.

    v3.632.0

    3.632.0(2024-08-15)

    New Features
    • clients: update client endpoints as of 2024-08-15 (05ff22bf)
    • client-s3: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API. (f31c6ea7)
    • client-docdb: This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. (62c6973c)
    • client-iam: Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. (2e20e957)
    • client-ecs: This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. (e56be698)
    Bug Fixes
    • util-endpoints: parseArn when resourcePath contains both delimiters (#6387) (63cb133f)
    • credential-providers: avoid sharing http2 requestHandler with inner STS (#6389) (d7b16106)
    • lib-dynamodb: missing @smithy/core dependency in @aws-sdk/lib-dynamodb (#6384) (84fd78ba)

    For list of updated packages, view updated-packages.md in assets-3.632.0.zip

    v3.631.0

    3.631.0(2024-08-14)

    New Features
    • client-codebuild: AWS CodeBuild now supports using Secrets Manager to store git credentials and using multiple source credentials in a single project. (9e44d9f4)
    Bug Fixes
    • util-endpoints: check for entire resource-path being empty (#6380) (08ad5100)

    For list of updated packages, view updated-packages.md in assets-3.631.0.zip

    v3.630.0

    3.630.0(2024-08-13)

    Documentation Changes
    • credential-providers: add longer explanation about credential function and chaining (#6382) (26788b98)
    New Features
    • client-glue: Add AttributesToGet parameter support for Glue GetTables (3d999b61)
    • client-appstream: This release includes following new APIs: CreateThemeForStack, DescribeThemeForStack, UpdateThemeForStack, DeleteThemeForStack to support custom branding programmatically. (86d89c66)
    • client-amplify: Add a new field "cacheConfig" that enables users to configure the CDN cache settings for an App (db3560cf)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ec2's changelog.

    3.632.0 (2024-08-15)

    Note: Version bump only for package @​aws-sdk/client-ec2

    3.631.0 (2024-08-14)

    Note: Version bump only for package @​aws-sdk/client-ec2

    Commits

    Updates `@aws-sdk/client-ssm` from 3.629.0 to 3.632.0
    Release notes

    Sourced from @​aws-sdk/client-ssm's releases.

    v3.632.0

    3.632.0(2024-08-15)

    New Features
    • clients: update client endpoints as of 2024-08-15 (05ff22bf)
    • client-s3: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API. (f31c6ea7)
    • client-docdb: This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. (62c6973c)
    • client-iam: Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. (2e20e957)
    • client-ecs: This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. (e56be698)
    Bug Fixes
    • util-endpoints: parseArn when resourcePath contains both delimiters (#6387) (63cb133f)
    • credential-providers: avoid sharing http2 requestHandler with inner STS (#6389) (d7b16106)
    • lib-dynamodb: missing @smithy/core dependency in @aws-sdk/lib-dynamodb (#6384) (84fd78ba)

    For list of updated packages, view updated-packages.md in assets-3.632.0.zip

    v3.631.0

    3.631.0(2024-08-14)

    New Features
    • client-codebuild: AWS CodeBuild now supports using Secrets Manager to store git credentials and using multiple source credentials in a single project. (9e44d9f4)
    Bug Fixes
    • util-endpoints: check for entire resource-path being empty (#6380) (08ad5100)

    For list of updated packages, view updated-packages.md in assets-3.631.0.zip

    v3.630.0

    3.630.0(2024-08-13)

    Documentation Changes
    • credential-providers: add longer explanation about credential function and chaining (#6382) (26788b98)
    New Features
    • client-glue: Add AttributesToGet parameter support for Glue GetTables (3d999b61)
    • client-appstream: This release includes following new APIs: CreateThemeForStack, DescribeThemeForStack, UpdateThemeForStack, DeleteThemeForStack to support custom branding programmatically. (86d89c66)
    • client-amplify: Add a new field "cacheConfig" that enables users to configure the CDN cache settings for an App (db3560cf)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ssm's changelog.

    3.632.0 (2024-08-15)

    Note: Version bump only for package @​aws-sdk/client-ssm

    3.631.0 (2024-08-14)

    Note: Version bump only for package @​aws-sdk/client-ssm

    Commits

    Updates `@aws-sdk/client-sqs` from 3.629.0 to 3.632.0
    Release notes

    Sourced from @​aws-sdk/client-sqs's releases.

    v3.632.0

    3.632.0(2024-08-15)

    New Features
    • clients: update client endpoints as of 2024-08-15 (05ff22bf)
    • client-s3: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API. (f31c6ea7)
    • client-docdb: This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. (62c6973c)
    • client-iam: Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. (2e20e957)
    • client-ecs: This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. (e56be698)
    Bug Fixes
    • util-endpoints: parseArn when resourcePath contains both delimiters (#6387) (63cb133f)
    • credential-providers: avoid sharing http2 requestHandler with inner STS (#6389) (d7b16106)
    • lib-dynamodb: missing @smithy/core dependency in @aws-sdk/lib-dynamodb (#6384) (84fd78ba)

    For list of updated packages, view updated-packages.md in assets-3.632.0.zip

    v3.631.0

    3.631.0(2024-08-14)

    New Features
    • client-codebuild: AWS CodeBuild now supports using Secrets Manager to store git credentials and using multiple source credentials in a single project. (9e44d9f4)
    Bug Fixes
    • util-endpoints: check for entire resource-path being empty (#6380) (08ad5100)

    For list of updated packages, view updated-packages.md in assets-3.631.0.zip

    v3.630.0

    3.630.0(2024-08-13)

    Documentation Changes
    • credential-providers: add longer explanation about credential function and chaining (#6382) (26788b98)
    New Features
    • client-glue: Add AttributesToGet parameter support for Glue GetTables (3d999b61)
    • client-appstream: This release includes following new APIs: CreateThemeForStack, DescribeThemeForStack, UpdateThemeForStack, DeleteThemeForStack to support custom branding programmatically. (86d89c66)
    • client-amplify: Add a new field "cacheConfig" that enables users to configure the CDN cache settings for an App (db3560cf)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-sqs's changelog.

    3.632.0 (2024-08-15)

    Note: Version bump only for package @​aws-sdk/client-sqs

    3.631.0 (2024-08-14)

    Note: Version bump only for package @​aws-sdk/client-sqs

    Commits

    Updates `@aws-sdk/client-s3` from 3.629.0 to 3.633.0
    Release notes

    Sourced from @​aws-sdk/client-s3's releases.

    v3.633.0

    3.633.0(2024-08-16)

    Chores
    New Features
    • clients: update client endpoints as of 2024-08-16 (d47413aa)
    • client-inspector2: Update the correct format of key and values for resource tags (594c0fcb)
    • client-sesv2: Marking use case description field of account details as deprecated. (271136dd)
    • client-batch: Improvements of integration between AWS Batch and EC2. (66125910)
    • client-quicksight: Amazon QuickSight launches Customer Managed Key (CMK) encryption for Data Source metadata (b4200b09)
    • client-sagemaker: Introduce Endpoint and EndpointConfig Arns in sagemaker:ListPipelineExecutionSteps API response (cbc6a873)
    Bug Fixes
    • middleware-sdk-s3: skip stream inspection if non-stream-like body (#6333) (5f85b5fd)

    For list of updated packages, view updated-packages.md in assets-3.633.0.zip

    v3.632.0

    3.632.0(2024-08-15)

    New Features
    • clients: update client endpoints as of 2024-08-15 (05ff22bf)
    • client-s3: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API. (f31c6ea7)
    • client-docdb: This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. (62c6973c)
    • client-iam: Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. (2e20e957)
    • client-ecs: This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. (e56be698)
    Bug Fixes
    • util-endpoints: parseArn when resourcePath contains both delimiters (#6387) (63cb133f)
    • credential-providers: avoid sharing http2 requestHandler with inner STS (#6389) (d7b16106)
    • lib-dynamodb: missing @smithy/core dependency in @aws-sdk/lib-dynamodb (#6384) (84fd78ba)

    For list of updated packages, view updated-packages.md in assets-3.632.0.zip

    v3.631.0

    3.631.0(2024-08-14)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-s3's changelog.

    3.633.0 (2024-08-16)

    Note: Version bump only for package @​aws-sdk/client-s3

    3.632.0 (2024-08-15)

    Features

    • client-s3: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API. (f31c6ea)

    3.631.0 (2024-08-14)

    Note: Version bump only for package @​aws-sdk/client-s3

    Commits

    Updates `@aws-sdk/lib-storage` from 3.629.0 to 3.633.0
    Release notes

    Sourced from @​aws-sdk/lib-storage's releases.

    v3.633.0

    3.633.0(2024-08-16)

    Chores
    New Features
    • clients: update client endpoints as of 2024-08-16 (d47413aa)
    • client-inspector2: Update the correct format of key and values for resource tags (594c0fcb)
    • client-sesv2: Marking use case description field of account details as deprecated. (271136dd)
    • client-batch: Improvements of integration between AWS Batch and EC2. (66125910)
    • client-quicksight: Amazon QuickSight launches Customer Managed Key (CMK) encryption for Data Source metadata (b4200b09)
    • client-sagemaker: Introduce Endpoint and EndpointConfig Arns in sagemaker:ListPipelineExecutionSteps API response (cbc6a873)
    Bug Fixes
    • middleware-sdk-s3: skip stream inspection if non-stream-like body (#6333) (5f85b5fd)

    For list of updated packages, view updated-packages.md in assets-3.633.0.zip

    v3.632.0

    3.632.0(2024-08-15)

    New Features
    • clients: update client endpoints as of 2024-08-15 (05ff22bf)
    • client-s3: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API. (f31c6ea7)
    • client-docdb: This release adds Global Cluster Failover capability which enables you to change your global cluster's primary AWS region, the region that serves writes, during a regional outage. Performing a failover action preserves your Global Cluster setup. (62c6973c)
    • client-iam: Make the LastUsedDate field in the GetAccessKeyLastUsed response optional. This may break customers who only call the API for access keys with a valid LastUsedDate. This fixes a deserialization issue for access keys without a LastUsedDate, because the field was marked as required but could be null. (2e20e957)
    • client-ecs: This release introduces a new ContainerDefinition configuration to support the customer-managed keys for ECS container restart feature. (e56be698)
    Bug Fixes
    • util-endpoints: parseArn when resourcePath contains both delimiters (#6387) (63cb133f)
    • credential-providers: avoid sharing http2 requestHandler with inner STS (#6389) (d7b16106)
    • lib-dynamodb: missing @smithy/core dependency in @aws-sdk/lib-dynamodb (#6384) (84fd78ba)

    For list of updated packages, view updated-packages.md in assets-3.632.0.zip

    v3.631.0

    3.631.0(2024-08-14)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/lib-storage's changelog.

    3.633.0 (2024-08-16)

    Note: Version bump only for package @​aws-sdk/lib-storage

    3.632.0 (2024-08-15)

    Note: Version bump only for package @​aws-sdk/lib-storage

    3.631.0 (2024-08-14)

    Note: Version bump only for package @​aws-sdk/lib-storage

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 4 +- lambdas/functions/control-plane/package.json | 4 +- .../functions/gh-agent-syncer/package.json | 4 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 218 +++++++++--------- 7 files changed, 118 insertions(+), 118 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 47eeca8bc3..0eb8674de8 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -37,8 +37,8 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.629.0", - "@aws-sdk/client-ssm": "^3.629.0", + "@aws-sdk/client-ec2": "^3.632.0", + "@aws-sdk/client-ssm": "^3.632.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 2da3ade03d..c5f5fed749 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -38,8 +38,8 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.629.0", - "@aws-sdk/client-sqs": "^3.629.0", + "@aws-sdk/client-ec2": "^3.632.0", + "@aws-sdk/client-sqs": "^3.632.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index badc0c8b5b..2751117fbf 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -36,8 +36,8 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-s3": "^3.629.0", - "@aws-sdk/lib-storage": "^3.629.0", + "@aws-sdk/client-s3": "^3.633.0", + "@aws-sdk/lib-storage": "^3.633.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 437b09bdbf..ed74aa5224 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -35,7 +35,7 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.629.0", + "@aws-sdk/client-ec2": "^3.632.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@terraform-aws-github-runner/aws-powertools-util": "*", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index df311b9f7f..7e4fdf14d1 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -37,7 +37,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-sqs": "^3.629.0", + "@aws-sdk/client-sqs": "^3.632.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 2dbacee863..5414ac579b 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -35,7 +35,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-ssm": "^3.629.0", + "@aws-sdk/client-ssm": "^3.632.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 3d22e3c74e..e19dc9df4e 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -148,24 +148,24 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/client-ec2@npm:3.629.0" +"@aws-sdk/client-ec2@npm:^3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/client-ec2@npm:3.632.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.629.0" - "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/client-sso-oidc": "npm:3.632.0" + "@aws-sdk/client-sts": "npm:3.632.0" "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.632.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" "@aws-sdk/middleware-sdk-ec2": "npm:3.622.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.632.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -196,21 +196,21 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/04c85d9e710f6efdf84e091809801ebb004fdd131eff6596ca4b9770c4a31634f2d70dfe97d3c1b8fd1e1574a56ae7297dfef1cf17339d4f6bc09d5553697fd8 + checksum: 10c0/bfc68ebd6bdecf3987b40942db870c35fd994f3a971e49297bb37f317912a17a9ef1e62f42fd13de10f512a17a6038b3b573bca86b9cb4cb6a920690af196e8c languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/client-s3@npm:3.629.0" +"@aws-sdk/client-s3@npm:^3.633.0": + version: 3.633.0 + resolution: "@aws-sdk/client-s3@npm:3.633.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.629.0" - "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/client-sso-oidc": "npm:3.632.0" + "@aws-sdk/client-sts": "npm:3.632.0" "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.632.0" "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" "@aws-sdk/middleware-expect-continue": "npm:3.620.0" "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" @@ -218,13 +218,13 @@ __metadata: "@aws-sdk/middleware-location-constraint": "npm:3.609.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.629.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.633.0" "@aws-sdk/middleware-ssec": "npm:3.609.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.632.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.629.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.633.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@aws-sdk/xml-builder": "npm:3.609.0" @@ -262,28 +262,28 @@ __metadata: "@smithy/util-utf8": "npm:^3.0.0" "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" - checksum: 10c0/55b36444f096d2bf4462c7ca6f5ddc78502870b34a8e113a97895303d5aa321d56926ae5c50ddca2eff1d136e70a68976c2bae59622789dd12fee40001833925 + checksum: 10c0/265d736203386f934ac90c1fac9e18ca0fbd6825f68f87653cc0acd0a224f5e1bf54abf22f2edd1d133e90e980db985bc326e1d8be148f1ee804f517481da49e languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/client-sqs@npm:3.629.0" +"@aws-sdk/client-sqs@npm:^3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/client-sqs@npm:3.632.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.629.0" - "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/client-sso-oidc": "npm:3.632.0" + "@aws-sdk/client-sts": "npm:3.632.0" "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.632.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" "@aws-sdk/middleware-sdk-sqs": "npm:3.622.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.632.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -313,27 +313,27 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/c928d6b12ad8f382502a9b33c3e057abcc1e4615e83dc59d7da3146c51d9d643f53ddc9fbc3aa696b47de4bd4125688ac5c3a9a74e0955c2aa0b3872e918e6a6 + checksum: 10c0/9d16bfcc20212ca628f08ec952d9c895cbc1e2470692f80ecfb923412a0412b390dac22294dea212efc1ead868dfdd52844838301501864c6635d482e41f8a52 languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/client-ssm@npm:3.629.0" +"@aws-sdk/client-ssm@npm:^3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/client-ssm@npm:3.632.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.629.0" - "@aws-sdk/client-sts": "npm:3.629.0" + "@aws-sdk/client-sso-oidc": "npm:3.632.0" + "@aws-sdk/client-sts": "npm:3.632.0" "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.632.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.632.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -364,25 +364,25 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/45969110bd98e2662755e2f6a18c805c0108dd71bd71ed17e2504a45525391bc98bd5e946ed520a5454390d6442ed5b3f8c0e77b5cf37137c0cbc5fdd7b1cf73 + checksum: 10c0/eb08ac48273711fb5f505b29293516e6e8b5ae4d97d17de8aedca5fe2683318b9d31a450c95551a571969db2e77de7c150b53496b444487021d247b222be9b72 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.629.0" +"@aws-sdk/client-sso-oidc@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.632.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.632.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.632.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -412,14 +412,14 @@ __metadata: "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.629.0 - checksum: 10c0/ec5396a8ec3e10cd0aee869d3301c2a10d3df54d6529753bdb5ecbab37b05b27b4c2bc6696b51b13371bdd82502d0f15649ce5709f5f7f6c0113b20140fdd41c + "@aws-sdk/client-sts": ^3.632.0 + checksum: 10c0/3db566d0f9f10fef6267a9413dfa2056db116c781031cc9485b49432d5e43ae890d9218983f8d3ceecb6896cdcccf330753443363a168b2020d90ece9948bbf7 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/client-sso@npm:3.629.0" +"@aws-sdk/client-sso@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/client-sso@npm:3.632.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" @@ -427,10 +427,10 @@ __metadata: "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.632.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -459,26 +459,26 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/17687cf0210ea20395a54dda50bfdc0c931ff8b430ef315483d069036c5c05dfbdbf62cb3c33d443b3dedb6ecf6caeabbb72f9197506f3f40404bca7276d1fad + checksum: 10c0/7b7ac3ddbdd693147bd0a9463c8f46e5c3b11969bd4e531073feb43abd453589755305aabd87985ccd706e164dd5d72709b6acec432342a02f3efcc95cab2960 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/client-sts@npm:3.629.0" +"@aws-sdk/client-sts@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/client-sts@npm:3.632.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.629.0" + "@aws-sdk/client-sso-oidc": "npm:3.632.0" "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.629.0" + "@aws-sdk/credential-provider-node": "npm:3.632.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.620.0" + "@aws-sdk/middleware-user-agent": "npm:3.632.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -507,7 +507,7 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/a13180ae2018f801276ad0c65dfb27fc27c762023ecdaf7e53657c58f92769ba8a413b67952e73142dcae8bec422741e459451f04bea19b807a77b3220748204 + checksum: 10c0/e230ac37af0753adebb45b6dae948b12ffc841f4de1b997d41844ebbb232c989abbd094b53d7ff276fbfe3134b6dfd1b39368e82a1eff73544a67efa898b3569 languageName: node linkType: hard @@ -558,14 +558,14 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.629.0" +"@aws-sdk/credential-provider-ini@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.632.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" "@aws-sdk/credential-provider-http": "npm:3.622.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.629.0" + "@aws-sdk/credential-provider-sso": "npm:3.632.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -574,20 +574,20 @@ __metadata: "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.629.0 - checksum: 10c0/741895df4944af2f3d84198475ad0beb0bc4471f6b84c0d22513df9704ddcc3506219f2e7411f9632c105197e4aedf92fa97a37a5666e462f74b592fbeab3c3e + "@aws-sdk/client-sts": ^3.632.0 + checksum: 10c0/10c49fc8784862556433d0f3653ba741382363577891cd5268ef10bf7288fe9795f99a0ea069cfb7dffd53c838393a342506a3f1e14d402bb1e0ccdcca01af0f languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.629.0" +"@aws-sdk/credential-provider-node@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.632.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" "@aws-sdk/credential-provider-http": "npm:3.622.0" - "@aws-sdk/credential-provider-ini": "npm:3.629.0" + "@aws-sdk/credential-provider-ini": "npm:3.632.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.629.0" + "@aws-sdk/credential-provider-sso": "npm:3.632.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -595,7 +595,7 @@ __metadata: "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/0c23e3562be3e64374c497e02bdef73dca7f43a487cf6f37b46a6e5380b9bc90401e541c4e338588ece1f45efd3b8eaf490e1b019f8e85fb79dbbe5a403e1b91 + checksum: 10c0/664c98de2e385358520d2bae2410b60499dc5eecd1ea6c394c4d9975bf256c77b3f6da5f8b9ef1a88f77ace7ef9ace5171a3bb3d09b9d4fe95f296102093d68b languageName: node linkType: hard @@ -612,18 +612,18 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.629.0" +"@aws-sdk/credential-provider-sso@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.632.0" dependencies: - "@aws-sdk/client-sso": "npm:3.629.0" + "@aws-sdk/client-sso": "npm:3.632.0" "@aws-sdk/token-providers": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/property-provider": "npm:^3.1.3" "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/72eddc12cc37aae8e1138e59180ea1e62490ef0da142672a122ddae80b428be9714e71e7fbab395511cddb640de030ad5dae12b5d54053ab1c48be198cb0e0b4 + checksum: 10c0/c71c7c3312bd796fe514826e56bda0627bf1a0636449e867b73ec20e3cb2f0ba7de0a9087a4836a6dc6c4e1ad85fd8fd0a5317cb3587b10f9ebb9152feb6292b languageName: node linkType: hard @@ -641,9 +641,9 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/lib-storage@npm:3.629.0" +"@aws-sdk/lib-storage@npm:^3.633.0": + version: 3.633.0 + resolution: "@aws-sdk/lib-storage@npm:3.633.0" dependencies: "@smithy/abort-controller": "npm:^3.1.1" "@smithy/middleware-endpoint": "npm:^3.1.0" @@ -653,8 +653,8 @@ __metadata: stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.629.0 - checksum: 10c0/74ba80a8266db1083c13fb8f1f4a2f9ab9ec85019c570686968113805e041d38b3e7f1dd9a97b79261ca56ce433fa9f59ac212965d1faefc55cfa8576b22fa64 + "@aws-sdk/client-s3": ^3.633.0 + checksum: 10c0/1cc361802f776ca7bc2e4810da12e6365838746485aafb7c4018aefa1955c601a8e6d2e74c26782b83244296a1a7f3e19e619efa7005a518ac32e31119010928 languageName: node linkType: hard @@ -763,9 +763,9 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.629.0" +"@aws-sdk/middleware-sdk-s3@npm:3.633.0": + version: 3.633.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.633.0" dependencies: "@aws-sdk/core": "npm:3.629.0" "@aws-sdk/types": "npm:3.609.0" @@ -781,7 +781,7 @@ __metadata: "@smithy/util-stream": "npm:^3.1.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/b815c39ba84a9d5008742528970a412371df6de37c4217edb247b5679bffeebd7e62c777b6e3b6840cf1df68f1fddf37b27b7945c1adff4f1a229f95b3b0b3e6 + checksum: 10c0/a0d167c21c3ef980fad126534e4d506c917ef48ef14fd65009c69f1f99b039f86f363b93cddbcd90f4cceb48bde8bf0f8f55361e7806ade7ac9c9092d5eee1f2 languageName: node linkType: hard @@ -810,16 +810,16 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.620.0" +"@aws-sdk/middleware-user-agent@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.632.0" dependencies: "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.614.0" + "@aws-sdk/util-endpoints": "npm:3.632.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/c661d368c2fe12a925faa7f59509f507edf9cebc5a98650d5592eaf333cbb50a92dd3532e04de6e5b44686c7ab25fa5a6515df4e0790d1b6b0823e44efb3657c + checksum: 10c0/0085bb736d22270e4c4ed790017c2476f191c4d7ef00e9c620347a76f3960c8becd477745ef134b2d0693a66bd6a26958ed13324079cce787e5aaa920dba7248 languageName: node linkType: hard @@ -837,17 +837,17 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.629.0" +"@aws-sdk/signature-v4-multi-region@npm:3.633.0": + version: 3.633.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.633.0" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.629.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.633.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/48ed70ed694d5eace065f92eba6d1bc54fc58b8d6e3d06a3c3469cdfeba3bf7d85bd56ff0ac2507aa0bc64cd4f42b45d793c64b2e6e1a562baceb362e0392004 + checksum: 10c0/c67f9c5f19fcbbcec11b7bee38522780e79324b85abb51b2cd32edb5dacf41325c9f081b0a9fa5090056b297f1d46a844a38684f7270f7b0e9be737150843313 languageName: node linkType: hard @@ -885,15 +885,15 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/util-endpoints@npm:3.614.0" +"@aws-sdk/util-endpoints@npm:3.632.0": + version: 3.632.0 + resolution: "@aws-sdk/util-endpoints@npm:3.632.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-endpoints": "npm:^2.0.5" tslib: "npm:^2.6.2" - checksum: 10c0/95a893dc3cff00d2ad5b48c4ffd83e19e45da75de7dd112b93b09f9e2a8db200e3a9ea7116b0fa943b945fb100f678795cbca1fb7be07bddcaac2549f6533332 + checksum: 10c0/2fce660a887acec61570ed13c1441487cf26e9e12f5eafffcc390b4de94169ca8ab4400e394d7e4d0e25a9e45526c50e427941ec2d04d70a67a583f1ee611e6c languageName: node linkType: hard @@ -4536,8 +4536,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" dependencies: - "@aws-sdk/client-ec2": "npm:^3.629.0" - "@aws-sdk/client-ssm": "npm:^3.629.0" + "@aws-sdk/client-ec2": "npm:^3.632.0" + "@aws-sdk/client-ssm": "npm:^3.632.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" @@ -4599,7 +4599,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: - "@aws-sdk/client-ssm": "npm:^3.629.0" + "@aws-sdk/client-ssm": "npm:^3.632.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -4628,8 +4628,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" dependencies: - "@aws-sdk/client-ec2": "npm:^3.629.0" - "@aws-sdk/client-sqs": "npm:^3.629.0" + "@aws-sdk/client-ec2": "npm:^3.632.0" + "@aws-sdk/client-sqs": "npm:^3.632.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.1" @@ -4668,8 +4668,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: - "@aws-sdk/client-s3": "npm:^3.629.0" - "@aws-sdk/lib-storage": "npm:^3.629.0" + "@aws-sdk/client-s3": "npm:^3.633.0" + "@aws-sdk/lib-storage": "npm:^3.633.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" @@ -4700,7 +4700,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: - "@aws-sdk/client-ec2": "npm:^3.629.0" + "@aws-sdk/client-ec2": "npm:^3.632.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" @@ -4731,7 +4731,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/webhook@workspace:functions/webhook" dependencies: - "@aws-sdk/client-sqs": "npm:^3.629.0" + "@aws-sdk/client-sqs": "npm:^3.632.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" From c3b57a2d85d38640db0a35a050177a5afcfafeb8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 20 Aug 2024 13:04:14 +0200 Subject: [PATCH 40/90] chore(lambda): bump @nx/js from 19.5.7 to 19.6.1 in /lambdas (#4083) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) from 19.5.7 to 19.6.1.
    Release notes

    Sourced from @​nx/js's releases.

    19.6.1 (2024-08-19)

    🚀 Features

    • core: add shutdown lifecycle hook to node executor (#27354)
    • docs: update OpenAI model to use gpt-4o-mini (#27434)
    • nx-dev: add Explain with AI to Enterprise and Pro Plans (#27455)
    • nx-dev: add Monorepo World banner to hero (#27482)

    🩹 Fixes

    • angular: generate @​nx/angular in devDependencies and move to dependencies when using runtime helpers (#27405)
    • angular: module-federation-ssr-dev-server should call correct builder (#27477)
    • angular: bump ngrx version to 18.0.2 (#27506)
    • js: handle arbitrary nested ts path mappings when re-mapping them to the outputs (#27429)
    • linter: update the @​nx/dependency-checks rule to read the package.json content from the rule context (#27476)
    • misc: ensure custom reporters are usable with @​nx/playwright:playwright (#27443)
    • module-federation: ensure target defaults are set correctly #27448 (#27472, #27448)
    • node: build-esbuild-options.ts browser user define envs by config (#27480)
    • nx-dev: Og image path generation (#27456)
    • nx-dev: bad link from home page (#27475)
    • nx-dev: fix use key instead of env to reference cache key in… (#26644)
    • react: ensure @​vitejs/plugin-react is installed for storybook (#27463)
    • react: enable vitejs-plugin-react-swc for swc compiler (#27457)
    • repo: add dependsOn to native build (#27446)
    • testing: fix misc issues in migrations (#27471)

    ❤️ Thank You

    19.6.0 (2024-08-15)

    🚀 Features

    • angular: deprecate data persistence operators (#27401)
    • angular: support angular v18.2.0 (#27379)

    ... (truncated)

    Commits
    • d2ee81b feat(core): add shutdown lifecycle hook to node executor (#27354)
    • 791a8ef fix(js): handle arbitrary nested ts path mappings when re-mapping them to the...
    • 7d1d14f cleanup(js): fix test cases on windows (#27300)
    • d39624c feat(js): @​nx/js:init generator does not generate prettier and tsconfig.base....
    • 4108bfc feat(release): add nx release plan:check command to ensure relevant version...
    • add5a67 feat(misc): add nx syncing mechanism and update the typescript-sync generator...
    • 5551823 feat(release): add logUnchangedProjects flag to version generator, true by de...
    • dfd7241 fix(testing): adding e2e projects should register e2e-ci targetDefaults (#27185)
    • e8b77b7 fix(js): handle project references better in typescript plugin (#27178)
    • efa59fa docs(core): add outputFileName to tsc executor schema (#27161)
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@nx/js&package-manager=npm_and_yarn&previous-version=19.5.7&new-version=19.6.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/package.json | 2 +- lambdas/yarn.lock | 274 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 273 insertions(+), 3 deletions(-) diff --git a/lambdas/package.json b/lambdas/package.json index 2514e3566c..a41684da5d 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -23,7 +23,7 @@ "devDependencies": { "@nx/eslint": "19.5.7", "@nx/jest": "19.5.4", - "@nx/js": "^19.5.4", + "@nx/js": "^19.6.1", "@swc-node/register": "~1.10.9", "@swc/core": "~1.7.4", "@swc/helpers": "~0.5.12", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index e19dc9df4e..b263de2986 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -2922,6 +2922,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/devkit@npm:19.6.1": + version: 19.6.1 + resolution: "@nrwl/devkit@npm:19.6.1" + dependencies: + "@nx/devkit": "npm:19.6.1" + checksum: 10c0/eec10960ae0d8da22818a52059ddd8bdc859ba2993d4c8cc91be3adf6c6a7d90a81ffd77371d76c0fad95534340eeff0a2eb02a668b2dfea1bc62d660efba8b3 + languageName: node + linkType: hard + "@nrwl/jest@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/jest@npm:19.5.4" @@ -2949,6 +2958,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/js@npm:19.6.1": + version: 19.6.1 + resolution: "@nrwl/js@npm:19.6.1" + dependencies: + "@nx/js": "npm:19.6.1" + checksum: 10c0/93c2cd1dca46d0e9d85d9cedbc8cfb38eecfad304bc66816353dc2fe28cdff9fcf0ff97907459e804c59c6aa08cbd6d40f493b5532884602eed50f8a2e03808e + languageName: node + linkType: hard + "@nrwl/tao@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/tao@npm:19.5.4" @@ -2973,6 +2991,18 @@ __metadata: languageName: node linkType: hard +"@nrwl/tao@npm:19.6.1": + version: 19.6.1 + resolution: "@nrwl/tao@npm:19.6.1" + dependencies: + nx: "npm:19.6.1" + tslib: "npm:^2.3.0" + bin: + tao: index.js + checksum: 10c0/14125fc1a7ecec6100ad1370e85f1bdce5cb44b35eda2a3e89ec911d2ef5e46835745de5ac24b6b45ab4023b4ba17e13baacaaf575be69066cf935bdbd85a091 + languageName: node + linkType: hard + "@nrwl/workspace@npm:19.5.4": version: 19.5.4 resolution: "@nrwl/workspace@npm:19.5.4" @@ -2991,6 +3021,15 @@ __metadata: languageName: node linkType: hard +"@nrwl/workspace@npm:19.6.1": + version: 19.6.1 + resolution: "@nrwl/workspace@npm:19.6.1" + dependencies: + "@nx/workspace": "npm:19.6.1" + checksum: 10c0/c2c3fd74840f3ad6a5b6ea1d9b2f561f5f5e1f44bbba01c44bc572e32ca370163060e6f99d766d2e8d8482e999e6447d7e071ee94ece52cbe64b1fd550b4c68b + languageName: node + linkType: hard + "@nx/devkit@npm:19.5.4": version: 19.5.4 resolution: "@nx/devkit@npm:19.5.4" @@ -3029,6 +3068,25 @@ __metadata: languageName: node linkType: hard +"@nx/devkit@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/devkit@npm:19.6.1" + dependencies: + "@nrwl/devkit": "npm:19.6.1" + ejs: "npm:^3.1.7" + enquirer: "npm:~2.3.6" + ignore: "npm:^5.0.4" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.3" + tmp: "npm:~0.2.1" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + peerDependencies: + nx: ">= 17 <= 20" + checksum: 10c0/70c470c4168dea1c631123eccd9187681044cbc274fae072ba4a7f20a2debb53a7017d85fe838b9a4a2cbded940f2e904ac6a224e881f46bf48c397724d5d958 + languageName: node + linkType: hard + "@nx/eslint@npm:19.5.7": version: 19.5.7 resolution: "@nx/eslint@npm:19.5.7" @@ -3114,7 +3172,7 @@ __metadata: languageName: node linkType: hard -"@nx/js@npm:19.5.7, @nx/js@npm:^19.5.4": +"@nx/js@npm:19.5.7": version: 19.5.7 resolution: "@nx/js@npm:19.5.7" dependencies: @@ -3156,6 +3214,48 @@ __metadata: languageName: node linkType: hard +"@nx/js@npm:19.6.1, @nx/js@npm:^19.6.1": + version: 19.6.1 + resolution: "@nx/js@npm:19.6.1" + dependencies: + "@babel/core": "npm:^7.23.2" + "@babel/plugin-proposal-decorators": "npm:^7.22.7" + "@babel/plugin-transform-class-properties": "npm:^7.22.5" + "@babel/plugin-transform-runtime": "npm:^7.23.2" + "@babel/preset-env": "npm:^7.23.2" + "@babel/preset-typescript": "npm:^7.22.5" + "@babel/runtime": "npm:^7.22.6" + "@nrwl/js": "npm:19.6.1" + "@nx/devkit": "npm:19.6.1" + "@nx/workspace": "npm:19.6.1" + babel-plugin-const-enum: "npm:^1.0.1" + babel-plugin-macros: "npm:^2.8.0" + babel-plugin-transform-typescript-metadata: "npm:^0.3.1" + chalk: "npm:^4.1.0" + columnify: "npm:^1.6.0" + detect-port: "npm:^1.5.1" + fast-glob: "npm:3.2.7" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + js-tokens: "npm:^4.0.0" + minimatch: "npm:9.0.3" + npm-package-arg: "npm:11.0.1" + npm-run-path: "npm:^4.0.1" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + source-map-support: "npm:0.5.19" + ts-node: "npm:10.9.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + peerDependencies: + verdaccio: ^5.0.4 + peerDependenciesMeta: + verdaccio: + optional: true + checksum: 10c0/d308fab3359ce4a5769e13c40f36c2ec93ea2f5e323f1ff5ee8530479f5b7251a8327cff8e3910bb1a324f11696cb8bb70c59739154865059227c042dd2f739e + languageName: node + linkType: hard + "@nx/linter@npm:19.5.7": version: 19.5.7 resolution: "@nx/linter@npm:19.5.7" @@ -3179,6 +3279,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-darwin-arm64@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-darwin-arm64@npm:19.6.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@nx/nx-darwin-x64@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-darwin-x64@npm:19.5.4" @@ -3193,6 +3300,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-darwin-x64@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-darwin-x64@npm:19.6.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@nx/nx-freebsd-x64@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-freebsd-x64@npm:19.5.4" @@ -3207,6 +3321,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-freebsd-x64@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-freebsd-x64@npm:19.6.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@nx/nx-linux-arm-gnueabihf@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.4" @@ -3221,6 +3342,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm-gnueabihf@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.6.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@nx/nx-linux-arm64-gnu@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.4" @@ -3235,6 +3363,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm64-gnu@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.6.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@nx/nx-linux-arm64-musl@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-arm64-musl@npm:19.5.4" @@ -3249,6 +3384,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-arm64-musl@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-linux-arm64-musl@npm:19.6.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@nx/nx-linux-x64-gnu@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-x64-gnu@npm:19.5.4" @@ -3263,6 +3405,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-x64-gnu@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-linux-x64-gnu@npm:19.6.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@nx/nx-linux-x64-musl@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-linux-x64-musl@npm:19.5.4" @@ -3277,6 +3426,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-linux-x64-musl@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-linux-x64-musl@npm:19.6.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@nx/nx-win32-arm64-msvc@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.4" @@ -3291,6 +3447,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-win32-arm64-msvc@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.6.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@nx/nx-win32-x64-msvc@npm:19.5.4": version: 19.5.4 resolution: "@nx/nx-win32-x64-msvc@npm:19.5.4" @@ -3305,6 +3468,13 @@ __metadata: languageName: node linkType: hard +"@nx/nx-win32-x64-msvc@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/nx-win32-x64-msvc@npm:19.6.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@nx/workspace@npm:19.5.4": version: 19.5.4 resolution: "@nx/workspace@npm:19.5.4" @@ -3335,6 +3505,21 @@ __metadata: languageName: node linkType: hard +"@nx/workspace@npm:19.6.1": + version: 19.6.1 + resolution: "@nx/workspace@npm:19.6.1" + dependencies: + "@nrwl/workspace": "npm:19.6.1" + "@nx/devkit": "npm:19.6.1" + chalk: "npm:^4.1.0" + enquirer: "npm:~2.3.6" + nx: "npm:19.6.1" + tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" + checksum: 10c0/55e1c8592191992c4ac81d459ceb06e6b269cce0bbbe06dbc1d105e2a897612160aadc44c490c7958ab1d47868e3688e3d439586c82430f98f8123a7225bf758 + languageName: node + linkType: hard + "@octokit/auth-app@npm:6.1.1": version: 6.1.1 resolution: "@octokit/auth-app@npm:6.1.1" @@ -8516,7 +8701,7 @@ __metadata: dependencies: "@nx/eslint": "npm:19.5.7" "@nx/jest": "npm:19.5.4" - "@nx/js": "npm:^19.5.4" + "@nx/js": "npm:^19.6.1" "@swc-node/register": "npm:~1.10.9" "@swc/core": "npm:~1.7.4" "@swc/helpers": "npm:~0.5.12" @@ -9277,6 +9462,91 @@ __metadata: languageName: node linkType: hard +"nx@npm:19.6.1": + version: 19.6.1 + resolution: "nx@npm:19.6.1" + dependencies: + "@napi-rs/wasm-runtime": "npm:0.2.4" + "@nrwl/tao": "npm:19.6.1" + "@nx/nx-darwin-arm64": "npm:19.6.1" + "@nx/nx-darwin-x64": "npm:19.6.1" + "@nx/nx-freebsd-x64": "npm:19.6.1" + "@nx/nx-linux-arm-gnueabihf": "npm:19.6.1" + "@nx/nx-linux-arm64-gnu": "npm:19.6.1" + "@nx/nx-linux-arm64-musl": "npm:19.6.1" + "@nx/nx-linux-x64-gnu": "npm:19.6.1" + "@nx/nx-linux-x64-musl": "npm:19.6.1" + "@nx/nx-win32-arm64-msvc": "npm:19.6.1" + "@nx/nx-win32-x64-msvc": "npm:19.6.1" + "@yarnpkg/lockfile": "npm:^1.1.0" + "@yarnpkg/parsers": "npm:3.0.0-rc.46" + "@zkochan/js-yaml": "npm:0.0.7" + axios: "npm:^1.7.4" + chalk: "npm:^4.1.0" + cli-cursor: "npm:3.1.0" + cli-spinners: "npm:2.6.1" + cliui: "npm:^8.0.1" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + enquirer: "npm:~2.3.6" + figures: "npm:3.2.0" + flat: "npm:^5.0.2" + front-matter: "npm:^4.0.2" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + jest-diff: "npm:^29.4.1" + jsonc-parser: "npm:3.2.0" + lines-and-columns: "npm:~2.0.3" + minimatch: "npm:9.0.3" + node-machine-id: "npm:1.1.12" + npm-run-path: "npm:^4.0.1" + open: "npm:^8.4.0" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + string-width: "npm:^4.2.3" + strong-log-transformer: "npm:^2.1.0" + tar-stream: "npm:~2.2.0" + tmp: "npm:~0.2.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + yargs: "npm:^17.6.2" + yargs-parser: "npm:21.1.1" + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + dependenciesMeta: + "@nx/nx-darwin-arm64": + optional: true + "@nx/nx-darwin-x64": + optional: true + "@nx/nx-freebsd-x64": + optional: true + "@nx/nx-linux-arm-gnueabihf": + optional: true + "@nx/nx-linux-arm64-gnu": + optional: true + "@nx/nx-linux-arm64-musl": + optional: true + "@nx/nx-linux-x64-gnu": + optional: true + "@nx/nx-linux-x64-musl": + optional: true + "@nx/nx-win32-arm64-msvc": + optional: true + "@nx/nx-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + nx-cloud: bin/nx-cloud.js + checksum: 10c0/a27d249776e924fe28c1c961e25e890dabc0b701e6dee425ed115b4819371f56042fd5490ce1d4d4ccfd7c8fad3e7b816a051e689487312372c23e68920da033 + languageName: node + linkType: hard + "object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" From 9d303dd3a60be008f568300da524fe45feff4c01 Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Mon, 26 Aug 2024 08:37:41 +0200 Subject: [PATCH 41/90] chore(main): release 5.15.3 (#4087) :robot: I have created a release *beep* *boop* --- ## [5.15.3](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.2...v5.15.3) (2024-08-20) ### Bug Fixes * **lambda:** bump the aws group in /lambdas with 5 updates ([#4082](https://github.com/philips-labs/terraform-aws-github-runner/issues/4082)) ([70d7731](https://github.com/philips-labs/terraform-aws-github-runner/commit/70d7731642cf8f26031bae9e2f1a45b8ed1555bb)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53ed1206b0..d950bd179d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [5.15.3](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.2...v5.15.3) (2024-08-20) + + +### Bug Fixes + +* **lambda:** bump the aws group in /lambdas with 5 updates ([#4082](https://github.com/philips-labs/terraform-aws-github-runner/issues/4082)) ([70d7731](https://github.com/philips-labs/terraform-aws-github-runner/commit/70d7731642cf8f26031bae9e2f1a45b8ed1555bb)) + ## [5.15.2](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.1...v5.15.2) (2024-08-19) From 1405e54adfecb9373af1831a973a92fb2be18998 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 08:13:37 +0200 Subject: [PATCH 42/90] fix(lambda): bump the aws group in /lambdas with 5 updates (#4089) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 5 updates: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.632.0` | `3.637.0` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.632.0` | `3.637.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.632.0` | `3.637.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.633.0` | `3.637.0` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.633.0` | `3.637.0` | Updates `@aws-sdk/client-ec2` from 3.632.0 to 3.637.0
    Release notes

    Sourced from @​aws-sdk/client-ec2's releases.

    v3.637.0

    3.637.0(2024-08-22)

    Chores
    • util-endpoints: update aws partitions.json (9d2511b8)
    • endpoints: update endpoints model (f7ad4c17)
    • models: update API models (842bde9e)
    • client-codestar: deprecate CodeStar (#6402) (5327273d)
    Documentation Changes
    • client-auto-scaling: Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement (041f6dd9)
    New Features
    • client-route-53: Amazon Route 53 now supports the Asia Pacific (Malaysia) Region (ap-southeast-5) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. (b3d22dec)
    • client-emr-containers: Correct endpoint for FIPS is configured for US Gov Regions. (0cd9baec)
    • client-inspector2: Add enums for Agentless scan statuses and EC2 enablement error states (52856e7f)
    • client-quicksight: Explicit query for authors and dashboard viewing sharing for embedded users (18135bcc)
    • client-bedrock: Amazon Bedrock Evaluation BatchDeleteEvaluationJob API allows customers to delete evaluation jobs under terminated evaluation job statuses - Stopped, Failed, or Completed. Customers can submit a batch of 25 evaluation jobs to be deleted at once. (06501cbb)

    For list of updated packages, view updated-packages.md in assets-3.637.0.zip

    v3.636.0

    3.636.0(2024-08-21)

    Chores
    • turbo: simplify build scripts in package.json (#6366) (614d98e1)
    Documentation Changes
    • link to smithy/middleware-retry in Notable Changes (#6397) (31263194)
    New Features
    • clients: update client endpoints as of 2024-08-21 (f8aaf1df)
    • client-ses: Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for "Deliver to S3 Action" (aafc6ebd)
    • client-entityresolution: Increase the mapping attributes in Schema to 35. (d038be36)
    • client-glue: Add optional field JobRunQueuingEnabled to CreateJob and UpdateJob APIs. (b3bbf579)
    • client-securityhub: Security Hub documentation and definition updates (17db5f7e)
    • client-lambda: Release FilterCriteria encryption for Lambda EventSourceMapping, enabling customers to encrypt their filter criteria using a customer-owned KMS key. (6fff3639)
    • client-ec2: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances (1baa7ea8)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ec2's changelog.

    3.637.0 (2024-08-22)

    Note: Version bump only for package @​aws-sdk/client-ec2

    3.636.0 (2024-08-21)

    Features

    • client-ec2: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances (1baa7ea)

    3.635.0 (2024-08-20)

    Features

    • codegen: add Smithy RPCv2 CBOR to list of protocols (#6096) (5154d4f)
    Commits
    • ee762fe Publish v3.637.0
    • a17fd59 Publish v3.636.0
    • 1baa7ea feat(client-ec2): DescribeInstanceStatus now returns health information on EB...
    • 2c0f590 Publish v3.635.0
    • 5154d4f feat(codegen): add Smithy RPCv2 CBOR to list of protocols (#6096)
    • See full diff in compare view

    Updates `@aws-sdk/client-ssm` from 3.632.0 to 3.637.0
    Release notes

    Sourced from @​aws-sdk/client-ssm's releases.

    v3.637.0

    3.637.0(2024-08-22)

    Chores
    • util-endpoints: update aws partitions.json (9d2511b8)
    • endpoints: update endpoints model (f7ad4c17)
    • models: update API models (842bde9e)
    • client-codestar: deprecate CodeStar (#6402) (5327273d)
    Documentation Changes
    • client-auto-scaling: Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement (041f6dd9)
    New Features
    • client-route-53: Amazon Route 53 now supports the Asia Pacific (Malaysia) Region (ap-southeast-5) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. (b3d22dec)
    • client-emr-containers: Correct endpoint for FIPS is configured for US Gov Regions. (0cd9baec)
    • client-inspector2: Add enums for Agentless scan statuses and EC2 enablement error states (52856e7f)
    • client-quicksight: Explicit query for authors and dashboard viewing sharing for embedded users (18135bcc)
    • client-bedrock: Amazon Bedrock Evaluation BatchDeleteEvaluationJob API allows customers to delete evaluation jobs under terminated evaluation job statuses - Stopped, Failed, or Completed. Customers can submit a batch of 25 evaluation jobs to be deleted at once. (06501cbb)

    For list of updated packages, view updated-packages.md in assets-3.637.0.zip

    v3.636.0

    3.636.0(2024-08-21)

    Chores
    • turbo: simplify build scripts in package.json (#6366) (614d98e1)
    Documentation Changes
    • link to smithy/middleware-retry in Notable Changes (#6397) (31263194)
    New Features
    • clients: update client endpoints as of 2024-08-21 (f8aaf1df)
    • client-ses: Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for "Deliver to S3 Action" (aafc6ebd)
    • client-entityresolution: Increase the mapping attributes in Schema to 35. (d038be36)
    • client-glue: Add optional field JobRunQueuingEnabled to CreateJob and UpdateJob APIs. (b3bbf579)
    • client-securityhub: Security Hub documentation and definition updates (17db5f7e)
    • client-lambda: Release FilterCriteria encryption for Lambda EventSourceMapping, enabling customers to encrypt their filter criteria using a customer-owned KMS key. (6fff3639)
    • client-ec2: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances (1baa7ea8)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ssm's changelog.

    3.637.0 (2024-08-22)

    Note: Version bump only for package @​aws-sdk/client-ssm

    3.635.0 (2024-08-20)

    Features

    • codegen: add Smithy RPCv2 CBOR to list of protocols (#6096) (5154d4f)
    Commits

    Updates `@aws-sdk/client-sqs` from 3.632.0 to 3.637.0
    Release notes

    Sourced from @​aws-sdk/client-sqs's releases.

    v3.637.0

    3.637.0(2024-08-22)

    Chores
    • util-endpoints: update aws partitions.json (9d2511b8)
    • endpoints: update endpoints model (f7ad4c17)
    • models: update API models (842bde9e)
    • client-codestar: deprecate CodeStar (#6402) (5327273d)
    Documentation Changes
    • client-auto-scaling: Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement (041f6dd9)
    New Features
    • client-route-53: Amazon Route 53 now supports the Asia Pacific (Malaysia) Region (ap-southeast-5) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. (b3d22dec)
    • client-emr-containers: Correct endpoint for FIPS is configured for US Gov Regions. (0cd9baec)
    • client-inspector2: Add enums for Agentless scan statuses and EC2 enablement error states (52856e7f)
    • client-quicksight: Explicit query for authors and dashboard viewing sharing for embedded users (18135bcc)
    • client-bedrock: Amazon Bedrock Evaluation BatchDeleteEvaluationJob API allows customers to delete evaluation jobs under terminated evaluation job statuses - Stopped, Failed, or Completed. Customers can submit a batch of 25 evaluation jobs to be deleted at once. (06501cbb)

    For list of updated packages, view updated-packages.md in assets-3.637.0.zip

    v3.636.0

    3.636.0(2024-08-21)

    Chores
    • turbo: simplify build scripts in package.json (#6366) (614d98e1)
    Documentation Changes
    • link to smithy/middleware-retry in Notable Changes (#6397) (31263194)
    New Features
    • clients: update client endpoints as of 2024-08-21 (f8aaf1df)
    • client-ses: Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for "Deliver to S3 Action" (aafc6ebd)
    • client-entityresolution: Increase the mapping attributes in Schema to 35. (d038be36)
    • client-glue: Add optional field JobRunQueuingEnabled to CreateJob and UpdateJob APIs. (b3bbf579)
    • client-securityhub: Security Hub documentation and definition updates (17db5f7e)
    • client-lambda: Release FilterCriteria encryption for Lambda EventSourceMapping, enabling customers to encrypt their filter criteria using a customer-owned KMS key. (6fff3639)
    • client-ec2: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances (1baa7ea8)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-sqs's changelog.

    3.637.0 (2024-08-22)

    Note: Version bump only for package @​aws-sdk/client-sqs

    3.635.0 (2024-08-20)

    Features

    • codegen: add Smithy RPCv2 CBOR to list of protocols (#6096) (5154d4f)
    Commits

    Updates `@aws-sdk/client-s3` from 3.633.0 to 3.637.0
    Release notes

    Sourced from @​aws-sdk/client-s3's releases.

    v3.637.0

    3.637.0(2024-08-22)

    Chores
    • util-endpoints: update aws partitions.json (9d2511b8)
    • endpoints: update endpoints model (f7ad4c17)
    • models: update API models (842bde9e)
    • client-codestar: deprecate CodeStar (#6402) (5327273d)
    Documentation Changes
    • client-auto-scaling: Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement (041f6dd9)
    New Features
    • client-route-53: Amazon Route 53 now supports the Asia Pacific (Malaysia) Region (ap-southeast-5) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. (b3d22dec)
    • client-emr-containers: Correct endpoint for FIPS is configured for US Gov Regions. (0cd9baec)
    • client-inspector2: Add enums for Agentless scan statuses and EC2 enablement error states (52856e7f)
    • client-quicksight: Explicit query for authors and dashboard viewing sharing for embedded users (18135bcc)
    • client-bedrock: Amazon Bedrock Evaluation BatchDeleteEvaluationJob API allows customers to delete evaluation jobs under terminated evaluation job statuses - Stopped, Failed, or Completed. Customers can submit a batch of 25 evaluation jobs to be deleted at once. (06501cbb)

    For list of updated packages, view updated-packages.md in assets-3.637.0.zip

    v3.636.0

    3.636.0(2024-08-21)

    Chores
    • turbo: simplify build scripts in package.json (#6366) (614d98e1)
    Documentation Changes
    • link to smithy/middleware-retry in Notable Changes (#6397) (31263194)
    New Features
    • clients: update client endpoints as of 2024-08-21 (f8aaf1df)
    • client-ses: Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for "Deliver to S3 Action" (aafc6ebd)
    • client-entityresolution: Increase the mapping attributes in Schema to 35. (d038be36)
    • client-glue: Add optional field JobRunQueuingEnabled to CreateJob and UpdateJob APIs. (b3bbf579)
    • client-securityhub: Security Hub documentation and definition updates (17db5f7e)
    • client-lambda: Release FilterCriteria encryption for Lambda EventSourceMapping, enabling customers to encrypt their filter criteria using a customer-owned KMS key. (6fff3639)
    • client-ec2: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances (1baa7ea8)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-s3's changelog.

    3.637.0 (2024-08-22)

    Note: Version bump only for package @​aws-sdk/client-s3

    3.635.0 (2024-08-20)

    Features

    • client-s3: Amazon Simple Storage Service / Features : Add support for conditional writes for PutObject and CompleteMultipartUpload APIs. (b474584)
    • codegen: add Smithy RPCv2 CBOR to list of protocols (#6096) (5154d4f)
    Commits
    • ee762fe Publish v3.637.0
    • 2c0f590 Publish v3.635.0
    • b474584 feat(client-s3): Amazon Simple Storage Service / Features : Add support for c...
    • 5154d4f feat(codegen): add Smithy RPCv2 CBOR to list of protocols (#6096)
    • See full diff in compare view

    Updates `@aws-sdk/lib-storage` from 3.633.0 to 3.637.0
    Release notes

    Sourced from @​aws-sdk/lib-storage's releases.

    v3.637.0

    3.637.0(2024-08-22)

    Chores
    • util-endpoints: update aws partitions.json (9d2511b8)
    • endpoints: update endpoints model (f7ad4c17)
    • models: update API models (842bde9e)
    • client-codestar: deprecate CodeStar (#6402) (5327273d)
    Documentation Changes
    • client-auto-scaling: Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement (041f6dd9)
    New Features
    • client-route-53: Amazon Route 53 now supports the Asia Pacific (Malaysia) Region (ap-southeast-5) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region. (b3d22dec)
    • client-emr-containers: Correct endpoint for FIPS is configured for US Gov Regions. (0cd9baec)
    • client-inspector2: Add enums for Agentless scan statuses and EC2 enablement error states (52856e7f)
    • client-quicksight: Explicit query for authors and dashboard viewing sharing for embedded users (18135bcc)
    • client-bedrock: Amazon Bedrock Evaluation BatchDeleteEvaluationJob API allows customers to delete evaluation jobs under terminated evaluation job statuses - Stopped, Failed, or Completed. Customers can submit a batch of 25 evaluation jobs to be deleted at once. (06501cbb)

    For list of updated packages, view updated-packages.md in assets-3.637.0.zip

    v3.636.0

    3.636.0(2024-08-21)

    Chores
    • turbo: simplify build scripts in package.json (#6366) (614d98e1)
    Documentation Changes
    • link to smithy/middleware-retry in Notable Changes (#6397) (31263194)
    New Features
    • clients: update client endpoints as of 2024-08-21 (f8aaf1df)
    • client-ses: Enable email receiving customers to provide SES with access to their S3 buckets via an IAM role for "Deliver to S3 Action" (aafc6ebd)
    • client-entityresolution: Increase the mapping attributes in Schema to 35. (d038be36)
    • client-glue: Add optional field JobRunQueuingEnabled to CreateJob and UpdateJob APIs. (b3bbf579)
    • client-securityhub: Security Hub documentation and definition updates (17db5f7e)
    • client-lambda: Release FilterCriteria encryption for Lambda EventSourceMapping, enabling customers to encrypt their filter criteria using a customer-owned KMS key. (6fff3639)
    • client-ec2: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances (1baa7ea8)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/lib-storage's changelog.

    3.637.0 (2024-08-22)

    Note: Version bump only for package @​aws-sdk/lib-storage

    3.635.0 (2024-08-20)

    Features

    • codegen: add Smithy RPCv2 CBOR to list of protocols (#6096) (5154d4f)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 4 +- lambdas/functions/control-plane/package.json | 4 +- .../functions/gh-agent-syncer/package.json | 4 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 412 +++++++++--------- 7 files changed, 216 insertions(+), 214 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 0eb8674de8..7310eaaee0 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -37,8 +37,8 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.632.0", - "@aws-sdk/client-ssm": "^3.632.0", + "@aws-sdk/client-ec2": "^3.637.0", + "@aws-sdk/client-ssm": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*", "@terraform-aws-github-runner/aws-ssm-util": "*", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index c5f5fed749..7af8cbbae8 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -38,8 +38,8 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.632.0", - "@aws-sdk/client-sqs": "^3.632.0", + "@aws-sdk/client-ec2": "^3.637.0", + "@aws-sdk/client-sqs": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 2751117fbf..844bc362d1 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -36,8 +36,8 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-s3": "^3.633.0", - "@aws-sdk/lib-storage": "^3.633.0", + "@aws-sdk/client-s3": "^3.637.0", + "@aws-sdk/lib-storage": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index ed74aa5224..fc52b03b97 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -35,7 +35,7 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { - "@aws-sdk/client-ec2": "^3.632.0", + "@aws-sdk/client-ec2": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@terraform-aws-github-runner/aws-powertools-util": "*", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 7e4fdf14d1..6680340fe1 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -37,7 +37,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-sqs": "^3.632.0", + "@aws-sdk/client-sqs": "^3.637.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 5414ac579b..0d3f09d1c3 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -35,7 +35,7 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-sdk/client-ssm": "^3.632.0", + "@aws-sdk/client-ssm": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@terraform-aws-github-runner/aws-powertools-util": "*" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index b263de2986..28bd255276 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -148,47 +148,47 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/client-ec2@npm:3.632.0" +"@aws-sdk/client-ec2@npm:^3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/client-ec2@npm:3.637.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.632.0" - "@aws-sdk/client-sts": "npm:3.632.0" - "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.632.0" + "@aws-sdk/client-sso-oidc": "npm:3.637.0" + "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/core": "npm:3.635.0" + "@aws-sdk/credential-provider-node": "npm:3.637.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-ec2": "npm:3.622.0" - "@aws-sdk/middleware-user-agent": "npm:3.632.0" + "@aws-sdk/middleware-sdk-ec2": "npm:3.635.0" + "@aws-sdk/middleware-user-agent": "npm:3.637.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-defaults-mode-browser": "npm:^3.0.15" + "@smithy/util-defaults-mode-node": "npm:^3.0.15" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" @@ -196,21 +196,21 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/bfc68ebd6bdecf3987b40942db870c35fd994f3a971e49297bb37f317912a17a9ef1e62f42fd13de10f512a17a6038b3b573bca86b9cb4cb6a920690af196e8c + checksum: 10c0/43c1e0b752550ccbd7e132b3f95926710e8da019296a06a62b3ed6f244e3a56baac7f907b44ec4364500759ac7d7681da20b2d09bcf88d6bb2d923d81a3efb35 languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.633.0": - version: 3.633.0 - resolution: "@aws-sdk/client-s3@npm:3.633.0" +"@aws-sdk/client-s3@npm:^3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/client-s3@npm:3.637.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.632.0" - "@aws-sdk/client-sts": "npm:3.632.0" - "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.632.0" + "@aws-sdk/client-sso-oidc": "npm:3.637.0" + "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/core": "npm:3.635.0" + "@aws-sdk/credential-provider-node": "npm:3.637.0" "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" "@aws-sdk/middleware-expect-continue": "npm:3.620.0" "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" @@ -218,18 +218,18 @@ __metadata: "@aws-sdk/middleware-location-constraint": "npm:3.609.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.633.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.635.0" "@aws-sdk/middleware-ssec": "npm:3.609.0" - "@aws-sdk/middleware-user-agent": "npm:3.632.0" + "@aws-sdk/middleware-user-agent": "npm:3.637.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.633.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.635.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@aws-sdk/xml-builder": "npm:3.609.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/eventstream-serde-browser": "npm:^3.0.6" "@smithy/eventstream-serde-config-resolver": "npm:^3.0.3" "@smithy/eventstream-serde-node": "npm:^3.0.5" @@ -241,20 +241,20 @@ __metadata: "@smithy/md5-js": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-defaults-mode-browser": "npm:^3.0.15" + "@smithy/util-defaults-mode-node": "npm:^3.0.15" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" @@ -262,101 +262,101 @@ __metadata: "@smithy/util-utf8": "npm:^3.0.0" "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" - checksum: 10c0/265d736203386f934ac90c1fac9e18ca0fbd6825f68f87653cc0acd0a224f5e1bf54abf22f2edd1d133e90e980db985bc326e1d8be148f1ee804f517481da49e + checksum: 10c0/3cce8334727a673b84633d1f01a1064d289a33ea9c7a5a5c55361f48224cc83bb90c0a27587af5c3fc07d7ee2ee31a79e0573d46239e655c2786fb0a8d3d0c64 languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/client-sqs@npm:3.632.0" +"@aws-sdk/client-sqs@npm:^3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/client-sqs@npm:3.637.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.632.0" - "@aws-sdk/client-sts": "npm:3.632.0" - "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.632.0" + "@aws-sdk/client-sso-oidc": "npm:3.637.0" + "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/core": "npm:3.635.0" + "@aws-sdk/credential-provider-node": "npm:3.637.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-sqs": "npm:3.622.0" - "@aws-sdk/middleware-user-agent": "npm:3.632.0" + "@aws-sdk/middleware-sdk-sqs": "npm:3.635.0" + "@aws-sdk/middleware-user-agent": "npm:3.637.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/md5-js": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-defaults-mode-browser": "npm:^3.0.15" + "@smithy/util-defaults-mode-node": "npm:^3.0.15" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/9d16bfcc20212ca628f08ec952d9c895cbc1e2470692f80ecfb923412a0412b390dac22294dea212efc1ead868dfdd52844838301501864c6635d482e41f8a52 + checksum: 10c0/0f338abafaaec30675a9ab493c5ded1860b6ccc0ba79c9d31ff340ee28bf3b7351d16633e5d1d600de2a2000dd14495e17f2942db74c8f734c8c898de0229fba languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/client-ssm@npm:3.632.0" +"@aws-sdk/client-ssm@npm:^3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/client-ssm@npm:3.637.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.632.0" - "@aws-sdk/client-sts": "npm:3.632.0" - "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.632.0" + "@aws-sdk/client-sso-oidc": "npm:3.637.0" + "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/core": "npm:3.635.0" + "@aws-sdk/credential-provider-node": "npm:3.637.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.632.0" + "@aws-sdk/middleware-user-agent": "npm:3.637.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-defaults-mode-browser": "npm:^3.0.15" + "@smithy/util-defaults-mode-node": "npm:^3.0.15" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" @@ -364,168 +364,168 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/eb08ac48273711fb5f505b29293516e6e8b5ae4d97d17de8aedca5fe2683318b9d31a450c95551a571969db2e77de7c150b53496b444487021d247b222be9b72 + checksum: 10c0/54c9fdc0d44bf92667e1aec6b130394520ccbb4e593fef316c9280178c758b7bacc5ace77d4ef4d0aae1e5ea7af151d7f378de15cb5b589f4cca24e0f047cce6 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.632.0" +"@aws-sdk/client-sso-oidc@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.637.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.632.0" + "@aws-sdk/core": "npm:3.635.0" + "@aws-sdk/credential-provider-node": "npm:3.637.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.632.0" + "@aws-sdk/middleware-user-agent": "npm:3.637.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-defaults-mode-browser": "npm:^3.0.15" + "@smithy/util-defaults-mode-node": "npm:^3.0.15" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.632.0 - checksum: 10c0/3db566d0f9f10fef6267a9413dfa2056db116c781031cc9485b49432d5e43ae890d9218983f8d3ceecb6896cdcccf330753443363a168b2020d90ece9948bbf7 + "@aws-sdk/client-sts": ^3.637.0 + checksum: 10c0/eb3af482e6eb9b44549343da62dd761259afc71a8a4c7c6883f2cafadf96da2e54ac97cc1c9757ba43ea9258b4af50d114f20fb186f52109a10642178fa127a1 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/client-sso@npm:3.632.0" +"@aws-sdk/client-sso@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/client-sso@npm:3.637.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/core": "npm:3.635.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.632.0" + "@aws-sdk/middleware-user-agent": "npm:3.637.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-defaults-mode-browser": "npm:^3.0.15" + "@smithy/util-defaults-mode-node": "npm:^3.0.15" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/7b7ac3ddbdd693147bd0a9463c8f46e5c3b11969bd4e531073feb43abd453589755305aabd87985ccd706e164dd5d72709b6acec432342a02f3efcc95cab2960 + checksum: 10c0/fff543452d559d92cc9caf45b62ef5114e0929d23a680016a25cce6f4f17cda40bee5535f9b877a76d8563de87ad582788c13e49559cff9264c90540fd5ae32a languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/client-sts@npm:3.632.0" +"@aws-sdk/client-sts@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/client-sts@npm:3.637.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.632.0" - "@aws-sdk/core": "npm:3.629.0" - "@aws-sdk/credential-provider-node": "npm:3.632.0" + "@aws-sdk/client-sso-oidc": "npm:3.637.0" + "@aws-sdk/core": "npm:3.635.0" + "@aws-sdk/credential-provider-node": "npm:3.637.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.632.0" + "@aws-sdk/middleware-user-agent": "npm:3.637.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/hash-node": "npm:^3.0.3" "@smithy/invalid-dependency": "npm:^3.0.3" "@smithy/middleware-content-length": "npm:^3.0.5" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/middleware-stack": "npm:^3.0.3" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/url-parser": "npm:^3.0.3" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.14" - "@smithy/util-defaults-mode-node": "npm:^3.0.14" + "@smithy/util-defaults-mode-browser": "npm:^3.0.15" + "@smithy/util-defaults-mode-node": "npm:^3.0.15" "@smithy/util-endpoints": "npm:^2.0.5" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/e230ac37af0753adebb45b6dae948b12ffc841f4de1b997d41844ebbb232c989abbd094b53d7ff276fbfe3134b6dfd1b39368e82a1eff73544a67efa898b3569 + checksum: 10c0/e3d7497ed65fa8617116c65926eb864ddb826267ef7db378c75d1288b4e6454909ed2dcd5eb8e1dad274359a5e9114c2e95bb9269d0dca7fc71a617c94a50075 languageName: node linkType: hard -"@aws-sdk/core@npm:3.629.0": - version: 3.629.0 - resolution: "@aws-sdk/core@npm:3.629.0" +"@aws-sdk/core@npm:3.635.0": + version: 3.635.0 + resolution: "@aws-sdk/core@npm:3.635.0" dependencies: - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/property-provider": "npm:^3.1.3" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-middleware": "npm:^3.0.3" fast-xml-parser: "npm:4.4.1" tslib: "npm:^2.6.2" - checksum: 10c0/2485a7074e55dd6477e3859aeb273df60c9fd87738a883a910cfeede35c15d10c27f34e6b6235227a228b2449926bed95d04f0fb8f28dfc6ce8bcd358ec196ee + checksum: 10c0/6f9a9a7dba32279a4f3970fee52845ef06509ffd414a1405c5d1a81e9b68d39dff8fe17c8f88d0e5516683c33f7a1d2b56432ebd8c540f86abfff782218e6f35 languageName: node linkType: hard @@ -541,31 +541,31 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:3.622.0": - version: 3.622.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.622.0" +"@aws-sdk/credential-provider-http@npm:3.635.0": + version: 3.635.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.635.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@smithy/fetch-http-handler": "npm:^3.2.4" "@smithy/node-http-handler": "npm:^3.1.4" "@smithy/property-provider": "npm:^3.1.3" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-stream": "npm:^3.1.3" tslib: "npm:^2.6.2" - checksum: 10c0/fa6b24991532dddcf1e688ab08fd831e5df189b4a5f2d560f41f3f870b9c940c00411a62e05f4a02e808edcab52f49b4255c8fba8fe07152224676e54eb6bbdb + checksum: 10c0/3a232fdece1cbe7e9ec740287702dfaa640392e827d31b5c8a23d59ab9dcf2424408a43a6ef2cf3c94e72ec5612f61651cb7cac92458c5b2c93754f6b7989daf languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.632.0" +"@aws-sdk/credential-provider-ini@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.637.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.622.0" + "@aws-sdk/credential-provider-http": "npm:3.635.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.632.0" + "@aws-sdk/credential-provider-sso": "npm:3.637.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -574,20 +574,20 @@ __metadata: "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.632.0 - checksum: 10c0/10c49fc8784862556433d0f3653ba741382363577891cd5268ef10bf7288fe9795f99a0ea069cfb7dffd53c838393a342506a3f1e14d402bb1e0ccdcca01af0f + "@aws-sdk/client-sts": ^3.637.0 + checksum: 10c0/ecabf423d448c0e0d668887b01008c99959a7e51e19a494eb1b9e8198aaffa634df063f4f9436d3f43c74e998090139de7f048946eb465d2c8188ae84838d3a2 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.632.0" +"@aws-sdk/credential-provider-node@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.637.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.622.0" - "@aws-sdk/credential-provider-ini": "npm:3.632.0" + "@aws-sdk/credential-provider-http": "npm:3.635.0" + "@aws-sdk/credential-provider-ini": "npm:3.637.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.632.0" + "@aws-sdk/credential-provider-sso": "npm:3.637.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -595,7 +595,7 @@ __metadata: "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/664c98de2e385358520d2bae2410b60499dc5eecd1ea6c394c4d9975bf256c77b3f6da5f8b9ef1a88f77ace7ef9ace5171a3bb3d09b9d4fe95f296102093d68b + checksum: 10c0/ec61181866ca024c31d6316689d1df2192713b23f4b1f8aa4c8479ecc6d0ea5d025edb595d2311d328637073b2557b240be418259766cfb8da9db0acd647bb03 languageName: node linkType: hard @@ -612,18 +612,18 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.632.0" +"@aws-sdk/credential-provider-sso@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.637.0" dependencies: - "@aws-sdk/client-sso": "npm:3.632.0" + "@aws-sdk/client-sso": "npm:3.637.0" "@aws-sdk/token-providers": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/property-provider": "npm:^3.1.3" "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/c71c7c3312bd796fe514826e56bda0627bf1a0636449e867b73ec20e3cb2f0ba7de0a9087a4836a6dc6c4e1ad85fd8fd0a5317cb3587b10f9ebb9152feb6292b + checksum: 10c0/7381f31ca6f2518c45467cd4ca036c5efc59f31905ebfed52b91ff151406972fc7968e360aa19c7978631ecf301841368f9807037b52322a7c0e7143c93d58ba languageName: node linkType: hard @@ -641,20 +641,20 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.633.0": - version: 3.633.0 - resolution: "@aws-sdk/lib-storage@npm:3.633.0" +"@aws-sdk/lib-storage@npm:^3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/lib-storage@npm:3.637.0" dependencies: "@smithy/abort-controller": "npm:^3.1.1" "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" buffer: "npm:5.6.0" events: "npm:3.3.0" stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.633.0 - checksum: 10c0/1cc361802f776ca7bc2e4810da12e6365838746485aafb7c4018aefa1955c601a8e6d2e74c26782b83244296a1a7f3e19e619efa7005a518ac32e31119010928 + "@aws-sdk/client-s3": ^3.637.0 + checksum: 10c0/1b6d0a9365642280cb223f78d767978dc268d1c15a5ea8059410e1c150f3bab8f23140feefeced785664c931bfdb29f7e090387103b98279f75a6035e16a46ac languageName: node linkType: hard @@ -747,55 +747,55 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-sdk-ec2@npm:3.622.0": - version: 3.622.0 - resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.622.0" +"@aws-sdk/middleware-sdk-ec2@npm:3.635.0": + version: 3.635.0 + resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.635.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-format-url": "npm:3.609.0" "@smithy/middleware-endpoint": "npm:^3.1.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/a26118e329c2181267551aa5d7a9d32c191d2f05166ab6d15aa3f888c9da315b01ba34b59cbb383b0d356aa9b40d8fb6d40c7fc48a3b249490c81ee0becb1eed + checksum: 10c0/aefdefd4c22b0347be3ed19d02d2c4e1402df4eca52a5ee00ae4bf0e2afc412641ca9426ab784e737412a9c578cf2c19d6f3df1ff17ce274af0ff524b4753d45 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.633.0": - version: 3.633.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.633.0" +"@aws-sdk/middleware-sdk-s3@npm:3.635.0": + version: 3.635.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.635.0" dependencies: - "@aws-sdk/core": "npm:3.629.0" + "@aws-sdk/core": "npm:3.635.0" "@aws-sdk/types": "npm:3.609.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/core": "npm:^2.3.2" + "@smithy/core": "npm:^2.4.0" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-config-provider": "npm:^3.0.0" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-stream": "npm:^3.1.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/a0d167c21c3ef980fad126534e4d506c917ef48ef14fd65009c69f1f99b039f86f363b93cddbcd90f4cceb48bde8bf0f8f55361e7806ade7ac9c9092d5eee1f2 + checksum: 10c0/81dd57dcb9214c1bc311546f71391132f42a9d35e857781fb1466940802a069337109cd1ff93cc64044f91f092e9e810ec6c2f140284a62ef6bda9e5b9164b6a languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sqs@npm:3.622.0": - version: 3.622.0 - resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.622.0" +"@aws-sdk/middleware-sdk-sqs@npm:3.635.0": + version: 3.635.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.635.0" dependencies: "@aws-sdk/types": "npm:3.609.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-hex-encoding": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/1b9e2aec6708d3499fc90806f66de7b46b0ca2aec684e27f402a86876c6901ec68e25a5811820263a7f87ed100f01bf9681b6af967823d90ac52d5460d7b6a8d + checksum: 10c0/325ecfb684a516018c4855c374cea99a0142fe48b14cae87b0c6b6856cf16edf925bc57b1d740c26983f7d2757d63d8a83900ef15b292a60835c25339ac976ed languageName: node linkType: hard @@ -810,16 +810,16 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.632.0" +"@aws-sdk/middleware-user-agent@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.637.0" dependencies: "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.632.0" + "@aws-sdk/util-endpoints": "npm:3.637.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/0085bb736d22270e4c4ed790017c2476f191c4d7ef00e9c620347a76f3960c8becd477745ef134b2d0693a66bd6a26958ed13324079cce787e5aaa920dba7248 + checksum: 10c0/799d5e8cedb18c4a0695fe63675f7faa493b84b1f481055218c069cfacd208f61ecb4bad811fd701c0708c33e95cc98032d17a3684bb585ad698cb7b632a3196 languageName: node linkType: hard @@ -837,17 +837,17 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.633.0": - version: 3.633.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.633.0" +"@aws-sdk/signature-v4-multi-region@npm:3.635.0": + version: 3.635.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.635.0" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.633.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.635.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/signature-v4": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/c67f9c5f19fcbbcec11b7bee38522780e79324b85abb51b2cd32edb5dacf41325c9f081b0a9fa5090056b297f1d46a844a38684f7270f7b0e9be737150843313 + checksum: 10c0/85c43b96d803e6fa503bbac3c07334f31b65be42f2c863e9c37411acfb6d484f464a70409585fab2c32be59b1e65ad735e2e64235f2ee33501b7d2c8f85647e9 languageName: node linkType: hard @@ -885,15 +885,15 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.632.0": - version: 3.632.0 - resolution: "@aws-sdk/util-endpoints@npm:3.632.0" +"@aws-sdk/util-endpoints@npm:3.637.0": + version: 3.637.0 + resolution: "@aws-sdk/util-endpoints@npm:3.637.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-endpoints": "npm:^2.0.5" tslib: "npm:^2.6.2" - checksum: 10c0/2fce660a887acec61570ed13c1441487cf26e9e12f5eafffcc390b4de94169ca8ab4400e394d7e4d0e25a9e45526c50e427941ec2d04d70a67a583f1ee611e6c + checksum: 10c0/8ffdcea45fa38c00c980596f1a5a60706c1d5b61fb0f24f8aa536f66b1f50492a754757fe639076412b5bbdc90ed19ae1ca72f7d0b6df8c813e3a474acef77c7 languageName: node linkType: hard @@ -3968,19 +3968,21 @@ __metadata: languageName: node linkType: hard -"@smithy/core@npm:^2.3.2": - version: 2.3.2 - resolution: "@smithy/core@npm:2.3.2" +"@smithy/core@npm:^2.4.0": + version: 2.4.0 + resolution: "@smithy/core@npm:2.4.0" dependencies: "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.14" + "@smithy/middleware-retry": "npm:^3.0.15" "@smithy/middleware-serde": "npm:^3.0.3" "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" + "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/94174b9e049568172d8d46989ecb85e16929c216259a9f185aa8eef671a381ff183979f382a308f22f44965a70930ce289cc913155672c6d4bec12751df93075 + checksum: 10c0/78ac95fa0a7bde40feef804a642d9ce4737c47660728b0a7cf3af19404492bc0a0ee9db50a2ea3195d3314aef0c9db19575f50cbe89355f60a4ffb55a4d7d4bf languageName: node linkType: hard @@ -4165,20 +4167,20 @@ __metadata: languageName: node linkType: hard -"@smithy/middleware-retry@npm:^3.0.14": - version: 3.0.14 - resolution: "@smithy/middleware-retry@npm:3.0.14" +"@smithy/middleware-retry@npm:^3.0.15": + version: 3.0.15 + resolution: "@smithy/middleware-retry@npm:3.0.15" dependencies: "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/service-error-classification": "npm:^3.0.3" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-middleware": "npm:^3.0.3" "@smithy/util-retry": "npm:^3.0.3" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/8fc86ef6e7c455b09e8226da4e7401fd9b4248e47a20d9682ffea48db25710cc4b40978b6774405abebfaf1fbf4d8cb130c9585e53ef20edd10b37dad876e23b + checksum: 10c0/0c09e4325081305a948468aae75e9bd7645946f11c8aace9efa6c22cd286a7105b2bca9ef418bea849bbdf46cc46c295ac7b56193b8d7c7ba15597fc804b05c2 languageName: node linkType: hard @@ -4312,9 +4314,9 @@ __metadata: languageName: node linkType: hard -"@smithy/smithy-client@npm:^3.1.12": - version: 3.1.12 - resolution: "@smithy/smithy-client@npm:3.1.12" +"@smithy/smithy-client@npm:^3.2.0": + version: 3.2.0 + resolution: "@smithy/smithy-client@npm:3.2.0" dependencies: "@smithy/middleware-endpoint": "npm:^3.1.0" "@smithy/middleware-stack": "npm:^3.0.3" @@ -4322,7 +4324,7 @@ __metadata: "@smithy/types": "npm:^3.3.0" "@smithy/util-stream": "npm:^3.1.3" tslib: "npm:^2.6.2" - checksum: 10c0/da7300f35d197b16fc7d72060b40bdbfc72b3c903fc95e46c97898b6bc2a3c703618499bc7cf262971f116cc363bdfa62eac299f85f4fc078ae6f0c4353adfa3 + checksum: 10c0/e401e65de2b687fdb440d1c0535bad7a3539fda1820908bc2836abbe7c791b470c1091bf2b2bb13a3ce4a64c0fbec1df2e4c9959788e3310d410334f479a7829 languageName: node linkType: hard @@ -4413,31 +4415,31 @@ __metadata: languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^3.0.14": - version: 3.0.14 - resolution: "@smithy/util-defaults-mode-browser@npm:3.0.14" +"@smithy/util-defaults-mode-browser@npm:^3.0.15": + version: 3.0.15 + resolution: "@smithy/util-defaults-mode-browser@npm:3.0.15" dependencies: "@smithy/property-provider": "npm:^3.1.3" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/d76af727a69d3c6ae7b99478c09eae25270741bcc63152dd5d9c113b79230e5ebfb83ebbb171da740e1f98c0369e76547807419042abefe86d867af5c2643b01 + checksum: 10c0/ca3e44fd9d3587861c36a12f7f5f27733f18c7b35ff335e3d12bbce4be06d140c9382e6e6496c575d55104468be267a88a9e63baab6bbc67f6343d785cd45fc1 languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^3.0.14": - version: 3.0.14 - resolution: "@smithy/util-defaults-mode-node@npm:3.0.14" +"@smithy/util-defaults-mode-node@npm:^3.0.15": + version: 3.0.15 + resolution: "@smithy/util-defaults-mode-node@npm:3.0.15" dependencies: "@smithy/config-resolver": "npm:^3.0.5" "@smithy/credential-provider-imds": "npm:^3.2.0" "@smithy/node-config-provider": "npm:^3.1.4" "@smithy/property-provider": "npm:^3.1.3" - "@smithy/smithy-client": "npm:^3.1.12" + "@smithy/smithy-client": "npm:^3.2.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/ce0091fde6d3679b9dfcd8e4cf87c51a3d11b9ab20e1ee924fa99bb4f1cccd5beaf51e5016f501b569109640ff57355b7f235f49a9c73f616d23a5fe9c9668b5 + checksum: 10c0/db935497dcd8d51ce9962051f68ea85c12f81100cffdb62816134b6ef2d92330f97eb029c1069c16678cf822a26d6bd730e9432787cc342e92eca8af85655513 languageName: node linkType: hard @@ -4721,8 +4723,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" dependencies: - "@aws-sdk/client-ec2": "npm:^3.632.0" - "@aws-sdk/client-ssm": "npm:^3.632.0" + "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/client-ssm": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@terraform-aws-github-runner/aws-ssm-util": "npm:*" @@ -4784,7 +4786,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: - "@aws-sdk/client-ssm": "npm:^3.632.0" + "@aws-sdk/client-ssm": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -4813,8 +4815,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" dependencies: - "@aws-sdk/client-ec2": "npm:^3.632.0" - "@aws-sdk/client-sqs": "npm:^3.632.0" + "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/client-sqs": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.1" @@ -4853,8 +4855,8 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: - "@aws-sdk/client-s3": "npm:^3.633.0" - "@aws-sdk/lib-storage": "npm:^3.633.0" + "@aws-sdk/client-s3": "npm:^3.637.0" + "@aws-sdk/lib-storage": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" @@ -4885,7 +4887,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: - "@aws-sdk/client-ec2": "npm:^3.632.0" + "@aws-sdk/client-ec2": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@terraform-aws-github-runner/aws-powertools-util": "npm:*" @@ -4916,7 +4918,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/webhook@workspace:functions/webhook" dependencies: - "@aws-sdk/client-sqs": "npm:^3.632.0" + "@aws-sdk/client-sqs": "npm:^3.637.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" From 6ed654f8e01f5348260ce0f6e9f8c490469127e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 08:13:48 +0200 Subject: [PATCH 43/90] fix(lambda): bump axios from 1.7.4 to 1.7.5 in /lambdas (#4092) Bumps [axios](https://github.com/axios/axios) from 1.7.4 to 1.7.5.
    Release notes

    Sourced from axios's releases.

    Release v1.7.5

    Release notes:

    Bug Fixes

    • adapter: fix undefined reference to hasBrowserEnv (#6572) (7004707)
    • core: add the missed implementation of AxiosError#status property; (#6573) (6700a8a)
    • core: fix ReferenceError: navigator is not defined for custom environments; (#6567) (fed1a4b)
    • fetch: fix credentials handling in Cloudflare workers (#6533) (550d885)

    Contributors to this release

    Changelog

    Sourced from axios's changelog.

    1.7.5 (2024-08-23)

    Bug Fixes

    • adapter: fix undefined reference to hasBrowserEnv (#6572) (7004707)
    • core: add the missed implementation of AxiosError#status property; (#6573) (6700a8a)
    • core: fix ReferenceError: navigator is not defined for custom environments; (#6567) (fed1a4b)
    • fetch: fix credentials handling in Cloudflare workers (#6533) (550d885)

    Contributors to this release

    Commits
    • 59cd6b0 chore(release): v1.7.5 (#6574)
    • 6700a8a fix(core): add the missed implementation of AxiosError#status property; (#6573)
    • 7004707 fix(adapter): fix undefined reference to hasBrowserEnv (#6572)
    • fed1a4b fix(core): fix ReferenceError: navigator is not defined for custom environm...
    • 550d885 fix(fetch): fix credentials handling in Cloudflare workers (#6533)
    • bcd1c6d chore(actions): fix sponsor action; (#6566)
    • c8b7be5 chore(action): exclude sponsors branch from CI tests; (#6564)
    • 67aa1ef chore(sponsor): update sponsor block (#6559)
    • ff254a5 chore(action): change sponsors uri origin; (#6563)
    • 4f99675 chore(sponsor): update sponsor block (#6558)
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.7.4&new-version=1.7.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/gh-agent-syncer/package.json | 2 +- lambdas/yarn.lock | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 844bc362d1..f3b415453c 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -42,7 +42,7 @@ "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@terraform-aws-github-runner/aws-powertools-util": "*", - "axios": "^1.7.4" + "axios": "^1.7.5" }, "nx": { "includedScripts": [ diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 28bd255276..8362882ecb 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4871,7 +4871,7 @@ __metadata: "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^4.0.1" aws-sdk-client-mock-jest: "npm:^4.0.1" - axios: "npm:^1.7.4" + axios: "npm:^1.7.5" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" jest: "npm:^29.7.0" @@ -5780,6 +5780,17 @@ __metadata: languageName: node linkType: hard +"axios@npm:^1.7.5": + version: 1.7.5 + resolution: "axios@npm:1.7.5" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/1d5daeb28b3d1bb2a7b9f0743433c4bfbeaddc15461e50ebde487eec6c009af2515749d5261096dd430c90cd891bd310bcba5ec3967bae2033c4a307f58a6ad3 + languageName: node + linkType: hard + "babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" From 9761167cdecd82e56ee38df60e9d31200026823f Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Tue, 27 Aug 2024 18:07:07 +0200 Subject: [PATCH 44/90] chore: lock and update dependencies, clean-up (#4095) - update and lock workflows - remove dependabot auto approve, due to bad practice --- .github/workflows/auto-approve-dependabot.yml | 17 ----------- .github/workflows/lambda.yml | 4 +-- .github/workflows/packer-build.yml | 4 +-- .github/workflows/release.yml | 13 ++++----- .github/workflows/semantic-check.yml | 4 +-- .github/workflows/stale.yml | 2 +- .github/workflows/terraform.yml | 6 ++-- .github/workflows/update-docs.yml | 29 +++++++------------ 8 files changed, 26 insertions(+), 53 deletions(-) delete mode 100644 .github/workflows/auto-approve-dependabot.yml diff --git a/.github/workflows/auto-approve-dependabot.yml b/.github/workflows/auto-approve-dependabot.yml deleted file mode 100644 index eb72db7cce..0000000000 --- a/.github/workflows/auto-approve-dependabot.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Auto approve dependabot -# Warning: The pull_request_target event is granted a read/write repository -# token and can access secrets, even when it is triggered from a fork. Although -# the workflow runs in the context of the base of the pull request, you should -# make sure that you do not check out, build, or run untrusted code from the -# pull request with this event. Additionally, any caches share the same scope as -# the base branch, and to help prevent cache poisoning, you should not save the -# cache if there is a possibility that the cache contents were altered. -on: pull_request_target -jobs: - approve: - if: github.actor == 'dependabot[bot]' || github.actor == 'dependabot-preview[bot]' - runs-on: ubuntu-latest - steps: - - uses: hmarr/auto-approve-action@f0939ea97e9205ef24d872e76833fa908a770363 # ratchet:hmarr/auto-approve-action@v4.0.0 - with: - github-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/lambda.yml b/.github/workflows/lambda.yml index 6a07557c36..9459f8016a 100644 --- a/.github/workflows/lambda.yml +++ b/.github/workflows/lambda.yml @@ -19,7 +19,7 @@ jobs: working-directory: ./lambdas steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3.2.0 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Install dependencies run: yarn install --frozen-lockfile - name: Run prettier @@ -32,7 +32,7 @@ jobs: - name: Build distribution run: yarn build - name: Upload coverage report - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v31.2 + uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6 if: ${{ failure() }} with: name: coverage-reports diff --git a/.github/workflows/packer-build.yml b/.github/workflows/packer-build.yml index d3c3be5be0..75fedabbb2 100644 --- a/.github/workflows/packer-build.yml +++ b/.github/workflows/packer-build.yml @@ -16,7 +16,7 @@ jobs: name: Verify packer runs-on: ubuntu-latest container: - image: index.docker.io/hashicorp/packer@sha256:297bbbbbbf3ce9e0431ac1e8f02934b20e1197613f877b55dfdb1ebfd94eb748 # ratchet:index.docker.io/hashicorp/packer:1.8.6 + image: index.docker.io/hashicorp/packer@sha256:12c441b8a3994e7df9f0e2692d9298f14c387e70bcc06139420977dbf80a137b # 1.11.2 strategy: matrix: image: ["linux-al2023", "windows-core-2019", "windows-core-2022", "ubuntu-focal", "ubuntu-jammy", "ubuntu-jammy-arm64"] @@ -25,7 +25,7 @@ jobs: working-directory: images/${{ matrix.image }} steps: - name: "Checkout" - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: packer init run: packer init . - name: check packer formatting diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cc029abe2d..5b2b33f61d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,26 +17,25 @@ jobs: - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 20 - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Build dist working-directory: lambdas run: yarn install --frozen-lockfile && yarn run test && yarn dist - name: Get installation token - uses: philips-software/app-token-action@9f5d57062c9f2beaffafaa9a34f66f824ead63a9 # ratchet:philips-software/app-token-action@v2.0.0 + uses: actions/create-github-app-token@31c86eb3b33c9b601a1f60f98dcbfd1d70f379b4 # v1.10.3 id: token with: - app_id: ${{ secrets.FOREST_RELEASER_APP_ID }} - app_base64_private_key: ${{ secrets.FOREST_RELEASER_APP_PRIVATE_KEY_BASE64 }} - auth_type: installation + app-id: ${{ secrets.FOREST_RELEASER_APP_ID }} + private-key: ${{ secrets.FOREST_RELEASER_APP_PRIVATE_KEY }} - name: Extract branch name id: branch shell: bash run: echo "name=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT - name: Release id: release - uses: google-github-actions/release-please-action@e4dc86ba9405554aeba3c6bb2d169500e7d3b4ee # ratchet:google-github-actions/release-please-action@v3 + uses: google-github-actions/release-please-action@e4dc86ba9405554aeba3c6bb2d169500e7d3b4ee # v4.1.1 with: - default-branch: ${{ steps.branch.outputs.name }} + target-branch: ${{ steps.branch.outputs.name }} release-type: terraform-module token: ${{ steps.token.outputs.token }} - name: Upload Release Asset diff --git a/.github/workflows/semantic-check.yml b/.github/workflows/semantic-check.yml index a2f4637d6b..dc8adca458 100644 --- a/.github/workflows/semantic-check.yml +++ b/.github/workflows/semantic-check.yml @@ -13,8 +13,8 @@ jobs: name: Semantic Commit Message Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4 - - uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # ratchet:amannn/action-semantic-pull-request@v5 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3 name: Check PR for Semantic Commit Message env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 30022522ed..9e3f86ef33 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -10,7 +10,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # ratchet:actions/stale@v7 + - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0 with: stale-issue-message: > This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed if no further activity occurs. Thank you for your contributions. diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index b60b31b34a..dfc9587153 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -23,7 +23,7 @@ jobs: image: hashicorp/terraform:${{ matrix.terraform }} steps: - name: "Checkout" - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: "Fake zip files" # Validate will fail if it cannot find the zip files run: | touch lambdas/functions/webhook/webhook.zip @@ -89,7 +89,7 @@ jobs: container: image: hashicorp/terraform:${{ matrix.terraform }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: terraform init run: terraform init -get -backend=false -input=false - if: contains(matrix.terraform, '1.3.') @@ -147,7 +147,7 @@ jobs: container: image: hashicorp/terraform:${{ matrix.terraform }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: terraform init run: terraform init -get -backend=false -input=false - if: contains(matrix.terraform, '1.5.') diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index debc7215c7..2f367d9697 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -12,37 +12,28 @@ permissions: jobs: docs: - # update docs after merge back to develop name: Auto update terraform docs runs-on: ubuntu-latest steps: - - uses: philips-software/app-token-action@9f5d57062c9f2beaffafaa9a34f66f824ead63a9 # v2.0.0 - id: app - with: - app_id: ${{ vars.FOREST_PR_BOT_APP_ID }} - app_base64_private_key: ${{ secrets.FOREST_PR_BOT_APP_KEY_BASE64 }} - auth_type: installation - org: philips-labs - - name: Checkout with GITHUB Action token - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: - token: ${{ steps.app.outputs.token }} + token: ${{ secrets.GITHUB_TOKEN }} # use an app to ensure CI is triggered - name: Generate TF docs if: github.repository_owner == 'philips-labs' - uses: terraform-docs/gh-actions@e47bfa196e79fa50987ef391be236d9d97b0c786 # ratchet:terraform-docs/gh-actions@v1.2.0 + uses: terraform-docs/gh-actions@e47bfa196e79fa50987ef391be236d9d97b0c786 # v1.2.0 with: find-dir: . git-commit-message: "docs: auto update terraform docs" git-push: ${{ github.ref != 'refs/heads/main' || github.repository_owner != 'philips-labs' }} - git-push-user-name: forest-pr|bot - git-push-user-email: "forest-pr[bot]@users.noreply.github.com" + git-push-user-name: philips-labs-pr|bot + git-push-user-email: "philips-labs-pr[bot]@users.noreply.github.com" - name: Generate TF docs (forks) if: github.repository_owner != 'philips-labs' - uses: terraform-docs/gh-actions@e47bfa196e79fa50987ef391be236d9d97b0c786 # ratchet:terraform-docs/gh-actions@v1.2.0 + uses: terraform-docs/gh-actions@e47bfa196e79fa50987ef391be236d9d97b0c786 # v1.2.0 with: find-dir: . git-commit-message: "docs: auto update terraform docs" @@ -51,7 +42,7 @@ jobs: # change docs via PR in case of locked main branch - name: Create Pull Request (main branch only) if: github.ref == 'refs/heads/main' && github.repository_owner == 'philips-labs' - uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # ratchet:peter-evans/create-pull-request@v6.1.0 + uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: "docs: auto update terraform docs" @@ -65,16 +56,16 @@ jobs: needs: [docs] runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # ratchet:actions/checkout@v4 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Configure Git Credentials run: | git config user.name github-actions[bot] git config --global user.email "github-actions[bot]@users.noreply.github.com" - - uses: actions/setup-python@v5 + - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 with: python-version: 3.x - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV - - uses: actions/cache@v4 + - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 with: key: mkdocs-material-${{ env.cache_id }} path: .cache From 9b094a4d410be31c31645a824b3b3770502d1831 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Tue, 27 Aug 2024 18:07:26 +0200 Subject: [PATCH 45/90] chore: add osv scanner (#4094) Add OSV scanner to check for security issues. --- .github/workflows/osv-scanner.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/osv-scanner.yml diff --git a/.github/workflows/osv-scanner.yml b/.github/workflows/osv-scanner.yml new file mode 100644 index 0000000000..a421de8c7a --- /dev/null +++ b/.github/workflows/osv-scanner.yml @@ -0,0 +1,29 @@ +name: OSV-Scanner + +on: + pull_request: + branches: [ "main" ] + merge_group: + branches: [ "main" ] + schedule: + - cron: '40 15 * * 1' + push: + branches: [ "main" ] + +jobs: + + scan-scheduled: + if: ${{ github.event_name == 'push' || github.event_name == 'schedule' }} + permissions: + security-events: write + contents: read + uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@1f1242919d8a60496dd1874b24b62b2370ed4c78 # v1.7.1 + + + scan-pr: + if: ${{ github.event_name == 'pull_request' || github.event_name == 'merge_group' }} + permissions: + security-events: write + contents: read + actions: write + uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml@1f1242919d8a60496dd1874b24b62b2370ed4c78 # v1.7.1 From 1ad118bd516cc29919a2ec9deb9c9362f635f953 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Tue, 27 Aug 2024 18:10:43 +0200 Subject: [PATCH 46/90] fix: add missing prefix to ami cleanur for event rule (#4098) ## Problem Created even rule for ami is static, it missing a dynamic element (prefix) to ensure unique resources. --- modules/ami-housekeeper/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ami-housekeeper/main.tf b/modules/ami-housekeeper/main.tf index 9de45f592f..f462c240fc 100644 --- a/modules/ami-housekeeper/main.tf +++ b/modules/ami-housekeeper/main.tf @@ -100,7 +100,7 @@ resource "aws_iam_role_policy" "ami_housekeeper" { } resource "aws_cloudwatch_event_rule" "ami_housekeeper" { - name = "ami-housekeeper-rule" + name = "${var.prefix}-ami-housekeeper" schedule_expression = var.lambda_schedule_expression tags = var.tags state = var.state_event_rule_ami_housekeeper From 4344f18c4518ac0aa135bbdd8b4af13b34d36d63 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Tue, 27 Aug 2024 18:11:04 +0200 Subject: [PATCH 47/90] fix: job retry resource and queue naming (#4099) ## Fixes - resource incorrect named (copy / paste) - typo in queue name for rety --------- Co-authored-by: forest-pr|bot --- modules/runners/README.md | 2 +- modules/runners/job-retry/main.tf | 2 +- modules/runners/scale-up.tf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/runners/README.md b/modules/runners/README.md index 15d0290982..d44312d460 100644 --- a/modules/runners/README.md +++ b/modules/runners/README.md @@ -88,6 +88,7 @@ yarn run dist | [aws_iam_role_policy.describe_tags](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.dist_bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.ec2](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | +| [aws_iam_role_policy.job_retry_sqs_publish](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.runner_session_manager_aws_managed](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.scale_down](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.scale_down_logging](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | @@ -100,7 +101,6 @@ yarn run dist | [aws_iam_role_policy.ssm_housekeeper_logging](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.ssm_housekeeper_xray](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy.ssm_parameters](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | -| [aws_iam_role_policy.webhook_workflow_job_sqs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource | | [aws_iam_role_policy_attachment.ami_id_ssm_parameter_read](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.managed_policies](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | | [aws_iam_role_policy_attachment.scale_down_vpc_execution_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | diff --git a/modules/runners/job-retry/main.tf b/modules/runners/job-retry/main.tf index 32b50f8298..d1d40757ce 100644 --- a/modules/runners/job-retry/main.tf +++ b/modules/runners/job-retry/main.tf @@ -26,7 +26,7 @@ resource "aws_sqs_queue_policy" "job_retry_check_queue_policy" { } resource "aws_sqs_queue" "job_retry_check_queue" { - name = "${var.config.prefix}-job-retrys" + name = "${var.config.prefix}-job-retry" visibility_timeout_seconds = local.config.timeout sqs_managed_sse_enabled = var.config.queue_encryption.sqs_managed_sse_enabled diff --git a/modules/runners/scale-up.tf b/modules/runners/scale-up.tf index 0e962ad973..a71c505fc3 100644 --- a/modules/runners/scale-up.tf +++ b/modules/runners/scale-up.tf @@ -153,7 +153,7 @@ resource "aws_iam_role_policy" "scale_up_xray" { role = aws_iam_role.scale_up.name } -resource "aws_iam_role_policy" "webhook_workflow_job_sqs" { +resource "aws_iam_role_policy" "job_retry_sqs_publish" { count = local.job_retry_enabled ? 1 : 0 name = "publish-retry-check-sqs-policy" role = aws_iam_role.scale_up.name From c470dc7f5bf843eee910cd25b1fa34e603e9ef36 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Tue, 27 Aug 2024 18:16:56 +0200 Subject: [PATCH 48/90] chore: Revert "chore: add osv scanner" (#4101) Reverts philips-labs/terraform-aws-github-runner#4094 --- .github/workflows/osv-scanner.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 .github/workflows/osv-scanner.yml diff --git a/.github/workflows/osv-scanner.yml b/.github/workflows/osv-scanner.yml deleted file mode 100644 index a421de8c7a..0000000000 --- a/.github/workflows/osv-scanner.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: OSV-Scanner - -on: - pull_request: - branches: [ "main" ] - merge_group: - branches: [ "main" ] - schedule: - - cron: '40 15 * * 1' - push: - branches: [ "main" ] - -jobs: - - scan-scheduled: - if: ${{ github.event_name == 'push' || github.event_name == 'schedule' }} - permissions: - security-events: write - contents: read - uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@1f1242919d8a60496dd1874b24b62b2370ed4c78 # v1.7.1 - - - scan-pr: - if: ${{ github.event_name == 'pull_request' || github.event_name == 'merge_group' }} - permissions: - security-events: write - contents: read - actions: write - uses: google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml@1f1242919d8a60496dd1874b24b62b2370ed4c78 # v1.7.1 From d2004130668ae88fa28e30378472ab17ab899c87 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 18:17:18 +0200 Subject: [PATCH 49/90] fix(lambda): bump micromatch from 4.0.7 to 4.0.8 in /lambdas (#4096) Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.7 to 4.0.8.
    Release notes

    Sourced from micromatch's releases.

    4.0.8

    Ultimate release that fixes both CVE-2024-4067 and CVE-2024-4068. We consider the issues low-priority, so even if you see automated scanners saying otherwise, don't be scared.

    Changelog

    Sourced from micromatch's changelog.

    [4.0.8] - 2024-08-22

    • backported CVE-2024-4067 fix (from v4.0.6) over to 4.x branch
    Commits
    • 8bd704e 4.0.8
    • a0e6841 run verb to generate README documentation
    • 4ec2884 Merge branch 'v4' into hauserkristof-feature/v4.0.8
    • 03aa805 Merge pull request #266 from hauserkristof/feature/v4.0.8
    • 814f5f7 lint
    • 67fcce6 fix: CHANGELOG about braces & CVE-2024-4068, v4.0.5
    • 113f2e3 fix: CVE numbers in CHANGELOG
    • d9dbd9a feat: updated CHANGELOG
    • 2ab1315 fix: use actions/setup-node@v4
    • 1406ea3 feat: rework test to work on macos with node 10,12 and 14
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=micromatch&package-manager=npm_and_yarn&previous-version=4.0.7&new-version=4.0.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/philips-labs/terraform-aws-github-runner/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 8362882ecb..35008d5824 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -8973,12 +8973,12 @@ __metadata: linkType: hard "micromatch@npm:^4.0.4": - version: 4.0.7 - resolution: "micromatch@npm:4.0.7" + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 languageName: node linkType: hard From 0f4cd419a83b77c47e0bf9923b78f1f61e583955 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 18:17:40 +0200 Subject: [PATCH 50/90] fix(lambda): bump axios from 1.7.2 to 1.7.5 in /lambdas (#4100) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [axios](https://github.com/axios/axios) from 1.7.2 to 1.7.5.
    Release notes

    Sourced from axios's releases.

    Release v1.7.5

    Release notes:

    Bug Fixes

    • adapter: fix undefined reference to hasBrowserEnv (#6572) (7004707)
    • core: add the missed implementation of AxiosError#status property; (#6573) (6700a8a)
    • core: fix ReferenceError: navigator is not defined for custom environments; (#6567) (fed1a4b)
    • fetch: fix credentials handling in Cloudflare workers (#6533) (550d885)

    Contributors to this release

    Release v1.7.4

    Release notes:

    Bug Fixes

    Contributors to this release

    Release v1.7.3

    Release notes:

    Bug Fixes

    • adapter: fix progress event emitting; (#6518) (e3c76fc)
    • fetch: fix withCredentials request config (#6505) (85d4d0e)
    • xhr: return original config on errors from XHR adapter (#6515) (8966ee7)

    Contributors to this release

    Changelog

    Sourced from axios's changelog.

    1.7.5 (2024-08-23)

    Bug Fixes

    • adapter: fix undefined reference to hasBrowserEnv (#6572) (7004707)
    • core: add the missed implementation of AxiosError#status property; (#6573) (6700a8a)
    • core: fix ReferenceError: navigator is not defined for custom environments; (#6567) (fed1a4b)
    • fetch: fix credentials handling in Cloudflare workers (#6533) (550d885)

    Contributors to this release

    1.7.4 (2024-08-13)

    Bug Fixes

    Contributors to this release

    1.7.3 (2024-08-01)

    Bug Fixes

    • adapter: fix progress event emitting; (#6518) (e3c76fc)
    • fetch: fix withCredentials request config (#6505) (85d4d0e)
    • xhr: return original config on errors from XHR adapter (#6515) (8966ee7)

    Contributors to this release

    Commits
    • 59cd6b0 chore(release): v1.7.5 (#6574)
    • 6700a8a fix(core): add the missed implementation of AxiosError#status property; (#6573)
    • 7004707 fix(adapter): fix undefined reference to hasBrowserEnv (#6572)
    • fed1a4b fix(core): fix ReferenceError: navigator is not defined for custom environm...
    • 550d885 fix(fetch): fix credentials handling in Cloudflare workers (#6533)
    • bcd1c6d chore(actions): fix sponsor action; (#6566)
    • c8b7be5 chore(action): exclude sponsors branch from CI tests; (#6564)
    • 67aa1ef chore(sponsor): update sponsor block (#6559)
    • ff254a5 chore(action): change sponsors uri origin; (#6563)
    • 4f99675 chore(sponsor): update sponsor block (#6558)
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.7.2&new-version=1.7.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/philips-labs/terraform-aws-github-runner/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/yarn.lock | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 35008d5824..58e745c2f3 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -5758,29 +5758,7 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.7.2": - version: 1.7.2 - resolution: "axios@npm:1.7.2" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/cbd47ce380fe045313364e740bb03b936420b8b5558c7ea36a4563db1258c658f05e40feb5ddd41f6633fdd96d37ac2a76f884dad599c5b0224b4c451b3fa7ae - languageName: node - linkType: hard - -"axios@npm:^1.7.4": - version: 1.7.4 - resolution: "axios@npm:1.7.4" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/5ea1a93140ca1d49db25ef8e1bd8cfc59da6f9220159a944168860ad15a2743ea21c5df2967795acb15cbe81362f5b157fdebbea39d53117ca27658bab9f7f17 - languageName: node - linkType: hard - -"axios@npm:^1.7.5": +"axios@npm:^1.7.2, axios@npm:^1.7.4, axios@npm:^1.7.5": version: 1.7.5 resolution: "axios@npm:1.7.5" dependencies: From 9fc5dbceb59d25c08657bda12c52062c519ee9f2 Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 20:09:51 +0200 Subject: [PATCH 51/90] chore(main): release 5.15.4 (#4097) :robot: I have created a release *beep* *boop* --- ## [5.15.4](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.3...v5.15.4) (2024-08-27) ### Bug Fixes * add missing prefix to ami cleanur for event rule ([#4098](https://github.com/philips-labs/terraform-aws-github-runner/issues/4098)) ([1ad118b](https://github.com/philips-labs/terraform-aws-github-runner/commit/1ad118bd516cc29919a2ec9deb9c9362f635f953)) * job retry resource and queue naming ([#4099](https://github.com/philips-labs/terraform-aws-github-runner/issues/4099)) ([4344f18](https://github.com/philips-labs/terraform-aws-github-runner/commit/4344f18c4518ac0aa135bbdd8b4af13b34d36d63)) * **lambda:** bump axios from 1.7.2 to 1.7.5 in /lambdas ([#4100](https://github.com/philips-labs/terraform-aws-github-runner/issues/4100)) ([0f4cd41](https://github.com/philips-labs/terraform-aws-github-runner/commit/0f4cd419a83b77c47e0bf9923b78f1f61e583955)) * **lambda:** bump axios from 1.7.4 to 1.7.5 in /lambdas ([#4092](https://github.com/philips-labs/terraform-aws-github-runner/issues/4092)) ([6ed654f](https://github.com/philips-labs/terraform-aws-github-runner/commit/6ed654f8e01f5348260ce0f6e9f8c490469127e2)) * **lambda:** bump micromatch from 4.0.7 to 4.0.8 in /lambdas ([#4096](https://github.com/philips-labs/terraform-aws-github-runner/issues/4096)) ([d200413](https://github.com/philips-labs/terraform-aws-github-runner/commit/d2004130668ae88fa28e30378472ab17ab899c87)) * **lambda:** bump the aws group in /lambdas with 5 updates ([#4089](https://github.com/philips-labs/terraform-aws-github-runner/issues/4089)) ([1405e54](https://github.com/philips-labs/terraform-aws-github-runner/commit/1405e54adfecb9373af1831a973a92fb2be18998)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d950bd179d..619a9782ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [5.15.4](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.3...v5.15.4) (2024-08-27) + + +### Bug Fixes + +* add missing prefix to ami cleanur for event rule ([#4098](https://github.com/philips-labs/terraform-aws-github-runner/issues/4098)) ([1ad118b](https://github.com/philips-labs/terraform-aws-github-runner/commit/1ad118bd516cc29919a2ec9deb9c9362f635f953)) +* job retry resource and queue naming ([#4099](https://github.com/philips-labs/terraform-aws-github-runner/issues/4099)) ([4344f18](https://github.com/philips-labs/terraform-aws-github-runner/commit/4344f18c4518ac0aa135bbdd8b4af13b34d36d63)) +* **lambda:** bump axios from 1.7.2 to 1.7.5 in /lambdas ([#4100](https://github.com/philips-labs/terraform-aws-github-runner/issues/4100)) ([0f4cd41](https://github.com/philips-labs/terraform-aws-github-runner/commit/0f4cd419a83b77c47e0bf9923b78f1f61e583955)) +* **lambda:** bump axios from 1.7.4 to 1.7.5 in /lambdas ([#4092](https://github.com/philips-labs/terraform-aws-github-runner/issues/4092)) ([6ed654f](https://github.com/philips-labs/terraform-aws-github-runner/commit/6ed654f8e01f5348260ce0f6e9f8c490469127e2)) +* **lambda:** bump micromatch from 4.0.7 to 4.0.8 in /lambdas ([#4096](https://github.com/philips-labs/terraform-aws-github-runner/issues/4096)) ([d200413](https://github.com/philips-labs/terraform-aws-github-runner/commit/d2004130668ae88fa28e30378472ab17ab899c87)) +* **lambda:** bump the aws group in /lambdas with 5 updates ([#4089](https://github.com/philips-labs/terraform-aws-github-runner/issues/4089)) ([1405e54](https://github.com/philips-labs/terraform-aws-github-runner/commit/1405e54adfecb9373af1831a973a92fb2be18998)) + ## [5.15.3](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.2...v5.15.3) (2024-08-20) From d7cdaed26ec8b57fef058ebace4a3dde725ad0b8 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Wed, 28 Aug 2024 09:06:48 +0200 Subject: [PATCH 52/90] feat: Add metric to track GitHub app rate limit (#4088) ## Description This PR adds an optional metric to keep track of the remaining rate limit for teh GItHub app. ## Notes - Refactored the metric configuration to align the metric configuration usages in all submodules. All changed are only impacting experimental features. Which means non breaking. - Refactored nameing gh-auth package, see separate commit. --------- Co-authored-by: forest-pr|bot Co-authored-by: Stuart Pearson <1926002+stuartp44@users.noreply.github.com> --- README.md | 7 +- docs/configuration.md | 9 ++ examples/default/main.tf | 18 ++- examples/multi-runner/main.tf | 11 +- examples/termination-watcher/main.tf | 9 +- .../functions/control-plane/jest.config.ts | 8 +- lambdas/functions/control-plane/package.json | 1 + .../gh-auth.test.ts => github/auth.test.ts} | 2 +- .../{gh-auth/gh-auth.ts => github/auth.ts} | 0 .../octokit.test.ts} | 6 +- .../gh-octokit.ts => github/octokit.ts} | 2 +- .../src/github/rate-limit.test.ts | 70 +++++++++ .../control-plane/src/github/rate-limit.ts | 25 ++++ .../functions/control-plane/src/modules.d.ts | 1 + .../control-plane/src/pool/pool.test.ts | 4 +- .../functions/control-plane/src/pool/pool.ts | 2 +- .../src/scale-runners/job-retry.test.ts | 6 +- .../src/scale-runners/job-retry.ts | 4 +- .../src/scale-runners/scale-down.test.ts | 4 +- .../src/scale-runners/scale-down.ts | 5 +- .../src/scale-runners/scale-up.test.ts | 139 +++++++++++------- .../src/scale-runners/scale-up.ts | 13 +- lambdas/libs/aws-ssm-util/src/index.test.ts | 5 +- lambdas/libs/aws-ssm-util/src/index.ts | 18 ++- lambdas/yarn.lock | 48 +++--- main.tf | 7 +- modules/multi-runner/README.md | 5 +- modules/multi-runner/runners.tf | 5 +- modules/multi-runner/termination-watcher.tf | 2 +- modules/multi-runner/variables.deprecated.tf | 23 +++ modules/multi-runner/variables.tf | 34 +++-- modules/runners/README.md | 2 +- modules/runners/job-retry.tf | 2 +- modules/runners/job-retry/README.md | 2 +- modules/runners/job-retry/main.tf | 5 +- modules/runners/job-retry/variables.tf | 6 +- modules/runners/scale-down.tf | 2 + modules/runners/scale-up.tf | 2 + modules/runners/variables.tf | 11 +- modules/termination-watcher/README.md | 2 +- modules/termination-watcher/main.tf | 10 +- modules/termination-watcher/variables.tf | 25 ++-- variables.deprecated.tf | 27 +++- variables.tf | 34 +++-- 44 files changed, 441 insertions(+), 182 deletions(-) rename lambdas/functions/control-plane/src/{gh-auth/gh-auth.test.ts => github/auth.test.ts} (98%) rename lambdas/functions/control-plane/src/{gh-auth/gh-auth.ts => github/auth.ts} (100%) rename lambdas/functions/control-plane/src/{gh-auth/gh-octokit.test.ts => github/octokit.test.ts} (95%) rename lambdas/functions/control-plane/src/{gh-auth/gh-octokit.ts => github/octokit.ts} (97%) create mode 100644 lambdas/functions/control-plane/src/github/rate-limit.test.ts create mode 100644 lambdas/functions/control-plane/src/github/rate-limit.ts create mode 100644 modules/multi-runner/variables.deprecated.tf diff --git a/README.md b/README.md index 36efe008c6..8432bf9fe7 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [enable\_jit\_config](#input\_enable\_jit\_config) | Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI. | `bool` | `null` | no | | [enable\_job\_queued\_check](#input\_enable\_job\_queued\_check) | Only scale if the job event received by the scale up lambda is in the queued state. By default enabled for non ephemeral runners and disabled for ephemeral. Set this variable to overwrite the default behavior. | `bool` | `null` | no | | [enable\_managed\_runner\_security\_group](#input\_enable\_managed\_runner\_security\_group) | Enables creation of the default managed security group. Unmanaged security groups can be specified via `runner_additional_security_group_ids`. | `bool` | `true` | no | -| [enable\_metrics\_control\_plane](#input\_enable\_metrics\_control\_plane) | (Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release. | `bool` | `false` | no | +| [enable\_metrics\_control\_plane](#input\_enable\_metrics\_control\_plane) | (Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release. | `bool` | `null` | no | | [enable\_organization\_runners](#input\_enable\_organization\_runners) | Register runners to organization, instead of repo level | `bool` | `false` | no | | [enable\_runner\_binaries\_syncer](#input\_enable\_runner\_binaries\_syncer) | Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI. | `bool` | `true` | no | | [enable\_runner\_detailed\_monitoring](#input\_enable\_runner\_detailed\_monitoring) | Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details. | `bool` | `false` | no | @@ -165,7 +165,7 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [instance\_max\_spot\_price](#input\_instance\_max\_spot\_price) | Max price price for spot instances per hour. This variable will be passed to the create fleet as max spot price for the fleet. | `string` | `null` | no | | [instance\_profile\_path](#input\_instance\_profile\_path) | The path that will be added to the instance\_profile, if not set the environment name will be used. | `string` | `null` | no | | [instance\_target\_capacity\_type](#input\_instance\_target\_capacity\_type) | Default lifecycle used for runner instances, can be either `spot` or `on-demand`. | `string` | `"spot"` | no | -| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the instance termination watcher. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    `enable_metrics`: Enable or disable the metrics for the spot termination watcher.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metric = optional(object({
    spot_warning = optional(bool, false)
    }))
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | +| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the instance termination watcher. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metric = optional(string, null) # deprectaed
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | | [instance\_types](#input\_instance\_types) | List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win). | `list(string)` |
    [
    "m5.large",
    "c5.large"
    ]
    | no | | [job\_queue\_retention\_in\_seconds](#input\_job\_queue\_retention\_in\_seconds) | The number of seconds the job is held in the queue before it is purged. | `number` | `86400` | no | | [job\_retry](#input\_job\_retry) | Experimental! Can be removed / changed without trigger a major release.Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app.

    `enable`: Enable or disable the job retry feature.
    `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status.
    `delay_backoff`: The backoff factor for the delay.
    `lambda_memory_size`: Memory size limit in MB for the job retry check lambda.
    `lambda_timeout`: Time out of the job retry check lambda in seconds.
    `max_attempts`: The maximum number of attempts to retry the job. |
    object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_timeout = optional(number, 30)
    max_attempts = optional(number, 1)
    })
    | `{}` | no | @@ -183,7 +183,8 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id) | Specifies the kms key id to encrypt the logs with. | `string` | `null` | no | | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | -| [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `"GitHub Runners"` | no | +| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | +| [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `null` | no | | [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes) | The time an ec2 action runner should be running at minimum before terminated, if not busy. | `number` | `null` | no | | [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC). |
    list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    }))
    | `[]` | no | | [pool\_lambda\_memory\_size](#input\_pool\_lambda\_memory\_size) | Memory size limit for scale-up lambda. | `number` | `512` | no | diff --git a/docs/configuration.md b/docs/configuration.md index 53a1dd83ee..0eae2195ec 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -191,6 +191,15 @@ This feature has been disabled by default. The watcher will act on all spot termination notificatins and log all onses relevant to the runner module. Therefor we suggest to only deploy the watcher once. You can either deploy the watcher by enabling in one of your deployments or deploy the watcher as a stand alone module. +## Metrics + +The module supports metrics (experimental feature) to monitor the system. The metrics are disabled by default. To enable the metrics set `metrics.enable = true`. If set to true, all module managed metrics are used, you can configure the one by one via the `metrics` object. The metrics are created in the namespace `GitHub Runners`. + +### Supported metrics + +- **GitHubAppRateLimitRemaining**: Remaining rate limit for the GitHub App. +- **JobRetry**: Number of job retries, only relevant when job retry is enabled. +- **SpotInterruptionWarning**: Number of spot interruption warnings received by the termination watcher, only relevant when the termination watcher is enabled. ## Debugging diff --git a/examples/default/main.tf b/examples/default/main.tf index cb6711e11a..a775872137 100644 --- a/examples/default/main.tf +++ b/examples/default/main.tf @@ -114,21 +114,25 @@ module "runners" { instance_termination_watcher = { enable = true - enable_metric = { - spot_warning = true - } } - # enable job_retry feature. Be careful with this feature, it can lead to API rate limits. + # enable metric creation (experimental) + # metrics = { + # enable = true + # metric = { + # enable_spot_termination_warning = true + # enable_job_retry = false + # enable_github_app_rate_limit = true + # } + # } + + # enable job_retry feature. Be careful with this feature, it can lead to you hitting API rate limits. # job_retry = { # enable = true # max_attempts = 1 # delay_in_seconds = 180 # } - # enable metric creation by the control plane (experimental) - # enable_metrics_control_plane = true - # enable CMK instead of aws managed key for encryptions # kms_key_arn = aws_kms_key.github.arn } diff --git a/examples/multi-runner/main.tf b/examples/multi-runner/main.tf index 0563831d26..2c53ff47cb 100644 --- a/examples/multi-runner/main.tf +++ b/examples/multi-runner/main.tf @@ -103,8 +103,15 @@ module "runners" { # Enable to track the spot instance termination warning # instance_termination_watcher = { # enable = true - # enable_metric = { - # spot_warning = true + # } + + # Enable metrics + # metrics = { + # enable = true + # metric = { + # enable_github_app_rate_limit = true + # enable_job_retry = false + # enable_spot_termination_warning = true # } # } } diff --git a/examples/termination-watcher/main.tf b/examples/termination-watcher/main.tf index 3580b298ed..7877d04bc1 100644 --- a/examples/termination-watcher/main.tf +++ b/examples/termination-watcher/main.tf @@ -2,12 +2,15 @@ module "spot_termination_watchter" { source = "../../modules/termination-watcher" config = { - enable_metric = { - spot_warning = true + metrics = { + enable = true + metric = { + enable_spot_termination_warning = true + } } prefix = "global" tag_filters = { "ghr:Application" = "github-action-runner" } } -} \ No newline at end of file +} diff --git a/lambdas/functions/control-plane/jest.config.ts b/lambdas/functions/control-plane/jest.config.ts index b768636f97..97935de994 100644 --- a/lambdas/functions/control-plane/jest.config.ts +++ b/lambdas/functions/control-plane/jest.config.ts @@ -6,10 +6,10 @@ const config: Config = { ...defaultConfig, coverageThreshold: { global: { - statements: 97.78, - branches: 96.61, - functions: 95.84, - lines: 97.71, + statements: 97.86, + branches: 96.68, + functions: 95.95, + lines: 97.8, }, }, }; diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 7af8cbbae8..26dab45fd4 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -38,6 +38,7 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { + "@aws-lambda-powertools/parameters": "^2.7.0", "@aws-sdk/client-ec2": "^3.637.0", "@aws-sdk/client-sqs": "^3.637.0", "@aws-sdk/types": "^3.609.0", diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts b/lambdas/functions/control-plane/src/github/auth.test.ts similarity index 98% rename from lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts rename to lambdas/functions/control-plane/src/github/auth.test.ts index 8930f368d6..f511d08958 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-auth.test.ts +++ b/lambdas/functions/control-plane/src/github/auth.test.ts @@ -7,7 +7,7 @@ import { mocked } from 'jest-mock'; import { MockProxy, mock } from 'jest-mock-extended'; import nock from 'nock'; -import { createGithubAppAuth, createOctokitClient } from './gh-auth'; +import { createGithubAppAuth, createOctokitClient } from './auth'; jest.mock('@terraform-aws-github-runner/aws-ssm-util'); jest.mock('@octokit/auth-app'); diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-auth.ts b/lambdas/functions/control-plane/src/github/auth.ts similarity index 100% rename from lambdas/functions/control-plane/src/gh-auth/gh-auth.ts rename to lambdas/functions/control-plane/src/github/auth.ts diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-octokit.test.ts b/lambdas/functions/control-plane/src/github/octokit.test.ts similarity index 95% rename from lambdas/functions/control-plane/src/gh-auth/gh-octokit.test.ts rename to lambdas/functions/control-plane/src/github/octokit.test.ts index 161b787dbb..3f22c3c4bd 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-octokit.test.ts +++ b/lambdas/functions/control-plane/src/github/octokit.test.ts @@ -1,6 +1,6 @@ import { Octokit } from '@octokit/rest'; import { ActionRequestMessage } from '../scale-runners/scale-up'; -import { getOctokit } from './gh-octokit'; +import { getOctokit } from './octokit'; const mockOctokit = { apps: { @@ -9,7 +9,7 @@ const mockOctokit = { }, }; -jest.mock('../gh-auth/gh-auth', () => ({ +jest.mock('../github/auth', () => ({ createGithubInstallationAuth: jest.fn().mockImplementation(async (installationId) => { return { token: 'token', type: 'installation', installationId: installationId }; }), @@ -21,7 +21,7 @@ jest.mock('@octokit/rest', () => ({ Octokit: jest.fn().mockImplementation(() => mockOctokit), })); -jest.mock('../gh-auth/gh-auth'); +jest.mock('../github/auth'); describe('Test getOctokit', () => { const data = [ diff --git a/lambdas/functions/control-plane/src/gh-auth/gh-octokit.ts b/lambdas/functions/control-plane/src/github/octokit.ts similarity index 97% rename from lambdas/functions/control-plane/src/gh-auth/gh-octokit.ts rename to lambdas/functions/control-plane/src/github/octokit.ts index 4fed2e17fe..a2cce5f55d 100644 --- a/lambdas/functions/control-plane/src/gh-auth/gh-octokit.ts +++ b/lambdas/functions/control-plane/src/github/octokit.ts @@ -1,6 +1,6 @@ import { Octokit } from '@octokit/rest'; import { ActionRequestMessage } from '../scale-runners/scale-up'; -import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from './gh-auth'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from './auth'; export async function getInstallationId( ghesApiUrl: string, diff --git a/lambdas/functions/control-plane/src/github/rate-limit.test.ts b/lambdas/functions/control-plane/src/github/rate-limit.test.ts new file mode 100644 index 0000000000..cf23eb83b5 --- /dev/null +++ b/lambdas/functions/control-plane/src/github/rate-limit.test.ts @@ -0,0 +1,70 @@ +import { ResponseHeaders } from '@octokit/types'; +import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util'; +import { MetricUnit } from '@aws-lambda-powertools/metrics'; +import { metricGitHubAppRateLimit } from './rate-limit'; + +process.env.PARAMETER_GITHUB_APP_ID_NAME = 'test'; +jest.mock('@terraform-aws-github-runner/aws-ssm-util', () => ({ + ...jest.requireActual('@terraform-aws-github-runner/aws-ssm-util'), + // get parameter name from process.env.PARAMETER_GITHUB_APP_ID_NAME rerunt 1234 + getParameter: jest.fn((name: string) => { + if (name === process.env.PARAMETER_GITHUB_APP_ID_NAME) { + return '1234'; + } else { + return ''; + } + }), +})); + +jest.mock('@terraform-aws-github-runner/aws-powertools-util', () => ({ + ...jest.requireActual('@terraform-aws-github-runner/aws-powertools-util'), + // eslint-disable-next-line @typescript-eslint/no-unused-vars + createSingleMetric: jest.fn((name: string, unit: string, value: number, dimensions?: Record) => { + return { + addMetadata: jest.fn(), + }; + }), +})); + +describe('metricGitHubAppRateLimit', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should update rate limit metric', async () => { + // set process.env.ENABLE_METRIC_GITHUB_APP_RATE_LIMIT to true + process.env.ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = 'true'; + const headers: ResponseHeaders = { + 'x-ratelimit-remaining': '10', + 'x-ratelimit-limit': '60', + }; + + await metricGitHubAppRateLimit(headers); + + expect(createSingleMetric).toHaveBeenCalledWith('GitHubAppRateLimitRemaining', MetricUnit.Count, 10, { + AppId: '1234', + }); + }); + + it('should not update rate limit metric', async () => { + // set process.env.ENABLE_METRIC_GITHUB_APP_RATE_LIMIT to false + process.env.ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = 'false'; + const headers: ResponseHeaders = { + 'x-ratelimit-remaining': '10', + 'x-ratelimit-limit': '60', + }; + + await metricGitHubAppRateLimit(headers); + + expect(createSingleMetric).not.toHaveBeenCalled(); + }); + + it('should not update rate limit metric if headers are undefined', async () => { + // set process.env.ENABLE_METRIC_GITHUB_APP_RATE_LIMIT to true + process.env.ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = 'true'; + + await metricGitHubAppRateLimit(undefined as unknown as ResponseHeaders); + + expect(createSingleMetric).not.toHaveBeenCalled(); + }); +}); diff --git a/lambdas/functions/control-plane/src/github/rate-limit.ts b/lambdas/functions/control-plane/src/github/rate-limit.ts new file mode 100644 index 0000000000..aab8aa51d2 --- /dev/null +++ b/lambdas/functions/control-plane/src/github/rate-limit.ts @@ -0,0 +1,25 @@ +import { ResponseHeaders } from '@octokit/types'; +import { createSingleMetric, logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { MetricUnit } from '@aws-lambda-powertools/metrics'; +import yn from 'yn'; +import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; + +export async function metricGitHubAppRateLimit(headers: ResponseHeaders): Promise { + try { + const remaining = parseInt(headers['x-ratelimit-remaining'] as string); + const limit = parseInt(headers['x-ratelimit-limit'] as string); + + logger.debug(`Rate limit remaining: ${remaining}, limit: ${limit}`); + + const updateMetric = yn(process.env.ENABLE_METRIC_GITHUB_APP_RATE_LIMIT); + if (updateMetric) { + const appId = await getParameter(process.env.PARAMETER_GITHUB_APP_ID_NAME); + const metric = createSingleMetric('GitHubAppRateLimitRemaining', MetricUnit.Count, remaining, { + AppId: appId, + }); + metric.addMetadata('AppId', appId); + } + } catch (e) { + logger.debug(`Error updating rate limit metric`, { error: e }); + } +} diff --git a/lambdas/functions/control-plane/src/modules.d.ts b/lambdas/functions/control-plane/src/modules.d.ts index 319afa7755..7570f29035 100644 --- a/lambdas/functions/control-plane/src/modules.d.ts +++ b/lambdas/functions/control-plane/src/modules.d.ts @@ -1,6 +1,7 @@ declare namespace NodeJS { export interface ProcessEnv { AWS_REGION: string; + ENABLE_METRIC_GITHUB_APP_RATE_LIMIT: string; ENABLE_ON_DEMAND_FAILOVER_FOR_ERRORS: string; ENVIRONMENT: string; GHES_URL: string; diff --git a/lambdas/functions/control-plane/src/pool/pool.test.ts b/lambdas/functions/control-plane/src/pool/pool.test.ts index 64feb47044..a7ee7b9797 100644 --- a/lambdas/functions/control-plane/src/pool/pool.test.ts +++ b/lambdas/functions/control-plane/src/pool/pool.test.ts @@ -4,7 +4,7 @@ import moment from 'moment-timezone'; import nock from 'nock'; import { listEC2Runners } from '../aws/runners'; -import * as ghAuth from '../gh-auth/gh-auth'; +import * as ghAuth from '../github/auth'; import { createRunners } from '../scale-runners/scale-up'; import { adjust } from './pool'; @@ -27,7 +27,7 @@ jest.mock('./../aws/runners', () => ({ ...jest.requireActual('./../aws/runners'), listEC2Runners: jest.fn(), })); -jest.mock('./../gh-auth/gh-auth'); +jest.mock('./../github/auth'); jest.mock('./../scale-runners/scale-up'); const mocktokit = Octokit as jest.MockedClass; diff --git a/lambdas/functions/control-plane/src/pool/pool.ts b/lambdas/functions/control-plane/src/pool/pool.ts index 543280641b..93fbfbb4db 100644 --- a/lambdas/functions/control-plane/src/pool/pool.ts +++ b/lambdas/functions/control-plane/src/pool/pool.ts @@ -4,7 +4,7 @@ import yn from 'yn'; import { bootTimeExceeded, listEC2Runners } from '../aws/runners'; import { RunnerList } from '../aws/runners.d'; -import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../gh-auth/gh-auth'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../github/auth'; import { createRunners } from '../scale-runners/scale-up'; const logger = createChildLogger('pool'); diff --git a/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts b/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts index 9317e42292..ab6d9ef052 100644 --- a/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts @@ -1,7 +1,7 @@ import { publishMessage } from '../aws/sqs'; import { publishRetryMessage, checkAndRetryJob } from './job-retry'; import { ActionRequestMessage, ActionRequestMessageRetry } from './scale-up'; -import { getOctokit } from '../gh-auth/gh-octokit'; +import { getOctokit } from '../github/octokit'; import { Octokit } from '@octokit/rest'; import { mocked } from 'jest-mock'; import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util'; @@ -34,7 +34,7 @@ const mockOctokit = { jest.mock('@octokit/rest', () => ({ Octokit: jest.fn().mockImplementation(() => mockOctokit), })); -jest.mock('../gh-auth/gh-octokit'); +jest.mock('../github/octokit'); const mockCreateOctokitClient = mocked(getOctokit, { shallow: false }); mockCreateOctokitClient.mockResolvedValue(new (Octokit as jest.MockedClass)()); @@ -179,7 +179,7 @@ describe(`Test job retry check`, () => { process.env.ENABLE_ORGANIZATION_RUNNERS = 'true'; process.env.ENVIRONMENT = 'test'; process.env.RUNNER_NAME_PREFIX = 'test'; - process.env.ENABLE_METRICS = 'true'; + process.env.ENABLE_METRIC_JOB_RETRY = 'true'; process.env.JOB_QUEUE_SCALE_UP_URL = 'https://sqs.eu-west-1.amazonaws.com/123456789/webhook_events_workflow_job_queue'; diff --git a/lambdas/functions/control-plane/src/scale-runners/job-retry.ts b/lambdas/functions/control-plane/src/scale-runners/job-retry.ts index 6a2cbe5887..7ccf9c29bb 100644 --- a/lambdas/functions/control-plane/src/scale-runners/job-retry.ts +++ b/lambdas/functions/control-plane/src/scale-runners/job-retry.ts @@ -5,7 +5,7 @@ import { } from '@terraform-aws-github-runner/aws-powertools-util'; import { publishMessage } from '../aws/sqs'; import { ActionRequestMessage, ActionRequestMessageRetry, getGitHubEnterpriseApiUrl, isJobQueued } from './scale-up'; -import { getOctokit } from '../gh-auth/gh-octokit'; +import { getOctokit } from '../github/octokit'; import { MetricUnit } from '@aws-lambda-powertools/metrics'; import yn from 'yn'; @@ -46,7 +46,7 @@ export async function checkAndRetryJob(payload: ActionRequestMessageRetry): Prom const runnerOwner = enableOrgLevel ? payload.repositoryOwner : `${payload.repositoryOwner}/${payload.repositoryName}`; const runnerNamePrefix = process.env.RUNNER_NAME_PREFIX ?? ''; const jobQueueUrl = process.env.JOB_QUEUE_SCALE_UP_URL ?? ''; - const enableMetrics = yn(process.env.ENABLE_METRICS, { default: false }); + const enableMetrics = yn(process.env.ENABLE_METRIC_JOB_RETRY, { default: false }); const environment = process.env.ENVIRONMENT; addPersistentContextToChildLogger({ diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts index c2255f8839..680247ced0 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down.test.ts @@ -4,7 +4,7 @@ import moment from 'moment'; import nock from 'nock'; import { RunnerInfo, RunnerList } from '../aws/runners.d'; -import * as ghAuth from '../gh-auth/gh-auth'; +import * as ghAuth from '../github/auth'; import { listEC2Runners, terminateRunner, tag } from './../aws/runners'; import { githubCache } from './cache'; import { newestFirstStrategy, oldestFirstStrategy, scaleDown } from './scale-down'; @@ -34,7 +34,7 @@ jest.mock('./../aws/runners', () => ({ terminateRunner: jest.fn(), listEC2Runners: jest.fn(), })); -jest.mock('./../gh-auth/gh-auth'); +jest.mock('./../github/auth'); jest.mock('./cache'); const mocktokit = Octokit as jest.MockedClass; diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts index 8b222b6a47..1688226f84 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts @@ -2,11 +2,12 @@ import { Octokit } from '@octokit/rest'; import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; import moment from 'moment'; -import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../gh-auth/gh-auth'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../github/auth'; import { bootTimeExceeded, listEC2Runners, tag, terminateRunner } from './../aws/runners'; import { RunnerInfo, RunnerList } from './../aws/runners.d'; import { GhRunners, githubCache } from './cache'; import { ScalingDownConfig, getEvictionStrategy, getIdleRunnerCount } from './scale-down-config'; +import { metricGitHubAppRateLimit } from '../github/rate-limit'; const logger = createChildLogger('scale-down'); @@ -63,6 +64,8 @@ async function getGitHubRunnerBusyState(client: Octokit, ec2runner: RunnerInfo, logger.info(`Runner '${ec2runner.instanceId}' - GitHub Runner ID '${runnerId}' - Busy: ${state.data.busy}`); + metricGitHubAppRateLimit(state.headers); + return state.data.busy; } diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts index 0376d70671..83cc20faff 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts @@ -1,4 +1,4 @@ -import { GetParameterCommand, PutParameterCommand, SSMClient } from '@aws-sdk/client-ssm'; +import { PutParameterCommand, SSMClient } from '@aws-sdk/client-ssm'; import { Octokit } from '@octokit/rest'; import { mockClient } from 'aws-sdk-client-mock'; import 'aws-sdk-client-mock-jest'; @@ -6,11 +6,12 @@ import { mocked } from 'jest-mock'; import nock from 'nock'; import { performance } from 'perf_hooks'; -import * as ghAuth from '../gh-auth/gh-auth'; +import * as ghAuth from '../github/auth'; import { createRunner, listEC2Runners } from './../aws/runners'; import { RunnerInputParameters } from './../aws/runners.d'; import ScaleError from './ScaleError'; import * as scaleUpModule from './scale-up'; +import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; const mockOctokit = { paginate: jest.fn(), @@ -30,13 +31,20 @@ const mockOctokit = { const mockCreateRunner = mocked(createRunner); const mockListRunners = mocked(listEC2Runners); const mockSSMClient = mockClient(SSMClient); +const mockSSMgetParameter = mocked(getParameter); jest.mock('@octokit/rest', () => ({ Octokit: jest.fn().mockImplementation(() => mockOctokit), })); jest.mock('./../aws/runners'); -jest.mock('./../gh-auth/gh-auth'); +jest.mock('./../github/auth'); + +jest.mock('@terraform-aws-github-runner/aws-ssm-util', () => ({ + ...jest.requireActual('@terraform-aws-github-runner/aws-ssm-util'), + getParameter: jest.fn(), +})); + export type RunnerType = 'ephemeral' | 'non-ephemeral'; // for ephemeral and non-ephemeral runners @@ -77,6 +85,7 @@ let expectedRunnerParams: RunnerInputParameters; function setDefaults() { process.env = { ...cleanEnv }; + process.env.PARAMETER_GITHUB_APP_ID_NAME = 'github-app-id'; process.env.GITHUB_APP_KEY_BASE64 = 'TEST_CERTIFICATE_DATA'; process.env.GITHUB_APP_ID = '1337'; process.env.GITHUB_APP_CLIENT_ID = 'TEST_CLIENT_ID'; @@ -96,52 +105,9 @@ beforeEach(() => { jest.clearAllMocks(); setDefaults(); - mockOctokit.actions.getJobForWorkflowRun.mockImplementation(() => ({ - data: { - status: 'queued', - }, - })); - mockOctokit.paginate.mockImplementation(() => [ - { - id: 1, - name: 'Default', - }, - ]); - mockOctokit.actions.generateRunnerJitconfigForOrg.mockImplementation(() => ({ - data: { - encoded_jit_config: 'TEST_JIT_CONFIG_ORG', - }, - })); - mockOctokit.actions.generateRunnerJitconfigForRepo.mockImplementation(() => ({ - data: { - encoded_jit_config: 'TEST_JIT_CONFIG_REPO', - }, - })); - mockOctokit.checks.get.mockImplementation(() => ({ - data: { - status: 'queued', - }, - })); - const mockTokenReturnValue = { - data: { - token: '1234abcd', - }, - }; - const mockInstallationIdReturnValueOrgs = { - data: { - id: TEST_DATA.installationId, - }, - }; - const mockInstallationIdReturnValueRepos = { - data: { - id: TEST_DATA.installationId, - }, - }; + defaultSSMGetParameterMockImpl(); + defaultOctokitMockImpl(); - mockOctokit.actions.createRegistrationTokenForOrg.mockImplementation(() => mockTokenReturnValue); - mockOctokit.actions.createRegistrationTokenForRepo.mockImplementation(() => mockTokenReturnValue); - mockOctokit.apps.getOrgInstallation.mockImplementation(() => mockInstallationIdReturnValueOrgs); - mockOctokit.apps.getRepoInstallation.mockImplementation(() => mockInstallationIdReturnValueRepos); mockCreateRunner.mockImplementation(async () => { return ['i-12345']; }); @@ -213,7 +179,6 @@ describe('scaleUp with GHES', () => { expectedRunnerParams = { ...EXPECTED_RUNNER_PARAMS }; mockSSMClient.reset(); - mockSSMClient.on(GetParameterCommand).resolves({ Parameter: { Value: '1' } }); }); it('gets the current org level runners', async () => { @@ -270,7 +235,9 @@ describe('scaleUp with GHES', () => { it('Throws an error if runner group doesnt exist for ephemeral runners', async () => { process.env.RUNNER_GROUP_NAME = 'test-runner-group'; - mockSSMClient.on(GetParameterCommand).rejects(); + mockSSMgetParameter.mockImplementation(async () => { + throw new Error('ParameterNotFound'); + }); await expect(scaleUpModule.scaleUp('aws:sqs', TEST_DATA)).rejects.toBeInstanceOf(Error); expect(mockOctokit.paginate).toHaveBeenCalledTimes(1); }); @@ -284,7 +251,9 @@ describe('scaleUp with GHES', () => { }); it('create SSM parameter for runner group id if it doesnt exist', async () => { - mockSSMClient.on(GetParameterCommand).rejects(); + mockSSMgetParameter.mockImplementation(async () => { + throw new Error('ParameterNotFound'); + }); await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); expect(mockOctokit.paginate).toHaveBeenCalledTimes(1); expect(mockSSMClient).toHaveReceivedCommandTimes(PutParameterCommand, 2); @@ -295,8 +264,7 @@ describe('scaleUp with GHES', () => { }); }); - it('Doesnt create SSM parameter for runner group id if it exists', async () => { - mockSSMClient.on(GetParameterCommand).resolves({ Parameter: { Value: '1' } }); + it('Does not create SSM parameter for runner group id if it exists', async () => { await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); expect(mockOctokit.paginate).toHaveBeenCalledTimes(0); expect(mockSSMClient).toHaveReceivedCommandTimes(PutParameterCommand, 1); @@ -304,7 +272,7 @@ describe('scaleUp with GHES', () => { it('create start runner config for ephemeral runners ', async () => { process.env.RUNNERS_MAXIMUM_COUNT = '2'; - mockSSMClient.on(GetParameterCommand).resolves({ Parameter: { Value: '1' } }); + await scaleUpModule.scaleUp('aws:sqs', TEST_DATA); expect(mockOctokit.actions.generateRunnerJitconfigForOrg).toBeCalledWith({ org: TEST_DATA.repositoryOwner, @@ -356,7 +324,6 @@ describe('scaleUp with GHES', () => { mockListRunners.mockImplementation(async () => { return []; }); - mockSSMClient.on(GetParameterCommand).resolves({ Parameter: { Value: '1' } }); const startTime = performance.now(); const instances = [ 'i-1234', @@ -707,3 +674,65 @@ describe('scaleUp with public GH', () => { }); }); }); + +function defaultOctokitMockImpl() { + mockOctokit.actions.getJobForWorkflowRun.mockImplementation(() => ({ + data: { + status: 'queued', + }, + })); + mockOctokit.paginate.mockImplementation(() => [ + { + id: 1, + name: 'Default', + }, + ]); + mockOctokit.actions.generateRunnerJitconfigForOrg.mockImplementation(() => ({ + data: { + encoded_jit_config: 'TEST_JIT_CONFIG_ORG', + }, + })); + mockOctokit.actions.generateRunnerJitconfigForRepo.mockImplementation(() => ({ + data: { + encoded_jit_config: 'TEST_JIT_CONFIG_REPO', + }, + })); + mockOctokit.checks.get.mockImplementation(() => ({ + data: { + status: 'queued', + }, + })); + + const mockTokenReturnValue = { + data: { + token: '1234abcd', + }, + }; + const mockInstallationIdReturnValueOrgs = { + data: { + id: TEST_DATA.installationId, + }, + }; + const mockInstallationIdReturnValueRepos = { + data: { + id: TEST_DATA.installationId, + }, + }; + + mockOctokit.actions.createRegistrationTokenForOrg.mockImplementation(() => mockTokenReturnValue); + mockOctokit.actions.createRegistrationTokenForRepo.mockImplementation(() => mockTokenReturnValue); + mockOctokit.apps.getOrgInstallation.mockImplementation(() => mockInstallationIdReturnValueOrgs); + mockOctokit.apps.getRepoInstallation.mockImplementation(() => mockInstallationIdReturnValueRepos); +} + +function defaultSSMGetParameterMockImpl() { + mockSSMgetParameter.mockImplementation(async (name: string) => { + if (name === `${process.env.SSM_CONFIG_PATH}/runner-group/${process.env.RUNNER_GROUP_NAME}`) { + return '1'; + } else if (name === `${process.env.PARAMETER_GITHUB_APP_ID_NAME}`) { + return `${process.env.GITHUB_APP_ID}`; + } else { + throw new Error(`ParameterNotFound: ${name}`); + } + }); +} diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts index 6503a1255e..ab91b64cf5 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts @@ -3,11 +3,12 @@ import { addPersistentContextToChildLogger, createChildLogger } from '@terraform import { getParameter, putParameter } from '@terraform-aws-github-runner/aws-ssm-util'; import yn from 'yn'; -import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../gh-auth/gh-auth'; +import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../github/auth'; import { createRunner, listEC2Runners } from './../aws/runners'; import { RunnerInputParameters } from './../aws/runners.d'; import ScaleError from './ScaleError'; import { publishRetryMessage } from './job-retry'; +import { metricGitHubAppRateLimit } from '../github/rate-limit'; const logger = createChildLogger('scale-up'); @@ -94,6 +95,9 @@ async function getGithubRunnerRegistrationToken(githubRunnerConfig: CreateGitHub owner: githubRunnerConfig.runnerOwner.split('/')[0], repo: githubRunnerConfig.runnerOwner.split('/')[1], }); + + const appId = parseInt(await getParameter(process.env.PARAMETER_GITHUB_APP_ID_NAME)); + logger.info('App id from SSM', { appId: appId }); return registrationToken.data.token; } @@ -142,6 +146,7 @@ export async function isJobQueued(githubInstallationClient: Octokit, payload: Ac owner: payload.repositoryOwner, repo: payload.repositoryName, }); + metricGitHubAppRateLimit(jobForWorkflowRun.headers); isQueued = jobForWorkflowRun.data.status === 'queued'; } else { throw Error(`Event ${payload.eventType} is not supported`); @@ -169,7 +174,7 @@ async function getRunnerGroupId(githubRunnerConfig: CreateGitHubRunnerConfig, gh } if (runnerGroup === undefined) { // get runner group id from GitHub - runnerGroupId = await GetRunnerGroupByName(ghClient, githubRunnerConfig); + runnerGroupId = await getRunnerGroupByName(ghClient, githubRunnerConfig); // store runner group id in SSM try { await putParameter( @@ -188,7 +193,7 @@ async function getRunnerGroupId(githubRunnerConfig: CreateGitHubRunnerConfig, gh return runnerGroupId; } -async function GetRunnerGroupByName(ghClient: Octokit, githubRunnerConfig: CreateGitHubRunnerConfig): Promise { +async function getRunnerGroupByName(ghClient: Octokit, githubRunnerConfig: CreateGitHubRunnerConfig): Promise { const runnerGroups: RunnerGroup[] = await ghClient.paginate(`GET /orgs/{org}/actions/runner-groups`, { org: githubRunnerConfig.runnerOwner, per_page: 100, @@ -432,6 +437,8 @@ async function createJitConfig(githubRunnerConfig: CreateGitHubRunnerConfig, ins labels: ephemeralRunnerConfig.runnerLabels, }); + metricGitHubAppRateLimit(runnerConfig.headers); + // store jit config in ssm parameter store logger.debug('Runner JIT config for ephemeral runner generated.', { instance: instance, diff --git a/lambdas/libs/aws-ssm-util/src/index.test.ts b/lambdas/libs/aws-ssm-util/src/index.test.ts index 07dbc4aa3f..ee4cd8ec2f 100644 --- a/lambdas/libs/aws-ssm-util/src/index.test.ts +++ b/lambdas/libs/aws-ssm-util/src/index.test.ts @@ -136,9 +136,6 @@ describe('Test getParameter and putParameter', () => { mockSSMClient.on(GetParameterCommand).resolves(output); // Act - const result = await getParameter(parameterName); - - // Assert - expect(result).toBe(undefined); + await expect(getParameter(parameterName)).rejects.toThrow(`Parameter ${parameterName} not found`); }); }); diff --git a/lambdas/libs/aws-ssm-util/src/index.ts b/lambdas/libs/aws-ssm-util/src/index.ts index 3824926d09..c60bb35424 100644 --- a/lambdas/libs/aws-ssm-util/src/index.ts +++ b/lambdas/libs/aws-ssm-util/src/index.ts @@ -1,10 +1,20 @@ -import { GetParameterCommand, PutParameterCommand, SSMClient, Tag } from '@aws-sdk/client-ssm'; +import { PutParameterCommand, SSMClient, Tag } from '@aws-sdk/client-ssm'; import { getTracedAWSV3Client } from '@terraform-aws-github-runner/aws-powertools-util'; +import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; export async function getParameter(parameter_name: string): Promise { - const client = getTracedAWSV3Client(new SSMClient({ region: process.env.AWS_REGION })); - return (await client.send(new GetParameterCommand({ Name: parameter_name, WithDecryption: true }))).Parameter - ?.Value as string; + const ssmClient = getTracedAWSV3Client(new SSMClient({ region: process.env.AWS_REGION })); + const client = new SSMProvider({ awsSdkV3Client: ssmClient }); //getTracedAWSV3Client(); + const result = await client.get(parameter_name, { + decrypt: true, + maxAge: 30, // 30 seconds override default 5 seconds + }); + + // throw error if result is undefined + if (!result) { + throw new Error(`Parameter ${parameter_name} not found`); + } + return result; } export async function putParameter( diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 58e745c2f3..df2b5be7e9 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -133,6 +133,35 @@ __metadata: languageName: node linkType: hard +"@aws-lambda-powertools/parameters@npm:^2.7.0": + version: 2.7.0 + resolution: "@aws-lambda-powertools/parameters@npm:2.7.0" + dependencies: + "@aws-lambda-powertools/commons": "npm:^2.7.0" + peerDependencies: + "@aws-sdk/client-appconfigdata": ">=3.x" + "@aws-sdk/client-dynamodb": ">=3.x" + "@aws-sdk/client-secrets-manager": ">=3.x" + "@aws-sdk/client-ssm": ">=3.x" + "@aws-sdk/util-dynamodb": ">=3.x" + "@middy/core": 4.x || 5.x + peerDependenciesMeta: + "@aws-sdk/client-appconfigdata": + optional: true + "@aws-sdk/client-dynamodb": + optional: true + "@aws-sdk/client-secrets-manager": + optional: true + "@aws-sdk/client-ssm": + optional: true + "@aws-sdk/util-dynamodb": + optional: true + "@middy/core": + optional: true + checksum: 10c0/7fc65a6ef975bfa2973a5babbc4e85a19e809e01b4209be491686d625810596ae51a8a4c99ff4877e898df3e045e870431677373c8f7415bcca353ddc4aab943 + languageName: node + linkType: hard + "@aws-lambda-powertools/tracer@npm:^2.7.0": version: 2.7.0 resolution: "@aws-lambda-powertools/tracer@npm:2.7.0" @@ -4815,6 +4844,7 @@ __metadata: version: 0.0.0-use.local resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" dependencies: + "@aws-lambda-powertools/parameters": "npm:^2.7.0" "@aws-sdk/client-ec2": "npm:^3.637.0" "@aws-sdk/client-sqs": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" @@ -5178,16 +5208,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*": - version: 22.0.2 - resolution: "@types/node@npm:22.0.2" - dependencies: - undici-types: "npm:~6.11.1" - checksum: 10c0/59ee26fb1104674b2e23981d7569ad113aa8ee23c8449af8e4312aa9352ac738c5ffd0ae4d8077db0467704a3b9ccc662048e39716cb5ad51cdb24d106c7871b - languageName: node - linkType: hard - -"@types/node@npm:^22.4.1": +"@types/node@npm:*, @types/node@npm:^22.4.1": version: 22.4.1 resolution: "@types/node@npm:22.4.1" dependencies: @@ -11018,13 +11039,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.11.1": - version: 6.11.1 - resolution: "undici-types@npm:6.11.1" - checksum: 10c0/d8f5739a8e6c779d72336c82deb49c56d5ac9f9f6e0eb2e8dd4d3f6929ae9db7cde370d2e46516fe6cad04ea53e790c5e16c4c75eed7cd0f9bd31b0763bb2fa3 - languageName: node - linkType: hard - "undici-types@npm:~6.19.2": version: 6.19.8 resolution: "undici-types@npm:6.19.8" diff --git a/main.tf b/main.tf index f23f2a3ebe..25346b30bd 100644 --- a/main.tf +++ b/main.tf @@ -293,10 +293,7 @@ module "runners" { ssm_housekeeper = var.runners_ssm_housekeeper ebs_optimized = var.runners_ebs_optimized - metrics_config = { - namespace = var.metrics_namespace - enable = var.enable_metrics_control_plane - } + metrics = var.metrics job_retry = var.job_retry } @@ -394,9 +391,9 @@ locals { logging_retention_in_days = var.logging_retention_in_days role_path = var.role_path role_permissions_boundary = var.role_permissions_boundary - metrics_namespace = var.metrics_namespace s3_bucket = var.lambda_s3_bucket tracing_config = var.tracing_config + metrics = var.metrics } } diff --git a/modules/multi-runner/README.md b/modules/multi-runner/README.md index c3bb9ae179..896b27d5a5 100644 --- a/modules/multi-runner/README.md +++ b/modules/multi-runner/README.md @@ -136,7 +136,7 @@ module "multi-runner" { | [ghes\_url](#input\_ghes\_url) | GitHub Enterprise Server URL. Example: https://github.internal.co - DO NOT SET IF USING PUBLIC GITHUB | `string` | `null` | no | | [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | | [instance\_profile\_path](#input\_instance\_profile\_path) | The path that will be added to the instance\_profile, if not set the environment name will be used. | `string` | `null` | no | -| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the spot termination watcher lambda function. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    'enable\_metrics': Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metric = optional(object({
    spot_warning = optional(bool, false)
    }))
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | +| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the spot termination watcher lambda function. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metrics = optional(string, null) # deprecated
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | | [key\_name](#input\_key\_name) | Key pair name | `string` | `null` | no | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. | `string` | `null` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | @@ -150,7 +150,8 @@ module "multi-runner" { | [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id) | Specifies the kms key id to encrypt the logs with | `string` | `null` | no | | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | -| [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `"GitHub Runners"` | no | +| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | +| [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `null` | no | | [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
    runner\_config: {
    runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
    runner\_architecture: "The platform architecture of the runner instance\_type."
    runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
    ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
    ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
    create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
    credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
    delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
    disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
    ebs\_optimized: "The EC2 EBS optimized configuration."
    enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
    enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
    enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
    enable\_organization\_runners: "Register runners to organization, instead of repo level"
    enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
    enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
    enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
    instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
    instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
    instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
    instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
    job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
    minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
    pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
    runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
    runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
    runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
    runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
    runner\_group\_name: "Name of the runner group."
    runner\_name\_prefix: "Prefix for the GitHub runner name."
    runner\_run\_as: "Run the GitHub actions agent as user."
    runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
    scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
    scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
    userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
    enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
    enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
    enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
    cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
    userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
    runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
    runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
    vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
    subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
    idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
    runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
    job\_retry: "Experimental! Can be removed / changed without trigger a major release. Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app."
    pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)."
    }
    matcherConfig: {
    labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
    exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
    priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
    }
    fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
    redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
    } |
    map(object({
    runner_config = object({
    runner_os = string
    runner_architecture = string
    runner_metadata_options = optional(map(any), {
    instance_metadata_tags = "enabled"
    http_endpoint = "enabled"
    http_tokens = "required"
    http_put_response_hop_limit = 1
    })
    ami_filter = optional(map(list(string)), { state = ["available"] })
    ami_owners = optional(list(string), ["amazon"])
    ami_id_ssm_parameter_name = optional(string, null)
    ami_kms_key_arn = optional(string, "")
    create_service_linked_role_spot = optional(bool, false)
    credit_specification = optional(string, null)
    delay_webhook_event = optional(number, 30)
    disable_runner_autoupdate = optional(bool, false)
    ebs_optimized = optional(bool, false)
    enable_ephemeral_runners = optional(bool, false)
    enable_job_queued_check = optional(bool, null)
    enable_on_demand_failover_for_errors = optional(list(string), [])
    enable_organization_runners = optional(bool, false)
    enable_runner_binaries_syncer = optional(bool, true)
    enable_ssm_on_runners = optional(bool, false)
    enable_userdata = optional(bool, true)
    instance_allocation_strategy = optional(string, "lowest-price")
    instance_max_spot_price = optional(string, null)
    instance_target_capacity_type = optional(string, "spot")
    instance_types = list(string)
    job_queue_retention_in_seconds = optional(number, 86400)
    minimum_running_time_in_minutes = optional(number, null)
    pool_runner_owner = optional(string, null)
    runner_as_root = optional(bool, false)
    runner_boot_time_in_minutes = optional(number, 5)
    runner_extra_labels = optional(list(string), [])
    runner_group_name = optional(string, "Default")
    runner_name_prefix = optional(string, "")
    runner_run_as = optional(string, "ec2-user")
    runners_maximum_count = number
    runner_additional_security_group_ids = optional(list(string), [])
    scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
    scale_up_reserved_concurrent_executions = optional(number, 1)
    userdata_template = optional(string, null)
    userdata_content = optional(string, null)
    enable_jit_config = optional(bool, null)
    enable_runner_detailed_monitoring = optional(bool, false)
    enable_cloudwatch_agent = optional(bool, true)
    cloudwatch_config = optional(string, null)
    userdata_pre_install = optional(string, "")
    userdata_post_install = optional(string, "")
    runner_ec2_tags = optional(map(string), {})
    runner_iam_role_managed_policy_arns = optional(list(string), [])
    vpc_id = optional(string, null)
    subnet_ids = optional(list(string), null)
    idle_config = optional(list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    })), [])
    runner_log_files = optional(list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    })), null)
    block_device_mappings = optional(list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    })), [{
    volume_size = 30
    }])
    pool_config = optional(list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    })), [])
    job_retry = optional(object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_timeout = optional(number, 30)
    max_attempts = optional(number, 1)
    }), {})
    })
    matcherConfig = object({
    labelMatchers = list(list(string))
    exactMatch = optional(bool, false)
    priority = optional(number, 999)
    })
    fifo = optional(bool, false)
    redrive_build_queue = optional(object({
    enabled = bool
    maxReceiveCount = number
    }), {
    enabled = false
    maxReceiveCount = null
    })
    }))
    | n/a | yes | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | diff --git a/modules/multi-runner/runners.tf b/modules/multi-runner/runners.tf index 0fdfe272b4..abea1cf3ee 100644 --- a/modules/multi-runner/runners.tf +++ b/modules/multi-runner/runners.tf @@ -114,8 +114,5 @@ module "runners" { job_retry = each.value.runner_config.job_retry - metrics_config = { - namespace = var.metrics_namespace - enable = var.enable_metrics_control_plane - } + metrics = var.metrics } diff --git a/modules/multi-runner/termination-watcher.tf b/modules/multi-runner/termination-watcher.tf index 8481c50399..f317b66adf 100644 --- a/modules/multi-runner/termination-watcher.tf +++ b/modules/multi-runner/termination-watcher.tf @@ -13,10 +13,10 @@ locals { logging_retention_in_days = var.logging_retention_in_days role_path = var.role_path role_permissions_boundary = var.role_permissions_boundary - metrics_namespace = var.metrics_namespace s3_bucket = var.lambda_s3_bucket tracing_config = var.tracing_config lambda_tags = var.lambda_tags + metrics = var.metrics } } diff --git a/modules/multi-runner/variables.deprecated.tf b/modules/multi-runner/variables.deprecated.tf new file mode 100644 index 0000000000..006af01810 --- /dev/null +++ b/modules/multi-runner/variables.deprecated.tf @@ -0,0 +1,23 @@ +# tflint-ignore: terraform_unused_declarations +variable "enable_metrics_control_plane" { + description = "(Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release." + type = bool + default = false + + validation { + condition = var.enable_metrics_control_plane == false + error_message = "The feature `enable_metrics_control_plane` is deprecated and will be removed in a future release. Please use the `metrics` variable instead." + } +} + +# tflint-ignore: terraform_unused_declarations +variable "metrics_namespace" { + description = "The namespace for the metrics created by the module. Merics will only be created if explicit enabled." + type = string + default = null + + validation { + condition = var.metrics_namespace == null + error_message = "The variable `metrics_namespace` is deprecated, use `metrics.namespace` instead." + } +} diff --git a/modules/multi-runner/variables.tf b/modules/multi-runner/variables.tf index b19561309f..fc1edefcf9 100644 --- a/modules/multi-runner/variables.tf +++ b/modules/multi-runner/variables.tf @@ -621,18 +621,11 @@ variable "runners_ssm_housekeeper" { default = { config = {} } } -variable "metrics_namespace" { - description = "The namespace for the metrics created by the module. Merics will only be created if explicit enabled." - type = string - default = "GitHub Runners" -} - variable "instance_termination_watcher" { description = <<-EOF Configuration for the spot termination watcher lambda function. This feature is Beta, changes will not trigger a major release as long in beta. `enable`: Enable or disable the spot termination watcher. - 'enable_metrics': Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning. `memory_size`: Memory size linit in MB of the lambda. `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. @@ -641,10 +634,8 @@ variable "instance_termination_watcher" { EOF type = object({ - enable = optional(bool, false) - enable_metric = optional(object({ - spot_warning = optional(bool, false) - })) + enable = optional(bool, false) + enable_metrics = optional(string, null) # deprecated memory_size = optional(number, null) s3_key = optional(string, null) s3_object_version = optional(string, null) @@ -652,6 +643,11 @@ variable "instance_termination_watcher" { zip = optional(string, null) }) default = {} + + validation { + condition = var.instance_termination_watcher.enable_metrics == null + error_message = "The feature `instance_termination_watcher` is deprecated and will be removed in a future release. Please use the `termination_watcher` variable instead." + } } variable "lambda_tags" { @@ -670,8 +666,16 @@ variable "matcher_config_parameter_store_tier" { } } -variable "enable_metrics_control_plane" { - description = "(Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release." - type = bool - default = false +variable "metrics" { + description = "Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise." + type = object({ + enable = optional(bool, false) + namespace = optional(string, "GitHub Runners") + metric = optional(object({ + enable_github_app_rate_limit = optional(bool, true) + enable_job_retry = optional(bool, true) + enable_spot_termination_warning = optional(bool, true) + }), {}) + }) + default = {} } diff --git a/modules/runners/README.md b/modules/runners/README.md index d44312d460..ee4be6a857 100644 --- a/modules/runners/README.md +++ b/modules/runners/README.md @@ -184,7 +184,7 @@ yarn run dist | [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id) | Specifies the kms key id to encrypt the logs with | `string` | `null` | no | | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [metadata\_options](#input\_metadata\_options) | Metadata options for the ec2 runner instances. By default, the module uses metadata tags for bootstrapping the runner, only disable `instance_metadata_tags` when using custom scripts for starting the runner. | `map(any)` |
    {
    "http_endpoint": "enabled",
    "http_put_response_hop_limit": 1,
    "http_tokens": "required",
    "instance_metadata_tags": "enabled"
    }
    | no | -| [metrics\_config](#input\_metrics\_config) | Configuraiton to enable metrics creation by the lambdas. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    })
    | `{}` | no | +| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | | [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes) | The time an ec2 action runner should be running at minimum before terminated if non busy. If not set the default is calculated based on the OS. | `number` | `null` | no | | [overrides](#input\_overrides) | This map provides the possibility to override some defaults. The following attributes are supported: `name_sg` overrides the `Name` tag for all security groups created by this module. `name_runner_agent_instance` overrides the `Name` tag for the ec2 instance defined in the auto launch configuration. `name_docker_machine_runners` overrides the `Name` tag spot instances created by the runner agent. | `map(string)` |
    {
    "name_runner": "",
    "name_sg": ""
    }
    | no | | [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone ` to override the schedule time zone (defaults to UTC). |
    list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    }))
    | `[]` | no | diff --git a/modules/runners/job-retry.tf b/modules/runners/job-retry.tf index 47edd1076c..99596e2a3c 100644 --- a/modules/runners/job-retry.tf +++ b/modules/runners/job-retry.tf @@ -15,7 +15,7 @@ locals { log_level = var.log_level logging_kms_key_id = var.logging_kms_key_id logging_retention_in_days = var.logging_retention_in_days - metrics_config = var.metrics_config + metrics = var.metrics role_path = var.role_path role_permissions_boundary = var.role_permissions_boundary s3_bucket = var.lambda_s3_bucket diff --git a/modules/runners/job-retry/README.md b/modules/runners/job-retry/README.md index d0e2f81bf9..cc00035fb3 100644 --- a/modules/runners/job-retry/README.md +++ b/modules/runners/job-retry/README.md @@ -42,7 +42,7 @@ The module is an inner module and used by the runner module when the opt-in feat | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    'ghes\_url': Optional GitHub Enterprise Server URL.
    'github\_app\_parameters': Parameter Store for GitHub App Parameters.
    'kms\_key\_arn': Optional CMK Key ARN instead of using the default AWS managed key.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics_config`: Configuraiton to enable metrics creation by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    'sqs\_build\_queue': SQS queue for build events to re-publish job request.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_organization_runners = bool
    environment_variables = optional(map(string), {})
    ghes_url = optional(string, null)
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    kms_key_arn = optional(string, null)
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics_config = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    queue_encryption = optional(object({
    kms_data_key_reuse_period_seconds = optional(number, null)
    kms_master_key_id = optional(string, null)
    sqs_managed_sse_enabled = optional(bool, true)
    }), {})
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    sqs_build_queue = object({
    url = string
    arn = string
    })
    tags = optional(map(string), {})
    timeout = optional(number, 30)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | +| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    'ghes\_url': Optional GitHub Enterprise Server URL.
    'github\_app\_parameters': Parameter Store for GitHub App Parameters.
    'kms\_key\_arn': Optional CMK Key ARN instead of using the default AWS managed key.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics_config`: Configuraiton to enable metrics creation by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    'sqs\_build\_queue': SQS queue for build events to re-publish job request.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_organization_runners = bool
    environment_variables = optional(map(string), {})
    ghes_url = optional(string, null)
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    kms_key_arn = optional(string, null)
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    queue_encryption = optional(object({
    kms_data_key_reuse_period_seconds = optional(number, null)
    kms_master_key_id = optional(string, null)
    sqs_managed_sse_enabled = optional(bool, true)
    }), {})
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    sqs_build_queue = object({
    url = string
    arn = string
    })
    tags = optional(map(string), {})
    timeout = optional(number, 30)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | ## Outputs diff --git a/modules/runners/job-retry/main.tf b/modules/runners/job-retry/main.tf index d1d40757ce..97744cb3ab 100644 --- a/modules/runners/job-retry/main.tf +++ b/modules/runners/job-retry/main.tf @@ -4,7 +4,8 @@ locals { environment_variables = { ENABLE_ORGANIZATION_RUNNERS = var.config.enable_organization_runners - ENABLE_METRICS = var.config.metrics_config.enable + ENABLE_METRIC_JOB_RETRY = var.config.metrics.enable && var.config.metrics.metric.enable_job_retry + ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = var.config.metrics.enable && var.config.metrics.metric.enable_github_app_rate_limit GHES_URL = var.config.ghes_url JOB_QUEUE_SCALE_UP_URL = var.config.sqs_build_queue.url PARAMETER_GITHUB_APP_ID_NAME = var.config.github_app_parameters.id.name @@ -16,7 +17,7 @@ locals { handler = "index.jobRetryCheck", zip = local.lambda_zip, environment_variables = local.environment_variables - metrics_namespace = var.config.metrics_config.namespace + metrics_namespace = var.config.metrics.namespace }) } diff --git a/modules/runners/job-retry/variables.tf b/modules/runners/job-retry/variables.tf index 1255cceb1c..475944b0ed 100644 --- a/modules/runners/job-retry/variables.tf +++ b/modules/runners/job-retry/variables.tf @@ -48,9 +48,13 @@ variable "config" { logging_kms_key_id = optional(string, null) logging_retention_in_days = optional(number, null) memory_size = optional(number, null) - metrics_config = optional(object({ + metrics = optional(object({ enable = optional(bool, false) namespace = optional(string, null) + metric = optional(object({ + enable_github_app_rate_limit = optional(bool, true) + enable_job_retry = optional(bool, true) + }), {}) }), {}) prefix = optional(string, null) principals = optional(list(object({ diff --git a/modules/runners/scale-down.tf b/modules/runners/scale-down.tf index 08138dcf3e..60e3d47ecb 100644 --- a/modules/runners/scale-down.tf +++ b/modules/runners/scale-down.tf @@ -23,6 +23,7 @@ resource "aws_lambda_function" "scale_down" { environment { variables = { ENVIRONMENT = var.prefix + ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = var.metrics.enable && var.metrics.metric.enable_github_app_rate_limit GHES_URL = var.ghes_url LOG_LEVEL = var.log_level MINIMUM_RUNNING_TIME_IN_MINUTES = coalesce(var.minimum_running_time_in_minutes, local.min_runtime_defaults[var.runner_os]) @@ -33,6 +34,7 @@ resource "aws_lambda_function" "scale_down" { RUNNER_BOOT_TIME_IN_MINUTES = var.runner_boot_time_in_minutes SCALE_DOWN_CONFIG = jsonencode(var.idle_config) POWERTOOLS_SERVICE_NAME = "runners-scale-down" + POWERTOOLS_METRICS_NAMESPACE = var.metrics.namespace POWERTOOLS_TRACE_ENABLED = var.tracing_config.mode != null ? true : false POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS = var.tracing_config.capture_http_requests POWERTOOLS_TRACER_CAPTURE_ERROR = var.tracing_config.capture_error diff --git a/modules/runners/scale-up.tf b/modules/runners/scale-up.tf index a71c505fc3..b99ce89251 100644 --- a/modules/runners/scale-up.tf +++ b/modules/runners/scale-up.tf @@ -30,6 +30,7 @@ resource "aws_lambda_function" "scale_up" { ENABLE_EPHEMERAL_RUNNERS = var.enable_ephemeral_runners ENABLE_JIT_CONFIG = var.enable_jit_config ENABLE_JOB_QUEUED_CHECK = local.enable_job_queued_check + ENABLE_METRIC_GITHUB_APP_RATE_LIMIT = var.metrics.enable && var.metrics.metric.enable_github_app_rate_limit ENABLE_ORGANIZATION_RUNNERS = var.enable_organization_runners ENVIRONMENT = var.prefix GHES_URL = var.ghes_url @@ -44,6 +45,7 @@ resource "aws_lambda_function" "scale_up" { PARAMETER_GITHUB_APP_ID_NAME = var.github_app_parameters.id.name PARAMETER_GITHUB_APP_KEY_BASE64_NAME = var.github_app_parameters.key_base64.name POWERTOOLS_LOGGER_LOG_EVENT = var.log_level == "debug" ? "true" : "false" + POWERTOOLS_METRICS_NAMESPACE = var.metrics.namespace POWERTOOLS_TRACE_ENABLED = var.tracing_config.mode != null ? true : false POWERTOOLS_TRACER_CAPTURE_HTTPS_REQUESTS = var.tracing_config.capture_http_requests POWERTOOLS_TRACER_CAPTURE_ERROR = var.tracing_config.capture_error diff --git a/modules/runners/variables.tf b/modules/runners/variables.tf index 3fe2fa40b6..1c84bf9c02 100644 --- a/modules/runners/variables.tf +++ b/modules/runners/variables.tf @@ -670,11 +670,16 @@ variable "lambda_tags" { default = {} } -variable "metrics_config" { - description = "Configuraiton to enable metrics creation by the lambdas." +variable "metrics" { + description = "Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise." type = object({ enable = optional(bool, false) - namespace = optional(string, null) + namespace = optional(string, "GitHub Runners") + metric = optional(object({ + enable_github_app_rate_limit = optional(bool, true) + enable_job_retry = optional(bool, true) + enable_spot_termination_warning = optional(bool, true) + }), {}) }) default = {} } diff --git a/modules/termination-watcher/README.md b/modules/termination-watcher/README.md index fc6326b003..1735b11ccf 100644 --- a/modules/termination-watcher/README.md +++ b/modules/termination-watcher/README.md @@ -88,7 +88,7 @@ yarn run dist | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics_namespace`: Namespace for the metrics emitted by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_metric = optional(object({
    spot_warning = optional(bool, false)
    }))
    environment_variables = optional(map(string), {})
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics_namespace = optional(string, null)
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    tag_filters = optional(map(string), null)
    tags = optional(map(string), {})
    timeout = optional(number, null)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | +| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_metric = optional(string, null)
    environment_variables = optional(map(string), {})
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    tag_filters = optional(map(string), null)
    tags = optional(map(string), {})
    timeout = optional(number, null)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | ## Outputs diff --git a/modules/termination-watcher/main.tf b/modules/termination-watcher/main.tf index 48e03fd6e3..acf41f83be 100644 --- a/modules/termination-watcher/main.tf +++ b/modules/termination-watcher/main.tf @@ -3,11 +3,17 @@ locals { name = "spot-termination-watcher" environment_variables = { - ENABLE_METRICS_SPOT_WARNING = var.config.enable_metric != null ? var.config.enable_metric.spot_warning : false + ENABLE_METRICS_SPOT_WARNING = var.config.metrics != null ? var.config.metrics.enable && var.config.metrics.metric.enable_spot_termination_warning : false TAG_FILTERS = jsonencode(var.config.tag_filters) } - config = merge(var.config, { name = local.name, handler = "index.interruptionWarning", zip = local.lambda_zip, environment_variables = local.environment_variables }) + config = merge(var.config, { + name = local.name, + handler = "index.interruptionWarning", + zip = local.lambda_zip, + environment_variables = local.environment_variables + metrics_namespace = var.config.metrics.namespace + }) } module "termination_warning_watcher" { diff --git a/modules/termination-watcher/variables.tf b/modules/termination-watcher/variables.tf index e343dc3445..968a35908f 100644 --- a/modules/termination-watcher/variables.tf +++ b/modules/termination-watcher/variables.tf @@ -5,14 +5,12 @@ variable "config" { `aws_partition`: Partition for the base arn if not 'aws' `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86_64' functions. `environment_variables`: Environment variables for the lambda. - `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning. `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing. `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment. `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'. `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. `memory_size`: Memory size linit in MB of the lambda. - `metrics_namespace`: Namespace for the metrics emitted by the lambda. `prefix`: The prefix used for naming resources. `role_path`: The path that will be added to the role, if not set the environment name will be used. `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda. @@ -29,19 +27,23 @@ variable "config" { `zip`: File location of the lambda zip file. EOF type = object({ - aws_partition = optional(string, null) - architecture = optional(string, null) - enable_metric = optional(object({ - spot_warning = optional(bool, false) - })) + aws_partition = optional(string, null) + architecture = optional(string, null) + enable_metric = optional(string, null) environment_variables = optional(map(string), {}) lambda_tags = optional(map(string), {}) log_level = optional(string, null) logging_kms_key_id = optional(string, null) logging_retention_in_days = optional(number, null) memory_size = optional(number, null) - metrics_namespace = optional(string, null) - prefix = optional(string, null) + metrics = optional(object({ + enable = optional(bool, false) + namespace = optional(string, "GitHub Runners") + metric = optional(object({ + enable_spot_termination_warning = optional(bool, true) + }), {}) + }), {}) + prefix = optional(string, null) principals = optional(list(object({ type = string identifiers = list(string) @@ -64,4 +66,9 @@ variable "config" { }), {}) zip = optional(string, null) }) + + validation { + condition = var.config.enable_metric == null + error_message = "enable_metric is deprecated, use metrics.enable instead." + } } diff --git a/variables.deprecated.tf b/variables.deprecated.tf index 9e4af44a81..c26c614510 100644 --- a/variables.deprecated.tf +++ b/variables.deprecated.tf @@ -27,4 +27,29 @@ variable "runners_scale_up_Lambda_memory_size" { description = "Memory size limit in MB for scale-up lambda." type = number default = null -} \ No newline at end of file +} + +# tflint-ignore: terraform_unused_declarations +variable "enable_metrics_control_plane" { + description = "(Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release." + type = bool + default = null + + # depcreated + validation { + condition = var.enable_metrics_control_plane == null + error_message = "The variable `enable_metrics_control_plane` is deprecated, use `metrics.enabled` instead." + } +} + +# tflint-ignore: terraform_unused_declarations +variable "metrics_namespace" { + description = "The namespace for the metrics created by the module. Merics will only be created if explicit enabled." + type = string + default = null + + validation { + condition = var.metrics_namespace == null + error_message = "The variable `metrics_namespace` is deprecated, use `metrics.namespace` instead." + } +} diff --git a/variables.tf b/variables.tf index 7491296a3a..68b64fd8a7 100644 --- a/variables.tf +++ b/variables.tf @@ -862,10 +862,18 @@ variable "runners_ssm_housekeeper" { default = { config = {} } } -variable "metrics_namespace" { - description = "The namespace for the metrics created by the module. Merics will only be created if explicit enabled." - type = string - default = "GitHub Runners" +variable "metrics" { + description = "Configuration for metrics created by the module, by default disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise." + type = object({ + enable = optional(bool, false) + namespace = optional(string, "GitHub Runners") + metric = optional(object({ + enable_github_app_rate_limit = optional(bool, true) + enable_job_retry = optional(bool, true) + enable_spot_termination_warning = optional(bool, true) + }), {}) + }) + default = {} } variable "instance_termination_watcher" { @@ -873,7 +881,6 @@ variable "instance_termination_watcher" { Configuration for the instance termination watcher. This feature is Beta, changes will not trigger a major release as long in beta. `enable`: Enable or disable the spot termination watcher. - `enable_metrics`: Enable or disable the metrics for the spot termination watcher. `memory_size`: Memory size linit in MB of the lambda. `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. @@ -882,10 +889,8 @@ variable "instance_termination_watcher" { EOF type = object({ - enable = optional(bool, false) - enable_metric = optional(object({ - spot_warning = optional(bool, false) - })) + enable = optional(bool, false) + enable_metric = optional(string, null) # deprectaed memory_size = optional(number, null) s3_key = optional(string, null) s3_object_version = optional(string, null) @@ -893,6 +898,11 @@ variable "instance_termination_watcher" { zip = optional(string, null) }) default = {} + + validation { + condition = var.instance_termination_watcher.enable_metric == null + error_message = "The variable `instance_termination_watcher.enable_metric` is deprecated, use `metrics` instead." + } } variable "runners_ebs_optimized" { @@ -907,12 +917,6 @@ variable "lambda_tags" { default = {} } -variable "enable_metrics_control_plane" { - description = "(Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release." - type = bool - default = false -} - variable "job_retry" { description = <<-EOF Experimental! Can be removed / changed without trigger a major release.Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app. From c6670bd11a2c2f901ab883694026c57aed88b4e7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 09:23:04 +0200 Subject: [PATCH 53/90] chore(lambda): bump ts-jest from 29.2.4 to 29.2.5 in /lambdas (#4090) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.2.4 to 29.2.5.
    Release notes

    Sourced from ts-jest's releases.

    v29.2.5

    Please refer to CHANGELOG.md for details.

    Changelog

    Sourced from ts-jest's changelog.

    29.2.5 (2024-08-23)

    Bug Fixes

    • build: build package with NodeNext module (9b3ade5)
    • fix: set value ts/tsx extensionsToTreatAsEsm in default esm preset (d9ff362)
    • fix(compiler): fallback to NodeJS module resolution for ts 4.8 (b7d3409), closes #4499
    Commits
    • 500a863 chore(release): 29.2.5
    • dce986e build(deps): Update dependency @​babel/preset-env to ^7.25.4
    • 48a28a6 build(deps): Update dependency vite to ^5.4.2
    • d9ff362 fix: set value ts/tsx extensionsToTreatAsEsm in default esm preset
    • 00550ef test: add e2e test case for ESM features
    • 978169b build(deps): Update dependency @​types/node to v20.16.1
    • e9a643c build(deps): Update dependency @​types/node to v20.16.0
    • 535edab build(deps): Update dependency @​types/node to v20.15.0
    • 011a9d8 build(deps): Update dependency vite to ^5.4.1
    • 4eb8ccd build: update renovate bot
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ts-jest&package-manager=npm_and_yarn&previous-version=29.2.4&new-version=29.2.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 51 +++++++++++-------- 8 files changed, 37 insertions(+), 28 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 7310eaaee0..b4d07de706 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -32,7 +32,7 @@ "jest-mock-extended": "^3.0.7", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 26dab45fd4..bf394f43c1 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -33,7 +33,7 @@ "moment-timezone": "^0.5.45", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index f3b415453c..84b320a84e 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -31,7 +31,7 @@ "jest": "^29.7.0", "jest-mock": "^29.7.0", "prettier": "3.3.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index fc52b03b97..e5b8deb5b6 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -30,7 +30,7 @@ "jest-mock-extended": "^3.0.7", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-node": "^10.9.2", "ts-node-dev": "^2.0.0" }, diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 6680340fe1..6d63ff5520 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -32,7 +32,7 @@ "jest-mock": "^29.7.0", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 42f7e94728..71c8c45c87 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -30,7 +30,7 @@ "jest-mock": "^29.7.0", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 0d3f09d1c3..95a176cacd 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -30,7 +30,7 @@ "jest-mock": "^29.7.0", "nock": "^13.5.4", "prettier": "3.3.3", - "ts-jest": "^29.2.4", + "ts-jest": "^29.2.5", "ts-node-dev": "^2.0.0", "typescript": "^5.5.4" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index df2b5be7e9..c1bb408363 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4774,7 +4774,7 @@ __metadata: jest-mock-extended: "npm:^3.0.7" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" ts-node: "npm:^10.9.2" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" @@ -4805,7 +4805,7 @@ __metadata: jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -4834,7 +4834,7 @@ __metadata: jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -4874,7 +4874,7 @@ __metadata: moment-timezone: "npm:^0.5.45" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" ts-node: "npm:^10.9.2" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" @@ -4907,7 +4907,7 @@ __metadata: jest: "npm:^29.7.0" jest-mock: "npm:^29.7.0" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -4937,7 +4937,7 @@ __metadata: jest-mock-extended: "npm:^3.0.7" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" ts-node: "npm:^10.9.2" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" @@ -4972,7 +4972,7 @@ __metadata: jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.4" + ts-jest: "npm:^29.2.5" ts-node-dev: "npm:^2.0.0" typescript: "npm:^5.5.4" languageName: unknown @@ -6050,7 +6050,7 @@ __metadata: languageName: node linkType: hard -"bs-logger@npm:0.x": +"bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" dependencies: @@ -8830,7 +8830,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x": +"lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 @@ -8900,7 +8900,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x, make-error@npm:^1.1.1": +"make-error@npm:^1.1.1, make-error@npm:^1.3.6": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f @@ -10266,6 +10266,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -10789,19 +10798,19 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.2.4": - version: 29.2.4 - resolution: "ts-jest@npm:29.2.4" +"ts-jest@npm:^29.2.5": + version: 29.2.5 + resolution: "ts-jest@npm:29.2.5" dependencies: - bs-logger: "npm:0.x" + bs-logger: "npm:^0.2.6" ejs: "npm:^3.1.10" - fast-json-stable-stringify: "npm:2.x" + fast-json-stable-stringify: "npm:^2.1.0" jest-util: "npm:^29.0.0" json5: "npm:^2.2.3" - lodash.memoize: "npm:4.x" - make-error: "npm:1.x" - semver: "npm:^7.5.3" - yargs-parser: "npm:^21.0.1" + lodash.memoize: "npm:^4.1.2" + make-error: "npm:^1.3.6" + semver: "npm:^7.6.3" + yargs-parser: "npm:^21.1.1" peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" "@jest/transform": ^29.0.0 @@ -10822,7 +10831,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 10c0/43be1d5625d44bc48815d91810e796d74682757b4f64677b54aae1f4da855476e50c01b92d54add4b02976ecf2cbb2f318d7c7788844328de44f145b95185fac + checksum: 10c0/acb62d168faec073e64b20873b583974ba8acecdb94681164eb346cef82ade8fb481c5b979363e01a97ce4dd1e793baf64d9efd90720bc941ad7fc1c3d6f3f68 languageName: node linkType: hard @@ -11400,7 +11409,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 From 7d76eec37a0534cdf770e73e171e575026df8a26 Mon Sep 17 00:00:00 2001 From: Niek Palm Date: Wed, 28 Aug 2024 10:05:22 +0200 Subject: [PATCH 54/90] chore: replace npm private package scope by an org we own (#4103) ## Description This change replaces the scope of the scope by an [org](https://www.npmjs.com/org/aws-github-runner) we own. Although packages are proper locked by scope and workspace this is only to make absolute sure we own the namespace. --- .../functions/ami-housekeeper/package.json | 6 +- lambdas/functions/ami-housekeeper/src/ami.ts | 4 +- .../ami-housekeeper/src/lambda.test.ts | 4 +- .../functions/ami-housekeeper/src/lambda.ts | 2 +- .../functions/ami-housekeeper/src/local.ts | 2 +- lambdas/functions/control-plane/package.json | 6 +- .../control-plane/src/aws/runners.test.ts | 2 +- .../control-plane/src/aws/runners.ts | 6 +- .../control-plane/src/aws/sqs.test.ts | 2 +- .../functions/control-plane/src/aws/sqs.ts | 2 +- .../control-plane/src/github/auth.test.ts | 4 +- .../control-plane/src/github/auth.ts | 4 +- .../src/github/rate-limit.test.ts | 10 +- .../control-plane/src/github/rate-limit.ts | 4 +- .../control-plane/src/lambda.test.ts | 6 +- lambdas/functions/control-plane/src/lambda.ts | 4 +- lambdas/functions/control-plane/src/local.ts | 2 +- .../functions/control-plane/src/pool/pool.ts | 2 +- .../src/scale-runners/job-retry.test.ts | 6 +- .../src/scale-runners/job-retry.ts | 6 +- .../src/scale-runners/scale-down-config.ts | 2 +- .../src/scale-runners/scale-down.ts | 2 +- .../src/scale-runners/scale-up.test.ts | 6 +- .../src/scale-runners/scale-up.ts | 4 +- .../src/scale-runners/ssm-housekeeper.ts | 4 +- .../functions/gh-agent-syncer/package.json | 4 +- .../functions/gh-agent-syncer/src/lambda.ts | 4 +- .../functions/gh-agent-syncer/src/local.ts | 2 +- .../gh-agent-syncer/src/syncer/syncer.ts | 4 +- .../termination-watcher/package.json | 4 +- .../termination-watcher/src/ConfigResolver.ts | 2 +- .../termination-watcher/src/lambda.test.ts | 2 +- .../termination-watcher/src/lambda.ts | 8 +- .../src/termination-warning.test.ts | 6 +- .../src/termination-warning.ts | 6 +- lambdas/functions/webhook/package.json | 6 +- .../functions/webhook/src/ConfigResolver.ts | 4 +- lambdas/functions/webhook/src/lambda.test.ts | 6 +- lambdas/functions/webhook/src/lambda.ts | 2 +- .../functions/webhook/src/sqs/index.test.ts | 4 +- lambdas/functions/webhook/src/sqs/index.ts | 2 +- .../webhook/src/webhook/index.test.ts | 4 +- .../functions/webhook/src/webhook/index.ts | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 6 +- lambdas/libs/aws-ssm-util/src/index.ts | 2 +- lambdas/yarn.lock | 460 +++++++++--------- 47 files changed, 315 insertions(+), 329 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index b4d07de706..1a1a524630 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -1,5 +1,5 @@ { - "name": "@terraform-aws-github-runner/ami-housekeeper", + "name": "@aws-github-runner/ami-housekeeper", "version": "1.0.0", "main": "lambda.ts", "license": "MIT", @@ -37,11 +37,11 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { + "@aws-github-runner/aws-powertools-util": "*", + "@aws-github-runner/aws-ssm-util": "*", "@aws-sdk/client-ec2": "^3.637.0", "@aws-sdk/client-ssm": "^3.637.0", "@aws-sdk/types": "^3.609.0", - "@terraform-aws-github-runner/aws-powertools-util": "*", - "@terraform-aws-github-runner/aws-ssm-util": "*", "cron-parser": "^4.9.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/ami-housekeeper/src/ami.ts b/lambdas/functions/ami-housekeeper/src/ami.ts index 1298ff0f6f..c5f207b841 100644 --- a/lambdas/functions/ami-housekeeper/src/ami.ts +++ b/lambdas/functions/ami-housekeeper/src/ami.ts @@ -9,8 +9,8 @@ import { Image, } from '@aws-sdk/client-ec2'; import { DescribeParametersCommand, GetParameterCommand, SSMClient } from '@aws-sdk/client-ssm'; -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; -import { getTracedAWSV3Client } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; +import { getTracedAWSV3Client } from '@aws-github-runner/aws-powertools-util'; const logger = createChildLogger('ami'); diff --git a/lambdas/functions/ami-housekeeper/src/lambda.test.ts b/lambdas/functions/ami-housekeeper/src/lambda.test.ts index 918266ae7c..1cb28afeb9 100644 --- a/lambdas/functions/ami-housekeeper/src/lambda.test.ts +++ b/lambdas/functions/ami-housekeeper/src/lambda.test.ts @@ -1,4 +1,4 @@ -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; import { Context } from 'aws-lambda'; import { mocked } from 'jest-mock'; @@ -6,7 +6,7 @@ import { AmiCleanupOptions, amiCleanup } from './ami'; import { handler } from './lambda'; jest.mock('./ami'); -jest.mock('@terraform-aws-github-runner/aws-powertools-util'); +jest.mock('@aws-github-runner/aws-powertools-util'); const amiCleanupOptions: AmiCleanupOptions = { minimumDaysOld: undefined, diff --git a/lambdas/functions/ami-housekeeper/src/lambda.ts b/lambdas/functions/ami-housekeeper/src/lambda.ts index 71aa0ecb29..4e09eabaa9 100644 --- a/lambdas/functions/ami-housekeeper/src/lambda.ts +++ b/lambdas/functions/ami-housekeeper/src/lambda.ts @@ -1,4 +1,4 @@ -import { logger, setContext } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger, setContext } from '@aws-github-runner/aws-powertools-util'; import { Context } from 'aws-lambda'; import 'source-map-support/register'; diff --git a/lambdas/functions/ami-housekeeper/src/local.ts b/lambdas/functions/ami-housekeeper/src/local.ts index c0391e62da..4590488fb2 100644 --- a/lambdas/functions/ami-housekeeper/src/local.ts +++ b/lambdas/functions/ami-housekeeper/src/local.ts @@ -1,4 +1,4 @@ -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; import { amiCleanup } from './ami'; diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index bf394f43c1..7e174b5951 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -1,5 +1,5 @@ { - "name": "@terraform-aws-github-runner/control-plane", + "name": "@aws-github-runner/control-plane", "version": "1.0.0", "main": "lambda.ts", "license": "MIT", @@ -38,6 +38,8 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { + "@aws-github-runner/aws-powertools-util": "*", + "@aws-github-runner/aws-ssm-util": "*", "@aws-lambda-powertools/parameters": "^2.7.0", "@aws-sdk/client-ec2": "^3.637.0", "@aws-sdk/client-sqs": "^3.637.0", @@ -48,8 +50,6 @@ "@octokit/plugin-throttling": "8.2.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", - "@terraform-aws-github-runner/aws-powertools-util": "*", - "@terraform-aws-github-runner/aws-ssm-util": "*", "cron-parser": "^4.9.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/control-plane/src/aws/runners.test.ts b/lambdas/functions/control-plane/src/aws/runners.test.ts index 09a0e8b710..ceb1b0d09a 100644 --- a/lambdas/functions/control-plane/src/aws/runners.test.ts +++ b/lambdas/functions/control-plane/src/aws/runners.test.ts @@ -12,7 +12,7 @@ import { TerminateInstancesCommand, } from '@aws-sdk/client-ec2'; import { GetParameterCommand, GetParameterResult, PutParameterCommand, SSMClient } from '@aws-sdk/client-ssm'; -import { tracer } from '@terraform-aws-github-runner/aws-powertools-util'; +import { tracer } from '@aws-github-runner/aws-powertools-util'; import { mockClient } from 'aws-sdk-client-mock'; import 'aws-sdk-client-mock-jest'; diff --git a/lambdas/functions/control-plane/src/aws/runners.ts b/lambdas/functions/control-plane/src/aws/runners.ts index 346013b0d1..dfe4d99fcf 100644 --- a/lambdas/functions/control-plane/src/aws/runners.ts +++ b/lambdas/functions/control-plane/src/aws/runners.ts @@ -10,9 +10,9 @@ import { TerminateInstancesCommand, _InstanceType, } from '@aws-sdk/client-ec2'; -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; -import { getTracedAWSV3Client, tracer } from '@terraform-aws-github-runner/aws-powertools-util'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; +import { getTracedAWSV3Client, tracer } from '@aws-github-runner/aws-powertools-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; import moment from 'moment'; import ScaleError from './../scale-runners/ScaleError'; diff --git a/lambdas/functions/control-plane/src/aws/sqs.test.ts b/lambdas/functions/control-plane/src/aws/sqs.test.ts index e4ca545042..693d6c1321 100644 --- a/lambdas/functions/control-plane/src/aws/sqs.test.ts +++ b/lambdas/functions/control-plane/src/aws/sqs.test.ts @@ -2,7 +2,7 @@ import { SendMessageCommand, SQSClient } from '@aws-sdk/client-sqs'; import { mockClient } from 'aws-sdk-client-mock'; import 'aws-sdk-client-mock-jest'; import { publishMessage } from './sqs'; -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; const mockSQSClient = mockClient(SQSClient); diff --git a/lambdas/functions/control-plane/src/aws/sqs.ts b/lambdas/functions/control-plane/src/aws/sqs.ts index 79a1039f10..3ff51d7ca1 100644 --- a/lambdas/functions/control-plane/src/aws/sqs.ts +++ b/lambdas/functions/control-plane/src/aws/sqs.ts @@ -1,5 +1,5 @@ import { SQSClient, SendMessageCommand, SendMessageCommandOutput } from '@aws-sdk/client-sqs'; -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; const sqs = new SQSClient({}); diff --git a/lambdas/functions/control-plane/src/github/auth.test.ts b/lambdas/functions/control-plane/src/github/auth.test.ts index f511d08958..1b73e9c730 100644 --- a/lambdas/functions/control-plane/src/github/auth.test.ts +++ b/lambdas/functions/control-plane/src/github/auth.test.ts @@ -2,14 +2,14 @@ import { createAppAuth } from '@octokit/auth-app'; import { StrategyOptions } from '@octokit/auth-app/dist-types/types'; import { request } from '@octokit/request'; import { RequestInterface } from '@octokit/types'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; import { mocked } from 'jest-mock'; import { MockProxy, mock } from 'jest-mock-extended'; import nock from 'nock'; import { createGithubAppAuth, createOctokitClient } from './auth'; -jest.mock('@terraform-aws-github-runner/aws-ssm-util'); +jest.mock('@aws-github-runner/aws-ssm-util'); jest.mock('@octokit/auth-app'); const cleanEnv = process.env; diff --git a/lambdas/functions/control-plane/src/github/auth.ts b/lambdas/functions/control-plane/src/github/auth.ts index 25e2773031..5f8de629aa 100644 --- a/lambdas/functions/control-plane/src/github/auth.ts +++ b/lambdas/functions/control-plane/src/github/auth.ts @@ -11,8 +11,8 @@ import { OctokitOptions } from '@octokit/core/dist-types/types'; import { request } from '@octokit/request'; import { Octokit } from '@octokit/rest'; import { throttling } from '@octokit/plugin-throttling'; -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; import { EndpointDefaults } from '@octokit/types'; const logger = createChildLogger('gh-auth'); diff --git a/lambdas/functions/control-plane/src/github/rate-limit.test.ts b/lambdas/functions/control-plane/src/github/rate-limit.test.ts index cf23eb83b5..adcb918fc8 100644 --- a/lambdas/functions/control-plane/src/github/rate-limit.test.ts +++ b/lambdas/functions/control-plane/src/github/rate-limit.test.ts @@ -1,11 +1,11 @@ import { ResponseHeaders } from '@octokit/types'; -import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createSingleMetric } from '@aws-github-runner/aws-powertools-util'; import { MetricUnit } from '@aws-lambda-powertools/metrics'; import { metricGitHubAppRateLimit } from './rate-limit'; process.env.PARAMETER_GITHUB_APP_ID_NAME = 'test'; -jest.mock('@terraform-aws-github-runner/aws-ssm-util', () => ({ - ...jest.requireActual('@terraform-aws-github-runner/aws-ssm-util'), +jest.mock('@aws-github-runner/aws-ssm-util', () => ({ + ...jest.requireActual('@aws-github-runner/aws-ssm-util'), // get parameter name from process.env.PARAMETER_GITHUB_APP_ID_NAME rerunt 1234 getParameter: jest.fn((name: string) => { if (name === process.env.PARAMETER_GITHUB_APP_ID_NAME) { @@ -16,8 +16,8 @@ jest.mock('@terraform-aws-github-runner/aws-ssm-util', () => ({ }), })); -jest.mock('@terraform-aws-github-runner/aws-powertools-util', () => ({ - ...jest.requireActual('@terraform-aws-github-runner/aws-powertools-util'), +jest.mock('@aws-github-runner/aws-powertools-util', () => ({ + ...jest.requireActual('@aws-github-runner/aws-powertools-util'), // eslint-disable-next-line @typescript-eslint/no-unused-vars createSingleMetric: jest.fn((name: string, unit: string, value: number, dimensions?: Record) => { return { diff --git a/lambdas/functions/control-plane/src/github/rate-limit.ts b/lambdas/functions/control-plane/src/github/rate-limit.ts index aab8aa51d2..6d2fd5fbe7 100644 --- a/lambdas/functions/control-plane/src/github/rate-limit.ts +++ b/lambdas/functions/control-plane/src/github/rate-limit.ts @@ -1,8 +1,8 @@ import { ResponseHeaders } from '@octokit/types'; -import { createSingleMetric, logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createSingleMetric, logger } from '@aws-github-runner/aws-powertools-util'; import { MetricUnit } from '@aws-lambda-powertools/metrics'; import yn from 'yn'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; export async function metricGitHubAppRateLimit(headers: ResponseHeaders): Promise { try { diff --git a/lambdas/functions/control-plane/src/lambda.test.ts b/lambdas/functions/control-plane/src/lambda.test.ts index dbb5acd964..0ab5b2e184 100644 --- a/lambdas/functions/control-plane/src/lambda.test.ts +++ b/lambdas/functions/control-plane/src/lambda.test.ts @@ -1,4 +1,4 @@ -import { captureLambdaHandler, logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { captureLambdaHandler, logger } from '@aws-github-runner/aws-powertools-util'; import { Context, SQSEvent, SQSRecord } from 'aws-lambda'; import { mocked } from 'jest-mock'; @@ -66,8 +66,8 @@ jest.mock('./scale-runners/scale-down'); jest.mock('./scale-runners/scale-up'); jest.mock('./scale-runners/ssm-housekeeper'); jest.mock('./scale-runners/job-retry'); -jest.mock('@terraform-aws-github-runner/aws-powertools-util'); -jest.mock('@terraform-aws-github-runner/aws-ssm-util'); +jest.mock('@aws-github-runner/aws-powertools-util'); +jest.mock('@aws-github-runner/aws-ssm-util'); // Docs for testing async with jest: https://jestjs.io/docs/tutorial-async describe('Test scale up lambda wrapper.', () => { diff --git a/lambdas/functions/control-plane/src/lambda.ts b/lambdas/functions/control-plane/src/lambda.ts index 7ad82bbaf5..2c31d877a7 100644 --- a/lambdas/functions/control-plane/src/lambda.ts +++ b/lambdas/functions/control-plane/src/lambda.ts @@ -1,6 +1,6 @@ import middy from '@middy/core'; -import { logger, setContext } from '@terraform-aws-github-runner/aws-powertools-util'; -import { captureLambdaHandler, tracer } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger, setContext } from '@aws-github-runner/aws-powertools-util'; +import { captureLambdaHandler, tracer } from '@aws-github-runner/aws-powertools-util'; import { Context, SQSEvent } from 'aws-lambda'; import { PoolEvent, adjust } from './pool/pool'; diff --git a/lambdas/functions/control-plane/src/local.ts b/lambdas/functions/control-plane/src/local.ts index ac744219c1..a26ec37a04 100644 --- a/lambdas/functions/control-plane/src/local.ts +++ b/lambdas/functions/control-plane/src/local.ts @@ -1,4 +1,4 @@ -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; import { ActionRequestMessage, scaleUp } from './scale-runners/scale-up'; diff --git a/lambdas/functions/control-plane/src/pool/pool.ts b/lambdas/functions/control-plane/src/pool/pool.ts index 93fbfbb4db..93f9d02257 100644 --- a/lambdas/functions/control-plane/src/pool/pool.ts +++ b/lambdas/functions/control-plane/src/pool/pool.ts @@ -1,5 +1,5 @@ import { Octokit } from '@octokit/rest'; -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; import yn from 'yn'; import { bootTimeExceeded, listEC2Runners } from '../aws/runners'; diff --git a/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts b/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts index ab6d9ef052..341569639c 100644 --- a/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/job-retry.test.ts @@ -4,12 +4,12 @@ import { ActionRequestMessage, ActionRequestMessageRetry } from './scale-up'; import { getOctokit } from '../github/octokit'; import { Octokit } from '@octokit/rest'; import { mocked } from 'jest-mock'; -import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createSingleMetric } from '@aws-github-runner/aws-powertools-util'; jest.mock('../aws/sqs'); -jest.mock('@terraform-aws-github-runner/aws-powertools-util', () => ({ - ...jest.requireActual('@terraform-aws-github-runner/aws-powertools-util'), +jest.mock('@aws-github-runner/aws-powertools-util', () => ({ + ...jest.requireActual('@aws-github-runner/aws-powertools-util'), // eslint-disable-next-line @typescript-eslint/no-unused-vars createSingleMetric: jest.fn((name: string, unit: string, value: number, dimensions?: Record) => { return { diff --git a/lambdas/functions/control-plane/src/scale-runners/job-retry.ts b/lambdas/functions/control-plane/src/scale-runners/job-retry.ts index 7ccf9c29bb..61b296414e 100644 --- a/lambdas/functions/control-plane/src/scale-runners/job-retry.ts +++ b/lambdas/functions/control-plane/src/scale-runners/job-retry.ts @@ -1,8 +1,4 @@ -import { - addPersistentContextToChildLogger, - createSingleMetric, - logger, -} from '@terraform-aws-github-runner/aws-powertools-util'; +import { addPersistentContextToChildLogger, createSingleMetric, logger } from '@aws-github-runner/aws-powertools-util'; import { publishMessage } from '../aws/sqs'; import { ActionRequestMessage, ActionRequestMessageRetry, getGitHubEnterpriseApiUrl, isJobQueued } from './scale-up'; import { getOctokit } from '../github/octokit'; diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down-config.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down-config.ts index 506cee81e0..a561df850b 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down-config.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down-config.ts @@ -1,4 +1,4 @@ -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; import parser from 'cron-parser'; import moment from 'moment'; diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts index 1688226f84..be7183f929 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-down.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-down.ts @@ -1,5 +1,5 @@ import { Octokit } from '@octokit/rest'; -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; import moment from 'moment'; import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../github/auth'; diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts index 83cc20faff..538b3c2aa1 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.test.ts @@ -11,7 +11,7 @@ import { createRunner, listEC2Runners } from './../aws/runners'; import { RunnerInputParameters } from './../aws/runners.d'; import ScaleError from './ScaleError'; import * as scaleUpModule from './scale-up'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; const mockOctokit = { paginate: jest.fn(), @@ -40,8 +40,8 @@ jest.mock('@octokit/rest', () => ({ jest.mock('./../aws/runners'); jest.mock('./../github/auth'); -jest.mock('@terraform-aws-github-runner/aws-ssm-util', () => ({ - ...jest.requireActual('@terraform-aws-github-runner/aws-ssm-util'), +jest.mock('@aws-github-runner/aws-ssm-util', () => ({ + ...jest.requireActual('@aws-github-runner/aws-ssm-util'), getParameter: jest.fn(), })); diff --git a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts index ab91b64cf5..c21aa4c2f1 100644 --- a/lambdas/functions/control-plane/src/scale-runners/scale-up.ts +++ b/lambdas/functions/control-plane/src/scale-runners/scale-up.ts @@ -1,6 +1,6 @@ import { Octokit } from '@octokit/rest'; -import { addPersistentContextToChildLogger, createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; -import { getParameter, putParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { addPersistentContextToChildLogger, createChildLogger } from '@aws-github-runner/aws-powertools-util'; +import { getParameter, putParameter } from '@aws-github-runner/aws-ssm-util'; import yn from 'yn'; import { createGithubAppAuth, createGithubInstallationAuth, createOctokitClient } from '../github/auth'; diff --git a/lambdas/functions/control-plane/src/scale-runners/ssm-housekeeper.ts b/lambdas/functions/control-plane/src/scale-runners/ssm-housekeeper.ts index 78d015c921..857b974a9d 100644 --- a/lambdas/functions/control-plane/src/scale-runners/ssm-housekeeper.ts +++ b/lambdas/functions/control-plane/src/scale-runners/ssm-housekeeper.ts @@ -1,6 +1,6 @@ import { DeleteParameterCommand, GetParametersByPathCommand, SSMClient } from '@aws-sdk/client-ssm'; -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; -import { getTracedAWSV3Client } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; +import { getTracedAWSV3Client } from '@aws-github-runner/aws-powertools-util'; export interface SSMCleanupOptions { dryRun: boolean; diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 84b320a84e..df91e60605 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -1,5 +1,5 @@ { - "name": "@terraform-aws-github-runner/gh-agent-syncer", + "name": "@aws-github-runner/gh-agent-syncer", "version": "1.0.0", "main": "lambda.ts", "license": "MIT", @@ -36,12 +36,12 @@ "typescript": "^5.5.4" }, "dependencies": { + "@aws-github-runner/aws-powertools-util": "*", "@aws-sdk/client-s3": "^3.637.0", "@aws-sdk/lib-storage": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", - "@terraform-aws-github-runner/aws-powertools-util": "*", "axios": "^1.7.5" }, "nx": { diff --git a/lambdas/functions/gh-agent-syncer/src/lambda.ts b/lambdas/functions/gh-agent-syncer/src/lambda.ts index 7925d279c0..5aa0aad9cd 100644 --- a/lambdas/functions/gh-agent-syncer/src/lambda.ts +++ b/lambdas/functions/gh-agent-syncer/src/lambda.ts @@ -1,6 +1,6 @@ import middy from '@middy/core'; -import { logger, setContext } from '@terraform-aws-github-runner/aws-powertools-util'; -import { captureLambdaHandler, tracer } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger, setContext } from '@aws-github-runner/aws-powertools-util'; +import { captureLambdaHandler, tracer } from '@aws-github-runner/aws-powertools-util'; import { Context } from 'aws-lambda'; import { sync } from './syncer/syncer'; diff --git a/lambdas/functions/gh-agent-syncer/src/local.ts b/lambdas/functions/gh-agent-syncer/src/local.ts index 85b86194a6..e20ed64e2c 100644 --- a/lambdas/functions/gh-agent-syncer/src/local.ts +++ b/lambdas/functions/gh-agent-syncer/src/local.ts @@ -1,4 +1,4 @@ -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; import { sync } from './syncer/syncer'; diff --git a/lambdas/functions/gh-agent-syncer/src/syncer/syncer.ts b/lambdas/functions/gh-agent-syncer/src/syncer/syncer.ts index d25b1c97e0..496cc4140e 100644 --- a/lambdas/functions/gh-agent-syncer/src/syncer/syncer.ts +++ b/lambdas/functions/gh-agent-syncer/src/syncer/syncer.ts @@ -1,8 +1,8 @@ import { GetObjectTaggingCommand, S3Client, ServerSideEncryption, Tag } from '@aws-sdk/client-s3'; import { Upload } from '@aws-sdk/lib-storage'; import { Octokit } from '@octokit/rest'; -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; -import { getTracedAWSV3Client } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; +import { getTracedAWSV3Client } from '@aws-github-runner/aws-powertools-util'; import axios from 'axios'; import { Stream } from 'stream'; diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index e5b8deb5b6..e3d4ef8da9 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -1,5 +1,5 @@ { - "name": "@terraform-aws-github-runner/termination-watcher", + "name": "@aws-github-runner/termination-watcher", "version": "1.0.0", "main": "lambda.ts", "license": "MIT", @@ -35,10 +35,10 @@ "ts-node-dev": "^2.0.0" }, "dependencies": { + "@aws-github-runner/aws-powertools-util": "*", "@aws-sdk/client-ec2": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", - "@terraform-aws-github-runner/aws-powertools-util": "*", "typescript": "^5.5.4" }, "nx": { diff --git a/lambdas/functions/termination-watcher/src/ConfigResolver.ts b/lambdas/functions/termination-watcher/src/ConfigResolver.ts index e72f1d512e..477eb613c9 100644 --- a/lambdas/functions/termination-watcher/src/ConfigResolver.ts +++ b/lambdas/functions/termination-watcher/src/ConfigResolver.ts @@ -1,4 +1,4 @@ -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; export class Config { createSpotWarningMetric: boolean; diff --git a/lambdas/functions/termination-watcher/src/lambda.test.ts b/lambdas/functions/termination-watcher/src/lambda.test.ts index 3137232caa..f1788b04bf 100644 --- a/lambdas/functions/termination-watcher/src/lambda.test.ts +++ b/lambdas/functions/termination-watcher/src/lambda.test.ts @@ -1,4 +1,4 @@ -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; import { Context } from 'aws-lambda'; import { mocked } from 'jest-mock'; diff --git a/lambdas/functions/termination-watcher/src/lambda.ts b/lambdas/functions/termination-watcher/src/lambda.ts index f805c2109a..a4f5696666 100644 --- a/lambdas/functions/termination-watcher/src/lambda.ts +++ b/lambdas/functions/termination-watcher/src/lambda.ts @@ -1,11 +1,5 @@ import middy from '@middy/core'; -import { - captureLambdaHandler, - logger, - metrics, - setContext, - tracer, -} from '@terraform-aws-github-runner/aws-powertools-util'; +import { captureLambdaHandler, logger, metrics, setContext, tracer } from '@aws-github-runner/aws-powertools-util'; import { logMetrics } from '@aws-lambda-powertools/metrics/middleware'; import { Context } from 'aws-lambda'; diff --git a/lambdas/functions/termination-watcher/src/termination-warning.test.ts b/lambdas/functions/termination-watcher/src/termination-warning.test.ts index 0404e13f53..2fa399c5a6 100644 --- a/lambdas/functions/termination-watcher/src/termination-warning.test.ts +++ b/lambdas/functions/termination-watcher/src/termination-warning.test.ts @@ -3,11 +3,11 @@ import { mockClient } from 'aws-sdk-client-mock'; import 'aws-sdk-client-mock-jest'; import { handle } from './termination-warning'; import { SpotInterruptionWarning, SpotTerminationDetail } from './types'; -import { createSingleMetric } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createSingleMetric } from '@aws-github-runner/aws-powertools-util'; import { MetricUnit } from '@aws-lambda-powertools/metrics'; -jest.mock('@terraform-aws-github-runner/aws-powertools-util', () => ({ - ...jest.requireActual('@terraform-aws-github-runner/aws-powertools-util'), +jest.mock('@aws-github-runner/aws-powertools-util', () => ({ + ...jest.requireActual('@aws-github-runner/aws-powertools-util'), // eslint-disable-next-line @typescript-eslint/no-unused-vars createSingleMetric: jest.fn((name: string, unit: string, value: number, dimensions?: Record) => { return { diff --git a/lambdas/functions/termination-watcher/src/termination-warning.ts b/lambdas/functions/termination-watcher/src/termination-warning.ts index 628e46439b..59706fef7b 100644 --- a/lambdas/functions/termination-watcher/src/termination-warning.ts +++ b/lambdas/functions/termination-watcher/src/termination-warning.ts @@ -1,8 +1,4 @@ -import { - createChildLogger, - createSingleMetric, - getTracedAWSV3Client, -} from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger, createSingleMetric, getTracedAWSV3Client } from '@aws-github-runner/aws-powertools-util'; import { SpotInterruptionWarning, SpotTerminationDetail } from './types'; import { DescribeInstancesCommand, EC2Client } from '@aws-sdk/client-ec2'; import { Config } from './ConfigResolver'; diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 6d63ff5520..87ade48bca 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -1,5 +1,5 @@ { - "name": "@terraform-aws-github-runner/webhook", + "name": "@aws-github-runner/webhook", "version": "1.0.0", "main": "lambda.ts", "license": "MIT", @@ -37,13 +37,13 @@ "typescript": "^5.5.4" }, "dependencies": { + "@aws-github-runner/aws-powertools-util": "*", + "@aws-github-runner/aws-ssm-util": "*", "@aws-sdk/client-sqs": "^3.637.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", "@octokit/webhooks": "^12.2.0", - "@terraform-aws-github-runner/aws-powertools-util": "*", - "@terraform-aws-github-runner/aws-ssm-util": "*", "aws-lambda": "^1.0.7" }, "nx": { diff --git a/lambdas/functions/webhook/src/ConfigResolver.ts b/lambdas/functions/webhook/src/ConfigResolver.ts index 9296bf0d90..91b8d0379f 100644 --- a/lambdas/functions/webhook/src/ConfigResolver.ts +++ b/lambdas/functions/webhook/src/ConfigResolver.ts @@ -1,6 +1,6 @@ -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; import { RunnerMatcherConfig } from './sqs'; -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; export class Config { repositoryAllowList: Array; diff --git a/lambdas/functions/webhook/src/lambda.test.ts b/lambdas/functions/webhook/src/lambda.test.ts index 6d1ed5da0f..cb6ec81113 100644 --- a/lambdas/functions/webhook/src/lambda.test.ts +++ b/lambdas/functions/webhook/src/lambda.test.ts @@ -1,11 +1,11 @@ -import { logger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger } from '@aws-github-runner/aws-powertools-util'; import { APIGatewayEvent, Context } from 'aws-lambda'; import { mocked } from 'jest-mock'; import { githubWebhook } from './lambda'; import { handle } from './webhook'; import ValidationError from './ValidatonError'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; const event: APIGatewayEvent = { body: JSON.stringify(''), @@ -74,7 +74,7 @@ const context: Context = { }; jest.mock('./webhook'); -jest.mock('@terraform-aws-github-runner/aws-ssm-util'); +jest.mock('@aws-github-runner/aws-ssm-util'); describe('Test scale up lambda wrapper.', () => { beforeEach(() => { diff --git a/lambdas/functions/webhook/src/lambda.ts b/lambdas/functions/webhook/src/lambda.ts index 4bc2e3c366..88a3a470d5 100644 --- a/lambdas/functions/webhook/src/lambda.ts +++ b/lambdas/functions/webhook/src/lambda.ts @@ -1,5 +1,5 @@ import middy from '@middy/core'; -import { logger, setContext, captureLambdaHandler, tracer } from '@terraform-aws-github-runner/aws-powertools-util'; +import { logger, setContext, captureLambdaHandler, tracer } from '@aws-github-runner/aws-powertools-util'; import { APIGatewayEvent, Context } from 'aws-lambda'; import { handle } from './webhook'; diff --git a/lambdas/functions/webhook/src/sqs/index.test.ts b/lambdas/functions/webhook/src/sqs/index.test.ts index 0187ac433d..79595033a4 100644 --- a/lambdas/functions/webhook/src/sqs/index.test.ts +++ b/lambdas/functions/webhook/src/sqs/index.test.ts @@ -3,7 +3,7 @@ import { SendMessageCommandInput } from '@aws-sdk/client-sqs'; import { ActionRequestMessage, GithubWorkflowEvent, sendActionRequest, sendWebhookEventToWorkflowJobQueue } from '.'; import workflowjob_event from '../../test/resources/github_workflowjob_event.json'; import { Config } from '../ConfigResolver'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; import { mocked } from 'jest-mock'; const mockSQS = { @@ -14,7 +14,7 @@ const mockSQS = { jest.mock('@aws-sdk/client-sqs', () => ({ SQS: jest.fn().mockImplementation(() => mockSQS), })); -jest.mock('@terraform-aws-github-runner/aws-ssm-util'); +jest.mock('@aws-github-runner/aws-ssm-util'); import { SQS } from '@aws-sdk/client-sqs'; diff --git a/lambdas/functions/webhook/src/sqs/index.ts b/lambdas/functions/webhook/src/sqs/index.ts index d746bb40ff..a61679215a 100644 --- a/lambdas/functions/webhook/src/sqs/index.ts +++ b/lambdas/functions/webhook/src/sqs/index.ts @@ -1,6 +1,6 @@ import { SQS, SendMessageCommandInput } from '@aws-sdk/client-sqs'; import { WorkflowJobEvent } from '@octokit/webhooks-types'; -import { createChildLogger, getTracedAWSV3Client } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger, getTracedAWSV3Client } from '@aws-github-runner/aws-powertools-util'; import { Config } from '../ConfigResolver'; const logger = createChildLogger('sqs'); diff --git a/lambdas/functions/webhook/src/webhook/index.test.ts b/lambdas/functions/webhook/src/webhook/index.test.ts index 85e73e3e9b..4688efc96e 100644 --- a/lambdas/functions/webhook/src/webhook/index.test.ts +++ b/lambdas/functions/webhook/src/webhook/index.test.ts @@ -1,5 +1,5 @@ import { Webhooks } from '@octokit/webhooks'; -import { getParameter } from '@terraform-aws-github-runner/aws-ssm-util'; +import { getParameter } from '@aws-github-runner/aws-ssm-util'; import { mocked } from 'jest-mock'; import nock from 'nock'; @@ -12,7 +12,7 @@ import { canRunJob, handle } from '.'; import { Config } from '../ConfigResolver'; jest.mock('../sqs'); -jest.mock('@terraform-aws-github-runner/aws-ssm-util'); +jest.mock('@aws-github-runner/aws-ssm-util'); const GITHUB_APP_WEBHOOK_SECRET = 'TEST_SECRET'; diff --git a/lambdas/functions/webhook/src/webhook/index.ts b/lambdas/functions/webhook/src/webhook/index.ts index f9406ab7b8..6091f35ca9 100644 --- a/lambdas/functions/webhook/src/webhook/index.ts +++ b/lambdas/functions/webhook/src/webhook/index.ts @@ -1,6 +1,6 @@ import { Webhooks } from '@octokit/webhooks'; import { CheckRunEvent, WorkflowJobEvent } from '@octokit/webhooks-types'; -import { createChildLogger } from '@terraform-aws-github-runner/aws-powertools-util'; +import { createChildLogger } from '@aws-github-runner/aws-powertools-util'; import { IncomingHttpHeaders } from 'http'; import { Response } from '../lambda'; diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 71c8c45c87..5faead152d 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -1,5 +1,5 @@ { - "name": "@terraform-aws-github-runner/aws-powertools-util", + "name": "@aws-github-runner/aws-powertools-util", "version": "1.0.0", "main": "src/index.ts", "license": "MIT", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 95a176cacd..d517bc8325 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -1,5 +1,5 @@ { - "name": "@terraform-aws-github-runner/aws-ssm-util", + "name": "@aws-github-runner/aws-ssm-util", "version": "1.0.0", "main": "src/index.ts", "license": "MIT", @@ -35,9 +35,9 @@ "typescript": "^5.5.4" }, "dependencies": { + "@aws-github-runner/aws-powertools-util": "*", "@aws-sdk/client-ssm": "^3.637.0", - "@aws-sdk/types": "^3.609.0", - "@terraform-aws-github-runner/aws-powertools-util": "*" + "@aws-sdk/types": "^3.609.0" }, "nx": { "includedScripts": [ diff --git a/lambdas/libs/aws-ssm-util/src/index.ts b/lambdas/libs/aws-ssm-util/src/index.ts index c60bb35424..a2d842b628 100644 --- a/lambdas/libs/aws-ssm-util/src/index.ts +++ b/lambdas/libs/aws-ssm-util/src/index.ts @@ -1,5 +1,5 @@ import { PutParameterCommand, SSMClient, Tag } from '@aws-sdk/client-ssm'; -import { getTracedAWSV3Client } from '@terraform-aws-github-runner/aws-powertools-util'; +import { getTracedAWSV3Client } from '@aws-github-runner/aws-powertools-util'; import { SSMProvider } from '@aws-lambda-powertools/parameters/ssm'; export async function getParameter(parameter_name: string): Promise { diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index c1bb408363..7da9ee75dd 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -97,6 +97,236 @@ __metadata: languageName: node linkType: hard +"@aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper": + version: 0.0.0-use.local + resolution: "@aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" + dependencies: + "@aws-github-runner/aws-powertools-util": "npm:*" + "@aws-github-runner/aws-ssm-util": "npm:*" + "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/client-ssm": "npm:^3.637.0" + "@aws-sdk/types": "npm:^3.609.0" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.143" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.4.1" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock-jest: "npm:^4.0.1" + cron-parser: "npm:^4.9.0" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-mock-extended: "npm:^3.0.7" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.5" + ts-node: "npm:^10.9.2" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@aws-github-runner/aws-powertools-util@npm:*, @aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util": + version: 0.0.0-use.local + resolution: "@aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util" + dependencies: + "@aws-lambda-powertools/logger": "npm:^2.7.0" + "@aws-lambda-powertools/metrics": "npm:^2.7.0" + "@aws-lambda-powertools/tracer": "npm:^2.7.0" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.143" + "@types/express": "npm:^4.17.21" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.4.1" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:0.38.1" + aws-lambda: "npm:^1.0.7" + body-parser: "npm:^1.20.2" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + express: "npm:^4.19.2" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.5" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@aws-github-runner/aws-ssm-util@npm:*, @aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util": + version: 0.0.0-use.local + resolution: "@aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" + dependencies: + "@aws-github-runner/aws-powertools-util": "npm:*" + "@aws-sdk/client-ssm": "npm:^3.637.0" + "@aws-sdk/types": "npm:^3.609.0" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.143" + "@types/express": "npm:^4.17.21" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.4.1" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:0.38.1" + body-parser: "npm:^1.20.2" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + express: "npm:^4.19.2" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.5" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@aws-github-runner/control-plane@workspace:functions/control-plane": + version: 0.0.0-use.local + resolution: "@aws-github-runner/control-plane@workspace:functions/control-plane" + dependencies: + "@aws-github-runner/aws-powertools-util": "npm:*" + "@aws-github-runner/aws-ssm-util": "npm:*" + "@aws-lambda-powertools/parameters": "npm:^2.7.0" + "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/client-sqs": "npm:^3.637.0" + "@aws-sdk/types": "npm:^3.609.0" + "@middy/core": "npm:^4.7.0" + "@octokit/auth-app": "npm:6.1.1" + "@octokit/core": "npm:5.2.0" + "@octokit/plugin-throttling": "npm:8.2.0" + "@octokit/rest": "npm:20.1.1" + "@octokit/types": "npm:^13.5.0" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.143" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.4.1" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock-jest: "npm:^4.0.1" + cron-parser: "npm:^4.9.0" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-mock-extended: "npm:^3.0.7" + moment-timezone: "npm:^0.5.45" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.5" + ts-node: "npm:^10.9.2" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer": + version: 0.0.0-use.local + resolution: "@aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" + dependencies: + "@aws-github-runner/aws-powertools-util": "npm:*" + "@aws-sdk/client-s3": "npm:^3.637.0" + "@aws-sdk/lib-storage": "npm:^3.637.0" + "@aws-sdk/types": "npm:^3.609.0" + "@middy/core": "npm:^4.7.0" + "@octokit/rest": "npm:20.1.1" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.143" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.4.1" + "@types/request": "npm:^2.48.12" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock-jest: "npm:^4.0.1" + axios: "npm:^1.7.5" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.5" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@aws-github-runner/termination-watcher@workspace:functions/termination-watcher": + version: 0.0.0-use.local + resolution: "@aws-github-runner/termination-watcher@workspace:functions/termination-watcher" + dependencies: + "@aws-github-runner/aws-powertools-util": "npm:*" + "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/types": "npm:^3.609.0" + "@middy/core": "npm:^4.7.0" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.143" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.4.1" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:^0.38.1" + aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock-jest: "npm:^4.0.1" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-mock-extended: "npm:^3.0.7" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.5" + ts-node: "npm:^10.9.2" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + +"@aws-github-runner/webhook@workspace:functions/webhook": + version: 0.0.0-use.local + resolution: "@aws-github-runner/webhook@workspace:functions/webhook" + dependencies: + "@aws-github-runner/aws-powertools-util": "npm:*" + "@aws-github-runner/aws-ssm-util": "npm:*" + "@aws-sdk/client-sqs": "npm:^3.637.0" + "@middy/core": "npm:^4.7.0" + "@octokit/rest": "npm:20.1.1" + "@octokit/types": "npm:^13.5.0" + "@octokit/webhooks": "npm:^12.2.0" + "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" + "@types/aws-lambda": "npm:^8.10.143" + "@types/express": "npm:^4.17.21" + "@types/jest": "npm:^29.5.12" + "@types/node": "npm:^22.4.1" + "@typescript-eslint/eslint-plugin": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^7.18.0" + "@vercel/ncc": "npm:0.38.1" + aws-lambda: "npm:^1.0.7" + body-parser: "npm:^1.20.2" + eslint: "npm:^8.57.0" + eslint-plugin-prettier: "npm:5.2.1" + express: "npm:^4.19.2" + jest: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + nock: "npm:^13.5.4" + prettier: "npm:3.3.3" + ts-jest: "npm:^29.2.5" + ts-node-dev: "npm:^2.0.0" + typescript: "npm:^5.5.4" + languageName: unknown + linkType: soft + "@aws-lambda-powertools/commons@npm:^2.7.0": version: 2.7.0 resolution: "@aws-lambda-powertools/commons@npm:2.7.0" @@ -4748,236 +4978,6 @@ __metadata: languageName: node linkType: hard -"@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper": - version: 0.0.0-use.local - resolution: "@terraform-aws-github-runner/ami-housekeeper@workspace:functions/ami-housekeeper" - dependencies: - "@aws-sdk/client-ec2": "npm:^3.637.0" - "@aws-sdk/client-ssm": "npm:^3.637.0" - "@aws-sdk/types": "npm:^3.609.0" - "@terraform-aws-github-runner/aws-powertools-util": "npm:*" - "@terraform-aws-github-runner/aws-ssm-util": "npm:*" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.143" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" - aws-sdk-client-mock-jest: "npm:^4.0.1" - cron-parser: "npm:^4.9.0" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:5.2.1" - jest: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-mock-extended: "npm:^3.0.7" - nock: "npm:^13.5.4" - prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.5" - ts-node: "npm:^10.9.2" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.5.4" - languageName: unknown - linkType: soft - -"@terraform-aws-github-runner/aws-powertools-util@npm:*, @terraform-aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util": - version: 0.0.0-use.local - resolution: "@terraform-aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util" - dependencies: - "@aws-lambda-powertools/logger": "npm:^2.7.0" - "@aws-lambda-powertools/metrics": "npm:^2.7.0" - "@aws-lambda-powertools/tracer": "npm:^2.7.0" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.143" - "@types/express": "npm:^4.17.21" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - "@vercel/ncc": "npm:0.38.1" - aws-lambda: "npm:^1.0.7" - body-parser: "npm:^1.20.2" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:5.2.1" - express: "npm:^4.19.2" - jest: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - nock: "npm:^13.5.4" - prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.5" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.5.4" - languageName: unknown - linkType: soft - -"@terraform-aws-github-runner/aws-ssm-util@npm:*, @terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util": - version: 0.0.0-use.local - resolution: "@terraform-aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" - dependencies: - "@aws-sdk/client-ssm": "npm:^3.637.0" - "@aws-sdk/types": "npm:^3.609.0" - "@terraform-aws-github-runner/aws-powertools-util": "npm:*" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.143" - "@types/express": "npm:^4.17.21" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - "@vercel/ncc": "npm:0.38.1" - body-parser: "npm:^1.20.2" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:5.2.1" - express: "npm:^4.19.2" - jest: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - nock: "npm:^13.5.4" - prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.5" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.5.4" - languageName: unknown - linkType: soft - -"@terraform-aws-github-runner/control-plane@workspace:functions/control-plane": - version: 0.0.0-use.local - resolution: "@terraform-aws-github-runner/control-plane@workspace:functions/control-plane" - dependencies: - "@aws-lambda-powertools/parameters": "npm:^2.7.0" - "@aws-sdk/client-ec2": "npm:^3.637.0" - "@aws-sdk/client-sqs": "npm:^3.637.0" - "@aws-sdk/types": "npm:^3.609.0" - "@middy/core": "npm:^4.7.0" - "@octokit/auth-app": "npm:6.1.1" - "@octokit/core": "npm:5.2.0" - "@octokit/plugin-throttling": "npm:8.2.0" - "@octokit/rest": "npm:20.1.1" - "@octokit/types": "npm:^13.5.0" - "@terraform-aws-github-runner/aws-powertools-util": "npm:*" - "@terraform-aws-github-runner/aws-ssm-util": "npm:*" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.143" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" - aws-sdk-client-mock-jest: "npm:^4.0.1" - cron-parser: "npm:^4.9.0" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:5.2.1" - jest: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-mock-extended: "npm:^3.0.7" - moment-timezone: "npm:^0.5.45" - nock: "npm:^13.5.4" - prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.5" - ts-node: "npm:^10.9.2" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.5.4" - languageName: unknown - linkType: soft - -"@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer": - version: 0.0.0-use.local - resolution: "@terraform-aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" - dependencies: - "@aws-sdk/client-s3": "npm:^3.637.0" - "@aws-sdk/lib-storage": "npm:^3.637.0" - "@aws-sdk/types": "npm:^3.609.0" - "@middy/core": "npm:^4.7.0" - "@octokit/rest": "npm:20.1.1" - "@terraform-aws-github-runner/aws-powertools-util": "npm:*" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.143" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" - "@types/request": "npm:^2.48.12" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" - aws-sdk-client-mock-jest: "npm:^4.0.1" - axios: "npm:^1.7.5" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:5.2.1" - jest: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.5" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.5.4" - languageName: unknown - linkType: soft - -"@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher": - version: 0.0.0-use.local - resolution: "@terraform-aws-github-runner/termination-watcher@workspace:functions/termination-watcher" - dependencies: - "@aws-sdk/client-ec2": "npm:^3.637.0" - "@aws-sdk/types": "npm:^3.609.0" - "@middy/core": "npm:^4.7.0" - "@terraform-aws-github-runner/aws-powertools-util": "npm:*" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.143" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" - aws-sdk-client-mock-jest: "npm:^4.0.1" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:5.2.1" - jest: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-mock-extended: "npm:^3.0.7" - nock: "npm:^13.5.4" - prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.5" - ts-node: "npm:^10.9.2" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.5.4" - languageName: unknown - linkType: soft - -"@terraform-aws-github-runner/webhook@workspace:functions/webhook": - version: 0.0.0-use.local - resolution: "@terraform-aws-github-runner/webhook@workspace:functions/webhook" - dependencies: - "@aws-sdk/client-sqs": "npm:^3.637.0" - "@middy/core": "npm:^4.7.0" - "@octokit/rest": "npm:20.1.1" - "@octokit/types": "npm:^13.5.0" - "@octokit/webhooks": "npm:^12.2.0" - "@terraform-aws-github-runner/aws-powertools-util": "npm:*" - "@terraform-aws-github-runner/aws-ssm-util": "npm:*" - "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" - "@types/aws-lambda": "npm:^8.10.143" - "@types/express": "npm:^4.17.21" - "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" - "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" - "@vercel/ncc": "npm:0.38.1" - aws-lambda: "npm:^1.0.7" - body-parser: "npm:^1.20.2" - eslint: "npm:^8.57.0" - eslint-plugin-prettier: "npm:5.2.1" - express: "npm:^4.19.2" - jest: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - nock: "npm:^13.5.4" - prettier: "npm:3.3.3" - ts-jest: "npm:^29.2.5" - ts-node-dev: "npm:^2.0.0" - typescript: "npm:^5.5.4" - languageName: unknown - linkType: soft - "@trivago/prettier-plugin-sort-imports@npm:^4.3.0": version: 4.3.0 resolution: "@trivago/prettier-plugin-sort-imports@npm:4.3.0" From 61108a9bb5f1e4ee2cfa233e7df0f8c1fe7faaec Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:31:25 +0200 Subject: [PATCH 55/90] chore(main): release 5.16.0 (#4102) :robot: I have created a release *beep* *boop* --- ## [5.16.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.4...v5.16.0) (2024-08-28) ### Features * Add metric to track GitHub app rate limit ([#4088](https://github.com/philips-labs/terraform-aws-github-runner/issues/4088)) ([d7cdaed](https://github.com/philips-labs/terraform-aws-github-runner/commit/d7cdaed26ec8b57fef058ebace4a3dde725ad0b8)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 619a9782ce..f87dc5189b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [5.16.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.4...v5.16.0) (2024-08-28) + + +### Features + +* Add metric to track GitHub app rate limit ([#4088](https://github.com/philips-labs/terraform-aws-github-runner/issues/4088)) ([d7cdaed](https://github.com/philips-labs/terraform-aws-github-runner/commit/d7cdaed26ec8b57fef058ebace4a3dde725ad0b8)) + ## [5.15.4](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.3...v5.15.4) (2024-08-27) From c3738f0dcd291f4aeff57d02e1cc07d769946f4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 09:41:13 +0200 Subject: [PATCH 56/90] chore(deps): bump actions/upload-artifact from 4.3.6 to 4.4.0 (#4112) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
    Release notes

    Sourced from actions/upload-artifact's releases.

    v4.4.0

    Notice: Breaking Changes :warning:

    We will no longer include hidden files and folders by default in the upload-artifact action of this version. This reduces the risk that credentials are accidentally uploaded into artifacts. Customers who need to continue to upload these files can use a new option, include-hidden-files, to continue to do so.

    See "Notice of upcoming deprecations and breaking changes in GitHub Actions runners" changelog and this issue for more details.

    What's Changed

    Full Changelog: https://github.com/actions/upload-artifact/compare/v4.3.6...v4.4.0

    Commits
    • 5076954 Merge pull request #598 from actions/joshmgross/exclude-hidden-files
    • d52396a Add a warning about enabling include-hidden-files
    • 710f362 Remove "merged" from include-hidden-files input description
    • 3b315f2 npm run release again 🙂
    • 3be2180 Remove another trailing comma
    • 453e8d0 Update glob license
    • 0a398c1 npm run release
    • a0c40cf Update to latest @actions/glob and fix tests
    • acb59e4 lint
    • cb6558b Exclude hidden files by default
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=4.3.6&new-version=4.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lambda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lambda.yml b/.github/workflows/lambda.yml index 9459f8016a..251d458ef5 100644 --- a/.github/workflows/lambda.yml +++ b/.github/workflows/lambda.yml @@ -32,7 +32,7 @@ jobs: - name: Build distribution run: yarn build - name: Upload coverage report - uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6 + uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 if: ${{ failure() }} with: name: coverage-reports From 0c015dceca1c611a898647174964787136af433a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:02:58 +0200 Subject: [PATCH 57/90] chore(deps): bump actions/setup-python from 5.1.1 to 5.2.0 (#4111) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
    Release notes

    Sourced from actions/setup-python's releases.

    v5.2.0

    What's Changed

    Bug fixes:

    • Add .zip extension to Windows package downloads for Expand-Archive Compatibility by @​priyagupta108 in actions/setup-python#916 This addresses compatibility issues on Windows self-hosted runners by ensuring that the filenames for Python and PyPy package downloads explicitly include the .zip extension, allowing the Expand-Archive command to function correctly.
    • Add arch to cache key by @​Zxilly in actions/setup-python#896 This addresses issues with caching by adding the architecture (arch) to the cache key, ensuring that cache keys are accurate to prevent conflicts

    Documentation changes:

    Dependency updates:

    New Contributors

    Full Changelog: https://github.com/actions/setup-python/compare/v5...v5.2.0

    Commits
    • f677139 Bump pyinstaller from 3.6 to 5.13.1 in /tests/data (#923)
    • 2bd53f9 Documentation update for caching poetry dependencies (#908)
    • 80b49d3 fix: add arch to cache key (#896)
    • 036a523 Fix: Add .zip extension to Windows package downloads for Expand-Archive C...
    • 04c1311 Fix display of emojis in contributors doc (#899)
    • cb68456 Updated @​iarna/toml version to 3.0.0 (#912)
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=5.1.1&new-version=5.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/update-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index 2f367d9697..a4a4fbfc39 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -61,7 +61,7 @@ jobs: run: | git config user.name github-actions[bot] git config --global user.email "github-actions[bot]@users.noreply.github.com" - - uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: 3.x - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV From c7f7d27cb714361cd4ecb3affdc0efe575972229 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:03:56 +0200 Subject: [PATCH 58/90] chore(lambda): bump @swc/core from 1.7.4 to 1.7.22 in /lambdas (#4109) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@swc/core](https://github.com/swc-project/swc) from 1.7.4 to 1.7.22.
    Changelog

    Sourced from @​swc/core's changelog.

    [1.7.22] - 2024-08-30

    Bug Fixes

    • (es/minifier) Iterate object properties in reverse direction while inlining property access (#9507) (f584ef7)

    [1.7.21] - 2024-08-28

    Bug Fixes

    [1.7.19] - 2024-08-28

    Bug Fixes

    • (es/minifier) Track if a var is used with in (#9508) (7d6269e)

    Features

    Miscellaneous Tasks

    • (es/codegen) Bump minimum required swc_allocator version to 0.1.8 (#9492) (5258763)

    Refactor

    [1.7.17] - 2024-08-23

    Bug Fixes

    ... (truncated)

    Commits
    • 6290dd3 chore: Publish 1.7.22 with swc_core v0.102.2
    • 2c505bf chore: Update changelog
    • 4313e27 chore: Publish 1.7.22-nightly-20240830.1 with swc_core v0.102.2
    • d0dd531 chore: Publish crates with swc_core v0.102.2
    • 222aca1 chore: Enable html publish pipeline
    • f584ef7 fix(es/minifier): Iterate object properties in reverse direction while inlini...
    • 8c0d79d chore: Update changelog
    • 32f13d7 chore: Publish 1.7.21 with swc_core v0.102.1
    • 391fa54 chore: Update changelog
    • 5da0e25 chore: Publish 1.7.21-nightly-20240828.1 with swc_core v0.102.1
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@swc/core&package-manager=npm_and_yarn&previous-version=1.7.4&new-version=1.7.22)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/package.json | 2 +- lambdas/yarn.lock | 90 ++++++++++++++++++++++---------------------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/lambdas/package.json b/lambdas/package.json index a41684da5d..41fabfc7f1 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -25,7 +25,7 @@ "@nx/jest": "19.5.4", "@nx/js": "^19.6.1", "@swc-node/register": "~1.10.9", - "@swc/core": "~1.7.4", + "@swc/core": "~1.7.22", "@swc/helpers": "~0.5.12", "eslint": "^8.57.0", "jest": "^29.7.0", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 7da9ee75dd..56d1e3f869 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -4837,90 +4837,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-darwin-arm64@npm:1.7.4" +"@swc/core-darwin-arm64@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-darwin-arm64@npm:1.7.22" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-darwin-x64@npm:1.7.4" +"@swc/core-darwin-x64@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-darwin-x64@npm:1.7.22" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.4" +"@swc/core-linux-arm-gnueabihf@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.22" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.4" +"@swc/core-linux-arm64-gnu@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.22" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.4" +"@swc/core-linux-arm64-musl@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.22" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.4" +"@swc/core-linux-x64-gnu@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.22" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-linux-x64-musl@npm:1.7.4" +"@swc/core-linux-x64-musl@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-linux-x64-musl@npm:1.7.22" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.4" +"@swc/core-win32-arm64-msvc@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.22" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.4" +"@swc/core-win32-ia32-msvc@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.22" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.4": - version: 1.7.4 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.4" +"@swc/core-win32-x64-msvc@npm:1.7.22": + version: 1.7.22 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.22" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:~1.7.4": - version: 1.7.4 - resolution: "@swc/core@npm:1.7.4" +"@swc/core@npm:~1.7.22": + version: 1.7.22 + resolution: "@swc/core@npm:1.7.22" dependencies: - "@swc/core-darwin-arm64": "npm:1.7.4" - "@swc/core-darwin-x64": "npm:1.7.4" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.4" - "@swc/core-linux-arm64-gnu": "npm:1.7.4" - "@swc/core-linux-arm64-musl": "npm:1.7.4" - "@swc/core-linux-x64-gnu": "npm:1.7.4" - "@swc/core-linux-x64-musl": "npm:1.7.4" - "@swc/core-win32-arm64-msvc": "npm:1.7.4" - "@swc/core-win32-ia32-msvc": "npm:1.7.4" - "@swc/core-win32-x64-msvc": "npm:1.7.4" + "@swc/core-darwin-arm64": "npm:1.7.22" + "@swc/core-darwin-x64": "npm:1.7.22" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.22" + "@swc/core-linux-arm64-gnu": "npm:1.7.22" + "@swc/core-linux-arm64-musl": "npm:1.7.22" + "@swc/core-linux-x64-gnu": "npm:1.7.22" + "@swc/core-linux-x64-musl": "npm:1.7.22" + "@swc/core-win32-arm64-msvc": "npm:1.7.22" + "@swc/core-win32-ia32-msvc": "npm:1.7.22" + "@swc/core-win32-x64-msvc": "npm:1.7.22" "@swc/counter": "npm:^0.1.3" "@swc/types": "npm:^0.1.12" peerDependencies: @@ -4949,7 +4949,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/a091ddee46ef9d1da12368e4a9d5b0f6fd0b8460ce3f1a93f986c371366d19eff3884d3d1b56e6e67d70ec4691672e4bb6033dd5f80bb19932156cf67cae2301 + checksum: 10c0/9906cdfc7c3fd8a23ea561bd2eda390bb552fe689bb36e8cdef86dec30e1ca816f5ef697a1c32bfbfb21b9e10fccf5476d801e25a45f82d64427f2ab63f4ae66 languageName: node linkType: hard @@ -8715,7 +8715,7 @@ __metadata: "@nx/jest": "npm:19.5.4" "@nx/js": "npm:^19.6.1" "@swc-node/register": "npm:~1.10.9" - "@swc/core": "npm:~1.7.4" + "@swc/core": "npm:~1.7.22" "@swc/helpers": "npm:~0.5.12" eslint: "npm:^8.57.0" jest: "npm:^29.7.0" From e59885a2b66f7afa7a36c3583f663c4d52973459 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 10:05:03 +0200 Subject: [PATCH 59/90] chore(lambda): bump @types/node from 22.4.1 to 22.5.2 in /lambdas (#4107) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.4.1 to 22.5.2.
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.4.1&new-version=22.5.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 25 +++++++++++++------ 8 files changed, 24 insertions(+), 15 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 1a1a524630..c68988e367 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.4.1", + "@types/node": "^22.5.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 7e174b5951..f792483f87 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.4.1", + "@types/node": "^22.5.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index df91e60605..88c4a30533 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.4.1", + "@types/node": "^22.5.2", "@types/request": "^2.48.12", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index e3d4ef8da9..832859e738 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -17,7 +17,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.4.1", + "@types/node": "^22.5.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 87ade48bca..72e17c6384 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -20,7 +20,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.4.1", + "@types/node": "^22.5.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 5faead152d..9f559abb72 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.4.1", + "@types/node": "^22.5.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index d517bc8325..dcdd2bb51c 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.4.1", + "@types/node": "^22.5.2", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 56d1e3f869..a19be9ab9c 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -109,7 +109,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" + "@types/node": "npm:^22.5.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -141,7 +141,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" + "@types/node": "npm:^22.5.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -171,7 +171,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" + "@types/node": "npm:^22.5.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -208,7 +208,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" + "@types/node": "npm:^22.5.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -243,7 +243,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" + "@types/node": "npm:^22.5.2" "@types/request": "npm:^2.48.12" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" @@ -273,7 +273,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" + "@types/node": "npm:^22.5.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -308,7 +308,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.4.1" + "@types/node": "npm:^22.5.2" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -5208,7 +5208,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^22.4.1": +"@types/node@npm:*": version: 22.4.1 resolution: "@types/node@npm:22.4.1" dependencies: @@ -5217,6 +5217,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.5.2": + version: 22.5.2 + resolution: "@types/node@npm:22.5.2" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/624a7fd76229eacc6c158eb3b9afd55b811d7f01976c5f92c630d5b9d47047cc218928c343988484a165ac400e5eb6fe70ea300fc7242deeb0e920c7724290f6 + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" From 20f51a14f9e95630ac88b29f3fb9b1b41189c864 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 17:25:30 +0200 Subject: [PATCH 60/90] fix(lambda): bump @aws-sdk/client-ec2 from 3.637.0 to 3.641.0 in /lambdas in the aws group (#4106) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 1 update: [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2). Updates `@aws-sdk/client-ec2` from 3.637.0 to 3.641.0
    Release notes

    Sourced from @​aws-sdk/client-ec2's releases.

    v3.641.0

    3.641.0(2024-08-28)

    Documentation Changes
    • client-workspaces: Documentation-only update that clarifies the StartWorkspaces and StopWorkspaces actions, and a few other minor edits. (21620191)
    New Features
    • clients: update client endpoints as of 2024-08-28 (6f849c1d)
    • client-pcs: Introducing AWS Parallel Computing Service (AWS PCS), a new service makes it easy to setup and manage high performance computing (HPC) clusters, and build scientific and engineering models at virtually any scale on AWS. (2dc87af0)
    • client-internetmonitor: Adds new querying types to show overall traffic suggestion information for monitors (8603f16d)
    • client-ec2: Amazon VPC IP Address Manager (IPAM) now allows customers to provision IPv4 CIDR blocks and allocate Elastic IP Addresses directly from IPAM pools with public IPv4 space (4f1d59bf)
    • client-appconfig: This release adds support for deletion protection, which is a safety guardrail to prevent the unintentional deletion of a recently used AWS AppConfig Configuration Profile or Environment. This also includes a change to increase the maximum length of the Name parameter in UpdateConfigurationProfile. (950682d3)
    • client-device-farm: This release removed support for Calabash, UI Automation, Built-in Explorer, remote access record, remote access replay, and web performance profile framework in ScheduleRun API. (5a8ca89d)
    • client-datazone: Update regex to include dot character to be consistent with IAM role creation in the authorized principal field for create and update subscription target. (535c1a32)
    Bug Fixes
    • codegen: pass through sha256 in non-AWS sigv4 generated client (#6415) (0a561eef)

    For list of updated packages, view updated-packages.md in assets-3.641.0.zip

    v3.640.0

    3.640.0(2024-08-27)

    New Features
    • client-chatbot: Update documentation to be consistent with the API docs (a4046ab5)
    • client-polly: Amazon Polly adds 2 new voices: Jitka (cs-CZ) and Sabrina (de-CH). (eb0b2ee1)
    • client-bedrock-runtime: Amazon Bedrock SDK updates for Inference Profile. (fbc89ce6)
    • client-bedrock: Amazon Bedrock SDK updates for Inference Profile. (d49f2f3c)
    • client-omics: Adds data provenance to import jobs from read sets and references (b752120b)

    For list of updated packages, view updated-packages.md in assets-3.640.0.zip

    v3.639.0

    3.639.0(2024-08-26)

    New Features
    • client-iotsitewise: AWS IoT SiteWise now supports versioning for asset models. It enables users to retrieve active version of their asset model and perform asset model writes with optimistic lock. (ebc9981f)
    • client-workspaces: This release adds support for creating and managing directories that use AWS IAM Identity Center as user identity source. Such directories can be used to create non-Active Directory domain joined WorkSpaces Personal.Updated RegisterWorkspaceDirectory and DescribeWorkspaceDirectories APIs. (206a25b7)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ec2's changelog.

    3.641.0 (2024-08-28)

    Features

    • client-ec2: Amazon VPC IP Address Manager (IPAM) now allows customers to provision IPv4 CIDR blocks and allocate Elastic IP Addresses directly from IPAM pools with public IPv4 space (4f1d59b)
    Commits
    • f197ee4 Publish v3.641.0
    • 4f1d59b feat(client-ec2): Amazon VPC IP Address Manager (IPAM) now allows customers t...
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@aws-sdk/client-ec2&package-manager=npm_and_yarn&previous-version=3.637.0&new-version=3.641.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- lambdas/functions/termination-watcher/package.json | 2 +- lambdas/yarn.lock | 14 +++++++------- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index c68988e367..581d6b1515 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -39,7 +39,7 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-ec2": "^3.637.0", + "@aws-sdk/client-ec2": "^3.641.0", "@aws-sdk/client-ssm": "^3.637.0", "@aws-sdk/types": "^3.609.0", "cron-parser": "^4.9.0", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index f792483f87..671a34a86b 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -41,7 +41,7 @@ "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", "@aws-lambda-powertools/parameters": "^2.7.0", - "@aws-sdk/client-ec2": "^3.637.0", + "@aws-sdk/client-ec2": "^3.641.0", "@aws-sdk/client-sqs": "^3.637.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 832859e738..1d30088ccb 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -36,7 +36,7 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ec2": "^3.637.0", + "@aws-sdk/client-ec2": "^3.641.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "typescript": "^5.5.4" diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index a19be9ab9c..1cd99aac14 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -103,7 +103,7 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/client-ec2": "npm:^3.641.0" "@aws-sdk/client-ssm": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -196,7 +196,7 @@ __metadata: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" "@aws-lambda-powertools/parameters": "npm:^2.7.0" - "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/client-ec2": "npm:^3.641.0" "@aws-sdk/client-sqs": "npm:^3.637.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" @@ -267,7 +267,7 @@ __metadata: resolution: "@aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.637.0" + "@aws-sdk/client-ec2": "npm:^3.641.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -407,9 +407,9 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/client-ec2@npm:3.637.0" +"@aws-sdk/client-ec2@npm:^3.641.0": + version: 3.641.0 + resolution: "@aws-sdk/client-ec2@npm:3.641.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" @@ -455,7 +455,7 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/43c1e0b752550ccbd7e132b3f95926710e8da019296a06a62b3ed6f244e3a56baac7f907b44ec4364500759ac7d7681da20b2d09bcf88d6bb2d923d81a3efb35 + checksum: 10c0/47d98c0793b4fe04c58a80c6cd33c5fd4880768a5790be9c4dc1cc822fde94fd7ac28027ad703cd1ac80932632d622cfbabef54f649653396fd5598b132aed77 languageName: node linkType: hard From 4a8826b5b27db929b3cb4de290fdc989ccab8c69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 09:36:05 +0200 Subject: [PATCH 61/90] fix(lambda): bump the aws group in /lambdas with 5 updates (#4116) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 5 updates: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.641.0` | `3.645.0` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.637.0` | `3.645.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.637.0` | `3.645.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.637.0` | `3.645.0` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.637.0` | `3.645.0` | Updates `@aws-sdk/client-ec2` from 3.641.0 to 3.645.0
    Release notes

    Sourced from @​aws-sdk/client-ec2's releases.

    v3.645.0

    3.645.0(2024-09-04)

    Chores
    • util-endpoints: update aws partitions.json (0e223555)
    • endpoints: update endpoints model (a549f6d5)
    • models: update API models (d8b1b4f2)
    • codegen: string array and operation context params (#6435) (f155e298)
    • ci: run codegen-ci only if the codegen folder has changes (#6436) (2a22ebca)
    Documentation Changes
    • client-finspace: Updates Finspace documentation for smaller instances. (abd27bac)
    • clients: update doc comments from codegen (#6434) (46492e40)
    New Features
    • client-cloudwatch-logs: Update to support new APIs for delivery of logs from AWS services. (107033b0)
    • client-s3-control: Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants. (157b80b6)
    • client-fis: This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting. (f71b7307)
    • client-appsync: Adds new logging levels (INFO and DEBUG) for additional log output control (3d2c2fa6)
    • client-bedrock-agent: Add support for user metadata inside PromptVariant. (bf60228f)

    For list of updated packages, view updated-packages.md in assets-3.645.0.zip

    v3.644.0

    3.644.0(2024-09-03)

    New Features
    • client-datazone: Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request. (da060f0d)
    • client-elastic-load-balancing-v2: This release adds support for configuring TCP idle timeout on NLB and GWLB listeners. (594c5890)
    • client-mediaconnect: AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected. (7f6b5df4)
    • client-medialive: Added MinQP as a Rate Control option for H264 and H265 encodes. (c4db70bf)
    • client-sagemaker: Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces. (202fdf2d)
    • client-timestream-influxdb: Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API. (4e6cb80f)
    • client-connect: Release ReplicaConfiguration as part of DescribeInstance (3ac8b18d)

    For list of updated packages, view updated-packages.md in assets-3.644.0.zip

    v3.643.0

    3.643.0(2024-08-30)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ec2's changelog.

    3.645.0 (2024-09-04)

    Note: Version bump only for package @​aws-sdk/client-ec2

    Commits

    Updates `@aws-sdk/client-ssm` from 3.637.0 to 3.645.0
    Release notes

    Sourced from @​aws-sdk/client-ssm's releases.

    v3.645.0

    3.645.0(2024-09-04)

    Chores
    • util-endpoints: update aws partitions.json (0e223555)
    • endpoints: update endpoints model (a549f6d5)
    • models: update API models (d8b1b4f2)
    • codegen: string array and operation context params (#6435) (f155e298)
    • ci: run codegen-ci only if the codegen folder has changes (#6436) (2a22ebca)
    Documentation Changes
    • client-finspace: Updates Finspace documentation for smaller instances. (abd27bac)
    • clients: update doc comments from codegen (#6434) (46492e40)
    New Features
    • client-cloudwatch-logs: Update to support new APIs for delivery of logs from AWS services. (107033b0)
    • client-s3-control: Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants. (157b80b6)
    • client-fis: This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting. (f71b7307)
    • client-appsync: Adds new logging levels (INFO and DEBUG) for additional log output control (3d2c2fa6)
    • client-bedrock-agent: Add support for user metadata inside PromptVariant. (bf60228f)

    For list of updated packages, view updated-packages.md in assets-3.645.0.zip

    v3.644.0

    3.644.0(2024-09-03)

    New Features
    • client-datazone: Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request. (da060f0d)
    • client-elastic-load-balancing-v2: This release adds support for configuring TCP idle timeout on NLB and GWLB listeners. (594c5890)
    • client-mediaconnect: AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected. (7f6b5df4)
    • client-medialive: Added MinQP as a Rate Control option for H264 and H265 encodes. (c4db70bf)
    • client-sagemaker: Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces. (202fdf2d)
    • client-timestream-influxdb: Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API. (4e6cb80f)
    • client-connect: Release ReplicaConfiguration as part of DescribeInstance (3ac8b18d)

    For list of updated packages, view updated-packages.md in assets-3.644.0.zip

    v3.643.0

    3.643.0(2024-08-30)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ssm's changelog.

    3.645.0 (2024-09-04)

    Note: Version bump only for package @​aws-sdk/client-ssm

    Commits

    Updates `@aws-sdk/client-sqs` from 3.637.0 to 3.645.0
    Release notes

    Sourced from @​aws-sdk/client-sqs's releases.

    v3.645.0

    3.645.0(2024-09-04)

    Chores
    • util-endpoints: update aws partitions.json (0e223555)
    • endpoints: update endpoints model (a549f6d5)
    • models: update API models (d8b1b4f2)
    • codegen: string array and operation context params (#6435) (f155e298)
    • ci: run codegen-ci only if the codegen folder has changes (#6436) (2a22ebca)
    Documentation Changes
    • client-finspace: Updates Finspace documentation for smaller instances. (abd27bac)
    • clients: update doc comments from codegen (#6434) (46492e40)
    New Features
    • client-cloudwatch-logs: Update to support new APIs for delivery of logs from AWS services. (107033b0)
    • client-s3-control: Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants. (157b80b6)
    • client-fis: This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting. (f71b7307)
    • client-appsync: Adds new logging levels (INFO and DEBUG) for additional log output control (3d2c2fa6)
    • client-bedrock-agent: Add support for user metadata inside PromptVariant. (bf60228f)

    For list of updated packages, view updated-packages.md in assets-3.645.0.zip

    v3.644.0

    3.644.0(2024-09-03)

    New Features
    • client-datazone: Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request. (da060f0d)
    • client-elastic-load-balancing-v2: This release adds support for configuring TCP idle timeout on NLB and GWLB listeners. (594c5890)
    • client-mediaconnect: AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected. (7f6b5df4)
    • client-medialive: Added MinQP as a Rate Control option for H264 and H265 encodes. (c4db70bf)
    • client-sagemaker: Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces. (202fdf2d)
    • client-timestream-influxdb: Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API. (4e6cb80f)
    • client-connect: Release ReplicaConfiguration as part of DescribeInstance (3ac8b18d)

    For list of updated packages, view updated-packages.md in assets-3.644.0.zip

    v3.643.0

    3.643.0(2024-08-30)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-sqs's changelog.

    3.645.0 (2024-09-04)

    Note: Version bump only for package @​aws-sdk/client-sqs

    Commits

    Updates `@aws-sdk/client-s3` from 3.637.0 to 3.645.0
    Release notes

    Sourced from @​aws-sdk/client-s3's releases.

    v3.645.0

    3.645.0(2024-09-04)

    Chores
    • util-endpoints: update aws partitions.json (0e223555)
    • endpoints: update endpoints model (a549f6d5)
    • models: update API models (d8b1b4f2)
    • codegen: string array and operation context params (#6435) (f155e298)
    • ci: run codegen-ci only if the codegen folder has changes (#6436) (2a22ebca)
    Documentation Changes
    • client-finspace: Updates Finspace documentation for smaller instances. (abd27bac)
    • clients: update doc comments from codegen (#6434) (46492e40)
    New Features
    • client-cloudwatch-logs: Update to support new APIs for delivery of logs from AWS services. (107033b0)
    • client-s3-control: Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants. (157b80b6)
    • client-fis: This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting. (f71b7307)
    • client-appsync: Adds new logging levels (INFO and DEBUG) for additional log output control (3d2c2fa6)
    • client-bedrock-agent: Add support for user metadata inside PromptVariant. (bf60228f)

    For list of updated packages, view updated-packages.md in assets-3.645.0.zip

    v3.644.0

    3.644.0(2024-09-03)

    New Features
    • client-datazone: Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request. (da060f0d)
    • client-elastic-load-balancing-v2: This release adds support for configuring TCP idle timeout on NLB and GWLB listeners. (594c5890)
    • client-mediaconnect: AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected. (7f6b5df4)
    • client-medialive: Added MinQP as a Rate Control option for H264 and H265 encodes. (c4db70bf)
    • client-sagemaker: Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces. (202fdf2d)
    • client-timestream-influxdb: Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API. (4e6cb80f)
    • client-connect: Release ReplicaConfiguration as part of DescribeInstance (3ac8b18d)

    For list of updated packages, view updated-packages.md in assets-3.644.0.zip

    v3.643.0

    3.643.0(2024-08-30)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-s3's changelog.

    3.645.0 (2024-09-04)

    Note: Version bump only for package @​aws-sdk/client-s3

    Commits

    Updates `@aws-sdk/lib-storage` from 3.637.0 to 3.645.0
    Release notes

    Sourced from @​aws-sdk/lib-storage's releases.

    v3.645.0

    3.645.0(2024-09-04)

    Chores
    • util-endpoints: update aws partitions.json (0e223555)
    • endpoints: update endpoints model (a549f6d5)
    • models: update API models (d8b1b4f2)
    • codegen: string array and operation context params (#6435) (f155e298)
    • ci: run codegen-ci only if the codegen folder has changes (#6436) (2a22ebca)
    Documentation Changes
    • client-finspace: Updates Finspace documentation for smaller instances. (abd27bac)
    • clients: update doc comments from codegen (#6434) (46492e40)
    New Features
    • client-cloudwatch-logs: Update to support new APIs for delivery of logs from AWS services. (107033b0)
    • client-s3-control: Amazon Simple Storage Service /S3 Access Grants / Features : This release launches new Access Grants API - ListCallerAccessGrants. (157b80b6)
    • client-fis: This release adds safety levers, a new mechanism to stop all running experiments and prevent new experiments from starting. (f71b7307)
    • client-appsync: Adds new logging levels (INFO and DEBUG) for additional log output control (3d2c2fa6)
    • client-bedrock-agent: Add support for user metadata inside PromptVariant. (bf60228f)

    For list of updated packages, view updated-packages.md in assets-3.645.0.zip

    v3.644.0

    3.644.0(2024-09-03)

    New Features
    • client-datazone: Add support to let data publisher specify a subset of the data asset that a subscriber will have access to based on the asset filters provided, when accepting a subscription request. (da060f0d)
    • client-elastic-load-balancing-v2: This release adds support for configuring TCP idle timeout on NLB and GWLB listeners. (594c5890)
    • client-mediaconnect: AWS Elemental MediaConnect introduces thumbnails for Flow source monitoring. Thumbnails provide still image previews of the live content feeding your MediaConnect Flow allowing you to easily verify that your source is operating as expected. (7f6b5df4)
    • client-medialive: Added MinQP as a Rate Control option for H264 and H265 encodes. (c4db70bf)
    • client-sagemaker: Amazon SageMaker now supports automatic mounting of a user's home folder in the Amazon Elastic File System (EFS) associated with the SageMaker Studio domain to their Studio Spaces to enable users to share data between their own private spaces. (202fdf2d)
    • client-timestream-influxdb: Timestream for InfluxDB now supports compute scaling and deployment type conversion. This release adds the DbInstanceType and DeploymentType parameters to the UpdateDbInstance API. (4e6cb80f)
    • client-connect: Release ReplicaConfiguration as part of DescribeInstance (3ac8b18d)

    For list of updated packages, view updated-packages.md in assets-3.644.0.zip

    v3.643.0

    3.643.0(2024-08-30)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/lib-storage's changelog.

    3.645.0 (2024-09-04)

    Note: Version bump only for package @​aws-sdk/lib-storage

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 4 +- lambdas/functions/control-plane/package.json | 4 +- .../functions/gh-agent-syncer/package.json | 4 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 196 +++++++++--------- 7 files changed, 107 insertions(+), 107 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 581d6b1515..24a3d92a97 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -39,8 +39,8 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-ec2": "^3.641.0", - "@aws-sdk/client-ssm": "^3.637.0", + "@aws-sdk/client-ec2": "^3.645.0", + "@aws-sdk/client-ssm": "^3.645.0", "@aws-sdk/types": "^3.609.0", "cron-parser": "^4.9.0", "typescript": "^5.5.4" diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 671a34a86b..9238d79f69 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -41,8 +41,8 @@ "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", "@aws-lambda-powertools/parameters": "^2.7.0", - "@aws-sdk/client-ec2": "^3.641.0", - "@aws-sdk/client-sqs": "^3.637.0", + "@aws-sdk/client-ec2": "^3.645.0", + "@aws-sdk/client-sqs": "^3.645.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 88c4a30533..045dd94af9 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -37,8 +37,8 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-s3": "^3.637.0", - "@aws-sdk/lib-storage": "^3.637.0", + "@aws-sdk/client-s3": "^3.645.0", + "@aws-sdk/lib-storage": "^3.645.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 1d30088ccb..0731d4f6b0 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -36,7 +36,7 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ec2": "^3.641.0", + "@aws-sdk/client-ec2": "^3.645.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", "typescript": "^5.5.4" diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 72e17c6384..fec46b470f 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -39,7 +39,7 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-sqs": "^3.637.0", + "@aws-sdk/client-sqs": "^3.645.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index dcdd2bb51c..22b2486b91 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -36,7 +36,7 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ssm": "^3.637.0", + "@aws-sdk/client-ssm": "^3.645.0", "@aws-sdk/types": "^3.609.0" }, "nx": { diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 1cd99aac14..d375759adc 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -103,8 +103,8 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.641.0" - "@aws-sdk/client-ssm": "npm:^3.637.0" + "@aws-sdk/client-ec2": "npm:^3.645.0" + "@aws-sdk/client-ssm": "npm:^3.645.0" "@aws-sdk/types": "npm:^3.609.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" @@ -165,7 +165,7 @@ __metadata: resolution: "@aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ssm": "npm:^3.637.0" + "@aws-sdk/client-ssm": "npm:^3.645.0" "@aws-sdk/types": "npm:^3.609.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" @@ -196,8 +196,8 @@ __metadata: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" "@aws-lambda-powertools/parameters": "npm:^2.7.0" - "@aws-sdk/client-ec2": "npm:^3.641.0" - "@aws-sdk/client-sqs": "npm:^3.637.0" + "@aws-sdk/client-ec2": "npm:^3.645.0" + "@aws-sdk/client-sqs": "npm:^3.645.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.1" @@ -235,8 +235,8 @@ __metadata: resolution: "@aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-s3": "npm:^3.637.0" - "@aws-sdk/lib-storage": "npm:^3.637.0" + "@aws-sdk/client-s3": "npm:^3.645.0" + "@aws-sdk/lib-storage": "npm:^3.645.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" @@ -267,7 +267,7 @@ __metadata: resolution: "@aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.641.0" + "@aws-sdk/client-ec2": "npm:^3.645.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -299,7 +299,7 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-sqs": "npm:^3.637.0" + "@aws-sdk/client-sqs": "npm:^3.645.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" @@ -407,24 +407,24 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.641.0": - version: 3.641.0 - resolution: "@aws-sdk/client-ec2@npm:3.641.0" +"@aws-sdk/client-ec2@npm:^3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/client-ec2@npm:3.645.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.637.0" - "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/client-sso-oidc": "npm:3.645.0" + "@aws-sdk/client-sts": "npm:3.645.0" "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.637.0" + "@aws-sdk/credential-provider-node": "npm:3.645.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" "@aws-sdk/middleware-sdk-ec2": "npm:3.635.0" - "@aws-sdk/middleware-user-agent": "npm:3.637.0" + "@aws-sdk/middleware-user-agent": "npm:3.645.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -455,21 +455,21 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/47d98c0793b4fe04c58a80c6cd33c5fd4880768a5790be9c4dc1cc822fde94fd7ac28027ad703cd1ac80932632d622cfbabef54f649653396fd5598b132aed77 + checksum: 10c0/2fdf705d5483e22a03dc5642c692d2321cf6cc3116b5c926f547e8c452bdc2955b2b765cc7c7b714c2ebaec7634acec3ae6333d18aba68a6ef7242bccfcbcd2a languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/client-s3@npm:3.637.0" +"@aws-sdk/client-s3@npm:^3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/client-s3@npm:3.645.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.637.0" - "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/client-sso-oidc": "npm:3.645.0" + "@aws-sdk/client-sts": "npm:3.645.0" "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.637.0" + "@aws-sdk/credential-provider-node": "npm:3.645.0" "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" "@aws-sdk/middleware-expect-continue": "npm:3.620.0" "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" @@ -479,11 +479,11 @@ __metadata: "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" "@aws-sdk/middleware-sdk-s3": "npm:3.635.0" "@aws-sdk/middleware-ssec": "npm:3.609.0" - "@aws-sdk/middleware-user-agent": "npm:3.637.0" + "@aws-sdk/middleware-user-agent": "npm:3.645.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/signature-v4-multi-region": "npm:3.635.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@aws-sdk/xml-builder": "npm:3.609.0" @@ -521,28 +521,28 @@ __metadata: "@smithy/util-utf8": "npm:^3.0.0" "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" - checksum: 10c0/3cce8334727a673b84633d1f01a1064d289a33ea9c7a5a5c55361f48224cc83bb90c0a27587af5c3fc07d7ee2ee31a79e0573d46239e655c2786fb0a8d3d0c64 + checksum: 10c0/c39f504c6cb1c96325460ca780fc065f3b08170b2ca96fac6af62ddcf18a6fba5c7a88f0ab18290e6ea16db5725a6fab482479774c7934d002e9f008ecaec27c languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/client-sqs@npm:3.637.0" +"@aws-sdk/client-sqs@npm:^3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/client-sqs@npm:3.645.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.637.0" - "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/client-sso-oidc": "npm:3.645.0" + "@aws-sdk/client-sts": "npm:3.645.0" "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.637.0" + "@aws-sdk/credential-provider-node": "npm:3.645.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" "@aws-sdk/middleware-sdk-sqs": "npm:3.635.0" - "@aws-sdk/middleware-user-agent": "npm:3.637.0" + "@aws-sdk/middleware-user-agent": "npm:3.645.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -572,27 +572,27 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/0f338abafaaec30675a9ab493c5ded1860b6ccc0ba79c9d31ff340ee28bf3b7351d16633e5d1d600de2a2000dd14495e17f2942db74c8f734c8c898de0229fba + checksum: 10c0/fa9726658eeb92ea667bd448190fcb50f51db09da362137dc0c4608f6d6ce770be3a7b7f448c06695e4def7103d7af31786eaf4a22c34d7c06225c365f044127 languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/client-ssm@npm:3.637.0" +"@aws-sdk/client-ssm@npm:^3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/client-ssm@npm:3.645.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.637.0" - "@aws-sdk/client-sts": "npm:3.637.0" + "@aws-sdk/client-sso-oidc": "npm:3.645.0" + "@aws-sdk/client-sts": "npm:3.645.0" "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.637.0" + "@aws-sdk/credential-provider-node": "npm:3.645.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.637.0" + "@aws-sdk/middleware-user-agent": "npm:3.645.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -623,25 +623,25 @@ __metadata: "@smithy/util-waiter": "npm:^3.1.2" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/54c9fdc0d44bf92667e1aec6b130394520ccbb4e593fef316c9280178c758b7bacc5ace77d4ef4d0aae1e5ea7af151d7f378de15cb5b589f4cca24e0f047cce6 + checksum: 10c0/be30c4e81a83eb7429548810867039d9c89828cdad15e126b6b90a533466cfc9c177309de48028bd51e47d3b9614c6c1748cd7eb2dff15167086a0f103b6cd1a languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.637.0" +"@aws-sdk/client-sso-oidc@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.645.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.637.0" + "@aws-sdk/credential-provider-node": "npm:3.645.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.637.0" + "@aws-sdk/middleware-user-agent": "npm:3.645.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -671,14 +671,14 @@ __metadata: "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.637.0 - checksum: 10c0/eb3af482e6eb9b44549343da62dd761259afc71a8a4c7c6883f2cafadf96da2e54ac97cc1c9757ba43ea9258b4af50d114f20fb186f52109a10642178fa127a1 + "@aws-sdk/client-sts": ^3.645.0 + checksum: 10c0/13259e44c526f5473951346fd85fc63014cfb8edf02c21c3280d1551a7cc8fa858d80458f1704115aadf90e6d43e36dea18bfbd7d868c68bdbc0b65f9b965b40 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/client-sso@npm:3.637.0" +"@aws-sdk/client-sso@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/client-sso@npm:3.645.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" @@ -686,10 +686,10 @@ __metadata: "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.637.0" + "@aws-sdk/middleware-user-agent": "npm:3.645.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -718,26 +718,26 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/fff543452d559d92cc9caf45b62ef5114e0929d23a680016a25cce6f4f17cda40bee5535f9b877a76d8563de87ad582788c13e49559cff9264c90540fd5ae32a + checksum: 10c0/dc43f1ef17ecece13d1ac3e8297dc00146b0bba9a8d41a9fa0f53eec6e0a668db9e86c7b82fd9b861fdaccabe33693c89a0fcc898e90ddb2b1f0c3b145b784e4 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/client-sts@npm:3.637.0" +"@aws-sdk/client-sts@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/client-sts@npm:3.645.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.637.0" + "@aws-sdk/client-sso-oidc": "npm:3.645.0" "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.637.0" + "@aws-sdk/credential-provider-node": "npm:3.645.0" "@aws-sdk/middleware-host-header": "npm:3.620.0" "@aws-sdk/middleware-logger": "npm:3.609.0" "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.637.0" + "@aws-sdk/middleware-user-agent": "npm:3.645.0" "@aws-sdk/region-config-resolver": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@aws-sdk/util-user-agent-browser": "npm:3.609.0" "@aws-sdk/util-user-agent-node": "npm:3.614.0" "@smithy/config-resolver": "npm:^3.0.5" @@ -766,7 +766,7 @@ __metadata: "@smithy/util-retry": "npm:^3.0.3" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/e3d7497ed65fa8617116c65926eb864ddb826267ef7db378c75d1288b4e6454909ed2dcd5eb8e1dad274359a5e9114c2e95bb9269d0dca7fc71a617c94a50075 + checksum: 10c0/3608265f042ff0fa8ce7ea5beb41c8dd4c10c4f3edb77ef8803d5d3cef0e4e0e56815ab2d2da139a7a31f106551822ccc2c5efa6fd798bd937e29d6298a60c8a languageName: node linkType: hard @@ -817,14 +817,14 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.637.0" +"@aws-sdk/credential-provider-ini@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.645.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" "@aws-sdk/credential-provider-http": "npm:3.635.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.637.0" + "@aws-sdk/credential-provider-sso": "npm:3.645.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -833,20 +833,20 @@ __metadata: "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.637.0 - checksum: 10c0/ecabf423d448c0e0d668887b01008c99959a7e51e19a494eb1b9e8198aaffa634df063f4f9436d3f43c74e998090139de7f048946eb465d2c8188ae84838d3a2 + "@aws-sdk/client-sts": ^3.645.0 + checksum: 10c0/bae6dbf5ea1c97b15493658f163cebcc17c624239f73e4ab6bf8ae0e7de061b16bbd25f87e29c453da64e93eef8eeb3b4563588b9a720f54878c0b38b456d249 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.637.0" +"@aws-sdk/credential-provider-node@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.645.0" dependencies: "@aws-sdk/credential-provider-env": "npm:3.620.1" "@aws-sdk/credential-provider-http": "npm:3.635.0" - "@aws-sdk/credential-provider-ini": "npm:3.637.0" + "@aws-sdk/credential-provider-ini": "npm:3.645.0" "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.637.0" + "@aws-sdk/credential-provider-sso": "npm:3.645.0" "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/credential-provider-imds": "npm:^3.2.0" @@ -854,7 +854,7 @@ __metadata: "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/ec61181866ca024c31d6316689d1df2192713b23f4b1f8aa4c8479ecc6d0ea5d025edb595d2311d328637073b2557b240be418259766cfb8da9db0acd647bb03 + checksum: 10c0/17a40c73c594bd42d26fd4cbe6c66964bb8c2e0404f2a160487623fef778fb18b27d8c6104dafee4d0ef69628e14eacc67368ec7774517782b7d21c540678af8 languageName: node linkType: hard @@ -871,18 +871,18 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.637.0" +"@aws-sdk/credential-provider-sso@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.645.0" dependencies: - "@aws-sdk/client-sso": "npm:3.637.0" + "@aws-sdk/client-sso": "npm:3.645.0" "@aws-sdk/token-providers": "npm:3.614.0" "@aws-sdk/types": "npm:3.609.0" "@smithy/property-provider": "npm:^3.1.3" "@smithy/shared-ini-file-loader": "npm:^3.1.4" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/7381f31ca6f2518c45467cd4ca036c5efc59f31905ebfed52b91ff151406972fc7968e360aa19c7978631ecf301841368f9807037b52322a7c0e7143c93d58ba + checksum: 10c0/ef9137f1b967ea0f4cbfc7f7c6b133e4dd2de2881f0c07a2b0802e2c7c9952ae6aa0b2dc2f112c7ab784fc9b997f24cce948c22cdd0fe1853ae068c60cbe57b3 languageName: node linkType: hard @@ -900,9 +900,9 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/lib-storage@npm:3.637.0" +"@aws-sdk/lib-storage@npm:^3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/lib-storage@npm:3.645.0" dependencies: "@smithy/abort-controller": "npm:^3.1.1" "@smithy/middleware-endpoint": "npm:^3.1.0" @@ -912,8 +912,8 @@ __metadata: stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.637.0 - checksum: 10c0/1b6d0a9365642280cb223f78d767978dc268d1c15a5ea8059410e1c150f3bab8f23140feefeced785664c931bfdb29f7e090387103b98279f75a6035e16a46ac + "@aws-sdk/client-s3": ^3.645.0 + checksum: 10c0/3b65b59e06653c729ed0ae8e6296784e74d4c4aacbd1559f3f49591638d03220045696e2389358667133148ac2992319adeb4941e07e0b168cb14bc63967fac2 languageName: node linkType: hard @@ -1069,16 +1069,16 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.637.0" +"@aws-sdk/middleware-user-agent@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.645.0" dependencies: "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.637.0" + "@aws-sdk/util-endpoints": "npm:3.645.0" "@smithy/protocol-http": "npm:^4.1.0" "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/799d5e8cedb18c4a0695fe63675f7faa493b84b1f481055218c069cfacd208f61ecb4bad811fd701c0708c33e95cc98032d17a3684bb585ad698cb7b632a3196 + checksum: 10c0/f5f2d4776c1dae185c3ec14f56504b7000ad3fa774d63cfce73db438ca3529c719dad879761638f2682e5872608db636106f0168f4e3266180db712e803f8ba1 languageName: node linkType: hard @@ -1144,15 +1144,15 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.637.0": - version: 3.637.0 - resolution: "@aws-sdk/util-endpoints@npm:3.637.0" +"@aws-sdk/util-endpoints@npm:3.645.0": + version: 3.645.0 + resolution: "@aws-sdk/util-endpoints@npm:3.645.0" dependencies: "@aws-sdk/types": "npm:3.609.0" "@smithy/types": "npm:^3.3.0" "@smithy/util-endpoints": "npm:^2.0.5" tslib: "npm:^2.6.2" - checksum: 10c0/8ffdcea45fa38c00c980596f1a5a60706c1d5b61fb0f24f8aa536f66b1f50492a754757fe639076412b5bbdc90ed19ae1ca72f7d0b6df8c813e3a474acef77c7 + checksum: 10c0/bfb1e12379f688d20dd59cb7aba86a32138c25bfc7c6d081dec506e553292ee6962427daf2aa05a095a64506cba85ef3e55f472fbc9f4e08cabea4f8983edafe languageName: node linkType: hard From 79bbbc02a75c38cf337357118dfd38f81315e7ad Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 09:43:04 +0200 Subject: [PATCH 62/90] chore(deps): bump terraform-docs/gh-actions from 1.2.0 to 1.2.2 (#4122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [terraform-docs/gh-actions](https://github.com/terraform-docs/gh-actions) from 1.2.0 to 1.2.2.
    Release notes

    Sourced from terraform-docs/gh-actions's releases.

    v1.2.2

    What’s Changed

    v1.2.1

    What’s Changed

    Commits
    • cca78c2 fix: release action scripts
    • 0c2e582 fix: missing path in prepare-release script
    • bdea387 Merge pull request #141 from terraform-docs/bump-to-1.2.2
    • c7a4eb3 Bump to v1.2.2
    • 89278fb Merge pull request #138 from timothyclarke/git-sub-dir
    • 34611d2 Adding git-sub-dir
    • 72ed18e Merge pull request #134 from khos2ow/enhance-release
    • 43f9c39 build: overall improvements to release scripts
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=terraform-docs/gh-actions&package-manager=github_actions&previous-version=1.2.0&new-version=1.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/update-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index a4a4fbfc39..dae4b7fc71 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -23,7 +23,7 @@ jobs: # use an app to ensure CI is triggered - name: Generate TF docs if: github.repository_owner == 'philips-labs' - uses: terraform-docs/gh-actions@e47bfa196e79fa50987ef391be236d9d97b0c786 # v1.2.0 + uses: terraform-docs/gh-actions@cca78c27ac9e2b6545debf2ecae9df930fd3461c # v1.2.2 with: find-dir: . git-commit-message: "docs: auto update terraform docs" @@ -33,7 +33,7 @@ jobs: - name: Generate TF docs (forks) if: github.repository_owner != 'philips-labs' - uses: terraform-docs/gh-actions@e47bfa196e79fa50987ef391be236d9d97b0c786 # v1.2.0 + uses: terraform-docs/gh-actions@cca78c27ac9e2b6545debf2ecae9df930fd3461c # v1.2.2 with: find-dir: . git-commit-message: "docs: auto update terraform docs" From 27d1a9a029033961ab94fd16f8adf2578894c3d5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 09:46:50 +0200 Subject: [PATCH 63/90] chore(deps): bump actions/create-github-app-token from 1.10.3 to 1.10.4 (#4121) Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.10.3 to 1.10.4.
    Release notes

    Sourced from actions/create-github-app-token's releases.

    v1.10.4

    1.10.4 (2024-09-04)

    Bug Fixes

    Commits
    • 3378cda build(release): 1.10.4 [skip ci]
    • e177c20 fix(deps): bump the production-dependencies group across 1 directory with 3 u...
    • 961c228 build(deps-dev): bump the development-dependencies group across 1 directory w...
    • 15db037 test: fix test file extensions and inputs for repositories (#161)
    • 9ccc6db ci(test): add workflow_dispatch trigger
    • 000e2a0 docs(readme): document how a Base64 private key could be decoded (#155)
    • d0ac2ad docs(README): fix the git committer string and Configure git CLI examples...
    • 040c259 build(deps-dev): bump the development-dependencies group with 4 updates (#150)
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/create-github-app-token&package-manager=github_actions&previous-version=1.10.3&new-version=1.10.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5b2b33f61d..0fd6fa5e39 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: working-directory: lambdas run: yarn install --frozen-lockfile && yarn run test && yarn dist - name: Get installation token - uses: actions/create-github-app-token@31c86eb3b33c9b601a1f60f98dcbfd1d70f379b4 # v1.10.3 + uses: actions/create-github-app-token@3378cda945da322a8db4b193e19d46352ebe2de5 # v1.10.4 id: token with: app-id: ${{ secrets.FOREST_RELEASER_APP_ID }} From 985c1b0eae96baeab12141d8c717542185691b28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 09:49:32 +0200 Subject: [PATCH 64/90] chore(lambda): bump @types/node from 22.5.2 to 22.5.4 in /lambdas (#4118) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.2 to 22.5.4.
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.5.2&new-version=22.5.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 22 +++++++++---------- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 24a3d92a97..8fbc128b3b 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 9238d79f69..27d61a0373 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 045dd94af9..09a5e3b82b 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -19,7 +19,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@types/request": "^2.48.12", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 0731d4f6b0..95784123cf 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -17,7 +17,7 @@ "@trivago/prettier-plugin-sort-imports": "^4.3.0", "@types/aws-lambda": "^8.10.143", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index fec46b470f..30d9c03de2 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -20,7 +20,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 9f559abb72..863d5d81af 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 22b2486b91..5c0e891b15 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -18,7 +18,7 @@ "@types/aws-lambda": "^8.10.143", "@types/express": "^4.17.21", "@types/jest": "^29.5.12", - "@types/node": "^22.5.2", + "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index d375759adc..f4edf2a2c1 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -109,7 +109,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.5.2" + "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -141,7 +141,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.5.2" + "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -171,7 +171,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.5.2" + "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -208,7 +208,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.5.2" + "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -243,7 +243,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.5.2" + "@types/node": "npm:^22.5.4" "@types/request": "npm:^2.48.12" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" @@ -273,7 +273,7 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.5.2" + "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" @@ -308,7 +308,7 @@ __metadata: "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" "@types/jest": "npm:^29.5.12" - "@types/node": "npm:^22.5.2" + "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" @@ -5217,12 +5217,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^22.5.2": - version: 22.5.2 - resolution: "@types/node@npm:22.5.2" +"@types/node@npm:^22.5.4": + version: 22.5.4 + resolution: "@types/node@npm:22.5.4" dependencies: undici-types: "npm:~6.19.2" - checksum: 10c0/624a7fd76229eacc6c158eb3b9afd55b811d7f01976c5f92c630d5b9d47047cc218928c343988484a165ac400e5eb6fe70ea300fc7242deeb0e920c7724290f6 + checksum: 10c0/b445daa7eecd761ad4d778b882d6ff7bcc3b4baad2086ea9804db7c5d4a4ab0298b00d7f5315fc640a73b5a1d52bbf9628e09c9fec0cf44dbf9b4df674a8717d languageName: node linkType: hard From 6e6bd98246fd589a1b1187443c6f5ca36f0ba95c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 09:53:51 +0200 Subject: [PATCH 65/90] fix(lambda): bump @octokit/auth-app from 6.1.1 to 6.1.2 in /lambdas in the octokit group (#4117) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the octokit group in /lambdas with 1 update: [@octokit/auth-app](https://github.com/octokit/auth-app.js). Updates `@octokit/auth-app` from 6.1.1 to 6.1.2
    Release notes

    Sourced from @​octokit/auth-app's releases.

    v6.1.2

    6.1.2 (2024-09-03)

    Bug Fixes

    • respect baseUrl passed as part of request parameters (#642) (e0ecf3b)
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@octokit/auth-app&package-manager=npm_and_yarn&previous-version=6.1.1&new-version=6.1.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/control-plane/package.json | 2 +- lambdas/yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 27d61a0373..674e36243e 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -45,7 +45,7 @@ "@aws-sdk/client-sqs": "^3.645.0", "@aws-sdk/types": "^3.609.0", "@middy/core": "^4.7.0", - "@octokit/auth-app": "6.1.1", + "@octokit/auth-app": "6.1.2", "@octokit/core": "5.2.0", "@octokit/plugin-throttling": "8.2.0", "@octokit/rest": "20.1.1", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index f4edf2a2c1..149c26ac92 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -200,7 +200,7 @@ __metadata: "@aws-sdk/client-sqs": "npm:^3.645.0" "@aws-sdk/types": "npm:^3.609.0" "@middy/core": "npm:^4.7.0" - "@octokit/auth-app": "npm:6.1.1" + "@octokit/auth-app": "npm:6.1.2" "@octokit/core": "npm:5.2.0" "@octokit/plugin-throttling": "npm:8.2.0" "@octokit/rest": "npm:20.1.1" @@ -3779,9 +3779,9 @@ __metadata: languageName: node linkType: hard -"@octokit/auth-app@npm:6.1.1": - version: 6.1.1 - resolution: "@octokit/auth-app@npm:6.1.1" +"@octokit/auth-app@npm:6.1.2": + version: 6.1.2 + resolution: "@octokit/auth-app@npm:6.1.2" dependencies: "@octokit/auth-oauth-app": "npm:^7.1.0" "@octokit/auth-oauth-user": "npm:^4.1.0" @@ -3792,7 +3792,7 @@ __metadata: lru-cache: "npm:^10.0.0" universal-github-app-jwt: "npm:^1.1.2" universal-user-agent: "npm:^6.0.0" - checksum: 10c0/633fa49ef1d688f1db050fd359d224f5529f0df20e2a5f8f7e78d5f81f33d18cbcde735ea5222b0bcf058b5b93bff88d1dd6f614b9c9443bda5fa0921757cf4f + checksum: 10c0/e3f91255716823903c63ff79cafbe7ba278dd9b817067b98ba82c99167bb185e4ad86822cb59d1361b7b2eaf8d1ca25624796654b91bb5be6277a1dfcb707001 languageName: node linkType: hard From 219eaa6f20e16dd22763a11d7bd22d5de2261f37 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:15:16 +0100 Subject: [PATCH 66/90] chore(lambda): bump @nx/js from 19.6.1 to 19.7.3 in /lambdas (#4130) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) from 19.6.1 to 19.7.3.
    Release notes

    Sourced from @​nx/js's releases.

    19.7.3 (2024-09-12)

    🚀 Features

    • core: import warns when source and destination directories are different (#27875)

    🩹 Fixes

    • core: handle sync generator failures (#27650)
    • core: handle --no-interative for create-nx-workspace (#27702)
    • core: respect filenames of inputs when computing task hash (#27873)
    • core: handleErrors should display error cause if it exists (#27886)
    • gradle: fix gradle app deps (#27865)
    • js: keep refs to ignored files and allow opting out of pruning stale refs in typescript sync generator (#27636)
    • misc: createNodesV2 plugins should show inference capabilities (#27896)
    • nx-cloud: include nxCloudId when generating connect urls (#27882)
    • webpack: handle relative paths for additionalEntryPath (#27885)

    ❤️ Thank You

    19.7.2 (2024-09-10)

    🩹 Fixes

    • core: take nx-release-publish target defaults into account for implicit target (#27764)
    • release: ensure git commits containing pipe can be parsed reliably (#27840)

    ❤️ Thank You

    19.7.1 (2024-09-10)

    🚀 Features

    • release: allow local dependency version protocols to be preserved, pnpm publish support (#27787)

    🩹 Fixes

    • core: make sure sharedGlobals is referenced in default namedInputs (#27813)

    ... (truncated)

    Commits
    • 8b2393e fix(js): keep refs to ignored files and allow opting out of pruning stale ref...
    • 431fe2a feat(release): allow local dependency version protocols to be preserved, pnpm...
    • 0c449b4 fix(release): respect updateDependents being explicitly disabled in conventio...
    • 4766031 feat(js): add metadata to the typescript inferred tasks (#27806)
    • e71e2f3 Revert "feat(core): add shutdown lifecycle hook to node executor" (#27794)
    • 1108ebf fix(release): support forwarding the --access flag to npm publish (#27765)
    • 7171536 fix(release): version plan changelogs should contain authors and refs (#27737)
    • d1c901d fix(js): respect "watch" option when "runBuildTargetDependencies" is true (#2...
    • 088a95b chore(repo): update to pnpm 9 (#27624)
    • 00710b9 fix(js): fix verdaccio windows for registry (#27350)
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@nx/js&package-manager=npm_and_yarn&previous-version=19.6.1&new-version=19.7.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/package.json | 2 +- lambdas/yarn.lock | 187 ++++++++++++++++++++++--------------------- 2 files changed, 95 insertions(+), 94 deletions(-) diff --git a/lambdas/package.json b/lambdas/package.json index 41fabfc7f1..fe50b0b7f9 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -23,7 +23,7 @@ "devDependencies": { "@nx/eslint": "19.5.7", "@nx/jest": "19.5.4", - "@nx/js": "^19.6.1", + "@nx/js": "^19.7.3", "@swc-node/register": "~1.10.9", "@swc/core": "~1.7.22", "@swc/helpers": "~0.5.12", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 149c26ac92..b62c0e714e 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -3181,12 +3181,12 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:19.6.1": - version: 19.6.1 - resolution: "@nrwl/devkit@npm:19.6.1" +"@nrwl/devkit@npm:19.7.3": + version: 19.7.3 + resolution: "@nrwl/devkit@npm:19.7.3" dependencies: - "@nx/devkit": "npm:19.6.1" - checksum: 10c0/eec10960ae0d8da22818a52059ddd8bdc859ba2993d4c8cc91be3adf6c6a7d90a81ffd77371d76c0fad95534340eeff0a2eb02a668b2dfea1bc62d660efba8b3 + "@nx/devkit": "npm:19.7.3" + checksum: 10c0/578440a4fda547ee781af211312929138515d566498cac79e9fda036d08cb91ab6edd9e6feb99fdf4dc98da57821c8faef7fc0cfae7ddad9a0d8f2f9748efcc8 languageName: node linkType: hard @@ -3217,12 +3217,12 @@ __metadata: languageName: node linkType: hard -"@nrwl/js@npm:19.6.1": - version: 19.6.1 - resolution: "@nrwl/js@npm:19.6.1" +"@nrwl/js@npm:19.7.3": + version: 19.7.3 + resolution: "@nrwl/js@npm:19.7.3" dependencies: - "@nx/js": "npm:19.6.1" - checksum: 10c0/93c2cd1dca46d0e9d85d9cedbc8cfb38eecfad304bc66816353dc2fe28cdff9fcf0ff97907459e804c59c6aa08cbd6d40f493b5532884602eed50f8a2e03808e + "@nx/js": "npm:19.7.3" + checksum: 10c0/6fc1993a9fb8c9ab897d2043457b024628de2d5eddca139869f93b08ca73a0591072e84a9b4078403cd94d698ec995bb1836a4ef34aece37a4dceae2cf836f6a languageName: node linkType: hard @@ -3250,15 +3250,15 @@ __metadata: languageName: node linkType: hard -"@nrwl/tao@npm:19.6.1": - version: 19.6.1 - resolution: "@nrwl/tao@npm:19.6.1" +"@nrwl/tao@npm:19.7.3": + version: 19.7.3 + resolution: "@nrwl/tao@npm:19.7.3" dependencies: - nx: "npm:19.6.1" + nx: "npm:19.7.3" tslib: "npm:^2.3.0" bin: tao: index.js - checksum: 10c0/14125fc1a7ecec6100ad1370e85f1bdce5cb44b35eda2a3e89ec911d2ef5e46835745de5ac24b6b45ab4023b4ba17e13baacaaf575be69066cf935bdbd85a091 + checksum: 10c0/af16f1670c0aaa3e2d12598918124ba2e15f24a2c274aed6ac01be4342c718971e10a8f201f6a7521e65dfd1a0b134767a7b3cf3280824de920e76ca02ec8fa1 languageName: node linkType: hard @@ -3280,12 +3280,12 @@ __metadata: languageName: node linkType: hard -"@nrwl/workspace@npm:19.6.1": - version: 19.6.1 - resolution: "@nrwl/workspace@npm:19.6.1" +"@nrwl/workspace@npm:19.7.3": + version: 19.7.3 + resolution: "@nrwl/workspace@npm:19.7.3" dependencies: - "@nx/workspace": "npm:19.6.1" - checksum: 10c0/c2c3fd74840f3ad6a5b6ea1d9b2f561f5f5e1f44bbba01c44bc572e32ca370163060e6f99d766d2e8d8482e999e6447d7e071ee94ece52cbe64b1fd550b4c68b + "@nx/workspace": "npm:19.7.3" + checksum: 10c0/d4ddada31bee4cb564182315e2df74aef60b437e2ad2e1cfde784fd4bcb7b5b38372ffd5f66b920876f2c2fd7cdb5ca9438e5b66044f75a3399eee2811249391 languageName: node linkType: hard @@ -3327,11 +3327,11 @@ __metadata: languageName: node linkType: hard -"@nx/devkit@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/devkit@npm:19.6.1" +"@nx/devkit@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/devkit@npm:19.7.3" dependencies: - "@nrwl/devkit": "npm:19.6.1" + "@nrwl/devkit": "npm:19.7.3" ejs: "npm:^3.1.7" enquirer: "npm:~2.3.6" ignore: "npm:^5.0.4" @@ -3342,7 +3342,7 @@ __metadata: yargs-parser: "npm:21.1.1" peerDependencies: nx: ">= 17 <= 20" - checksum: 10c0/70c470c4168dea1c631123eccd9187681044cbc274fae072ba4a7f20a2debb53a7017d85fe838b9a4a2cbded940f2e904ac6a224e881f46bf48c397724d5d958 + checksum: 10c0/d8812da070d74776f38432080731daaeee78d7b6a29c6c45659d925cea374bcd868a035ca4eb032bdcd92345d386537ec49aebca1da16eb1f5f99d45a69bae7c languageName: node linkType: hard @@ -3473,9 +3473,9 @@ __metadata: languageName: node linkType: hard -"@nx/js@npm:19.6.1, @nx/js@npm:^19.6.1": - version: 19.6.1 - resolution: "@nx/js@npm:19.6.1" +"@nx/js@npm:19.7.3, @nx/js@npm:^19.7.3": + version: 19.7.3 + resolution: "@nx/js@npm:19.7.3" dependencies: "@babel/core": "npm:^7.23.2" "@babel/plugin-proposal-decorators": "npm:^7.22.7" @@ -3484,9 +3484,9 @@ __metadata: "@babel/preset-env": "npm:^7.23.2" "@babel/preset-typescript": "npm:^7.22.5" "@babel/runtime": "npm:^7.22.6" - "@nrwl/js": "npm:19.6.1" - "@nx/devkit": "npm:19.6.1" - "@nx/workspace": "npm:19.6.1" + "@nrwl/js": "npm:19.7.3" + "@nx/devkit": "npm:19.7.3" + "@nx/workspace": "npm:19.7.3" babel-plugin-const-enum: "npm:^1.0.1" babel-plugin-macros: "npm:^2.8.0" babel-plugin-transform-typescript-metadata: "npm:^0.3.1" @@ -3497,6 +3497,7 @@ __metadata: fs-extra: "npm:^11.1.0" ignore: "npm:^5.0.4" js-tokens: "npm:^4.0.0" + jsonc-parser: "npm:3.2.0" minimatch: "npm:9.0.3" npm-package-arg: "npm:11.0.1" npm-run-path: "npm:^4.0.1" @@ -3511,7 +3512,7 @@ __metadata: peerDependenciesMeta: verdaccio: optional: true - checksum: 10c0/d308fab3359ce4a5769e13c40f36c2ec93ea2f5e323f1ff5ee8530479f5b7251a8327cff8e3910bb1a324f11696cb8bb70c59739154865059227c042dd2f739e + checksum: 10c0/81e6a25c19317cc7c4bc34ac8fdda84da955d8cde77964f60cf17c3ec0b520b1944a6f014493db97ba4f6ca80eaef93d64d4e133cd165e78eb3978af6dcd5541 languageName: node linkType: hard @@ -3538,9 +3539,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-darwin-arm64@npm:19.6.1" +"@nx/nx-darwin-arm64@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-darwin-arm64@npm:19.7.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -3559,9 +3560,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-darwin-x64@npm:19.6.1" +"@nx/nx-darwin-x64@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-darwin-x64@npm:19.7.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -3580,9 +3581,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-freebsd-x64@npm:19.6.1" +"@nx/nx-freebsd-x64@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-freebsd-x64@npm:19.7.3" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -3601,9 +3602,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.6.1" +"@nx/nx-linux-arm-gnueabihf@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.7.3" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -3622,9 +3623,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-linux-arm64-gnu@npm:19.6.1" +"@nx/nx-linux-arm64-gnu@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.7.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -3643,9 +3644,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-linux-arm64-musl@npm:19.6.1" +"@nx/nx-linux-arm64-musl@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-linux-arm64-musl@npm:19.7.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -3664,9 +3665,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-linux-x64-gnu@npm:19.6.1" +"@nx/nx-linux-x64-gnu@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-linux-x64-gnu@npm:19.7.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -3685,9 +3686,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-linux-x64-musl@npm:19.6.1" +"@nx/nx-linux-x64-musl@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-linux-x64-musl@npm:19.7.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -3706,9 +3707,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-win32-arm64-msvc@npm:19.6.1" +"@nx/nx-win32-arm64-msvc@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.7.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -3727,9 +3728,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/nx-win32-x64-msvc@npm:19.6.1" +"@nx/nx-win32-x64-msvc@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/nx-win32-x64-msvc@npm:19.7.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3764,18 +3765,18 @@ __metadata: languageName: node linkType: hard -"@nx/workspace@npm:19.6.1": - version: 19.6.1 - resolution: "@nx/workspace@npm:19.6.1" +"@nx/workspace@npm:19.7.3": + version: 19.7.3 + resolution: "@nx/workspace@npm:19.7.3" dependencies: - "@nrwl/workspace": "npm:19.6.1" - "@nx/devkit": "npm:19.6.1" + "@nrwl/workspace": "npm:19.7.3" + "@nx/devkit": "npm:19.7.3" chalk: "npm:^4.1.0" enquirer: "npm:~2.3.6" - nx: "npm:19.6.1" + nx: "npm:19.7.3" tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" - checksum: 10c0/55e1c8592191992c4ac81d459ceb06e6b269cce0bbbe06dbc1d105e2a897612160aadc44c490c7958ab1d47868e3688e3d439586c82430f98f8123a7225bf758 + checksum: 10c0/c20cde59b7b4d7c89591a67e02db1deae36be58b6ea6e9d5b746f3c3e1a5cb20d8d8d9d02b4419a1e25c56c87bb357138754bc3b0e4bcda9726f058b5009c756 languageName: node linkType: hard @@ -8722,7 +8723,7 @@ __metadata: dependencies: "@nx/eslint": "npm:19.5.7" "@nx/jest": "npm:19.5.4" - "@nx/js": "npm:^19.6.1" + "@nx/js": "npm:^19.7.3" "@swc-node/register": "npm:~1.10.9" "@swc/core": "npm:~1.7.22" "@swc/helpers": "npm:~0.5.12" @@ -8751,6 +8752,13 @@ __metadata: languageName: node linkType: hard +"lines-and-columns@npm:2.0.3, lines-and-columns@npm:~2.0.3": + version: 2.0.3 + resolution: "lines-and-columns@npm:2.0.3" + checksum: 10c0/09525c10010a925b7efe858f1dd3184eeac34f0a9bc34993075ec490efad71e948147746b18e9540279cc87cd44085b038f986903db3de65ffe96d38a7b91c4c + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -8758,13 +8766,6 @@ __metadata: languageName: node linkType: hard -"lines-and-columns@npm:~2.0.3": - version: 2.0.3 - resolution: "lines-and-columns@npm:2.0.3" - checksum: 10c0/09525c10010a925b7efe858f1dd3184eeac34f0a9bc34993075ec490efad71e948147746b18e9540279cc87cd44085b038f986903db3de65ffe96d38a7b91c4c - languageName: node - linkType: hard - "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -9483,22 +9484,22 @@ __metadata: languageName: node linkType: hard -"nx@npm:19.6.1": - version: 19.6.1 - resolution: "nx@npm:19.6.1" +"nx@npm:19.7.3": + version: 19.7.3 + resolution: "nx@npm:19.7.3" dependencies: "@napi-rs/wasm-runtime": "npm:0.2.4" - "@nrwl/tao": "npm:19.6.1" - "@nx/nx-darwin-arm64": "npm:19.6.1" - "@nx/nx-darwin-x64": "npm:19.6.1" - "@nx/nx-freebsd-x64": "npm:19.6.1" - "@nx/nx-linux-arm-gnueabihf": "npm:19.6.1" - "@nx/nx-linux-arm64-gnu": "npm:19.6.1" - "@nx/nx-linux-arm64-musl": "npm:19.6.1" - "@nx/nx-linux-x64-gnu": "npm:19.6.1" - "@nx/nx-linux-x64-musl": "npm:19.6.1" - "@nx/nx-win32-arm64-msvc": "npm:19.6.1" - "@nx/nx-win32-x64-msvc": "npm:19.6.1" + "@nrwl/tao": "npm:19.7.3" + "@nx/nx-darwin-arm64": "npm:19.7.3" + "@nx/nx-darwin-x64": "npm:19.7.3" + "@nx/nx-freebsd-x64": "npm:19.7.3" + "@nx/nx-linux-arm-gnueabihf": "npm:19.7.3" + "@nx/nx-linux-arm64-gnu": "npm:19.7.3" + "@nx/nx-linux-arm64-musl": "npm:19.7.3" + "@nx/nx-linux-x64-gnu": "npm:19.7.3" + "@nx/nx-linux-x64-musl": "npm:19.7.3" + "@nx/nx-win32-arm64-msvc": "npm:19.7.3" + "@nx/nx-win32-x64-msvc": "npm:19.7.3" "@yarnpkg/lockfile": "npm:^1.1.0" "@yarnpkg/parsers": "npm:3.0.0-rc.46" "@zkochan/js-yaml": "npm:0.0.7" @@ -9517,7 +9518,7 @@ __metadata: ignore: "npm:^5.0.4" jest-diff: "npm:^29.4.1" jsonc-parser: "npm:3.2.0" - lines-and-columns: "npm:~2.0.3" + lines-and-columns: "npm:2.0.3" minimatch: "npm:9.0.3" node-machine-id: "npm:1.1.12" npm-run-path: "npm:^4.0.1" @@ -9564,7 +9565,7 @@ __metadata: bin: nx: bin/nx.js nx-cloud: bin/nx-cloud.js - checksum: 10c0/a27d249776e924fe28c1c961e25e890dabc0b701e6dee425ed115b4819371f56042fd5490ce1d4d4ccfd7c8fad3e7b816a051e689487312372c23e68920da033 + checksum: 10c0/486d9be5076e7ee012fb63b199b178c7386e9d9a8e918ea3705d9203481e991bc1fa2abc1f66b3c3f402b81db1c5ef3af8bf5ee7dcd142e356828da44d3cb217 languageName: node linkType: hard From 02bec5a0ac72a62d7624d213e9b9764ef0c39ba6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:20:51 +0100 Subject: [PATCH 67/90] chore(lambda): bump express from 4.19.2 to 4.20.0 in /lambdas (#4136) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.20.0.
    Release notes

    Sourced from express's releases.

    4.20.0

    What's Changed

    Important

    • IMPORTANT: The default depth level for parsing URL-encoded data is now 32 (previously was Infinity)
    • Remove link renderization in html while using res.redirect

    Other Changes

    New Contributors

    Full Changelog: https://github.com/expressjs/express/compare/4.19.1...4.20.0

    Changelog

    Sourced from express's changelog.

    4.20.0 / 2024-09-10

    • deps: serve-static@0.16.0
      • Remove link renderization in html while redirecting
    • deps: send@0.19.0
      • Remove link renderization in html while redirecting
    • deps: body-parser@0.6.0
      • add depth option to customize the depth level in the parser
      • IMPORTANT: The default depth level for parsing URL-encoded data is now 32 (previously was Infinity)
    • Remove link renderization in html while using res.redirect
    • deps: path-to-regexp@0.1.10
      • Adds support for named matching groups in the routes using a regex
      • Adds backtracking protection to parameters without regexes defined
    • deps: encodeurl@~2.0.0
      • Removes encoding of \, |, and ^ to align better with URL spec
    • Deprecate passing options.maxAge and options.expires to res.clearCookie
      • Will be ignored in v5, clearCookie will set a cookie with an expires in the past to instruct clients to delete the cookie
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=express&package-manager=npm_and_yarn&previous-version=4.19.2&new-version=4.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/philips-labs/terraform-aws-github-runner/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 216 ++++++++++++++---- 4 files changed, 180 insertions(+), 42 deletions(-) diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 30d9c03de2..edd9fb0f0c 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -27,7 +27,7 @@ "body-parser": "^1.20.2", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", - "express": "^4.19.2", + "express": "^4.20.0", "jest": "^29.7.0", "jest-mock": "^29.7.0", "nock": "^13.5.4", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 863d5d81af..29c3bd8592 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -25,7 +25,7 @@ "body-parser": "^1.20.2", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", - "express": "^4.19.2", + "express": "^4.20.0", "jest": "^29.7.0", "jest-mock": "^29.7.0", "nock": "^13.5.4", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 5c0e891b15..f30b8a4f70 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -25,7 +25,7 @@ "body-parser": "^1.20.2", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", - "express": "^4.19.2", + "express": "^4.20.0", "jest": "^29.7.0", "jest-mock": "^29.7.0", "nock": "^13.5.4", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index b62c0e714e..697bff6c9c 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -149,7 +149,7 @@ __metadata: body-parser: "npm:^1.20.2" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" - express: "npm:^4.19.2" + express: "npm:^4.20.0" jest: "npm:^29.7.0" jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" @@ -178,7 +178,7 @@ __metadata: body-parser: "npm:^1.20.2" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" - express: "npm:^4.19.2" + express: "npm:^4.20.0" jest: "npm:^29.7.0" jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" @@ -316,7 +316,7 @@ __metadata: body-parser: "npm:^1.20.2" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" - express: "npm:^4.19.2" + express: "npm:^4.20.0" jest: "npm:^29.7.0" jest-mock: "npm:^29.7.0" nock: "npm:^13.5.4" @@ -5984,7 +5984,27 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.2, body-parser@npm:^1.20.2": +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 + languageName: node + linkType: hard + +"body-parser@npm:^1.20.2": version: 1.20.2 resolution: "body-parser@npm:1.20.2" dependencies: @@ -6166,6 +6186,19 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.1" + checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + languageName: node + linkType: hard + "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -6566,6 +6599,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -6770,6 +6814,13 @@ __metadata: languageName: node linkType: hard +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -6820,6 +6871,22 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -7058,42 +7125,42 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.19.2": - version: 4.19.2 - resolution: "express@npm:4.19.2" +"express@npm:^4.20.0": + version: 4.21.0 + resolution: "express@npm:4.21.0" dependencies: accepts: "npm:~1.3.8" array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.2" + body-parser: "npm:1.20.3" content-disposition: "npm:0.5.4" content-type: "npm:~1.0.4" cookie: "npm:0.6.0" cookie-signature: "npm:1.0.6" debug: "npm:2.6.9" depd: "npm:2.0.0" - encodeurl: "npm:~1.0.2" + encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" etag: "npm:~1.8.1" - finalhandler: "npm:1.2.0" + finalhandler: "npm:1.3.1" fresh: "npm:0.5.2" http-errors: "npm:2.0.0" - merge-descriptors: "npm:1.0.1" + merge-descriptors: "npm:1.0.3" methods: "npm:~1.1.2" on-finished: "npm:2.4.1" parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.7" + path-to-regexp: "npm:0.1.10" proxy-addr: "npm:~2.0.7" - qs: "npm:6.11.0" + qs: "npm:6.13.0" range-parser: "npm:~1.2.1" safe-buffer: "npm:5.2.1" - send: "npm:0.18.0" - serve-static: "npm:1.15.0" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" setprototypeof: "npm:1.2.0" statuses: "npm:2.0.1" type-is: "npm:~1.6.18" utils-merge: "npm:1.0.1" vary: "npm:~1.1.2" - checksum: 10c0/e82e2662ea9971c1407aea9fc3c16d6b963e55e3830cd0ef5e00b533feda8b770af4e3be630488ef8a752d7c75c4fcefb15892868eeaafe7353cb9e3e269fdcb + checksum: 10c0/4cf7ca328f3fdeb720f30ccb2ea7708bfa7d345f9cc460b64a82bf1b2c91e5b5852ba15a9a11b2a165d6089acf83457fc477dc904d59cd71ed34c7a91762c6cc languageName: node linkType: hard @@ -7216,18 +7283,18 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.2.0": - version: 1.2.0 - resolution: "finalhandler@npm:1.2.0" +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" dependencies: debug: "npm:2.6.9" - encodeurl: "npm:~1.0.2" + encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" on-finished: "npm:2.4.1" parseurl: "npm:~1.3.3" statuses: "npm:2.0.1" unpipe: "npm:~1.0.0" - checksum: 10c0/64b7e5ff2ad1fcb14931cd012651631b721ce657da24aedb5650ddde9378bf8e95daa451da43398123f5de161a81e79ff5affe4f9f2a6d2df4a813d6d3e254b7 + checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f languageName: node linkType: hard @@ -7446,6 +7513,19 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -7589,6 +7669,22 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 + languageName: node + linkType: hard + "has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": version: 1.0.3 resolution: "has-symbols@npm:1.0.3" @@ -8953,10 +9049,10 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1": - version: 1.0.1 - resolution: "merge-descriptors@npm:1.0.1" - checksum: 10c0/b67d07bd44cfc45cebdec349bb6e1f7b077ee2fd5beb15d1f7af073849208cb6f144fe403e29a36571baf3f4e86469ac39acf13c318381e958e186b2766f54ec +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 languageName: node linkType: hard @@ -9569,6 +9665,13 @@ __metadata: languageName: node linkType: hard +"object-inspect@npm:^1.13.1": + version: 1.13.2 + resolution: "object-inspect@npm:1.13.2" + checksum: 10c0/b97835b4c91ec37b5fd71add84f21c3f1047d1d155d00c0fcd6699516c256d4fcc6ff17a1aced873197fe447f91a3964178fd2a67a1ee2120cdaf60e81a050b4 + languageName: node + linkType: hard + "object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" @@ -9811,10 +9914,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:0.1.7": - version: 0.1.7 - resolution: "path-to-regexp@npm:0.1.7" - checksum: 10c0/50a1ddb1af41a9e68bd67ca8e331a705899d16fb720a1ea3a41e310480948387daf603abb14d7b0826c58f10146d49050a1291ba6a82b78a382d1c02c0b8f905 +"path-to-regexp@npm:0.1.10": + version: 0.1.10 + resolution: "path-to-regexp@npm:0.1.10" + checksum: 10c0/34196775b9113ca6df88e94c8d83ba82c0e1a2063dd33bfe2803a980da8d49b91db8104f49d5191b44ea780d46b8670ce2b7f4a5e349b0c48c6779b653f1afe4 languageName: node linkType: hard @@ -9986,6 +10089,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + languageName: node + linkType: hard + "querystring@npm:0.2.0": version: 0.2.0 resolution: "querystring@npm:0.2.0" @@ -10285,9 +10397,9 @@ __metadata: languageName: node linkType: hard -"send@npm:0.18.0": - version: 0.18.0 - resolution: "send@npm:0.18.0" +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" dependencies: debug: "npm:2.6.9" depd: "npm:2.0.0" @@ -10302,19 +10414,33 @@ __metadata: on-finished: "npm:2.4.1" range-parser: "npm:~1.2.1" statuses: "npm:2.0.1" - checksum: 10c0/0eb134d6a51fc13bbcb976a1f4214ea1e33f242fae046efc311e80aff66c7a43603e26a79d9d06670283a13000e51be6e0a2cb80ff0942eaf9f1cd30b7ae736a + checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 languageName: node linkType: hard -"serve-static@npm:1.15.0": - version: 1.15.0 - resolution: "serve-static@npm:1.15.0" +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" dependencies: - encodeurl: "npm:~1.0.2" + encodeurl: "npm:~2.0.0" escape-html: "npm:~1.0.3" parseurl: "npm:~1.3.3" - send: "npm:0.18.0" - checksum: 10c0/fa9f0e21a540a28f301258dfe1e57bb4f81cd460d28f0e973860477dd4acef946a1f41748b5bd41c73b621bea2029569c935faa38578fd34cd42a9b4947088ba + send: "npm:0.19.0" + checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f + languageName: node + linkType: hard + +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/82850e62f412a258b71e123d4ed3873fa9377c216809551192bb6769329340176f109c2eeae8c22a8d386c76739855f78e8716515c818bcaef384b51110f0f3c languageName: node linkType: hard @@ -10359,6 +10485,18 @@ __metadata: languageName: node linkType: hard +"side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + object-inspect: "npm:^1.13.1" + checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + languageName: node + linkType: hard + "signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" From bfcd30d0d8b051eaf4e23d9d2156162f8eba37d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:25:14 +0100 Subject: [PATCH 68/90] chore(lambda): bump body-parser from 1.20.2 to 1.20.3 in /lambdas (#4135) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.2 to 1.20.3.
    Release notes

    Sourced from body-parser's releases.

    1.20.3

    What's Changed

    Important

    • deps: qs@6.13.0
    • add depth option to customize the depth level in the parser
    • IMPORTANT: The default depth level for parsing URL-encoded data is now 32 (previously was Infinity). Documentation

    Other changes

    New Contributors

    Full Changelog: https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3

    Changelog

    Sourced from body-parser's changelog.

    1.20.3 / 2024-09-10

    • deps: qs@6.13.0
    • add depth option to customize the depth level in the parser
    • IMPORTANT: The default depth level for parsing URL-encoded data is now 32 (previously was Infinity)
    Commits
    Maintainer changes

    This version was pushed to npm by ulisesgascon, a new releaser for body-parser since your current version.


    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=body-parser&package-manager=npm_and_yarn&previous-version=1.20.2&new-version=1.20.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/philips-labs/terraform-aws-github-runner/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 57 ++----------------- 4 files changed, 8 insertions(+), 55 deletions(-) diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index edd9fb0f0c..7f6e3b4009 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -24,7 +24,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", - "body-parser": "^1.20.2", + "body-parser": "^1.20.3", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", "express": "^4.20.0", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 29c3bd8592..f5f2e9e769 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -22,7 +22,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", - "body-parser": "^1.20.2", + "body-parser": "^1.20.3", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", "express": "^4.20.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index f30b8a4f70..8330539cca 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -22,7 +22,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "0.38.1", - "body-parser": "^1.20.2", + "body-parser": "^1.20.3", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", "express": "^4.20.0", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 697bff6c9c..7521ec94af 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -146,7 +146,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" aws-lambda: "npm:^1.0.7" - body-parser: "npm:^1.20.2" + body-parser: "npm:^1.20.3" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" express: "npm:^4.20.0" @@ -175,7 +175,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" - body-parser: "npm:^1.20.2" + body-parser: "npm:^1.20.3" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" express: "npm:^4.20.0" @@ -313,7 +313,7 @@ __metadata: "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:0.38.1" aws-lambda: "npm:^1.0.7" - body-parser: "npm:^1.20.2" + body-parser: "npm:^1.20.3" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" express: "npm:^4.20.0" @@ -5984,7 +5984,7 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.3": +"body-parser@npm:1.20.3, body-parser@npm:^1.20.3": version: 1.20.3 resolution: "body-parser@npm:1.20.3" dependencies: @@ -6004,26 +6004,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:^1.20.2": - version: 1.20.2 - resolution: "body-parser@npm:1.20.2" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.11.0" - raw-body: "npm:2.5.2" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10c0/06f1438fff388a2e2354c96aa3ea8147b79bfcb1262dfcc2aae68ec13723d01d5781680657b74e9f83c808266d5baf52804032fbde2b7382b89bd8cdb273ace9 - languageName: node - linkType: hard - "bottleneck@npm:^2.15.3": version: 2.19.5 resolution: "bottleneck@npm:2.19.5" @@ -6176,7 +6156,7 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": +"call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" dependencies: @@ -9672,13 +9652,6 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: 10c0/752bb5f4dc595e214157ea8f442adb77bdb850ace762b078d151d8b6486331ab12364997a89ee6509be1023b15adf2b3774437a7105f8a5043dfda11ed622411 - languageName: node - linkType: hard - "on-finished@npm:2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" @@ -10080,15 +10053,6 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.11.0": - version: 6.11.0 - resolution: "qs@npm:6.11.0" - dependencies: - side-channel: "npm:^1.0.4" - checksum: 10c0/4e4875e4d7c7c31c233d07a448e7e4650f456178b9dd3766b7cfa13158fdb24ecb8c4f059fa91e820dc6ab9f2d243721d071c9c0378892dcdad86e9e9a27c68f - languageName: node - linkType: hard - "qs@npm:6.13.0": version: 6.13.0 resolution: "qs@npm:6.13.0" @@ -10474,17 +10438,6 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4": - version: 1.0.4 - resolution: "side-channel@npm:1.0.4" - dependencies: - call-bind: "npm:^1.0.0" - get-intrinsic: "npm:^1.0.2" - object-inspect: "npm:^1.9.0" - checksum: 10c0/054a5d23ee35054b2c4609b9fd2a0587760737782b5d765a9c7852264710cc39c6dcb56a9bbd6c12cd84071648aea3edb2359d2f6e560677eedadce511ac1da5 - languageName: node - linkType: hard - "side-channel@npm:^1.0.6": version: 1.0.6 resolution: "side-channel@npm:1.0.6" From ab2605f92d8dd8e297c3b063e589d17005330b00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:28:52 +0100 Subject: [PATCH 69/90] fix(lambda): bump the aws-powertools group in /lambdas with 4 updates (#4129) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws-powertools group in /lambdas with 4 updates: [@aws-lambda-powertools/parameters](https://github.com/aws-powertools/powertools-lambda-typescript), [@aws-lambda-powertools/logger](https://github.com/aws-powertools/powertools-lambda-typescript), [@aws-lambda-powertools/metrics](https://github.com/aws-powertools/powertools-lambda-typescript) and [@aws-lambda-powertools/tracer](https://github.com/aws-powertools/powertools-lambda-typescript). Updates `@aws-lambda-powertools/parameters` from 2.7.0 to 2.8.0
    Release notes

    Sourced from @​aws-lambda-powertools/parameters's releases.

    v2.8.0

    Summary

    This release introduces 1/ the ability store parameters on AWS System Manager Parameter Store using the Parameters utility, and 2/ a new option for Logger that you can use to specify the order of how keys appear in your JSON-structured logs.

    We are also adding a new TRACE log level to align with AWS Lambda Advanced Logging Controls (ALC), and improved made improvements to errors in the Idempotency utility, which now include more details on the cause of the error.

    Finally, you can now use our public AWS Lambda Layers in two new AWS Regions: ap-south-2 and me-central-1.

    ⭐️ Thanks to @​daschaa, @​arnabrahman, and @​timo92 for their contributions to this release!

    Store parameters using SSM

    Docs

    In response to customer requests, you can now store parameters using AWS System Manager Parameter Store with the setParameter function. This new helper function fits right in with the other Parameters features you know and love, and provides a seamless experience without having to deal with the AWS SDK.

    carbon-3

    A big thank you to @​daschaa for working on this feature!

    Specify log keys order

    Docs

    You can now change the order of the keys in your logs via the logRecordOrder constructor parameter when using Logger. This is useful when you want to customize how the logs are structured without having to create and maintain your own custom log formatter.

    carbon-4

    When you specify one or more keys in the logRecordOrder we’ll place these keys first, followed by all the other keys in the log.

    Thank you to @​arnabrahman for adding this feature!

    v1.x Reached End-of-Life (EOL)

    Starting from September 1st 2024, v1.x of Powertools for AWS Lambda (TypeScript) has reached EOL and will not receive any further updates in accordance with our Versioning Policy.

    We recommend you to upgrade to v2.x as soon as possible to continue receiving new feature and bug fixes. If you are having issues migrating and need support, please reach out via one of our channels or open a discussion on our repo.

    Changes

    ... (truncated)

    Changelog

    Sourced from @​aws-lambda-powertools/parameters's changelog.

    2.8.0 (2024-09-16)

    Bug Fixes

    • idempotency: include cause in idempotency persistence layer error (#2916) (47f0161)
    • tracer: include request pathname in trace data (#2955) (6864e53)

    Features

    • logger: introduce log key reordering functionality (#2736) (9677258)
    • logger: introduce loglevel trace #1589 (#2902) (650252c)
    • parameters: adds setParameter function to store SSM parameters (#3020) (8fd5479)
    Commits
    • af831b8 chore(ci): bump version to 2.8.0 (#3072)
    • e0cb52c chore(deps-dev): bump path-to-regexp to 6.3.0 (#3070)
    • 16f49b0 chore(deps): bump github/codeql-action from 3.26.6 to 3.26.7 (#3064)
    • e9adac4 chore(deps): bump the aws-sdk-v3 group across 1 directory with 9 updates (#3066)
    • 3a27424 chore(deps-dev): bump @​types/jest from 29.5.12 to 29.5.13 (#3063)
    • 078ccb5 chore(deps-dev): bump tsx from 4.19.0 to 4.19.1 (#3062)
    • 270afe5 chore(deps): bump vscode/devcontainers/javascript-node from aedf26c to `f1e...
    • db26958 improv(logger): streamline Logger types (#3054)
    • c0d2158 improv(tracer): set AWS_XRAY_CONTEXT_MISSING to IGNORE_ERROR when no valu...
    • 8a463ad chore(deps-dev): bump @​biomejs/biome from 1.8.3 to 1.9.0 (#3052)
    • Additional commits viewable in compare view

    Updates `@aws-lambda-powertools/logger` from 2.7.0 to 2.8.0
    Release notes

    Sourced from @​aws-lambda-powertools/logger's releases.

    v2.8.0

    Summary

    This release introduces 1/ the ability store parameters on AWS System Manager Parameter Store using the Parameters utility, and 2/ a new option for Logger that you can use to specify the order of how keys appear in your JSON-structured logs.

    We are also adding a new TRACE log level to align with AWS Lambda Advanced Logging Controls (ALC), and improved made improvements to errors in the Idempotency utility, which now include more details on the cause of the error.

    Finally, you can now use our public AWS Lambda Layers in two new AWS Regions: ap-south-2 and me-central-1.

    ⭐️ Thanks to @​daschaa, @​arnabrahman, and @​timo92 for their contributions to this release!

    Store parameters using SSM

    Docs

    In response to customer requests, you can now store parameters using AWS System Manager Parameter Store with the setParameter function. This new helper function fits right in with the other Parameters features you know and love, and provides a seamless experience without having to deal with the AWS SDK.

    carbon-3

    A big thank you to @​daschaa for working on this feature!

    Specify log keys order

    Docs

    You can now change the order of the keys in your logs via the logRecordOrder constructor parameter when using Logger. This is useful when you want to customize how the logs are structured without having to create and maintain your own custom log formatter.

    carbon-4

    When you specify one or more keys in the logRecordOrder we’ll place these keys first, followed by all the other keys in the log.

    Thank you to @​arnabrahman for adding this feature!

    v1.x Reached End-of-Life (EOL)

    Starting from September 1st 2024, v1.x of Powertools for AWS Lambda (TypeScript) has reached EOL and will not receive any further updates in accordance with our Versioning Policy.

    We recommend you to upgrade to v2.x as soon as possible to continue receiving new feature and bug fixes. If you are having issues migrating and need support, please reach out via one of our channels or open a discussion on our repo.

    Changes

    ... (truncated)

    Changelog

    Sourced from @​aws-lambda-powertools/logger's changelog.

    2.8.0 (2024-09-16)

    Bug Fixes

    • idempotency: include cause in idempotency persistence layer error (#2916) (47f0161)
    • tracer: include request pathname in trace data (#2955) (6864e53)

    Features

    • logger: introduce log key reordering functionality (#2736) (9677258)
    • logger: introduce loglevel trace #1589 (#2902) (650252c)
    • parameters: adds setParameter function to store SSM parameters (#3020) (8fd5479)
    Commits
    • af831b8 chore(ci): bump version to 2.8.0 (#3072)
    • e0cb52c chore(deps-dev): bump path-to-regexp to 6.3.0 (#3070)
    • 16f49b0 chore(deps): bump github/codeql-action from 3.26.6 to 3.26.7 (#3064)
    • e9adac4 chore(deps): bump the aws-sdk-v3 group across 1 directory with 9 updates (#3066)
    • 3a27424 chore(deps-dev): bump @​types/jest from 29.5.12 to 29.5.13 (#3063)
    • 078ccb5 chore(deps-dev): bump tsx from 4.19.0 to 4.19.1 (#3062)
    • 270afe5 chore(deps): bump vscode/devcontainers/javascript-node from aedf26c to `f1e...
    • db26958 improv(logger): streamline Logger types (#3054)
    • c0d2158 improv(tracer): set AWS_XRAY_CONTEXT_MISSING to IGNORE_ERROR when no valu...
    • 8a463ad chore(deps-dev): bump @​biomejs/biome from 1.8.3 to 1.9.0 (#3052)
    • Additional commits viewable in compare view

    Updates `@aws-lambda-powertools/metrics` from 2.7.0 to 2.8.0
    Release notes

    Sourced from @​aws-lambda-powertools/metrics's releases.

    v2.8.0

    Summary

    This release introduces 1/ the ability store parameters on AWS System Manager Parameter Store using the Parameters utility, and 2/ a new option for Logger that you can use to specify the order of how keys appear in your JSON-structured logs.

    We are also adding a new TRACE log level to align with AWS Lambda Advanced Logging Controls (ALC), and improved made improvements to errors in the Idempotency utility, which now include more details on the cause of the error.

    Finally, you can now use our public AWS Lambda Layers in two new AWS Regions: ap-south-2 and me-central-1.

    ⭐️ Thanks to @​daschaa, @​arnabrahman, and @​timo92 for their contributions to this release!

    Store parameters using SSM

    Docs

    In response to customer requests, you can now store parameters using AWS System Manager Parameter Store with the setParameter function. This new helper function fits right in with the other Parameters features you know and love, and provides a seamless experience without having to deal with the AWS SDK.

    carbon-3

    A big thank you to @​daschaa for working on this feature!

    Specify log keys order

    Docs

    You can now change the order of the keys in your logs via the logRecordOrder constructor parameter when using Logger. This is useful when you want to customize how the logs are structured without having to create and maintain your own custom log formatter.

    carbon-4

    When you specify one or more keys in the logRecordOrder we’ll place these keys first, followed by all the other keys in the log.

    Thank you to @​arnabrahman for adding this feature!

    v1.x Reached End-of-Life (EOL)

    Starting from September 1st 2024, v1.x of Powertools for AWS Lambda (TypeScript) has reached EOL and will not receive any further updates in accordance with our Versioning Policy.

    We recommend you to upgrade to v2.x as soon as possible to continue receiving new feature and bug fixes. If you are having issues migrating and need support, please reach out via one of our channels or open a discussion on our repo.

    Changes

    ... (truncated)

    Changelog

    Sourced from @​aws-lambda-powertools/metrics's changelog.

    2.8.0 (2024-09-16)

    Bug Fixes

    • idempotency: include cause in idempotency persistence layer error (#2916) (47f0161)
    • tracer: include request pathname in trace data (#2955) (6864e53)

    Features

    • logger: introduce log key reordering functionality (#2736) (9677258)
    • logger: introduce loglevel trace #1589 (#2902) (650252c)
    • parameters: adds setParameter function to store SSM parameters (#3020) (8fd5479)
    Commits
    • af831b8 chore(ci): bump version to 2.8.0 (#3072)
    • e0cb52c chore(deps-dev): bump path-to-regexp to 6.3.0 (#3070)
    • 16f49b0 chore(deps): bump github/codeql-action from 3.26.6 to 3.26.7 (#3064)
    • e9adac4 chore(deps): bump the aws-sdk-v3 group across 1 directory with 9 updates (#3066)
    • 3a27424 chore(deps-dev): bump @​types/jest from 29.5.12 to 29.5.13 (#3063)
    • 078ccb5 chore(deps-dev): bump tsx from 4.19.0 to 4.19.1 (#3062)
    • 270afe5 chore(deps): bump vscode/devcontainers/javascript-node from aedf26c to `f1e...
    • db26958 improv(logger): streamline Logger types (#3054)
    • c0d2158 improv(tracer): set AWS_XRAY_CONTEXT_MISSING to IGNORE_ERROR when no valu...
    • 8a463ad chore(deps-dev): bump @​biomejs/biome from 1.8.3 to 1.9.0 (#3052)
    • Additional commits viewable in compare view

    Updates `@aws-lambda-powertools/tracer` from 2.7.0 to 2.8.0
    Release notes

    Sourced from @​aws-lambda-powertools/tracer's releases.

    v2.8.0

    Summary

    This release introduces 1/ the ability store parameters on AWS System Manager Parameter Store using the Parameters utility, and 2/ a new option for Logger that you can use to specify the order of how keys appear in your JSON-structured logs.

    We are also adding a new TRACE log level to align with AWS Lambda Advanced Logging Controls (ALC), and improved made improvements to errors in the Idempotency utility, which now include more details on the cause of the error.

    Finally, you can now use our public AWS Lambda Layers in two new AWS Regions: ap-south-2 and me-central-1.

    ⭐️ Thanks to @​daschaa, @​arnabrahman, and @​timo92 for their contributions to this release!

    Store parameters using SSM

    Docs

    In response to customer requests, you can now store parameters using AWS System Manager Parameter Store with the setParameter function. This new helper function fits right in with the other Parameters features you know and love, and provides a seamless experience without having to deal with the AWS SDK.

    carbon-3

    A big thank you to @​daschaa for working on this feature!

    Specify log keys order

    Docs

    You can now change the order of the keys in your logs via the logRecordOrder constructor parameter when using Logger. This is useful when you want to customize how the logs are structured without having to create and maintain your own custom log formatter.

    carbon-4

    When you specify one or more keys in the logRecordOrder we’ll place these keys first, followed by all the other keys in the log.

    Thank you to @​arnabrahman for adding this feature!

    v1.x Reached End-of-Life (EOL)

    Starting from September 1st 2024, v1.x of Powertools for AWS Lambda (TypeScript) has reached EOL and will not receive any further updates in accordance with our Versioning Policy.

    We recommend you to upgrade to v2.x as soon as possible to continue receiving new feature and bug fixes. If you are having issues migrating and need support, please reach out via one of our channels or open a discussion on our repo.

    Changes

    ... (truncated)

    Changelog

    Sourced from @​aws-lambda-powertools/tracer's changelog.

    2.8.0 (2024-09-16)

    Bug Fixes

    • idempotency: include cause in idempotency persistence layer error (#2916) (47f0161)
    • tracer: include request pathname in trace data (#2955) (6864e53)

    Features

    • logger: introduce log key reordering functionality (#2736) (9677258)
    • logger: introduce loglevel trace #1589 (#2902) (650252c)
    • parameters: adds setParameter function to store SSM parameters (#3020) (8fd5479)
    Commits
    • af831b8 chore(ci): bump version to 2.8.0 (#3072)
    • e0cb52c chore(deps-dev): bump path-to-regexp to 6.3.0 (#3070)
    • 16f49b0 chore(deps): bump github/codeql-action from 3.26.6 to 3.26.7 (#3064)
    • e9adac4 chore(deps): bump the aws-sdk-v3 group across 1 directory with 9 updates (#3066)
    • 3a27424 chore(deps-dev): bump @​types/jest from 29.5.12 to 29.5.13 (#3063)
    • 078ccb5 chore(deps-dev): bump tsx from 4.19.0 to 4.19.1 (#3062)
    • 270afe5 chore(deps): bump vscode/devcontainers/javascript-node from aedf26c to `f1e...
    • db26958 improv(logger): streamline Logger types (#3054)
    • c0d2158 improv(tracer): set AWS_XRAY_CONTEXT_MISSING to IGNORE_ERROR when no valu...
    • 8a463ad chore(deps-dev): bump @​biomejs/biome from 1.8.3 to 1.9.0 (#3052)
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/control-plane/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 6 +- lambdas/yarn.lock | 66 +++++++++---------- 3 files changed, 37 insertions(+), 37 deletions(-) diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 674e36243e..3323b7f3f9 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -40,7 +40,7 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-lambda-powertools/parameters": "^2.7.0", + "@aws-lambda-powertools/parameters": "^2.8.0", "@aws-sdk/client-ec2": "^3.645.0", "@aws-sdk/client-sqs": "^3.645.0", "@aws-sdk/types": "^3.609.0", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index f5f2e9e769..08e9cdff86 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -35,9 +35,9 @@ "typescript": "^5.5.4" }, "dependencies": { - "@aws-lambda-powertools/logger": "^2.7.0", - "@aws-lambda-powertools/metrics": "^2.7.0", - "@aws-lambda-powertools/tracer": "^2.7.0", + "@aws-lambda-powertools/logger": "^2.8.0", + "@aws-lambda-powertools/metrics": "^2.8.0", + "@aws-lambda-powertools/tracer": "^2.8.0", "aws-lambda": "^1.0.7" }, "nx": { diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 7521ec94af..049aaa18f6 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -134,9 +134,9 @@ __metadata: version: 0.0.0-use.local resolution: "@aws-github-runner/aws-powertools-util@workspace:libs/aws-powertools-util" dependencies: - "@aws-lambda-powertools/logger": "npm:^2.7.0" - "@aws-lambda-powertools/metrics": "npm:^2.7.0" - "@aws-lambda-powertools/tracer": "npm:^2.7.0" + "@aws-lambda-powertools/logger": "npm:^2.8.0" + "@aws-lambda-powertools/metrics": "npm:^2.8.0" + "@aws-lambda-powertools/tracer": "npm:^2.8.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" @@ -195,7 +195,7 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-lambda-powertools/parameters": "npm:^2.7.0" + "@aws-lambda-powertools/parameters": "npm:^2.8.0" "@aws-sdk/client-ec2": "npm:^3.645.0" "@aws-sdk/client-sqs": "npm:^3.645.0" "@aws-sdk/types": "npm:^3.609.0" @@ -327,47 +327,47 @@ __metadata: languageName: unknown linkType: soft -"@aws-lambda-powertools/commons@npm:^2.7.0": - version: 2.7.0 - resolution: "@aws-lambda-powertools/commons@npm:2.7.0" - checksum: 10c0/21048f529739148203112cadd5cd6f2b3e628ba3f393a21a8e55e27e61e64e5ab2edb68984e44a3e3b4746463ef092b39c1a207baebfe8dac77d7e65a7867850 +"@aws-lambda-powertools/commons@npm:^2.8.0": + version: 2.8.0 + resolution: "@aws-lambda-powertools/commons@npm:2.8.0" + checksum: 10c0/d8e5591e4bf56f3aaaa3015a78f5a3c7db84ff81e9b709d3317e7b79909ac34873c9533236dca829b45aae1cc87ad8519cfa3606dc3db8ac993ffa24ecd20b1a languageName: node linkType: hard -"@aws-lambda-powertools/logger@npm:^2.7.0": - version: 2.7.0 - resolution: "@aws-lambda-powertools/logger@npm:2.7.0" +"@aws-lambda-powertools/logger@npm:^2.8.0": + version: 2.8.0 + resolution: "@aws-lambda-powertools/logger@npm:2.8.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^2.7.0" + "@aws-lambda-powertools/commons": "npm:^2.8.0" lodash.merge: "npm:^4.6.2" peerDependencies: "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/c63946976f8ae6c220fcb94a979d9854f394d42d2d332f1f31c2f37bcaec6ccd263e9fe818d75a4d11a0d06f16d4c194c84c6fee7e2d8b5322f0291b5eb6686d + checksum: 10c0/464d05a2f81b5802956efa7eaac2c6a1d42edd9c78181d4e67de09ee01efe78caa5644e5517308fb67ded23dd8eb51ac282327755ab3e2c7672ec1fb26d7e5a0 languageName: node linkType: hard -"@aws-lambda-powertools/metrics@npm:^2.7.0": - version: 2.7.0 - resolution: "@aws-lambda-powertools/metrics@npm:2.7.0" +"@aws-lambda-powertools/metrics@npm:^2.8.0": + version: 2.8.0 + resolution: "@aws-lambda-powertools/metrics@npm:2.8.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^2.7.0" + "@aws-lambda-powertools/commons": "npm:^2.8.0" peerDependencies: "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/163cc5cc5b12777ff65f36273a69ae1304784eba797ebe247e382f0dbacca5a9b187fd79e9526a3ca911cd4f17a8f925db9f631de996f53784baf7d69a30c8af + checksum: 10c0/7deb11c757a77f4cca76cf212bcc648340a6dd6a52ec93f1693024280876938d62328e2ed512d94d2e5a374956bda8a3600c94826606ba78f6dbf73a59dde5b5 languageName: node linkType: hard -"@aws-lambda-powertools/parameters@npm:^2.7.0": - version: 2.7.0 - resolution: "@aws-lambda-powertools/parameters@npm:2.7.0" +"@aws-lambda-powertools/parameters@npm:^2.8.0": + version: 2.8.0 + resolution: "@aws-lambda-powertools/parameters@npm:2.8.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^2.7.0" + "@aws-lambda-powertools/commons": "npm:^2.8.0" peerDependencies: "@aws-sdk/client-appconfigdata": ">=3.x" "@aws-sdk/client-dynamodb": ">=3.x" @@ -388,22 +388,22 @@ __metadata: optional: true "@middy/core": optional: true - checksum: 10c0/7fc65a6ef975bfa2973a5babbc4e85a19e809e01b4209be491686d625810596ae51a8a4c99ff4877e898df3e045e870431677373c8f7415bcca353ddc4aab943 + checksum: 10c0/f44146f80a5ad771e0f46411b5ddf9cd72852d60491e0929e2c4546222186758716aab3a7a71b67d151b02d380033ca8eacf78f81a4b29dd95d1bc977fc8622a languageName: node linkType: hard -"@aws-lambda-powertools/tracer@npm:^2.7.0": - version: 2.7.0 - resolution: "@aws-lambda-powertools/tracer@npm:2.7.0" +"@aws-lambda-powertools/tracer@npm:^2.8.0": + version: 2.8.0 + resolution: "@aws-lambda-powertools/tracer@npm:2.8.0" dependencies: - "@aws-lambda-powertools/commons": "npm:^2.7.0" - aws-xray-sdk-core: "npm:^3.9.0" + "@aws-lambda-powertools/commons": "npm:^2.8.0" + aws-xray-sdk-core: "npm:^3.10.0" peerDependencies: "@middy/core": 4.x || 5.x peerDependenciesMeta: "@middy/core": optional: true - checksum: 10c0/67927edd4375cd473fe8a9079faaa37f591ae3c8fb5f58c70213907c2bb9e22a5ee80040300e29c3b3a8848fe49d3cc035825bc6cf23a002e02d74bddae84b9b + checksum: 10c0/2d781e5d60a905f5f829585605a9891b5f4cb8f952bf202c55ef61bb2d9f847a79787f7c3c18abf7614daa1d602aebc6c7bcbea5c6c01650da5a8cc03cd5d6b0 languageName: node linkType: hard @@ -5775,9 +5775,9 @@ __metadata: languageName: node linkType: hard -"aws-xray-sdk-core@npm:^3.9.0": - version: 3.9.0 - resolution: "aws-xray-sdk-core@npm:3.9.0" +"aws-xray-sdk-core@npm:^3.10.0": + version: 3.10.0 + resolution: "aws-xray-sdk-core@npm:3.10.0" dependencies: "@aws-sdk/types": "npm:^3.4.1" "@smithy/service-error-classification": "npm:^2.0.4" @@ -5785,7 +5785,7 @@ __metadata: atomic-batcher: "npm:^1.0.2" cls-hooked: "npm:^4.2.2" semver: "npm:^7.5.3" - checksum: 10c0/b54a1690f0bdf3d0b980d199bc96b3b912ee8c24876c4db1bdfdc5285fc36c661df1792881477f9ac5ceb91e55a74fd5179d6369e6f3779a7d5670cd5dfc5e08 + checksum: 10c0/4c8985d49974d1b880bda8d1ecea921c00200da7d5e491ab8c8a7dcaab21503ea14f1f20c22d86622531bb765ad4d4edf616d061d6f395f792d6426427a86e38 languageName: node linkType: hard From 6a9d3d0ec548b6ffedd11f5fa3721fbd874d0d8a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:36:20 +0100 Subject: [PATCH 70/90] chore(deps): bump actions/create-github-app-token from 1.10.4 to 1.11.0 (#4126) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1.10.4 to 1.11.0.
    Release notes

    Sourced from actions/create-github-app-token's releases.

    v1.11.0

    What's Changed

    Features

    New Contributors

    Full Changelog: https://github.com/actions/create-github-app-token/compare/v1.10.4...v1.11.0

    Commits
    • 5d869da build(release): 1.11.0 [skip ci]
    • 796b88d feat: allow repositories input to be comma or newline-separated (#169)
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/create-github-app-token&package-manager=github_actions&previous-version=1.10.4&new-version=1.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0fd6fa5e39..4ce8393cc0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: working-directory: lambdas run: yarn install --frozen-lockfile && yarn run test && yarn dist - name: Get installation token - uses: actions/create-github-app-token@3378cda945da322a8db4b193e19d46352ebe2de5 # v1.10.4 + uses: actions/create-github-app-token@5d869da34e18e7287c1daad50e0b8ea0f506ce69 # v1.11.0 id: token with: app-id: ${{ secrets.FOREST_RELEASER_APP_ID }} From f6164e7fb8cfb4776c62e4a1dbea698ba0f2b6d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:41:07 +0100 Subject: [PATCH 71/90] fix(lambda): bump the aws group in /lambdas with 6 updates (#4128) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 6 updates: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.645.0` | `3.651.1` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.645.0` | `3.651.1` | | [@aws-sdk/types](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/types) | `3.609.0` | `3.649.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.645.0` | `3.651.1` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.645.0` | `3.651.1` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.645.0` | `3.651.1` | Updates `@aws-sdk/client-ec2` from 3.645.0 to 3.651.1
    Release notes

    Sourced from @​aws-sdk/client-ec2's releases.

    v3.651.1

    3.651.1(2024-09-13)

    Chores
    • cloudfront-signer: add support for WebSockets (#5827) (e01c9b09)
    • clients: populate and resolve flexible checksums client config (#6471) (685f44d4)
    • middleware-flexible-checksums: add config resolver (#6470) (8c6a2fb2)
    • core: change description to force version update (#6467) (eeffdc08)
    Documentation Changes
    • client-ivschat: Updates to all tags descriptions. (58830f4b)
    • client-ivs: Updates to all tags descriptions. (cf98aa44)
    • client-amplify: Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications (1a05f160)
    New Features
    • clients: update client endpoints as of 2024-09-13 (39032e63)
    Bug Fixes
    • credential-provider-ini: fix recursive assume role and optional role_arn in credential_source (#6472) (c095306e)

    For list of updated packages, view updated-packages.md in assets-3.651.1.zip

    v3.651.0

    3.651.0(2024-09-12)

    Chores
    • middleware-flexible-checksums: add RequestChecksumCalculation and ResponseChecksumValidation (#6465) (ba923e62)
    • bug issue template, add checkbox to report potential regression (#6448) (6a539fee)
    Documentation Changes
    • client-rds: This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters. (89e6e2f1)
    • create new Node.js performance docs section and clean up upgrading docs (#6466) (059223d3)
    • add ERROR_HANDLING.md supplemental (#6454) (23503c61)
    New Features
    • client-synthetics: This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters. (9d8cf33b)
    • client-mediaconvert: This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback (d4befea4)
    • client-elastic-load-balancing-v2: Correct incorrectly mapped error in ELBv2 waiters (7501e914)
    • client-emr: Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters. (b3df65a0)
    • client-cognito-identity-provider: Added email MFA option to user pools with advanced security features. (b2fefb3d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ec2's changelog.

    3.651.1 (2024-09-13)

    Note: Version bump only for package @​aws-sdk/client-ec2

    3.650.0 (2024-09-11)

    Note: Version bump only for package @​aws-sdk/client-ec2

    3.649.0 (2024-09-10)

    Features

    • endpoints: codegen sync for request creation performance improvements (#6449) (c8e8f28)
    Commits
    • 77a7964 Publish v3.651.1
    • 31a992a Publish v3.650.0
    • 76ceacb chore(clients): use spread operator for command endpoint params when necessar...
    • 75e1ab8 Publish v3.649.0
    • c8e8f28 feat(endpoints): codegen sync for request creation performance improvements (...
    • See full diff in compare view

    Updates `@aws-sdk/client-ssm` from 3.645.0 to 3.651.1
    Release notes

    Sourced from @​aws-sdk/client-ssm's releases.

    v3.651.1

    3.651.1(2024-09-13)

    Chores
    • cloudfront-signer: add support for WebSockets (#5827) (e01c9b09)
    • clients: populate and resolve flexible checksums client config (#6471) (685f44d4)
    • middleware-flexible-checksums: add config resolver (#6470) (8c6a2fb2)
    • core: change description to force version update (#6467) (eeffdc08)
    Documentation Changes
    • client-ivschat: Updates to all tags descriptions. (58830f4b)
    • client-ivs: Updates to all tags descriptions. (cf98aa44)
    • client-amplify: Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications (1a05f160)
    New Features
    • clients: update client endpoints as of 2024-09-13 (39032e63)
    Bug Fixes
    • credential-provider-ini: fix recursive assume role and optional role_arn in credential_source (#6472) (c095306e)

    For list of updated packages, view updated-packages.md in assets-3.651.1.zip

    v3.651.0

    3.651.0(2024-09-12)

    Chores
    • middleware-flexible-checksums: add RequestChecksumCalculation and ResponseChecksumValidation (#6465) (ba923e62)
    • bug issue template, add checkbox to report potential regression (#6448) (6a539fee)
    Documentation Changes
    • client-rds: This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters. (89e6e2f1)
    • create new Node.js performance docs section and clean up upgrading docs (#6466) (059223d3)
    • add ERROR_HANDLING.md supplemental (#6454) (23503c61)
    New Features
    • client-synthetics: This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters. (9d8cf33b)
    • client-mediaconvert: This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback (d4befea4)
    • client-elastic-load-balancing-v2: Correct incorrectly mapped error in ELBv2 waiters (7501e914)
    • client-emr: Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters. (b3df65a0)
    • client-cognito-identity-provider: Added email MFA option to user pools with advanced security features. (b2fefb3d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ssm's changelog.

    3.651.1 (2024-09-13)

    Note: Version bump only for package @​aws-sdk/client-ssm

    3.650.0 (2024-09-11)

    Note: Version bump only for package @​aws-sdk/client-ssm

    3.649.0 (2024-09-10)

    Features

    • endpoints: codegen sync for request creation performance improvements (#6449) (c8e8f28)
    Commits
    • 77a7964 Publish v3.651.1
    • 31a992a Publish v3.650.0
    • 76ceacb chore(clients): use spread operator for command endpoint params when necessar...
    • 75e1ab8 Publish v3.649.0
    • c8e8f28 feat(endpoints): codegen sync for request creation performance improvements (...
    • See full diff in compare view

    Updates `@aws-sdk/types` from 3.609.0 to 3.649.0
    Release notes

    Sourced from @​aws-sdk/types's releases.

    v3.649.0

    3.649.0(2024-09-10)

    Documentation Changes
    • client-chime-sdk-voice: Documentation-only update that clarifies the ValidateE911Address action of the Amazon Chime SDK Voice APIs. (7ec26a0c)
    • client-securityhub: Documentation update for Security Hub (968260ee)
    New Features
    • clients: update client endpoints as of 2024-09-10 (467fa98b)
    • client-pipes: This release adds support for customer managed KMS keys in Amazon EventBridge Pipe (a0eda251)
    • client-cognito-identity: This release adds sensitive trait to some required shapes. (28a1deec)
    • endpoints: codegen sync for request creation performance improvements (#6449) (c8e8f28d)
    Tests
    • middleware-sdk-s3: add type transform integration test (#6450) (e6cba699)

    For list of updated packages, view updated-packages.md in assets-3.649.0.zip

    v3.648.0

    3.648.0(2024-09-09)

    Chores
    Documentation Changes
    • client-dynamodb: Doc-only update for DynamoDB. Added information about async behavior for TagResource and UntagResource APIs and updated the description of ResourceInUseException. (67542d35)
    New Features
    • clients: update client endpoints as of 2024-09-09 (ebbd1689)
    • client-elastic-load-balancing-v2: Add paginators for the ELBv2 DescribeListenerCertificates and DescribeRules APIs. Fix broken waiter for the ELBv2 DescribeLoadBalancers API. (292ce40b)
    • client-kafka: Amazon MSK Replicator can now replicate data to identically named topics between MSK clusters within the same AWS Region or across different AWS Regions. (f8773ce9)
    • client-sagemaker-runtime: AWS SageMaker Runtime feature: Add sticky routing to support stateful inference models. (5f38d6b4)
    • client-ivs-realtime: IVS Real-Time now offers customers the ability to broadcast to Stages using RTMP(S). (55553d6e)
    • client-sagemaker: Amazon Sagemaker supports orchestrating SageMaker HyperPod clusters with Amazon EKS (833a3c38)
    Bug Fixes
    • codegen: use AWS SDK default credentials as sigv4 default credentials (#6431) (39532e4f)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/types's changelog.

    3.649.0 (2024-09-10)

    Features

    • endpoints: codegen sync for request creation performance improvements (#6449) (c8e8f28)
    Commits
    • 75e1ab8 Publish v3.649.0
    • c8e8f28 feat(endpoints): codegen sync for request creation performance improvements (...
    • See full diff in compare view

    Updates `@aws-sdk/client-sqs` from 3.645.0 to 3.651.1
    Release notes

    Sourced from @​aws-sdk/client-sqs's releases.

    v3.651.1

    3.651.1(2024-09-13)

    Chores
    • cloudfront-signer: add support for WebSockets (#5827) (e01c9b09)
    • clients: populate and resolve flexible checksums client config (#6471) (685f44d4)
    • middleware-flexible-checksums: add config resolver (#6470) (8c6a2fb2)
    • core: change description to force version update (#6467) (eeffdc08)
    Documentation Changes
    • client-ivschat: Updates to all tags descriptions. (58830f4b)
    • client-ivs: Updates to all tags descriptions. (cf98aa44)
    • client-amplify: Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications (1a05f160)
    New Features
    • clients: update client endpoints as of 2024-09-13 (39032e63)
    Bug Fixes
    • credential-provider-ini: fix recursive assume role and optional role_arn in credential_source (#6472) (c095306e)

    For list of updated packages, view updated-packages.md in assets-3.651.1.zip

    v3.651.0

    3.651.0(2024-09-12)

    Chores
    • middleware-flexible-checksums: add RequestChecksumCalculation and ResponseChecksumValidation (#6465) (ba923e62)
    • bug issue template, add checkbox to report potential regression (#6448) (6a539fee)
    Documentation Changes
    • client-rds: This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters. (89e6e2f1)
    • create new Node.js performance docs section and clean up upgrading docs (#6466) (059223d3)
    • add ERROR_HANDLING.md supplemental (#6454) (23503c61)
    New Features
    • client-synthetics: This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters. (9d8cf33b)
    • client-mediaconvert: This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback (d4befea4)
    • client-elastic-load-balancing-v2: Correct incorrectly mapped error in ELBv2 waiters (7501e914)
    • client-emr: Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters. (b3df65a0)
    • client-cognito-identity-provider: Added email MFA option to user pools with advanced security features. (b2fefb3d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-sqs's changelog.

    3.651.1 (2024-09-13)

    Note: Version bump only for package @​aws-sdk/client-sqs

    3.650.0 (2024-09-11)

    Note: Version bump only for package @​aws-sdk/client-sqs

    3.649.0 (2024-09-10)

    Features

    • endpoints: codegen sync for request creation performance improvements (#6449) (c8e8f28)
    Commits
    • 77a7964 Publish v3.651.1
    • 31a992a Publish v3.650.0
    • 76ceacb chore(clients): use spread operator for command endpoint params when necessar...
    • 75e1ab8 Publish v3.649.0
    • c8e8f28 feat(endpoints): codegen sync for request creation performance improvements (...
    • See full diff in compare view

    Updates `@aws-sdk/client-s3` from 3.645.0 to 3.651.1
    Release notes

    Sourced from @​aws-sdk/client-s3's releases.

    v3.651.1

    3.651.1(2024-09-13)

    Chores
    • cloudfront-signer: add support for WebSockets (#5827) (e01c9b09)
    • clients: populate and resolve flexible checksums client config (#6471) (685f44d4)
    • middleware-flexible-checksums: add config resolver (#6470) (8c6a2fb2)
    • core: change description to force version update (#6467) (eeffdc08)
    Documentation Changes
    • client-ivschat: Updates to all tags descriptions. (58830f4b)
    • client-ivs: Updates to all tags descriptions. (cf98aa44)
    • client-amplify: Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications (1a05f160)
    New Features
    • clients: update client endpoints as of 2024-09-13 (39032e63)
    Bug Fixes
    • credential-provider-ini: fix recursive assume role and optional role_arn in credential_source (#6472) (c095306e)

    For list of updated packages, view updated-packages.md in assets-3.651.1.zip

    v3.651.0

    3.651.0(2024-09-12)

    Chores
    • middleware-flexible-checksums: add RequestChecksumCalculation and ResponseChecksumValidation (#6465) (ba923e62)
    • bug issue template, add checkbox to report potential regression (#6448) (6a539fee)
    Documentation Changes
    • client-rds: This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters. (89e6e2f1)
    • create new Node.js performance docs section and clean up upgrading docs (#6466) (059223d3)
    • add ERROR_HANDLING.md supplemental (#6454) (23503c61)
    New Features
    • client-synthetics: This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters. (9d8cf33b)
    • client-mediaconvert: This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback (d4befea4)
    • client-elastic-load-balancing-v2: Correct incorrectly mapped error in ELBv2 waiters (7501e914)
    • client-emr: Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters. (b3df65a0)
    • client-cognito-identity-provider: Added email MFA option to user pools with advanced security features. (b2fefb3d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-s3's changelog.

    3.651.1 (2024-09-13)

    Note: Version bump only for package @​aws-sdk/client-s3

    3.651.0 (2024-09-12)

    Note: Version bump only for package @​aws-sdk/client-s3

    3.650.0 (2024-09-11)

    Note: Version bump only for package @​aws-sdk/client-s3

    3.649.0 (2024-09-10)

    Features

    • endpoints: codegen sync for request creation performance improvements (#6449) (c8e8f28)
    Commits
    • 77a7964 Publish v3.651.1
    • 685f44d chore(clients): populate and resolve flexible checksums client config (#6471)
    • 9ed53c0 Publish v3.651.0
    • 31a992a Publish v3.650.0
    • 76ceacb chore(clients): use spread operator for command endpoint params when necessar...
    • 75e1ab8 Publish v3.649.0
    • c8e8f28 feat(endpoints): codegen sync for request creation performance improvements (...
    • See full diff in compare view

    Updates `@aws-sdk/lib-storage` from 3.645.0 to 3.651.1
    Release notes

    Sourced from @​aws-sdk/lib-storage's releases.

    v3.651.1

    3.651.1(2024-09-13)

    Chores
    • cloudfront-signer: add support for WebSockets (#5827) (e01c9b09)
    • clients: populate and resolve flexible checksums client config (#6471) (685f44d4)
    • middleware-flexible-checksums: add config resolver (#6470) (8c6a2fb2)
    • core: change description to force version update (#6467) (eeffdc08)
    Documentation Changes
    • client-ivschat: Updates to all tags descriptions. (58830f4b)
    • client-ivs: Updates to all tags descriptions. (cf98aa44)
    • client-amplify: Doc only update to Amplify to explain platform setting for Next.js 14 SSG only applications (1a05f160)
    New Features
    • clients: update client endpoints as of 2024-09-13 (39032e63)
    Bug Fixes
    • credential-provider-ini: fix recursive assume role and optional role_arn in credential_source (#6472) (c095306e)

    For list of updated packages, view updated-packages.md in assets-3.651.1.zip

    v3.651.0

    3.651.0(2024-09-12)

    Chores
    • middleware-flexible-checksums: add RequestChecksumCalculation and ResponseChecksumValidation (#6465) (ba923e62)
    • bug issue template, add checkbox to report potential regression (#6448) (6a539fee)
    Documentation Changes
    • client-rds: This release adds support for the os-upgrade pending maintenance action for Amazon Aurora DB clusters. (89e6e2f1)
    • create new Node.js performance docs section and clean up upgrading docs (#6466) (059223d3)
    • add ERROR_HANDLING.md supplemental (#6454) (23503c61)
    New Features
    • client-synthetics: This release introduces two features. The first is tag replication, which allows for the propagation of canary tags onto Synthetics related resources, such as Lambda functions. The second is a limit increase in canary name length, which has now been increased from 21 to 255 characters. (9d8cf33b)
    • client-mediaconvert: This release includes support for dynamic video overlay workflows, including picture-in-picture and squeezeback (d4befea4)
    • client-elastic-load-balancing-v2: Correct incorrectly mapped error in ELBv2 waiters (7501e914)
    • client-emr: Update APIs to allow modification of ODCR options, allocation strategy, and InstanceTypeConfigs on running InstanceFleet clusters. (b3df65a0)
    • client-cognito-identity-provider: Added email MFA option to user pools with advanced security features. (b2fefb3d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/lib-storage's changelog.

    3.651.1 (2024-09-13)

    Note: Version bump only for package @​aws-sdk/lib-storage

    3.651.0 (2024-09-12)

    Note: Version bump only for package @​aws-sdk/lib-storage

    3.650.0 (2024-09-11)

    Note: Version bump only for package @​aws-sdk/lib-storage

    3.649.0 (2024-09-10)

    Features

    • endpoints: codegen sync for request creation performance improvements (#6449) (c8e8f28)
    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 6 +- lambdas/functions/control-plane/package.json | 6 +- .../functions/gh-agent-syncer/package.json | 6 +- .../termination-watcher/package.json | 4 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 4 +- lambdas/yarn.lock | 1595 +++++++++-------- 7 files changed, 822 insertions(+), 801 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index 8fbc128b3b..c238e5d461 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -39,9 +39,9 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-ec2": "^3.645.0", - "@aws-sdk/client-ssm": "^3.645.0", - "@aws-sdk/types": "^3.609.0", + "@aws-sdk/client-ec2": "^3.651.1", + "@aws-sdk/client-ssm": "^3.651.1", + "@aws-sdk/types": "^3.649.0", "cron-parser": "^4.9.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 3323b7f3f9..803137111c 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -41,9 +41,9 @@ "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", "@aws-lambda-powertools/parameters": "^2.8.0", - "@aws-sdk/client-ec2": "^3.645.0", - "@aws-sdk/client-sqs": "^3.645.0", - "@aws-sdk/types": "^3.609.0", + "@aws-sdk/client-ec2": "^3.651.1", + "@aws-sdk/client-sqs": "^3.651.1", + "@aws-sdk/types": "^3.649.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.2", "@octokit/core": "5.2.0", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 09a5e3b82b..92d1e17ef5 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -37,9 +37,9 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-s3": "^3.645.0", - "@aws-sdk/lib-storage": "^3.645.0", - "@aws-sdk/types": "^3.609.0", + "@aws-sdk/client-s3": "^3.651.1", + "@aws-sdk/lib-storage": "^3.651.1", + "@aws-sdk/types": "^3.649.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "axios": "^1.7.5" diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 95784123cf..bf7f69fea8 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -36,8 +36,8 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ec2": "^3.645.0", - "@aws-sdk/types": "^3.609.0", + "@aws-sdk/client-ec2": "^3.651.1", + "@aws-sdk/types": "^3.649.0", "@middy/core": "^4.7.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 7f6e3b4009..c5e99ef82e 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -39,7 +39,7 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-sqs": "^3.645.0", + "@aws-sdk/client-sqs": "^3.651.1", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 8330539cca..c3e0567a10 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -36,8 +36,8 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ssm": "^3.645.0", - "@aws-sdk/types": "^3.609.0" + "@aws-sdk/client-ssm": "^3.651.1", + "@aws-sdk/types": "^3.649.0" }, "nx": { "includedScripts": [ diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 049aaa18f6..2f0e9b843d 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -103,9 +103,9 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.645.0" - "@aws-sdk/client-ssm": "npm:^3.645.0" - "@aws-sdk/types": "npm:^3.609.0" + "@aws-sdk/client-ec2": "npm:^3.651.1" + "@aws-sdk/client-ssm": "npm:^3.651.1" + "@aws-sdk/types": "npm:^3.649.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" @@ -165,8 +165,8 @@ __metadata: resolution: "@aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ssm": "npm:^3.645.0" - "@aws-sdk/types": "npm:^3.609.0" + "@aws-sdk/client-ssm": "npm:^3.651.1" + "@aws-sdk/types": "npm:^3.649.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" @@ -196,9 +196,9 @@ __metadata: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" "@aws-lambda-powertools/parameters": "npm:^2.8.0" - "@aws-sdk/client-ec2": "npm:^3.645.0" - "@aws-sdk/client-sqs": "npm:^3.645.0" - "@aws-sdk/types": "npm:^3.609.0" + "@aws-sdk/client-ec2": "npm:^3.651.1" + "@aws-sdk/client-sqs": "npm:^3.651.1" + "@aws-sdk/types": "npm:^3.649.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.2" "@octokit/core": "npm:5.2.0" @@ -235,9 +235,9 @@ __metadata: resolution: "@aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-s3": "npm:^3.645.0" - "@aws-sdk/lib-storage": "npm:^3.645.0" - "@aws-sdk/types": "npm:^3.609.0" + "@aws-sdk/client-s3": "npm:^3.651.1" + "@aws-sdk/lib-storage": "npm:^3.651.1" + "@aws-sdk/types": "npm:^3.649.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -267,8 +267,8 @@ __metadata: resolution: "@aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.645.0" - "@aws-sdk/types": "npm:^3.609.0" + "@aws-sdk/client-ec2": "npm:^3.651.1" + "@aws-sdk/types": "npm:^3.649.0" "@middy/core": "npm:^4.7.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" @@ -299,7 +299,7 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-sqs": "npm:^3.645.0" + "@aws-sdk/client-sqs": "npm:^3.651.1" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" @@ -407,725 +407,737 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/client-ec2@npm:3.645.0" +"@aws-sdk/client-ec2@npm:^3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/client-ec2@npm:3.651.1" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.645.0" - "@aws-sdk/client-sts": "npm:3.645.0" - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.645.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-ec2": "npm:3.635.0" - "@aws-sdk/middleware-user-agent": "npm:3.645.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.4.0" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@aws-sdk/client-sso-oidc": "npm:3.651.1" + "@aws-sdk/client-sts": "npm:3.651.1" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/credential-provider-node": "npm:3.651.1" + "@aws-sdk/middleware-host-header": "npm:3.649.0" + "@aws-sdk/middleware-logger": "npm:3.649.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" + "@aws-sdk/middleware-sdk-ec2": "npm:3.649.0" + "@aws-sdk/middleware-user-agent": "npm:3.649.0" + "@aws-sdk/region-config-resolver": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@aws-sdk/util-user-agent-browser": "npm:3.649.0" + "@aws-sdk/util-user-agent-node": "npm:3.649.0" + "@smithy/config-resolver": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.1" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/hash-node": "npm:^3.0.4" + "@smithy/invalid-dependency": "npm:^3.0.4" + "@smithy/middleware-content-length": "npm:^3.0.6" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/middleware-retry": "npm:^3.0.16" + "@smithy/middleware-serde": "npm:^3.0.4" + "@smithy/middleware-stack": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/url-parser": "npm:^3.0.4" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.15" - "@smithy/util-defaults-mode-node": "npm:^3.0.15" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-defaults-mode-browser": "npm:^3.0.16" + "@smithy/util-defaults-mode-node": "npm:^3.0.16" + "@smithy/util-endpoints": "npm:^2.1.0" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-retry": "npm:^3.0.4" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.2" + "@smithy/util-waiter": "npm:^3.1.3" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/2fdf705d5483e22a03dc5642c692d2321cf6cc3116b5c926f547e8c452bdc2955b2b765cc7c7b714c2ebaec7634acec3ae6333d18aba68a6ef7242bccfcbcd2a + checksum: 10c0/f1f1d5d902bf40145423e84137f6f059380ed3eaaa78da493436d96874a0a17e3d456ce438151f86e47fa71ce150c3d00d172cac341b4dcec0e48516e79311f0 languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/client-s3@npm:3.645.0" +"@aws-sdk/client-s3@npm:^3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/client-s3@npm:3.651.1" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.645.0" - "@aws-sdk/client-sts": "npm:3.645.0" - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.645.0" - "@aws-sdk/middleware-bucket-endpoint": "npm:3.620.0" - "@aws-sdk/middleware-expect-continue": "npm:3.620.0" - "@aws-sdk/middleware-flexible-checksums": "npm:3.620.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-location-constraint": "npm:3.609.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.635.0" - "@aws-sdk/middleware-ssec": "npm:3.609.0" - "@aws-sdk/middleware-user-agent": "npm:3.645.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.635.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@aws-sdk/xml-builder": "npm:3.609.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.4.0" - "@smithy/eventstream-serde-browser": "npm:^3.0.6" - "@smithy/eventstream-serde-config-resolver": "npm:^3.0.3" - "@smithy/eventstream-serde-node": "npm:^3.0.5" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-blob-browser": "npm:^3.1.2" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/hash-stream-node": "npm:^3.1.2" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/md5-js": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@aws-sdk/client-sso-oidc": "npm:3.651.1" + "@aws-sdk/client-sts": "npm:3.651.1" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/credential-provider-node": "npm:3.651.1" + "@aws-sdk/middleware-bucket-endpoint": "npm:3.649.0" + "@aws-sdk/middleware-expect-continue": "npm:3.649.0" + "@aws-sdk/middleware-flexible-checksums": "npm:3.651.1" + "@aws-sdk/middleware-host-header": "npm:3.649.0" + "@aws-sdk/middleware-location-constraint": "npm:3.649.0" + "@aws-sdk/middleware-logger": "npm:3.649.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.651.1" + "@aws-sdk/middleware-ssec": "npm:3.649.0" + "@aws-sdk/middleware-user-agent": "npm:3.649.0" + "@aws-sdk/region-config-resolver": "npm:3.649.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.651.1" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@aws-sdk/util-user-agent-browser": "npm:3.649.0" + "@aws-sdk/util-user-agent-node": "npm:3.649.0" + "@aws-sdk/xml-builder": "npm:3.649.0" + "@smithy/config-resolver": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.1" + "@smithy/eventstream-serde-browser": "npm:^3.0.7" + "@smithy/eventstream-serde-config-resolver": "npm:^3.0.4" + "@smithy/eventstream-serde-node": "npm:^3.0.6" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/hash-blob-browser": "npm:^3.1.3" + "@smithy/hash-node": "npm:^3.0.4" + "@smithy/hash-stream-node": "npm:^3.1.3" + "@smithy/invalid-dependency": "npm:^3.0.4" + "@smithy/md5-js": "npm:^3.0.4" + "@smithy/middleware-content-length": "npm:^3.0.6" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/middleware-retry": "npm:^3.0.16" + "@smithy/middleware-serde": "npm:^3.0.4" + "@smithy/middleware-stack": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/url-parser": "npm:^3.0.4" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.15" - "@smithy/util-defaults-mode-node": "npm:^3.0.15" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" - "@smithy/util-stream": "npm:^3.1.3" + "@smithy/util-defaults-mode-browser": "npm:^3.0.16" + "@smithy/util-defaults-mode-node": "npm:^3.0.16" + "@smithy/util-endpoints": "npm:^2.1.0" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-retry": "npm:^3.0.4" + "@smithy/util-stream": "npm:^3.1.4" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.2" + "@smithy/util-waiter": "npm:^3.1.3" tslib: "npm:^2.6.2" - checksum: 10c0/c39f504c6cb1c96325460ca780fc065f3b08170b2ca96fac6af62ddcf18a6fba5c7a88f0ab18290e6ea16db5725a6fab482479774c7934d002e9f008ecaec27c + checksum: 10c0/34d0058a5673896f349b63c484d4b3fccdc3e4171f89b672280630d65969c715aaefa69d9474c61d57e90af1bba68665e650b2711afaab54597864f6353e10fb languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/client-sqs@npm:3.645.0" +"@aws-sdk/client-sqs@npm:^3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/client-sqs@npm:3.651.1" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.645.0" - "@aws-sdk/client-sts": "npm:3.645.0" - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.645.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-sdk-sqs": "npm:3.635.0" - "@aws-sdk/middleware-user-agent": "npm:3.645.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.4.0" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/md5-js": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@aws-sdk/client-sso-oidc": "npm:3.651.1" + "@aws-sdk/client-sts": "npm:3.651.1" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/credential-provider-node": "npm:3.651.1" + "@aws-sdk/middleware-host-header": "npm:3.649.0" + "@aws-sdk/middleware-logger": "npm:3.649.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" + "@aws-sdk/middleware-sdk-sqs": "npm:3.649.0" + "@aws-sdk/middleware-user-agent": "npm:3.649.0" + "@aws-sdk/region-config-resolver": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@aws-sdk/util-user-agent-browser": "npm:3.649.0" + "@aws-sdk/util-user-agent-node": "npm:3.649.0" + "@smithy/config-resolver": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.1" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/hash-node": "npm:^3.0.4" + "@smithy/invalid-dependency": "npm:^3.0.4" + "@smithy/md5-js": "npm:^3.0.4" + "@smithy/middleware-content-length": "npm:^3.0.6" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/middleware-retry": "npm:^3.0.16" + "@smithy/middleware-serde": "npm:^3.0.4" + "@smithy/middleware-stack": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/url-parser": "npm:^3.0.4" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.15" - "@smithy/util-defaults-mode-node": "npm:^3.0.15" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-defaults-mode-browser": "npm:^3.0.16" + "@smithy/util-defaults-mode-node": "npm:^3.0.16" + "@smithy/util-endpoints": "npm:^2.1.0" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-retry": "npm:^3.0.4" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/fa9726658eeb92ea667bd448190fcb50f51db09da362137dc0c4608f6d6ce770be3a7b7f448c06695e4def7103d7af31786eaf4a22c34d7c06225c365f044127 + checksum: 10c0/3761b8b78636f024e43c6f583b450fb213a05e6cb2888e6e90092e7e9e97e8c022a7080c3140121c5537130e0d380af0af7442858e69063c6c92fd71de69f84a languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/client-ssm@npm:3.645.0" +"@aws-sdk/client-ssm@npm:^3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/client-ssm@npm:3.651.1" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.645.0" - "@aws-sdk/client-sts": "npm:3.645.0" - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.645.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.645.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.4.0" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@aws-sdk/client-sso-oidc": "npm:3.651.1" + "@aws-sdk/client-sts": "npm:3.651.1" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/credential-provider-node": "npm:3.651.1" + "@aws-sdk/middleware-host-header": "npm:3.649.0" + "@aws-sdk/middleware-logger": "npm:3.649.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" + "@aws-sdk/middleware-user-agent": "npm:3.649.0" + "@aws-sdk/region-config-resolver": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@aws-sdk/util-user-agent-browser": "npm:3.649.0" + "@aws-sdk/util-user-agent-node": "npm:3.649.0" + "@smithy/config-resolver": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.1" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/hash-node": "npm:^3.0.4" + "@smithy/invalid-dependency": "npm:^3.0.4" + "@smithy/middleware-content-length": "npm:^3.0.6" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/middleware-retry": "npm:^3.0.16" + "@smithy/middleware-serde": "npm:^3.0.4" + "@smithy/middleware-stack": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/url-parser": "npm:^3.0.4" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.15" - "@smithy/util-defaults-mode-node": "npm:^3.0.15" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-defaults-mode-browser": "npm:^3.0.16" + "@smithy/util-defaults-mode-node": "npm:^3.0.16" + "@smithy/util-endpoints": "npm:^2.1.0" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-retry": "npm:^3.0.4" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.2" + "@smithy/util-waiter": "npm:^3.1.3" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/be30c4e81a83eb7429548810867039d9c89828cdad15e126b6b90a533466cfc9c177309de48028bd51e47d3b9614c6c1748cd7eb2dff15167086a0f103b6cd1a + checksum: 10c0/b8df8bec1a6acecc01dfb47540bfc5989497aef5a2a0aed3367216daf789c3a0794922385e2fa8f4b2ac67250651ab001469ee4a5c17e36465967c25e2b6af25 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.645.0" +"@aws-sdk/client-sso-oidc@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/client-sso-oidc@npm:3.651.1" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.645.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.645.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.4.0" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/credential-provider-node": "npm:3.651.1" + "@aws-sdk/middleware-host-header": "npm:3.649.0" + "@aws-sdk/middleware-logger": "npm:3.649.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" + "@aws-sdk/middleware-user-agent": "npm:3.649.0" + "@aws-sdk/region-config-resolver": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@aws-sdk/util-user-agent-browser": "npm:3.649.0" + "@aws-sdk/util-user-agent-node": "npm:3.649.0" + "@smithy/config-resolver": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.1" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/hash-node": "npm:^3.0.4" + "@smithy/invalid-dependency": "npm:^3.0.4" + "@smithy/middleware-content-length": "npm:^3.0.6" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/middleware-retry": "npm:^3.0.16" + "@smithy/middleware-serde": "npm:^3.0.4" + "@smithy/middleware-stack": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/url-parser": "npm:^3.0.4" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.15" - "@smithy/util-defaults-mode-node": "npm:^3.0.15" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-defaults-mode-browser": "npm:^3.0.16" + "@smithy/util-defaults-mode-node": "npm:^3.0.16" + "@smithy/util-endpoints": "npm:^2.1.0" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-retry": "npm:^3.0.4" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.645.0 - checksum: 10c0/13259e44c526f5473951346fd85fc63014cfb8edf02c21c3280d1551a7cc8fa858d80458f1704115aadf90e6d43e36dea18bfbd7d868c68bdbc0b65f9b965b40 + "@aws-sdk/client-sts": ^3.651.1 + checksum: 10c0/5d8a9071427406a76cb0004c9d925a7945b6b6c86da772544bee2c2218a56fd95093ebd8d2c28a727a722703a5cb238b70bc86fb5f438e31effc44c5aaa5e168 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/client-sso@npm:3.645.0" +"@aws-sdk/client-sso@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/client-sso@npm:3.651.1" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.645.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.4.0" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/middleware-host-header": "npm:3.649.0" + "@aws-sdk/middleware-logger": "npm:3.649.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" + "@aws-sdk/middleware-user-agent": "npm:3.649.0" + "@aws-sdk/region-config-resolver": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@aws-sdk/util-user-agent-browser": "npm:3.649.0" + "@aws-sdk/util-user-agent-node": "npm:3.649.0" + "@smithy/config-resolver": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.1" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/hash-node": "npm:^3.0.4" + "@smithy/invalid-dependency": "npm:^3.0.4" + "@smithy/middleware-content-length": "npm:^3.0.6" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/middleware-retry": "npm:^3.0.16" + "@smithy/middleware-serde": "npm:^3.0.4" + "@smithy/middleware-stack": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/url-parser": "npm:^3.0.4" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.15" - "@smithy/util-defaults-mode-node": "npm:^3.0.15" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-defaults-mode-browser": "npm:^3.0.16" + "@smithy/util-defaults-mode-node": "npm:^3.0.16" + "@smithy/util-endpoints": "npm:^2.1.0" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-retry": "npm:^3.0.4" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/dc43f1ef17ecece13d1ac3e8297dc00146b0bba9a8d41a9fa0f53eec6e0a668db9e86c7b82fd9b861fdaccabe33693c89a0fcc898e90ddb2b1f0c3b145b784e4 + checksum: 10c0/8757537a0dd44f3ba18b92cac6e81d6b7efdfa21e6facec5c0fdad14c16ce6224a0162e562b773dcf000a922c9aaa717dda480228a97b9e43ba2cf0b7e9c5538 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/client-sts@npm:3.645.0" +"@aws-sdk/client-sts@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/client-sts@npm:3.651.1" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.645.0" - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/credential-provider-node": "npm:3.645.0" - "@aws-sdk/middleware-host-header": "npm:3.620.0" - "@aws-sdk/middleware-logger": "npm:3.609.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.620.0" - "@aws-sdk/middleware-user-agent": "npm:3.645.0" - "@aws-sdk/region-config-resolver": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@aws-sdk/util-user-agent-browser": "npm:3.609.0" - "@aws-sdk/util-user-agent-node": "npm:3.614.0" - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/core": "npm:^2.4.0" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/hash-node": "npm:^3.0.3" - "@smithy/invalid-dependency": "npm:^3.0.3" - "@smithy/middleware-content-length": "npm:^3.0.5" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@aws-sdk/client-sso-oidc": "npm:3.651.1" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/credential-provider-node": "npm:3.651.1" + "@aws-sdk/middleware-host-header": "npm:3.649.0" + "@aws-sdk/middleware-logger": "npm:3.649.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" + "@aws-sdk/middleware-user-agent": "npm:3.649.0" + "@aws-sdk/region-config-resolver": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@aws-sdk/util-user-agent-browser": "npm:3.649.0" + "@aws-sdk/util-user-agent-node": "npm:3.649.0" + "@smithy/config-resolver": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.1" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/hash-node": "npm:^3.0.4" + "@smithy/invalid-dependency": "npm:^3.0.4" + "@smithy/middleware-content-length": "npm:^3.0.6" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/middleware-retry": "npm:^3.0.16" + "@smithy/middleware-serde": "npm:^3.0.4" + "@smithy/middleware-stack": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/url-parser": "npm:^3.0.4" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.15" - "@smithy/util-defaults-mode-node": "npm:^3.0.15" - "@smithy/util-endpoints": "npm:^2.0.5" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" + "@smithy/util-defaults-mode-browser": "npm:^3.0.16" + "@smithy/util-defaults-mode-node": "npm:^3.0.16" + "@smithy/util-endpoints": "npm:^2.1.0" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-retry": "npm:^3.0.4" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/3608265f042ff0fa8ce7ea5beb41c8dd4c10c4f3edb77ef8803d5d3cef0e4e0e56815ab2d2da139a7a31f106551822ccc2c5efa6fd798bd937e29d6298a60c8a + checksum: 10c0/eb4913546c2aa801e7f8d00b2d01537ff996408b2a06e4635698128122bad74b5cb1aeee53941f31358416733422821b89861e1bd73839ecf1784c2d6f39c2d8 languageName: node linkType: hard -"@aws-sdk/core@npm:3.635.0": - version: 3.635.0 - resolution: "@aws-sdk/core@npm:3.635.0" +"@aws-sdk/core@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/core@npm:3.651.1" dependencies: - "@smithy/core": "npm:^2.4.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/core": "npm:^2.4.1" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/signature-v4": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/util-middleware": "npm:^3.0.4" fast-xml-parser: "npm:4.4.1" tslib: "npm:^2.6.2" - checksum: 10c0/6f9a9a7dba32279a4f3970fee52845ef06509ffd414a1405c5d1a81e9b68d39dff8fe17c8f88d0e5516683c33f7a1d2b56432ebd8c540f86abfff782218e6f35 + checksum: 10c0/3f7e0f06321214bbb8282973ef27409738b4d689f1db5ef6f1f582a20b9f5c94788c393327a3ca8886f1e53d06151c122f6e944b2aff52fb896e8dcdad01a35b languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.620.1": - version: 3.620.1 - resolution: "@aws-sdk/credential-provider-env@npm:3.620.1" +"@aws-sdk/credential-provider-env@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/25156df7c0e9a1423f261276506fc5766c9f43c41e811adaa0f9a6199b03ff4fd299e9dd94fd73942ab99283b30d8e127692ae371c16917f6709f655de401874 + checksum: 10c0/e0e24dc24701cf7c6aa8b02cd309471544d8d4719d97a585abbbaaa85cca6e3995faceeb4070e775a9e66e60554ab82dc48d33b0448cdb9eccd75c1874a3107d languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:3.635.0": - version: 3.635.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.635.0" +"@aws-sdk/credential-provider-http@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-stream": "npm:^3.1.3" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/fetch-http-handler": "npm:^3.2.5" + "@smithy/node-http-handler": "npm:^3.2.0" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/util-stream": "npm:^3.1.4" tslib: "npm:^2.6.2" - checksum: 10c0/3a232fdece1cbe7e9ec740287702dfaa640392e827d31b5c8a23d59ab9dcf2424408a43a6ef2cf3c94e72ec5612f61651cb7cac92458c5b2c93754f6b7989daf + checksum: 10c0/0c365620ad68271e25127959cc0d0f1c747b7405dc4b3b286947ba002dc21f4213de3d83a0bf0a3d33829664635b7e06074a573ad03afd5ae834a382bba24703 languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.645.0" +"@aws-sdk/credential-provider-ini@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/credential-provider-ini@npm:3.651.1" dependencies: - "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.635.0" - "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.645.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/credential-provider-imds": "npm:^3.2.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/credential-provider-env": "npm:3.649.0" + "@aws-sdk/credential-provider-http": "npm:3.649.0" + "@aws-sdk/credential-provider-process": "npm:3.649.0" + "@aws-sdk/credential-provider-sso": "npm:3.651.1" + "@aws-sdk/credential-provider-web-identity": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/credential-provider-imds": "npm:^3.2.1" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/shared-ini-file-loader": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.645.0 - checksum: 10c0/bae6dbf5ea1c97b15493658f163cebcc17c624239f73e4ab6bf8ae0e7de061b16bbd25f87e29c453da64e93eef8eeb3b4563588b9a720f54878c0b38b456d249 + "@aws-sdk/client-sts": ^3.651.1 + checksum: 10c0/ed6d1054f4276736ab132baf0fd1b9b1980cf115794b4c14f747adf8b4a431c2e1a18fe95e5f60503ef659764be6746cbaf5e00fa508d9ac9a1af6e1e30c44f0 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.645.0" +"@aws-sdk/credential-provider-node@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/credential-provider-node@npm:3.651.1" dependencies: - "@aws-sdk/credential-provider-env": "npm:3.620.1" - "@aws-sdk/credential-provider-http": "npm:3.635.0" - "@aws-sdk/credential-provider-ini": "npm:3.645.0" - "@aws-sdk/credential-provider-process": "npm:3.620.1" - "@aws-sdk/credential-provider-sso": "npm:3.645.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.621.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/credential-provider-imds": "npm:^3.2.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/credential-provider-env": "npm:3.649.0" + "@aws-sdk/credential-provider-http": "npm:3.649.0" + "@aws-sdk/credential-provider-ini": "npm:3.651.1" + "@aws-sdk/credential-provider-process": "npm:3.649.0" + "@aws-sdk/credential-provider-sso": "npm:3.651.1" + "@aws-sdk/credential-provider-web-identity": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/credential-provider-imds": "npm:^3.2.1" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/shared-ini-file-loader": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/17a40c73c594bd42d26fd4cbe6c66964bb8c2e0404f2a160487623fef778fb18b27d8c6104dafee4d0ef69628e14eacc67368ec7774517782b7d21c540678af8 + checksum: 10c0/a72ddc1c56f75d75ee49ed207bac90a8a0dbd0077c95b6f49c40bc82e3f2b97f9dd459cb5c62a8851230e89515c18d9169f8fd236dfe7b7ae712ae52475ab51a languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:3.620.1": - version: 3.620.1 - resolution: "@aws-sdk/credential-provider-process@npm:3.620.1" +"@aws-sdk/credential-provider-process@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/shared-ini-file-loader": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/d33bf3e5e73f16c8e58dc71a738cdcbcf48b54610e464affc69c73f9bdcc2b287b6cb281c9a719f67298fb0cd795e67201e5d6704dcc24933e71e58653607992 + checksum: 10c0/fa203d633f14301784d9f5d4271bc04c70ac7dbe9afa0bc888a9f548d9337e86c020b273e59f0a73fb5e3c78821171b353c6f5d59aa619394232c724c232dcf7 languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.645.0" +"@aws-sdk/credential-provider-sso@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/credential-provider-sso@npm:3.651.1" dependencies: - "@aws-sdk/client-sso": "npm:3.645.0" - "@aws-sdk/token-providers": "npm:3.614.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/client-sso": "npm:3.651.1" + "@aws-sdk/token-providers": "npm:3.649.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/shared-ini-file-loader": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/ef9137f1b967ea0f4cbfc7f7c6b133e4dd2de2881f0c07a2b0802e2c7c9952ae6aa0b2dc2f112c7ab784fc9b997f24cce948c22cdd0fe1853ae068c60cbe57b3 + checksum: 10c0/a294a96d3fea49ef5880acc84da4848ede524f999ba9777e7ad550805d846c82ff9de36352b44019bb3ec7149d620e8db091bb2848974022ef61e81082c57ea6 languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.621.0": - version: 3.621.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.621.0" +"@aws-sdk/credential-provider-web-identity@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.621.0 - checksum: 10c0/c699a60e242cc3895b3536a0a4818560f167b6c0cc3e8858cf75cd0438020a070b2e5c84e59280ee81679d865516dcde5b31cf6af1ee35b0d28c94b68c63f742 + "@aws-sdk/client-sts": ^3.649.0 + checksum: 10c0/b2b5805c2f3877cad5d96479543a40444f980f29349080bff129e74059b0d1104a583c8fe46470089df466a3c1ca90170b7b45fddfa345c2685cde41408a502d languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/lib-storage@npm:3.645.0" +"@aws-sdk/lib-storage@npm:^3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/lib-storage@npm:3.651.1" dependencies: - "@smithy/abort-controller": "npm:^3.1.1" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/smithy-client": "npm:^3.2.0" + "@smithy/abort-controller": "npm:^3.1.2" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/smithy-client": "npm:^3.3.0" buffer: "npm:5.6.0" events: "npm:3.3.0" stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.645.0 - checksum: 10c0/3b65b59e06653c729ed0ae8e6296784e74d4c4aacbd1559f3f49591638d03220045696e2389358667133148ac2992319adeb4941e07e0b168cb14bc63967fac2 + "@aws-sdk/client-s3": ^3.651.1 + checksum: 10c0/f2e55c79444da2afe841b7915a406e0cdce0181211a74068d25503121cb86976cebc1f69db993f5cb7f8a7a1c85e1d9494017a8235f71edbead619b955368eec languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.620.0" +"@aws-sdk/middleware-bucket-endpoint@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/types": "npm:3.649.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/types": "npm:^3.4.0" "@smithy/util-config-provider": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/5fec190026bac88554a2299d81565bb4f067600336045af5d4ec1e06a1a884386e324922f1de8d8d87954bd8dbdae279bf4e37401aaf8311db5fe70c1c44b483 + checksum: 10c0/fa8f1c3d3150c12e29256f0085c33f355e2b15f1db23b85120e7605b3ef06ec180592ebdb3c9a71ec9ef5277c74e1d3927888d642736e6825ffb7773c87f918e languageName: node linkType: hard -"@aws-sdk/middleware-expect-continue@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.620.0" +"@aws-sdk/middleware-expect-continue@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/1204171772b3f141a19e68ede28b412c5bca68e4f5c493c38f41d278cbbaae0488d95e1161ed5b44aefcfbbb66f795f2aacfb24434d7fdd71695a1a3885c59bb + checksum: 10c0/57ca93a7abab8017fbfa38c3702841d8b803b764222a84d9f9091c760888dde235c3e9a928e4d76007b290b0b4274995099b84d1af9e5306ce0a067e0c3172e7 languageName: node linkType: hard -"@aws-sdk/middleware-flexible-checksums@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.620.0" +"@aws-sdk/middleware-flexible-checksums@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.651.1" dependencies: "@aws-crypto/crc32": "npm:5.2.0" "@aws-crypto/crc32c": "npm:5.2.0" - "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/types": "npm:3.649.0" "@smithy/is-array-buffer": "npm:^3.0.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/types": "npm:^3.4.0" + "@smithy/util-middleware": "npm:^3.0.4" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/b6990776c98a19c57850ad623a61d45946741f75913cd71901d693ff71a840ea6fdbb7811d8849db6d149090bd2b61a6f3c706084a2d2b366c8e55c5f62e3186 + checksum: 10c0/8108993555e6cfe126512d63d3b120424b3457f039e07a2d9720f4c810258a7d2fbcbc61c717e76450f71c9fbe34e8f3880190f27bef30143c5ab3710991ad19 languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.620.0" +"@aws-sdk/middleware-host-header@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/221e8e440fc156bc0ef8d2186bc3b9c18c7874cb275ae714c3c7eeb934b846e1291c3cb9a3631c486a86189a4c446e61c64e8e7d737f209fe63808ad313bd779 + checksum: 10c0/09d375cb07cea2738f1f265ff2c3ced6aeaf612e58e97dac003cc92f8430010b8b4fe8b16d489afbaefe10bf4b1f4d373d2123a7a0e5d14583d6638e1edfe2e4 languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.609.0" +"@aws-sdk/middleware-location-constraint@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/1eba2a3a1a003855a69e56f1c54fb2283b30db50bf14130cd042e25805497b7a19539144052c4fa710952d754d1a9e5d680fce09536509cf796a16816c8d506f + checksum: 10c0/6132d5d8b2eeda75d26123d364c2b217865a2c1472f80a1dc8856f152a08b912289048685ee67a53c7dd9c63f624e690f6008b7dd2780fb21706407abcb5ef6a languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-logger@npm:3.609.0" +"@aws-sdk/middleware-logger@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-logger@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/e8d110552fee03c5290f94be8da8bb6c07404c06c68971cf24c89a5a4e08b93f6039a2bf729b173855815dd13e382eda18c31e098e7a40db9c8163b74a7770e7 + checksum: 10c0/80111a2cb4889df8b53f90bd5a1dfb222c786d0062ca369f9fdc95db6fa9b3c7e099badd75b377b2b6ffa295eb53f0e769d5e7f8346ef4a023fe77bf0d86710a languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.620.0": - version: 3.620.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.620.0" +"@aws-sdk/middleware-recursion-detection@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/f859a777eb0441e8ec78054b478bb75c2debcf53680deb6731830a62ec2a45a5a9b1462028214c49bbc67acff2ca1a78cb35913f826ccc4118fa45b51220bcd4 + checksum: 10c0/67c5551534b4c66050dc6dfc28f610aa4115f1679fec6c707bbbc6b666d729b821db10e60ee68492c4f9a51a00b1a13a9bbeac07b695c94bedf3fe6fc7fc1d85 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-ec2@npm:3.635.0": - version: 3.635.0 - resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.635.0" +"@aws-sdk/middleware-sdk-ec2@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-format-url": "npm:3.609.0" - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-format-url": "npm:3.649.0" + "@smithy/middleware-endpoint": "npm:^3.1.1" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/signature-v4": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/aefdefd4c22b0347be3ed19d02d2c4e1402df4eca52a5ee00ae4bf0e2afc412641ca9426ab784e737412a9c578cf2c19d6f3df1ff17ce274af0ff524b4753d45 + checksum: 10c0/c8790d94c38b59d95c3840f115cf237486a8827fe6ba659241586da95ef20f3dda560f4a03a0b17d85cb9ba1f3cc718163c52aa59cf43b2762f50f2cd2567a39 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.635.0": - version: 3.635.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.635.0" +"@aws-sdk/middleware-sdk-s3@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.651.1" dependencies: - "@aws-sdk/core": "npm:3.635.0" - "@aws-sdk/types": "npm:3.609.0" + "@aws-sdk/core": "npm:3.651.1" + "@aws-sdk/types": "npm:3.649.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/core": "npm:^2.4.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/core": "npm:^2.4.1" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/signature-v4": "npm:^4.1.1" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-stream": "npm:^3.1.3" + "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-stream": "npm:^3.1.4" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/81dd57dcb9214c1bc311546f71391132f42a9d35e857781fb1466940802a069337109cd1ff93cc64044f91f092e9e810ec6c2f140284a62ef6bda9e5b9164b6a + checksum: 10c0/0dc2d4d75e21fcd9b32afa59f6c1912380a5c807c8f6c983c57a80205db0f511856703058fcc7e939b9813bb91d669b576483dced037042a58579be3eb018860 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sqs@npm:3.635.0": - version: 3.635.0 - resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.635.0" +"@aws-sdk/middleware-sdk-sqs@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" "@smithy/util-hex-encoding": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/325ecfb684a516018c4855c374cea99a0142fe48b14cae87b0c6b6856cf16edf925bc57b1d740c26983f7d2757d63d8a83900ef15b292a60835c25339ac976ed + checksum: 10c0/9aab4448741224f1877f7c1b713cc080ca80ec63230363b29c1163b712a052d0bb0b05ae72edfbfa8fba421d8110902ec26a9e4f9d65ca1086472c323f13d6f1 languageName: node linkType: hard -"@aws-sdk/middleware-ssec@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.609.0" +"@aws-sdk/middleware-ssec@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/7688628299c3d3352182634836d8a5ad89d69dfedd91d7386ffeaa8288160329eef7d399321b7841bb4c84c9741d7245ef218657a8df71248b5ce5f7273e303d + checksum: 10c0/a600f290f4ee703ace612edbda657da88f2402627bd2a80b77621fa70208fe205add95ecde075377f74df86b2946ff1c606436289f9c61a4d544d99864f8b9b7 languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.645.0" +"@aws-sdk/middleware-user-agent@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@aws-sdk/util-endpoints": "npm:3.645.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/util-endpoints": "npm:3.649.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/f5f2d4776c1dae185c3ec14f56504b7000ad3fa774d63cfce73db438ca3529c719dad879761638f2682e5872608db636106f0168f4e3266180db712e803f8ba1 + checksum: 10c0/886bacd9077630f12007dd789925f8baf66e9ddbd5862f178df4443915af966025db54769555e2534f49acc354d8d688fe60f91d0aa98f1eba399aeae28542d7 languageName: node linkType: hard -"@aws-sdk/region-config-resolver@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/region-config-resolver@npm:3.614.0" +"@aws-sdk/region-config-resolver@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.0" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-middleware": "npm:^3.0.4" tslib: "npm:^2.6.2" - checksum: 10c0/555842b34c26398741fa3a1f629d27d210270516b453b0a7237672a4472ff8e204c5979fe1823baddf4d695d4d95a631fadfa78d1d27089d9e9cba28e736346e + checksum: 10c0/44cffd7f94f4816d882322fdcedaf6357f64a4c2e8e5acbd91c53b4430015374f072f5ad89b8a4d1182c1c97719cb6a6e92ffae4b01db2d481ce05036e6c05ef languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.635.0": - version: 3.635.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.635.0" +"@aws-sdk/signature-v4-multi-region@npm:3.651.1": + version: 3.651.1 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.651.1" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.635.0" - "@aws-sdk/types": "npm:3.609.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/signature-v4": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.651.1" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/protocol-http": "npm:^4.1.1" + "@smithy/signature-v4": "npm:^4.1.1" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/85c43b96d803e6fa503bbac3c07334f31b65be42f2c863e9c37411acfb6d484f464a70409585fab2c32be59b1e65ad735e2e64235f2ee33501b7d2c8f85647e9 + checksum: 10c0/4bd6dff552c6aaf8688aa54771133ba4b50f6f28eee6ab37cba82202a15c1d704eb2a6592d6e56705be1b6e8daf8378012cde8b67339df42ff4ec318b60a5ad1 languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/token-providers@npm:3.614.0" +"@aws-sdk/token-providers@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/token-providers@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/property-provider": "npm:^3.1.4" + "@smithy/shared-ini-file-loader": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sso-oidc": ^3.614.0 - checksum: 10c0/b794bcb9ad05f57bfc415e9290d3ea177701bb3221a9c5e1d4529deb946bd418acb7ac7407adb8d2f3da7d3793a62c7c1b43a8c1a8fe7999e38485208811f59a + "@aws-sdk/client-sso-oidc": ^3.649.0 + checksum: 10c0/8403d89d57688f663f981e57e91b4fbadfe31359cb84002fbb9c94d0a78004e8edc5e0b91f8b436e0a55ee132dffa586c980c262de6c916b4c8950c72b235107 + languageName: node + linkType: hard + +"@aws-sdk/types@npm:3.649.0, @aws-sdk/types@npm:^3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/types@npm:3.649.0" + dependencies: + "@smithy/types": "npm:^3.4.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1b98e2ba8bd621e905afb038113f5b8ed529e70054e412d6b7940c6a08c854f0d0bca5b4b14145acc8e9ff062b9bfd7ee61b8e11b3027b42daa816972d5e0e0e languageName: node linkType: hard -"@aws-sdk/types@npm:3.609.0, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.4.1, @aws-sdk/types@npm:^3.609.0": +"@aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.4.1": version: 3.609.0 resolution: "@aws-sdk/types@npm:3.609.0" dependencies: @@ -1144,27 +1156,27 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.645.0": - version: 3.645.0 - resolution: "@aws-sdk/util-endpoints@npm:3.645.0" +"@aws-sdk/util-endpoints@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/util-endpoints@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-endpoints": "npm:^2.0.5" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/types": "npm:^3.4.0" + "@smithy/util-endpoints": "npm:^2.1.0" tslib: "npm:^2.6.2" - checksum: 10c0/bfb1e12379f688d20dd59cb7aba86a32138c25bfc7c6d081dec506e553292ee6962427daf2aa05a095a64506cba85ef3e55f472fbc9f4e08cabea4f8983edafe + checksum: 10c0/7616de7da014767d8188a43c0e2c4d3c095821ee47cb8795261f2e4d5edcc6c9040ea439f808f0dd55f3c43008ba6b707d9b94d80ca1d1a5f36a11ca51472596 languageName: node linkType: hard -"@aws-sdk/util-format-url@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/util-format-url@npm:3.609.0" +"@aws-sdk/util-format-url@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/util-format-url@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/querystring-builder": "npm:^3.0.3" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/querystring-builder": "npm:^3.0.4" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/983c72e2394fbdf47ca82c81d9a3892a82289b660998f26675d64709c19db1ccf88e951dd9a12e4867c618f51ba142f62f9613978ed5472837bfc69f6243534b + checksum: 10c0/0c4be0e5a74b2a515fc363e40b1751f5ff4b494e047e27c3bee95fc60218880c1ab5162ae4f4554045c17ed6f97984a1c91782f4e7bee2c370b31a85c43215c6 languageName: node linkType: hard @@ -1177,42 +1189,42 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.609.0" +"@aws-sdk/util-user-agent-browser@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/types": "npm:^3.4.0" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/ca2f2863d753521fd63e0c924ed6f9602cc9f5bb65f7d0111be140d037962cf6897f49929dde21e4d8e613895486d9053abd8965d34a9a6ecc4a81de401f0f16 + checksum: 10c0/a702b4b2d257ed5cb6d2bbaeeae418e59759b117b41a0d6bf71921a323ee697671d7ea22f2cd61e119060fec02906e232448314e0e4bf9bd88f1493de8a26486 languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.614.0": - version: 3.614.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.614.0" +"@aws-sdk/util-user-agent-node@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.649.0" dependencies: - "@aws-sdk/types": "npm:3.609.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@aws-sdk/types": "npm:3.649.0" + "@smithy/node-config-provider": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: 10c0/1e7b4d572a2915d921db814efbf771603b605aea114399aa357208433746f4b2990c927bdedd8616a6e50c98588032449b8994ce9ffae1cce7976986dc40adc1 + checksum: 10c0/34f0ed88d2f057fefd2a3fb5f12a96038f9a69cda1b7a02b1309c24cac3f975a35a3269d823a6ae972ade2d76024074c2ebb03e475abd6ab6cb949ff0f89ecab languageName: node linkType: hard -"@aws-sdk/xml-builder@npm:3.609.0": - version: 3.609.0 - resolution: "@aws-sdk/xml-builder@npm:3.609.0" +"@aws-sdk/xml-builder@npm:3.649.0": + version: 3.649.0 + resolution: "@aws-sdk/xml-builder@npm:3.649.0" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.0" tslib: "npm:^2.6.2" - checksum: 10c0/1d75f2dc7ff35557a1c437f108656574c737f0a9f9d0c91773cbdadbf3c42892e9305e1e1fd5b0c8b73520a902b1513d1a7d07864b964d6a369540ee23ad0ddb + checksum: 10c0/4cdc8971a3472b8ec33efce82f83d754556043c750dc46c83612caaa368f3c8db287443b250ac91d8773961533fe3d2799773de7b5bf0aedeec2579973850ab7 languageName: node linkType: hard @@ -4186,13 +4198,13 @@ __metadata: languageName: node linkType: hard -"@smithy/abort-controller@npm:^3.1.1": - version: 3.1.1 - resolution: "@smithy/abort-controller@npm:3.1.1" +"@smithy/abort-controller@npm:^3.1.2, @smithy/abort-controller@npm:^3.1.4": + version: 3.1.4 + resolution: "@smithy/abort-controller@npm:3.1.4" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/914933d961b3b29db41a10b9040396968a738340d2bfd7f0b553521a91624ff86ee4ce7d97c15e3d94ca5e2b924da9dbefaf91e6cbd34db25d493690e4889f93 + checksum: 10c0/233f2554ab1fb356228e4e88d74e811953a030763a7ce9fd4632d31f385f88b27105605bc2f93173e50741055c724a101eafcd5db92800e3c8430c08cdd65302 languageName: node linkType: hard @@ -4215,160 +4227,160 @@ __metadata: languageName: node linkType: hard -"@smithy/config-resolver@npm:^3.0.5": - version: 3.0.5 - resolution: "@smithy/config-resolver@npm:3.0.5" +"@smithy/config-resolver@npm:^3.0.6, @smithy/config-resolver@npm:^3.0.8": + version: 3.0.8 + resolution: "@smithy/config-resolver@npm:3.0.8" dependencies: - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-middleware": "npm:^3.0.6" tslib: "npm:^2.6.2" - checksum: 10c0/2346a0430a157660a759aee24fd20f18a9c4a3796938b1c792019a898afcdbb0af91af687b84f976a9f1e05eaba6946736e076f6b0ceb5f84b9063c67d2db8ae + checksum: 10c0/78d9451032ff9227f1bb70ccd7949cb35addd93c33c672da01f931071c0026ed950517fc80d52d75a51aa24f6caa45285e20a04e71a1d8189eb910e3e00daf18 languageName: node linkType: hard -"@smithy/core@npm:^2.4.0": - version: 2.4.0 - resolution: "@smithy/core@npm:2.4.0" +"@smithy/core@npm:^2.4.1": + version: 2.4.3 + resolution: "@smithy/core@npm:2.4.3" dependencies: - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-retry": "npm:^3.0.15" - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" "@smithy/util-body-length-browser": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-middleware": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/78ac95fa0a7bde40feef804a642d9ce4737c47660728b0a7cf3af19404492bc0a0ee9db50a2ea3195d3314aef0c9db19575f50cbe89355f60a4ffb55a4d7d4bf + checksum: 10c0/f56f693032b805de1d0a9f4f1b25a5b5966514c994a5fd3a0a805ff94c86ebe35224d7ccc8594372090a6580305ba4e768642949f7e1a99c9280372fcad4004d languageName: node linkType: hard -"@smithy/credential-provider-imds@npm:^3.2.0": - version: 3.2.0 - resolution: "@smithy/credential-provider-imds@npm:3.2.0" +"@smithy/credential-provider-imds@npm:^3.2.1, @smithy/credential-provider-imds@npm:^3.2.3": + version: 3.2.3 + resolution: "@smithy/credential-provider-imds@npm:3.2.3" dependencies: - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" tslib: "npm:^2.6.2" - checksum: 10c0/aee18386df65ac01969d9210ff81fec79fb7d365823b0b99527834bcaf068b20ce8c9170fdedb7c141e1fe1a7c1878072c10c4d4908aa41ed5cbdf84debf8011 + checksum: 10c0/b9abd2224f06923647871c0aa300261147a8a183bcf0f81f21e261fcf0c07101e91d59e19e1e1c3aff7f0543e825066e2ad52f3fc2d179cb66912a282ccf3741 languageName: node linkType: hard -"@smithy/eventstream-codec@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/eventstream-codec@npm:3.1.2" +"@smithy/eventstream-codec@npm:^3.1.5": + version: 3.1.5 + resolution: "@smithy/eventstream-codec@npm:3.1.5" dependencies: "@aws-crypto/crc32": "npm:5.2.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" "@smithy/util-hex-encoding": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/fc8db95d9625524b2832cf9cea203b4c1062197d04eef6f676b6eea06cc0007d45acb5270937c1b6b76f98638acaf0c2b822278226c25841ab45488df786e332 + checksum: 10c0/e999c74b9d3c38a67121f9096a134a55d8c4362a3a9468c8317d2dbf9a9d2e7ecf177ac0e7a5a5adfa92a51407a4d0bbf324787870d985a60ef6fae96ed4e8db languageName: node linkType: hard -"@smithy/eventstream-serde-browser@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/eventstream-serde-browser@npm:3.0.6" +"@smithy/eventstream-serde-browser@npm:^3.0.7": + version: 3.0.9 + resolution: "@smithy/eventstream-serde-browser@npm:3.0.9" dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.5" - "@smithy/types": "npm:^3.3.0" + "@smithy/eventstream-serde-universal": "npm:^3.0.8" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/0b70151fe310687b38bf6619992a0e1d687bd4fd3c52278581147e0962bd1fa2f4bd5bfef13711d7d03d68a73484e81e5da7f7755c0141e61b045b9c1a387d10 + checksum: 10c0/f74d9754fe0de4e682c010afbce374436d8ab1ece0fcc078caa5dab87133696179f3e9821699094626032aad34ff485a40699e1860da7d377802c8dd768c9b1d languageName: node linkType: hard -"@smithy/eventstream-serde-config-resolver@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.3" +"@smithy/eventstream-serde-config-resolver@npm:^3.0.4": + version: 3.0.6 + resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/ef3360c0a0e4ad20f6e6da84b63e5071e3158af726bf291c610e2d42b5e042008cd9fe41ce2183f491422f23c36437987c0d1139e68b3c127d48c01b442dab82 + checksum: 10c0/be8b118ef46c0e2d0f8faab3a86bb65f617e88e33205e44c8799bd9a7ce97d37957528686c1b5485e9f662d331379bbdb68fa2c65869c86568aa1387e06b9a86 languageName: node linkType: hard -"@smithy/eventstream-serde-node@npm:^3.0.5": - version: 3.0.5 - resolution: "@smithy/eventstream-serde-node@npm:3.0.5" +"@smithy/eventstream-serde-node@npm:^3.0.6": + version: 3.0.8 + resolution: "@smithy/eventstream-serde-node@npm:3.0.8" dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.5" - "@smithy/types": "npm:^3.3.0" + "@smithy/eventstream-serde-universal": "npm:^3.0.8" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/7f1dc63838f68b99a49051ce64f81f624d881e1ccbe363e2dcfa33709d9913fec3939e9e48f75e2e11cd7a21bcfc7b7d430d10ea1c867720e0d934b2c065b16a + checksum: 10c0/e059d680e847b5c4759b83b0d5b2f7570648b53ffd01650dbfb04eec89084915092517c6eb59183aa019eafda7506afe808c0fb2cf2eec7c648fbf68c95fcece languageName: node linkType: hard -"@smithy/eventstream-serde-universal@npm:^3.0.5": - version: 3.0.5 - resolution: "@smithy/eventstream-serde-universal@npm:3.0.5" +"@smithy/eventstream-serde-universal@npm:^3.0.8": + version: 3.0.8 + resolution: "@smithy/eventstream-serde-universal@npm:3.0.8" dependencies: - "@smithy/eventstream-codec": "npm:^3.1.2" - "@smithy/types": "npm:^3.3.0" + "@smithy/eventstream-codec": "npm:^3.1.5" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/9d065a0fcb2de7b5d7a0ad7631949d5d972fc92e7edb66a695c61f98ab659b59e39d6375527e2a85af4a97ba4f8d998e99bd84a62ded2758c925f9fe3e4b2ab1 + checksum: 10c0/d3d87d3295318e8f7715fd56b0db357a96bd5ff026458578e83c775349666a587af308a2a170078900ddb8d776dd1d6d6c39e8267f72098e3943016df9ba893c languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^3.2.4": - version: 3.2.4 - resolution: "@smithy/fetch-http-handler@npm:3.2.4" +"@smithy/fetch-http-handler@npm:^3.2.5, @smithy/fetch-http-handler@npm:^3.2.7": + version: 3.2.7 + resolution: "@smithy/fetch-http-handler@npm:3.2.7" dependencies: - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/querystring-builder": "npm:^3.0.3" - "@smithy/types": "npm:^3.3.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/querystring-builder": "npm:^3.0.6" + "@smithy/types": "npm:^3.4.2" "@smithy/util-base64": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/ef788ef9d4b88f11a3b9dea60de0e0fa500ce38f43ae1359b3053d4c0acfe81e53ce76d4e8dab7c25cec22cd95371a6c994de1a54118811e0b91e8bddd7c6e83 + checksum: 10c0/b910854b4afcd4c8dff3994b08bb65c51a263beadb826062a025d49a33043dc66f3b104eb34b348aaaea887abbb3f6676df1e7a5d8d4683393711bf6bd659d38 languageName: node linkType: hard -"@smithy/hash-blob-browser@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/hash-blob-browser@npm:3.1.2" +"@smithy/hash-blob-browser@npm:^3.1.3": + version: 3.1.5 + resolution: "@smithy/hash-blob-browser@npm:3.1.5" dependencies: "@smithy/chunked-blob-reader": "npm:^3.0.0" "@smithy/chunked-blob-reader-native": "npm:^3.0.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/71b017ae71839e058661e22589bacbc204d4980df66d67725aaa415493107e2f0898e41d0c6a4cd2c96333648d472c66ed35ec3c264156e6021bda5d590eb5ab + checksum: 10c0/4633333ee44ff09a4df782444176e648b85f53e42767d3d3e66007019d5aa30718b70bbd49bced0bcdd33180cbe284b5366448f53bb3184498a84478794125a8 languageName: node linkType: hard -"@smithy/hash-node@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/hash-node@npm:3.0.3" +"@smithy/hash-node@npm:^3.0.4": + version: 3.0.6 + resolution: "@smithy/hash-node@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" "@smithy/util-buffer-from": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/d0ba0f069cb047a8a040733b9b119a194c130d287e8a68b8e79cf9cac5abe683df84ea28dd918e85a46031155e0d561f3c5854de3d280c3d501977a986550c8b + checksum: 10c0/c79d1013ccfc14edb5ca7e7465abc75b71b0a4db2ebab8b87c5689f63a9ed2d15e43241985a2797805c083aa11ceee05c8c75eacd0aea0c13276ccbeb08dfc67 languageName: node linkType: hard -"@smithy/hash-stream-node@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/hash-stream-node@npm:3.1.2" +"@smithy/hash-stream-node@npm:^3.1.3": + version: 3.1.5 + resolution: "@smithy/hash-stream-node@npm:3.1.5" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/2daadb5d6f08022ca1b1ecb4256d613613be86b7b768fb221ee3a2a7e584df0f4a546fba080e8366211c99f9ddb66d57e38525d10839405eab0b9d5be81d313b + checksum: 10c0/89a27d7f2d77ea6b3c98b02948922ed1cfa8fa6d26aaed04fb83468abf5e51d50f7f7bb3973dcdc478c57a7918f75fd359ac9b656e677e7d30f8ee01afd18464 languageName: node linkType: hard -"@smithy/invalid-dependency@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/invalid-dependency@npm:3.0.3" +"@smithy/invalid-dependency@npm:^3.0.4": + version: 3.0.6 + resolution: "@smithy/invalid-dependency@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/c52e909fa0cd8630e1e850da78af20abb11091b134ca107108e4f8336eee4b1b8cde60ba5946eff4bfe3d7bddc74e80a59fa0f448a7b45bf69df1e247aeee607 + checksum: 10c0/91de6c6097d3954b7a402c8bb738b03973edefd084092307dd84778c39ae2fa242d4ed1ca216d12bcc2301c56de8d0690848f0961515c09b19b2a2492980e74f languageName: node linkType: hard @@ -4390,143 +4402,143 @@ __metadata: languageName: node linkType: hard -"@smithy/md5-js@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/md5-js@npm:3.0.3" +"@smithy/md5-js@npm:^3.0.4": + version: 3.0.6 + resolution: "@smithy/md5-js@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/048b966676f5944da701120ca2e133de8a17fa403f2dc96dd88a82ea2248e2b439147b062ad8860486a9897899dd28de45cc0e2ae03c1221e2b987ad8e065464 + checksum: 10c0/d15cb0012df5d3f7ac762f432c66e54b4b36c580229c8d4f216bec8697b438b9842ff78a23619e7a10ec09a3d8589d2f0498336e3969090cc82bd2bf364f3635 languageName: node linkType: hard -"@smithy/middleware-content-length@npm:^3.0.5": - version: 3.0.5 - resolution: "@smithy/middleware-content-length@npm:3.0.5" +"@smithy/middleware-content-length@npm:^3.0.6": + version: 3.0.8 + resolution: "@smithy/middleware-content-length@npm:3.0.8" dependencies: - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/fb8901dc0673709235dd5c0788bd9cb930a6590023ecf350fa4835289a606c2e6d60ca8fca90f7525bc15c005db9cf98ae8ccffccc42f611468863f883051a7d + checksum: 10c0/efb13134cd44802b09ad5e9d6545170596eb319ac9486b9ecdb742b689e24cfb074bc112cb27a755b98801c32449932479ef05085ac75186cae6420c63a81fe9 languageName: node linkType: hard -"@smithy/middleware-endpoint@npm:^3.1.0": - version: 3.1.0 - resolution: "@smithy/middleware-endpoint@npm:3.1.0" - dependencies: - "@smithy/middleware-serde": "npm:^3.0.3" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" - "@smithy/url-parser": "npm:^3.0.3" - "@smithy/util-middleware": "npm:^3.0.3" +"@smithy/middleware-endpoint@npm:^3.1.1, @smithy/middleware-endpoint@npm:^3.1.3": + version: 3.1.3 + resolution: "@smithy/middleware-endpoint@npm:3.1.3" + dependencies: + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/shared-ini-file-loader": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" + "@smithy/util-middleware": "npm:^3.0.6" tslib: "npm:^2.6.2" - checksum: 10c0/c50e0ee205d5126263be1bda8c5580048bddb939c75521dc8a53a7fae5b5fbea6ad8258d22cd59e49c88a5c0c669c246bf1eefb5a7dc03660d778e7ce6cd9aca + checksum: 10c0/fb4a584b5d52d9998bd91fc4e63f0ab2dbd6a5f38b299e3577df3e96930551743768f8526a19cad7ccab15014dfaa161b4ebef903f89b49b4f6a2537f88c3f47 languageName: node linkType: hard -"@smithy/middleware-retry@npm:^3.0.15": - version: 3.0.15 - resolution: "@smithy/middleware-retry@npm:3.0.15" +"@smithy/middleware-retry@npm:^3.0.16, @smithy/middleware-retry@npm:^3.0.18": + version: 3.0.18 + resolution: "@smithy/middleware-retry@npm:3.0.18" dependencies: - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/service-error-classification": "npm:^3.0.3" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-middleware": "npm:^3.0.3" - "@smithy/util-retry": "npm:^3.0.3" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/service-error-classification": "npm:^3.0.6" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/0c09e4325081305a948468aae75e9bd7645946f11c8aace9efa6c22cd286a7105b2bca9ef418bea849bbdf46cc46c295ac7b56193b8d7c7ba15597fc804b05c2 + checksum: 10c0/18c12da848314becdc9f0f8ba9418f8888e1931c4c69c03bae1df48a7a0f866d7aaecd9b0fe67d51519c3689687045967e2c062f62871664cd8885da321a5ca3 languageName: node linkType: hard -"@smithy/middleware-serde@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/middleware-serde@npm:3.0.3" +"@smithy/middleware-serde@npm:^3.0.4, @smithy/middleware-serde@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/middleware-serde@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/5b2ad50dea8af9a7a98816c0746c14af4267d053adcade9586a260cff968c41d768220b2987e5b751dbee7cd8c9538ff9839fbc7698dd09bf9b9ca4f5c8001ab + checksum: 10c0/94c906dd0f77716976bdab0c1fafe257e5fa9f81f92213df20ce4324cf0feb3533f3004df81863ed4e2c597dd3aecb1001267b16f3ca6a67e6a80eb349eaac6e languageName: node linkType: hard -"@smithy/middleware-stack@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/middleware-stack@npm:3.0.3" +"@smithy/middleware-stack@npm:^3.0.4, @smithy/middleware-stack@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/middleware-stack@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/c886d367ce02f6ae7bc70c4060e79ddfa46c3b35851921364836d64efb76f2fc71b0c1c09401c47d289dc93527a7699085a3feb0778e0337862aa8e6473cb54b + checksum: 10c0/c8121cef5bac12cf8710adcfc71fcdef59af7a34279781dc0db7b1d667ef0f36f0caab209a067db4b1144908b42e1966fd63593cc99a29f048bd1eb916b677e0 languageName: node linkType: hard -"@smithy/node-config-provider@npm:^3.1.4": - version: 3.1.4 - resolution: "@smithy/node-config-provider@npm:3.1.4" +"@smithy/node-config-provider@npm:^3.1.5, @smithy/node-config-provider@npm:^3.1.7": + version: 3.1.7 + resolution: "@smithy/node-config-provider@npm:3.1.7" dependencies: - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/shared-ini-file-loader": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/shared-ini-file-loader": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/1d69cb8f83292df9e15523a727d55f6b812ff0ca30d615439cc6e7a5fe0d59c9524875745939bba611ca818757790f37509bb843b95f1e6d6b1ccd6d6c546077 + checksum: 10c0/26c6a73f271c3ec38c3498ab51972c46ab63371e3d9f2c6613fbfbbe66c52361a2a515c8b24c1b7c3f473c18d776e263476481ed211c446f59a62015433107d7 languageName: node linkType: hard -"@smithy/node-http-handler@npm:^3.1.4": - version: 3.1.4 - resolution: "@smithy/node-http-handler@npm:3.1.4" +"@smithy/node-http-handler@npm:^3.2.0, @smithy/node-http-handler@npm:^3.2.2": + version: 3.2.2 + resolution: "@smithy/node-http-handler@npm:3.2.2" dependencies: - "@smithy/abort-controller": "npm:^3.1.1" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/querystring-builder": "npm:^3.0.3" - "@smithy/types": "npm:^3.3.0" + "@smithy/abort-controller": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/querystring-builder": "npm:^3.0.6" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/9d7354084ed19f0aefb127d640f4a96fa6f5cf4212b3f128d8c9fa3258061bf666e6101d659167693653d729b44b6e558968b5018910e6045a5f9ebd2529d395 + checksum: 10c0/41725d577d2afb362a091277013867f12cab68b0510993db87778494ce4ce386eedd26f63f5452f4836c015a9fffc1aedd65dc77897c7bf56bc98d0a33c51cb5 languageName: node linkType: hard -"@smithy/property-provider@npm:^3.1.3": - version: 3.1.3 - resolution: "@smithy/property-provider@npm:3.1.3" +"@smithy/property-provider@npm:^3.1.4, @smithy/property-provider@npm:^3.1.6": + version: 3.1.6 + resolution: "@smithy/property-provider@npm:3.1.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/e1414e01f6efc298728ff79c1513f9606b44c00b98eb92d003e332ae7312ac9c0e1b7ef08ce426c99545100531fdc33efc0d769b6f75a953df015a8479e73f90 + checksum: 10c0/af68a2be7ba48def574fe735ba9b04219a6c3d6565485f02392e26df260534d6e7efe552105c4b10ae35b63188b65add8dc944f9065a8775c9f1c1e8eed0160a languageName: node linkType: hard -"@smithy/protocol-http@npm:^4.1.0": - version: 4.1.0 - resolution: "@smithy/protocol-http@npm:4.1.0" +"@smithy/protocol-http@npm:^4.1.1, @smithy/protocol-http@npm:^4.1.3": + version: 4.1.3 + resolution: "@smithy/protocol-http@npm:4.1.3" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/0bf5b40709724ff47880132297ba210d7db3c36bb7c841bc20fe98a2daa39697ea5d943a8181753ac6af19f0c8c7831381b93c1ffb9867ef5b6d071297e80fb8 + checksum: 10c0/94f4273d34590c857e9be8f682c8acc363141a5fa945b11dde3e77e053d3c93b96141aa539195b3b237221eec8b56a689bcbddc13d6ee3113178e17a78f8b4a7 languageName: node linkType: hard -"@smithy/querystring-builder@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/querystring-builder@npm:3.0.3" +"@smithy/querystring-builder@npm:^3.0.4, @smithy/querystring-builder@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/querystring-builder@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" "@smithy/util-uri-escape": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/0fd88fb2f3b494981e286b840b7eeb90896d8cc2f47ce3964f65ae95eb74c82691af205bdc17abc39fd483e1952359459204686bb1741c9f425cd5a9a1503f65 + checksum: 10c0/2b5b7461f0d5974a62629143b7e0eab018d5a5725ed55c4aa5ae6cf2e8bc5bbc595fa07ecca08012003afe5dd7530296912cf9a7ec4cf1896b88fce88ce28c8c languageName: node linkType: hard -"@smithy/querystring-parser@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/querystring-parser@npm:3.0.3" +"@smithy/querystring-parser@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/querystring-parser@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/a7bcbce8342ca520ca0dbbe420e93547c4eebf7193df4467bae5be6f0493492486a8dad6e20477c5f37f40b9903df91cb8bfb41ee1d21b63b5512f77291ffe6e + checksum: 10c0/addeb6dd2c9294404eb26ef5dfac7e099933be56829af629b9a0de316ea5ce7929d0f4670f25609e3e82040dc4de528eb2348f4188447c698eb81f74e213239b languageName: node linkType: hard @@ -4539,52 +4551,52 @@ __metadata: languageName: node linkType: hard -"@smithy/service-error-classification@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/service-error-classification@npm:3.0.3" +"@smithy/service-error-classification@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/service-error-classification@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" - checksum: 10c0/8ba7b655668fff01eb5de1d504711d6304d3e8a8dbbcb0620921bfdaafa5abca7621c0278d21367782d6c53277cddb8bbb6f9373013f64aac0c855520696bbd1 + "@smithy/types": "npm:^3.4.2" + checksum: 10c0/8c5f6d5c5f60c72cf3d39221ec88b9d31b548c977c613b08f9791514b44843d938f2001bb2377b35f945180016fe0398fbff9aa1dcfaf137a82de7d9e922c77e languageName: node linkType: hard -"@smithy/shared-ini-file-loader@npm:^3.1.4": - version: 3.1.4 - resolution: "@smithy/shared-ini-file-loader@npm:3.1.4" +"@smithy/shared-ini-file-loader@npm:^3.1.5, @smithy/shared-ini-file-loader@npm:^3.1.7": + version: 3.1.7 + resolution: "@smithy/shared-ini-file-loader@npm:3.1.7" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/e90e5e375fc5afb4dda335e1d0a9d3496cec731511c35351330a210dc22d22b398c45e49d3a4142e55ce7d0e1b280d1b3d46cecdd97b9527f2d9e89ced74f63b + checksum: 10c0/ff19860af2c88e8b208fb0b696f72d9565e137ae36bb62ee56a018367edc1a17e5813bd986187021ee33386d168ddf75d604c650ca05d79ff3f948715384d4a9 languageName: node linkType: hard -"@smithy/signature-v4@npm:^4.1.0": - version: 4.1.0 - resolution: "@smithy/signature-v4@npm:4.1.0" +"@smithy/signature-v4@npm:^4.1.1": + version: 4.1.3 + resolution: "@smithy/signature-v4@npm:4.1.3" dependencies: "@smithy/is-array-buffer": "npm:^3.0.0" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" "@smithy/util-hex-encoding": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.3" + "@smithy/util-middleware": "npm:^3.0.6" "@smithy/util-uri-escape": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/7f20f60b1bc280fb60014d75fbafb1c923ef492997c02cabfa8f37e87381c5aa5c47cfd8a0d9e4c17020c5cf2ab73c461c5e2965a1d6f933b54f617fab27b8c6 + checksum: 10c0/b398c603d2f350575927545743b06674d8f57de1b2dc36da7be9fae3983d40ef40dd7e9e8a5974365277d303adca27b3cbf0e39fd473c2a8d7b49ddfbc252345 languageName: node linkType: hard -"@smithy/smithy-client@npm:^3.2.0": - version: 3.2.0 - resolution: "@smithy/smithy-client@npm:3.2.0" +"@smithy/smithy-client@npm:^3.3.0, @smithy/smithy-client@npm:^3.3.2": + version: 3.3.2 + resolution: "@smithy/smithy-client@npm:3.3.2" dependencies: - "@smithy/middleware-endpoint": "npm:^3.1.0" - "@smithy/middleware-stack": "npm:^3.0.3" - "@smithy/protocol-http": "npm:^4.1.0" - "@smithy/types": "npm:^3.3.0" - "@smithy/util-stream": "npm:^3.1.3" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-stream": "npm:^3.1.6" tslib: "npm:^2.6.2" - checksum: 10c0/e401e65de2b687fdb440d1c0535bad7a3539fda1820908bc2836abbe7c791b470c1091bf2b2bb13a3ce4a64c0fbec1df2e4c9959788e3310d410334f479a7829 + checksum: 10c0/9989f9e4158e520737a2cc02f63b10e210cbba75e552f7963d4aeacb48e2d0a2c64ec20f8de1235ff98d7148dcbf465900245f9f1d37f9fd7ccfc0d53d74e5e4 languageName: node linkType: hard @@ -4606,14 +4618,23 @@ __metadata: languageName: node linkType: hard -"@smithy/url-parser@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/url-parser@npm:3.0.3" +"@smithy/types@npm:^3.4.0, @smithy/types@npm:^3.4.2": + version: 3.4.2 + resolution: "@smithy/types@npm:3.4.2" dependencies: - "@smithy/querystring-parser": "npm:^3.0.3" - "@smithy/types": "npm:^3.3.0" tslib: "npm:^2.6.2" - checksum: 10c0/9ed0ab14034369fd823587c22d22e257203638a327954853c9bb92c3571a94fa7dc56211f9340b0ac3af5c37dfa206fd99dcde4ee9164a300994314a83e0b042 + checksum: 10c0/b3a583c3c9116952008b0227be1b1513447ed08e8f65c7b82c0c8299b2520b6e0544de0225d6baf3afe65db4fe5a37c4ed5622bac3d516058bc4a3d4bbad0ec6 + languageName: node + linkType: hard + +"@smithy/url-parser@npm:^3.0.4, @smithy/url-parser@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/url-parser@npm:3.0.6" + dependencies: + "@smithy/querystring-parser": "npm:^3.0.6" + "@smithy/types": "npm:^3.4.2" + tslib: "npm:^2.6.2" + checksum: 10c0/0d9ec9acf04513715a588b1866ff6212eb85049587f88b8b969e3fa723764b45723d519904aa2d6e0aa22d333962a11ee5ed35d7c65798696b796928e5429a95 languageName: node linkType: hard @@ -4675,42 +4696,42 @@ __metadata: languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^3.0.15": - version: 3.0.15 - resolution: "@smithy/util-defaults-mode-browser@npm:3.0.15" +"@smithy/util-defaults-mode-browser@npm:^3.0.16": + version: 3.0.18 + resolution: "@smithy/util-defaults-mode-browser@npm:3.0.18" dependencies: - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/ca3e44fd9d3587861c36a12f7f5f27733f18c7b35ff335e3d12bbce4be06d140c9382e6e6496c575d55104468be267a88a9e63baab6bbc67f6343d785cd45fc1 + checksum: 10c0/e4116b70525ece3bbf0bd1953e2af8650453439122af875e5ca650f2513188172abb4dcbcb18d1885e5b3d192e530fda9853f3ca8cd6900d2487cbe24934b3ac languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^3.0.15": - version: 3.0.15 - resolution: "@smithy/util-defaults-mode-node@npm:3.0.15" +"@smithy/util-defaults-mode-node@npm:^3.0.16": + version: 3.0.18 + resolution: "@smithy/util-defaults-mode-node@npm:3.0.18" dependencies: - "@smithy/config-resolver": "npm:^3.0.5" - "@smithy/credential-provider-imds": "npm:^3.2.0" - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/property-provider": "npm:^3.1.3" - "@smithy/smithy-client": "npm:^3.2.0" - "@smithy/types": "npm:^3.3.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/credential-provider-imds": "npm:^3.2.3" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/db935497dcd8d51ce9962051f68ea85c12f81100cffdb62816134b6ef2d92330f97eb029c1069c16678cf822a26d6bd730e9432787cc342e92eca8af85655513 + checksum: 10c0/1ff9ed5d369e4d21e66754ba67a3dcfe78040f373c980ff4a45b93407dc6bbbab6a3986a34129a0d922a93d455cb7ee802afb963657004e3929eda7d309b886d languageName: node linkType: hard -"@smithy/util-endpoints@npm:^2.0.5": - version: 2.0.5 - resolution: "@smithy/util-endpoints@npm:2.0.5" +"@smithy/util-endpoints@npm:^2.1.0": + version: 2.1.2 + resolution: "@smithy/util-endpoints@npm:2.1.2" dependencies: - "@smithy/node-config-provider": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/4dd0740eaca169dc1078ef7e10dd0b0cc186e8c2bb1bf26c7ab8dff557c59f146bf6496a3e44a7bbb9ac6bfbcb587f1a100d81466f29b20dbb58e3e5cf5bceeb + checksum: 10c0/9b11f8347937cbae3cf018a34fb0942eff01c9f568695a4bea7d58499754d8d851128b1a0d99017b367e7be75196a770eb9ece0969a126e7fe09f50fabb98f16 languageName: node linkType: hard @@ -4723,40 +4744,40 @@ __metadata: languageName: node linkType: hard -"@smithy/util-middleware@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/util-middleware@npm:3.0.3" +"@smithy/util-middleware@npm:^3.0.4, @smithy/util-middleware@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/util-middleware@npm:3.0.6" dependencies: - "@smithy/types": "npm:^3.3.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/1d7d01f75ab6d116e6d539bbcfc6f5d7f2b6e3a25f970758872a2e45c4a6b5795326d2f51b2566ca9fe5ba260d9176b33260bde15759c5296ab9f8557835364e + checksum: 10c0/a697fe4787fcb59d8abed3c5f3cb775d3b5e64a87962513aed5af1643737a1b31afde2945591b60eac560ef24d1db7b23efd65758a056c54f0debc32dad4bf5b languageName: node linkType: hard -"@smithy/util-retry@npm:^3.0.3": - version: 3.0.3 - resolution: "@smithy/util-retry@npm:3.0.3" +"@smithy/util-retry@npm:^3.0.4, @smithy/util-retry@npm:^3.0.6": + version: 3.0.6 + resolution: "@smithy/util-retry@npm:3.0.6" dependencies: - "@smithy/service-error-classification": "npm:^3.0.3" - "@smithy/types": "npm:^3.3.0" + "@smithy/service-error-classification": "npm:^3.0.6" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/bea28dff13ae32222dda579eb9bccfaf34b427ab46165509cd524a7080463361a39acc5d1aa7452714c38193a5523f3ab810cd2e60eef9bc768fd1ab23b5bde6 + checksum: 10c0/c12d3790e87d47f72e032f138c630fa4747581af794d3b3c0fae9711dd41f80c4a7b4ef7c2f7b6d9230565f27599a53f833d2d5d5308968ef994dcae92f6652a languageName: node linkType: hard -"@smithy/util-stream@npm:^3.1.3": - version: 3.1.3 - resolution: "@smithy/util-stream@npm:3.1.3" +"@smithy/util-stream@npm:^3.1.4, @smithy/util-stream@npm:^3.1.6": + version: 3.1.6 + resolution: "@smithy/util-stream@npm:3.1.6" dependencies: - "@smithy/fetch-http-handler": "npm:^3.2.4" - "@smithy/node-http-handler": "npm:^3.1.4" - "@smithy/types": "npm:^3.3.0" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/types": "npm:^3.4.2" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-buffer-from": "npm:^3.0.0" "@smithy/util-hex-encoding": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/4ee3b323f727e7ff1e45ce561a1168dee1c9aaf9d275c019f19f9ee1af3abd0d6bf4c84fc2f11df259aeea1bffd1ddc40fff2c4c845bc41682dbf4a26946bf46 + checksum: 10c0/a2a4601f56680203b25b8d99342d635a0b0db062e0749a260c7fb8b148c2d0da07222c11563a5ead6f6d45e5fbc45beb2509c461635cfecfedd0f031c2f9283e languageName: node linkType: hard @@ -4789,14 +4810,14 @@ __metadata: languageName: node linkType: hard -"@smithy/util-waiter@npm:^3.1.2": - version: 3.1.2 - resolution: "@smithy/util-waiter@npm:3.1.2" +"@smithy/util-waiter@npm:^3.1.3": + version: 3.1.5 + resolution: "@smithy/util-waiter@npm:3.1.5" dependencies: - "@smithy/abort-controller": "npm:^3.1.1" - "@smithy/types": "npm:^3.3.0" + "@smithy/abort-controller": "npm:^3.1.4" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/50e7ef8de9779650aec125b81b28e01e9b696f121841d6b1037fd7a2e1296db21c2399b3cf87381a256b3db04a63013c65dba187d22d2a38d31e389ef356c066 + checksum: 10c0/d72733480f08a570a08eb1c4e57ac5779d2f41598d9608d62419e9adfccb86295b8c60103c51b3338167bb2f9179483db24c3dc9585da867419c5abf9efcad98 languageName: node linkType: hard From e704a6dbc4e95bfe517dba0a0af50de31da24edb Mon Sep 17 00:00:00 2001 From: Zack Mariscal Date: Tue, 17 Sep 2024 05:52:40 -0700 Subject: [PATCH 72/90] docs: Update `wich` to `which` (#4133) # Purpose When reading the documentation around `input_enable_workflow_job_events_queue` I noticed a typo and this PR fixes it. # Issue https://github.com/philips-labs/terraform-aws-github-runner/issues/4134 Co-authored-by: Stuart Pearson <1926002+stuartp44@users.noreply.github.com> --- modules/multi-runner/README.md | 2 +- modules/multi-runner/variables.tf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/multi-runner/README.md b/modules/multi-runner/README.md index 896b27d5a5..3ff91be86e 100644 --- a/modules/multi-runner/README.md +++ b/modules/multi-runner/README.md @@ -131,7 +131,7 @@ module "multi-runner" { | [enable\_ami\_housekeeper](#input\_enable\_ami\_housekeeper) | Option to disable the lambda to clean up old AMIs. | `bool` | `false` | no | | [enable\_managed\_runner\_security\_group](#input\_enable\_managed\_runner\_security\_group) | Enabling the default managed security group creation. Unmanaged security groups can be specified via `runner_additional_security_group_ids`. | `bool` | `true` | no | | [enable\_metrics\_control\_plane](#input\_enable\_metrics\_control\_plane) | (Experimental) Enable or disable the metrics for the module. Feature can change or renamed without a major release. | `bool` | `false` | no | -| [enable\_workflow\_job\_events\_queue](#input\_enable\_workflow\_job\_events\_queue) | Enabling this experimental feature will create a secondory sqs queue to wich a copy of the workflow\_job event will be delivered. | `bool` | `false` | no | +| [enable\_workflow\_job\_events\_queue](#input\_enable\_workflow\_job\_events\_queue) | Enabling this experimental feature will create a secondory sqs queue to which a copy of the workflow\_job event will be delivered. | `bool` | `false` | no | | [ghes\_ssl\_verify](#input\_ghes\_ssl\_verify) | GitHub Enterprise SSL verification. Set to 'false' when custom certificate (chains) is used for GitHub Enterprise Server (insecure). | `bool` | `true` | no | | [ghes\_url](#input\_ghes\_url) | GitHub Enterprise Server URL. Example: https://github.internal.co - DO NOT SET IF USING PUBLIC GITHUB | `string` | `null` | no | | [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | diff --git a/modules/multi-runner/variables.tf b/modules/multi-runner/variables.tf index fc1edefcf9..13b6f838a0 100644 --- a/modules/multi-runner/variables.tf +++ b/modules/multi-runner/variables.tf @@ -551,7 +551,7 @@ variable "pool_lambda_reserved_concurrent_executions" { } variable "enable_workflow_job_events_queue" { - description = "Enabling this experimental feature will create a secondory sqs queue to wich a copy of the workflow_job event will be delivered." + description = "Enabling this experimental feature will create a secondory sqs queue to which a copy of the workflow_job event will be delivered." type = bool default = false } From 7095487325d4f63acd246e508e2e997cf13a2249 Mon Sep 17 00:00:00 2001 From: Chris Sng Date: Sat, 21 Sep 2024 10:46:38 +0900 Subject: [PATCH 73/90] fix: Add missing SG and subnet configuration for Job Retry lambda (#4114) While the Security group IDs and Subnet IDs can be configured in the Job-retry lambda, the `config` variable did not accept it. I rectify the type definition in the variable. Additionally, I also updated the description of the variable for accuracy. --- modules/runners/job-retry/variables.tf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/runners/job-retry/variables.tf b/modules/runners/job-retry/variables.tf index 475944b0ed..77dcffa57f 100644 --- a/modules/runners/job-retry/variables.tf +++ b/modules/runners/job-retry/variables.tf @@ -5,6 +5,7 @@ variable "config" { `aws_partition`: Partition for the base arn if not 'aws' `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86_64' functions. `environment_variables`: Environment variables for the lambda. + `enable_organization_runners`: Enable organization runners. `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning. 'ghes_url': Optional GitHub Enterprise Server URL. 'github_app_parameters': Parameter Store for GitHub App Parameters. @@ -15,7 +16,7 @@ variable "config" { `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. `memory_size`: Memory size linit in MB of the lambda. - `metrics_config`: Configuraiton to enable metrics creation by the lambda. + `metrics`: Configuration to enable metrics creation by the lambda. `prefix`: The prefix used for naming resources. `role_path`: The path that will be added to the role, if not set the environment name will be used. `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda. @@ -69,6 +70,8 @@ variable "config" { role_path = optional(string, null) role_permissions_boundary = optional(string, null) runtime = optional(string, null) + security_group_ids = optional(list(string), []) + subnet_ids = optional(list(string), []) s3_bucket = optional(string, null) s3_key = optional(string, null) s3_object_version = optional(string, null) From b905772ba2a9147e9633e5ea1ec20c214b28b136 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 21 Sep 2024 03:47:05 +0200 Subject: [PATCH 74/90] chore(deps): bump peter-evans/create-pull-request from 6.1.0 to 7.0.3 (#4127) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.1.0 to 7.0.3.
    Release notes

    Sourced from peter-evans/create-pull-request's releases.

    Create Pull Request v7.0.3

    ⚙️ Fixes an issue with commit signing where commit SHAs have variable lengths when abbreviated.

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v7.0.2...v7.0.3

    Create Pull Request v7.0.2

    ⚙️ Fixes an issue with commit signing when a change was detected as being a rename or copy.

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v7.0.1...v7.0.2

    Create Pull Request v7.0.1

    ⚙️ Fixes an issue affecting one particular use case where the action fails on diff --stat with fatal: ambiguous argument.

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v7.0.0...v7.0.1

    Create Pull Request v7.0.0

    :sparkles: Now supports commit signing with bot-generated tokens! See "What's new" below. :writing_hand::robot:

    Behaviour changes

    • Action input git-token has been renamed branch-token, to be more clear about its purpose. The branch-token is the token that the action will use to create and update the branch.
    • The action now handles requests that have been rate-limited by GitHub. Requests hitting a primary rate limit will retry twice, for a total of three attempts. Requests hitting a secondary rate limit will not be retried.
    • The pull-request-operation output now returns none when no operation was executed.
    • Removed deprecated output environment variable PULL_REQUEST_NUMBER. Please use the pull-request-number action output instead.

    What's new

    • The action can now sign commits as github-actions[bot] when using GITHUB_TOKEN, or your own bot when using GitHub App tokens. See commit signing for details.
    • Action input draft now accepts a new value always-true. This will set the pull request to draft status when the pull request is updated, as well as on creation.
    • A new action input maintainer-can-modify indicates whether maintainers can modify the pull request. The default is true, which retains the existing behaviour of the action.
    • A new output pull-request-commits-verified returns true or false, indicating whether GitHub considers the signature of the branch's commits to be verified.

    ... (truncated)

    Commits
    • 6cd32fd fix: disable abbreviated commit shas in diff (#3337)
    • d121e62 fix: disable diff detection for renames and copies (#3330)
    • f4d66f4 build(deps-dev): bump typescript from 5.5.4 to 5.6.2 (#3319)
    • 488c869 build(deps-dev): bump @​types/node from 18.19.48 to 18.19.50 (#3320)
    • 5354f85 docs: update readme
    • 8867c4a fix: handle ambiguous argument failure on diff stat (#3312)
    • 6073f54 build(deps-dev): bump @​typescript-eslint/eslint-plugin (#3291)
    • 6d01b56 build(deps-dev): bump eslint-plugin-import from 2.29.1 to 2.30.0 (#3290)
    • 25cf845 build(deps-dev): bump @​typescript-eslint/parser from 7.17.0 to 7.18.0 (#3289)
    • d87b980 build(deps-dev): bump @​types/node from 18.19.46 to 18.19.48 (#3288)
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/create-pull-request&package-manager=github_actions&previous-version=6.1.0&new-version=7.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/update-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index dae4b7fc71..1632a976fb 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -42,7 +42,7 @@ jobs: # change docs via PR in case of locked main branch - name: Create Pull Request (main branch only) if: github.ref == 'refs/heads/main' && github.repository_owner == 'philips-labs' - uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0 + uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # v7.0.3 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: "docs: auto update terraform docs" From 647d90f9bab82893ef65a432046ce471ca996268 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 21 Sep 2024 03:48:11 +0200 Subject: [PATCH 75/90] docs: Update Terraform docs (#4140) Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action Co-authored-by: npalm <11609620+npalm@users.noreply.github.com> --- modules/runners/job-retry/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/runners/job-retry/README.md b/modules/runners/job-retry/README.md index cc00035fb3..fae2fa3baf 100644 --- a/modules/runners/job-retry/README.md +++ b/modules/runners/job-retry/README.md @@ -42,7 +42,7 @@ The module is an inner module and used by the runner module when the opt-in feat | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    'ghes\_url': Optional GitHub Enterprise Server URL.
    'github\_app\_parameters': Parameter Store for GitHub App Parameters.
    'kms\_key\_arn': Optional CMK Key ARN instead of using the default AWS managed key.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics_config`: Configuraiton to enable metrics creation by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    'sqs\_build\_queue': SQS queue for build events to re-publish job request.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_organization_runners = bool
    environment_variables = optional(map(string), {})
    ghes_url = optional(string, null)
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    kms_key_arn = optional(string, null)
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    queue_encryption = optional(object({
    kms_data_key_reuse_period_seconds = optional(number, null)
    kms_master_key_id = optional(string, null)
    sqs_managed_sse_enabled = optional(bool, true)
    }), {})
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    sqs_build_queue = object({
    url = string
    arn = string
    })
    tags = optional(map(string), {})
    timeout = optional(number, 30)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | +| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_organization_runners`: Enable organization runners.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    'ghes\_url': Optional GitHub Enterprise Server URL.
    'github\_app\_parameters': Parameter Store for GitHub App Parameters.
    'kms\_key\_arn': Optional CMK Key ARN instead of using the default AWS managed key.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics`: Configuration to enable metrics creation by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    'sqs\_build\_queue': SQS queue for build events to re-publish job request.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_organization_runners = bool
    environment_variables = optional(map(string), {})
    ghes_url = optional(string, null)
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    kms_key_arn = optional(string, null)
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    queue_encryption = optional(object({
    kms_data_key_reuse_period_seconds = optional(number, null)
    kms_master_key_id = optional(string, null)
    sqs_managed_sse_enabled = optional(bool, true)
    }), {})
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    sqs_build_queue = object({
    url = string
    arn = string
    })
    tags = optional(map(string), {})
    timeout = optional(number, 30)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | ## Outputs From 20630b81142428406440217771576d0c00306066 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 21 Sep 2024 03:48:35 +0200 Subject: [PATCH 76/90] docs: Update Terraform docs (#4141) Automated changes by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action Co-authored-by: npalm <11609620+npalm@users.noreply.github.com> From c2a7d401942d27d211a1d7a5c9f6929328666e4d Mon Sep 17 00:00:00 2001 From: "forest-releaser[bot]" <80285352+forest-releaser[bot]@users.noreply.github.com> Date: Sat, 21 Sep 2024 03:54:09 +0200 Subject: [PATCH 77/90] chore(main): release 5.16.1 (#4113) :robot: I have created a release *beep* *boop* --- ## [5.16.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.16.0...v5.16.1) (2024-09-21) ### Bug Fixes * Add missing SG and subnet configuration for Job Retry lambda ([#4114](https://github.com/philips-labs/terraform-aws-github-runner/issues/4114)) ([7095487](https://github.com/philips-labs/terraform-aws-github-runner/commit/7095487325d4f63acd246e508e2e997cf13a2249)) * **lambda:** bump @aws-sdk/client-ec2 from 3.637.0 to 3.641.0 in /lambdas in the aws group ([#4106](https://github.com/philips-labs/terraform-aws-github-runner/issues/4106)) ([20f51a1](https://github.com/philips-labs/terraform-aws-github-runner/commit/20f51a14f9e95630ac88b29f3fb9b1b41189c864)) * **lambda:** bump @octokit/auth-app from 6.1.1 to 6.1.2 in /lambdas in the octokit group ([#4117](https://github.com/philips-labs/terraform-aws-github-runner/issues/4117)) ([6e6bd98](https://github.com/philips-labs/terraform-aws-github-runner/commit/6e6bd98246fd589a1b1187443c6f5ca36f0ba95c)) * **lambda:** bump the aws group in /lambdas with 5 updates ([#4116](https://github.com/philips-labs/terraform-aws-github-runner/issues/4116)) ([4a8826b](https://github.com/philips-labs/terraform-aws-github-runner/commit/4a8826b5b27db929b3cb4de290fdc989ccab8c69)) * **lambda:** bump the aws group in /lambdas with 6 updates ([#4128](https://github.com/philips-labs/terraform-aws-github-runner/issues/4128)) ([f6164e7](https://github.com/philips-labs/terraform-aws-github-runner/commit/f6164e7fb8cfb4776c62e4a1dbea698ba0f2b6d2)) * **lambda:** bump the aws-powertools group in /lambdas with 4 updates ([#4129](https://github.com/philips-labs/terraform-aws-github-runner/issues/4129)) ([ab2605f](https://github.com/philips-labs/terraform-aws-github-runner/commit/ab2605f92d8dd8e297c3b063e589d17005330b00)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: forest-releaser[bot] <80285352+forest-releaser[bot]@users.noreply.github.com> --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f87dc5189b..b89d41b924 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [5.16.1](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.16.0...v5.16.1) (2024-09-21) + + +### Bug Fixes + +* Add missing SG and subnet configuration for Job Retry lambda ([#4114](https://github.com/philips-labs/terraform-aws-github-runner/issues/4114)) ([7095487](https://github.com/philips-labs/terraform-aws-github-runner/commit/7095487325d4f63acd246e508e2e997cf13a2249)) +* **lambda:** bump @aws-sdk/client-ec2 from 3.637.0 to 3.641.0 in /lambdas in the aws group ([#4106](https://github.com/philips-labs/terraform-aws-github-runner/issues/4106)) ([20f51a1](https://github.com/philips-labs/terraform-aws-github-runner/commit/20f51a14f9e95630ac88b29f3fb9b1b41189c864)) +* **lambda:** bump @octokit/auth-app from 6.1.1 to 6.1.2 in /lambdas in the octokit group ([#4117](https://github.com/philips-labs/terraform-aws-github-runner/issues/4117)) ([6e6bd98](https://github.com/philips-labs/terraform-aws-github-runner/commit/6e6bd98246fd589a1b1187443c6f5ca36f0ba95c)) +* **lambda:** bump the aws group in /lambdas with 5 updates ([#4116](https://github.com/philips-labs/terraform-aws-github-runner/issues/4116)) ([4a8826b](https://github.com/philips-labs/terraform-aws-github-runner/commit/4a8826b5b27db929b3cb4de290fdc989ccab8c69)) +* **lambda:** bump the aws group in /lambdas with 6 updates ([#4128](https://github.com/philips-labs/terraform-aws-github-runner/issues/4128)) ([f6164e7](https://github.com/philips-labs/terraform-aws-github-runner/commit/f6164e7fb8cfb4776c62e4a1dbea698ba0f2b6d2)) +* **lambda:** bump the aws-powertools group in /lambdas with 4 updates ([#4129](https://github.com/philips-labs/terraform-aws-github-runner/issues/4129)) ([ab2605f](https://github.com/philips-labs/terraform-aws-github-runner/commit/ab2605f92d8dd8e297c3b063e589d17005330b00)) + ## [5.16.0](https://github.com/philips-labs/terraform-aws-github-runner/compare/v5.15.4...v5.16.0) (2024-08-28) From 58daeb36484d890a893df049d0457ad7a7bd8b7c Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 24 Sep 2024 19:21:39 +1200 Subject: [PATCH 78/90] chore: Update index.md typo (#4142) Fix 'we' typo in index.md for the Detailed design area in documentation. --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index fc669f0148..a9422ace56 100644 --- a/docs/index.md +++ b/docs/index.md @@ -24,7 +24,7 @@ For non ephemeral runners with the idle config the module will avoid scaling dow ## Detailed design -The diagram below shows the architecture of the module, groups are indicating the different components. Ww will go through the components in the following sections. +The diagram below shows the architecture of the module, groups are indicating the different components. We will go through the components in the following sections. ![Architecture](assets/aws-architecture.light.png#only-light) ![Architecture](assets/aws-architecture.dark.png#only-dark) From 43973d984d0c8a78ca33ea2b563d845d854fb12d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:22:14 +0200 Subject: [PATCH 79/90] chore(deps): bump actions/setup-node from 4.0.3 to 4.0.4 (#4144) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.3 to 4.0.4.
    Release notes

    Sourced from actions/setup-node's releases.

    v4.0.4

    What's Changed

    Documentation changes:

    New Contributors

    Full Changelog: https://github.com/actions/setup-node/compare/v4...v4.0.4

    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=4.0.3&new-version=4.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4ce8393cc0..f193003e32 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: contents: write actions: write steps: - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: node-version: 20 - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 From 819e12fa2efce02d9620564cf1ca765480589383 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:25:44 +0200 Subject: [PATCH 80/90] chore(lambda): bump aws-sdk-client-mock from 4.0.1 to 4.0.2 in /lambdas (#4148) Bumps [aws-sdk-client-mock](https://github.com/m-radzikowski/aws-sdk-client-mock) from 4.0.1 to 4.0.2.
    Release notes

    Sourced from aws-sdk-client-mock's releases.

    v4.0.2

    4.0.2 (2024-09-23)

    v4.0.2-beta.0

    4.0.2-beta.0 (2024-06-20)

    Bug Fixes

    • jest: allow "toHaveReceivedCommandWith" partial match without required Command fields (79929ae)
    Changelog

    Sourced from aws-sdk-client-mock's changelog.

    4.0.2 (2024-09-23)

    4.0.2-beta.0 (2024-06-20)

    Bug Fixes

    • jest: allow "toHaveReceivedCommandWith" partial match without required Command fields (79929ae)
    Commits
    • 1f08693 chore(release): 4.0.2
    • 3be9f30 ci: fix CLI conflict for pnpm docs
    • f4b16c5 docs: move reproduction code instructions from body to desc in bug template
    • 6ca4735 docs: mocking lib-storage Upload for small files
    • 6d098fc chore: bump sinon from 16.1.3 to 18.0.1 (#237)
    • a88b565 chore(release): 4.0.2-beta.0
    • 4db0522 ci: fix publishing workspace packages with pnpm
    • 27d8cda ci: ignore uncommited files on pnpm publish
    • 79929ae fix(jest): allow "toHaveReceivedCommandWith" partial match without required C...
    • 97ae3cd chore: bump dependencies
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-sdk-client-mock&package-manager=npm_and_yarn&previous-version=4.0.1&new-version=4.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/yarn.lock | 105 ++++++++++-------- 5 files changed, 61 insertions(+), 52 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index c238e5d461..a96e193df2 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -23,7 +23,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^4.0.1", + "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 803137111c..5d30b35341 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -23,7 +23,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^4.0.1", + "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 92d1e17ef5..a34bbb296c 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -24,7 +24,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^4.0.1", + "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index bf7f69fea8..3948314d51 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -21,7 +21,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vercel/ncc": "^0.38.1", - "aws-sdk-client-mock": "^4.0.1", + "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", "eslint": "^8.57.0", "eslint-plugin-prettier": "5.2.1", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 2f0e9b843d..22798b7c09 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -113,7 +113,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" cron-parser: "npm:^4.9.0" eslint: "npm:^8.57.0" @@ -212,7 +212,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" cron-parser: "npm:^4.9.0" eslint: "npm:^8.57.0" @@ -248,7 +248,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" axios: "npm:^1.7.5" eslint: "npm:^8.57.0" @@ -277,7 +277,7 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^7.18.0" "@typescript-eslint/parser": "npm:^7.18.0" "@vercel/ncc": "npm:^0.38.1" - aws-sdk-client-mock: "npm:^4.0.1" + aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" @@ -4153,7 +4153,7 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^3.0.0": +"@sinonjs/commons@npm:^3.0.0, @sinonjs/commons@npm:^3.0.1": version: 3.0.1 resolution: "@sinonjs/commons@npm:3.0.1" dependencies: @@ -4162,7 +4162,16 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^10.0.2, @sinonjs/fake-timers@npm:^10.3.0": +"@sinonjs/fake-timers@npm:11.2.2": + version: 11.2.2 + resolution: "@sinonjs/fake-timers@npm:11.2.2" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/a4218efa6fdafda622d02d4c0a6ab7df3641cb038bb0b14f0a3ee56f50c95aab4f1ab2d7798ce928b40c6fc1839465a558c9393a77e4dca879e1b2f8d60d8136 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": version: 10.3.0 resolution: "@sinonjs/fake-timers@npm:10.3.0" dependencies: @@ -4171,12 +4180,12 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^11.2.2": - version: 11.2.2 - resolution: "@sinonjs/fake-timers@npm:11.2.2" +"@sinonjs/fake-timers@npm:^13.0.1": + version: 13.0.2 + resolution: "@sinonjs/fake-timers@npm:13.0.2" dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10c0/a4218efa6fdafda622d02d4c0a6ab7df3641cb038bb0b14f0a3ee56f50c95aab4f1ab2d7798ce928b40c6fc1839465a558c9393a77e4dca879e1b2f8d60d8136 + "@sinonjs/commons": "npm:^3.0.1" + checksum: 10c0/fc68fd872dff8a3457f7b0cf4e3c06db5ab35332a19da58165bb2e02b2016911dd77c6d5bd8995f8d9e012f3379b065ea37c3f240d0aa6716a591ba89912a486 languageName: node linkType: hard @@ -4191,10 +4200,10 @@ __metadata: languageName: node linkType: hard -"@sinonjs/text-encoding@npm:^0.7.2": - version: 0.7.2 - resolution: "@sinonjs/text-encoding@npm:0.7.2" - checksum: 10c0/583a45bf3643169e313ff9d4395aff28b0c4f330d3697e252c3effc13d4303ee30f83df542732c1a68617720e4ea6fc08d48a3d9151c9b354a7fc356a8e9b162 +"@sinonjs/text-encoding@npm:^0.7.3": + version: 0.7.3 + resolution: "@sinonjs/text-encoding@npm:0.7.3" + checksum: 10c0/b112d1e97af7f99fbdc63c7dbcd35d6a60764dfec85cfcfff532e55cce8ecd8453f9fa2139e70aea47142c940fd90cd201d19f370b9a0141700d8a6de3116815 languageName: node linkType: hard @@ -5291,12 +5300,12 @@ __metadata: languageName: node linkType: hard -"@types/sinon@npm:^10.0.10": - version: 10.0.20 - resolution: "@types/sinon@npm:10.0.20" +"@types/sinon@npm:^17.0.3": + version: 17.0.3 + resolution: "@types/sinon@npm:17.0.3" dependencies: "@types/sinonjs__fake-timers": "npm:*" - checksum: 10c0/8c523a3ac2bf5bd48a481cb340b3db0176b65d1190a9dfac41044ad47ae7e2c3f6ad40a564dc831c5adf3b4ab4d983cc4993b4053217afe11b3985875b9f3fee + checksum: 10c0/6fc3aa497fd87826375de3dbddc2bf01c281b517c32c05edf95b5ad906382dc221bca01ca9d44fc7d5cb4c768f996f268154e87633a45b3c0b5cddca7ef5e2be languageName: node linkType: hard @@ -5767,14 +5776,14 @@ __metadata: languageName: node linkType: hard -"aws-sdk-client-mock@npm:^4.0.1": - version: 4.0.1 - resolution: "aws-sdk-client-mock@npm:4.0.1" +"aws-sdk-client-mock@npm:^4.0.2": + version: 4.0.2 + resolution: "aws-sdk-client-mock@npm:4.0.2" dependencies: - "@types/sinon": "npm:^10.0.10" - sinon: "npm:^16.1.3" + "@types/sinon": "npm:^17.0.3" + sinon: "npm:^18.0.1" tslib: "npm:^2.1.0" - checksum: 10c0/e6baaf5bcec75d0e327ca02faef560254f27647d31f8a6bd595d4bff660c00bae61fa0b8825133557e6f87691a8ef1f1ae5c94fb2532340d17520d24f7d162bd + checksum: 10c0/3028bb4997e51efa8669f96e01b6c3841f0c5cfb4ae8e3087e31b556dc34193619cd7152f4c30eb65f5c851e384709f915a2d6ea6dd52f7ece7216a9942c213b languageName: node linkType: hard @@ -6680,7 +6689,7 @@ __metadata: languageName: node linkType: hard -"diff@npm:^5.1.0": +"diff@npm:^5.2.0": version: 5.2.0 resolution: "diff@npm:5.2.0" checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 @@ -9307,16 +9316,16 @@ __metadata: languageName: node linkType: hard -"nise@npm:^5.1.4": - version: 5.1.9 - resolution: "nise@npm:5.1.9" +"nise@npm:^6.0.0": + version: 6.1.1 + resolution: "nise@npm:6.1.1" dependencies: - "@sinonjs/commons": "npm:^3.0.0" - "@sinonjs/fake-timers": "npm:^11.2.2" - "@sinonjs/text-encoding": "npm:^0.7.2" + "@sinonjs/commons": "npm:^3.0.1" + "@sinonjs/fake-timers": "npm:^13.0.1" + "@sinonjs/text-encoding": "npm:^0.7.3" just-extend: "npm:^6.2.0" - path-to-regexp: "npm:^6.2.1" - checksum: 10c0/a44318e6de738b34a1f51b4b478f97f5b40a5a27175be4bf13f6e5b8e67aa70d0b3f51c77a966d6617fccdc3b436c675a89be57424833e6d8a290367faa66b28 + path-to-regexp: "npm:^8.1.0" + checksum: 10c0/09471adb738dc3be2981cc7815c90879ed6a5a3e162202ca66e12f9a5a0956bea718d0ec2f0c07acc26e3f958481b8fb30c30da76c13620e922f3b9dcd249c50 languageName: node linkType: hard @@ -9915,10 +9924,10 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^6.2.1": - version: 6.2.2 - resolution: "path-to-regexp@npm:6.2.2" - checksum: 10c0/4b60852d3501fd05ca9dd08c70033d73844e5eca14e41f499f069afa8364f780f15c5098002f93bd42af8b3514de62ac6e82a53b5662de881d2b08c9ef21ea6b +"path-to-regexp@npm:^8.1.0": + version: 8.1.0 + resolution: "path-to-regexp@npm:8.1.0" + checksum: 10c0/1c46be3806ab081bedc51eb238fcb026b61b15f19e8924b26e7dad88812dda499efe357a780665dc915dcab3be67213f145f5e2921b8fc8c6c497608d4e092ed languageName: node linkType: hard @@ -10485,17 +10494,17 @@ __metadata: languageName: node linkType: hard -"sinon@npm:^16.1.3": - version: 16.1.3 - resolution: "sinon@npm:16.1.3" +"sinon@npm:^18.0.1": + version: 18.0.1 + resolution: "sinon@npm:18.0.1" dependencies: - "@sinonjs/commons": "npm:^3.0.0" - "@sinonjs/fake-timers": "npm:^10.3.0" + "@sinonjs/commons": "npm:^3.0.1" + "@sinonjs/fake-timers": "npm:11.2.2" "@sinonjs/samsam": "npm:^8.0.0" - diff: "npm:^5.1.0" - nise: "npm:^5.1.4" - supports-color: "npm:^7.2.0" - checksum: 10c0/a30e80cb9293cc2954074a461349ac7df1fd0c1ed746c6828b65ea908711b8b4b6598182252c3971bf60bba134a492dc1c294b54919f073f3b29acced76de411 + diff: "npm:^5.2.0" + nise: "npm:^6.0.0" + supports-color: "npm:^7" + checksum: 10c0/c4554b8d9654d42fc4baefecd3b5ac42bcce73ad926d58521233d9c355dc2c1a0d73c55e5b2c929b6814e528cd9b54bc61096b9288579f9b284edd6e3d2da3df languageName: node linkType: hard @@ -10764,7 +10773,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": +"supports-color@npm:^7, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: From 2d8007af1c777783f81fa7a59cc903462c9f1e17 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:31:04 +0200 Subject: [PATCH 81/90] chore(lambda): bump @nx/js from 19.7.3 to 19.8.0 in /lambdas (#4147) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@nx/js](https://github.com/nrwl/nx/tree/HEAD/packages/js) from 19.7.3 to 19.8.0.
    Release notes

    Sourced from @​nx/js's releases.

    19.8.0 (2024-09-20)

    🚀 Features

    • angular: add plugin for inferring nodes from angular.json files (#27804)
    • core: import warns when source and destination directories are different (#27875)
    • core: use durations from task history to schedule tasks (#27783)
    • core: add metagenerator for convert-to-inferred (#27672)
    • core: able to import gradle project (#27645)
    • core: split runCommand to return status per project (#27705)
    • core: handle prettier not installed when running nx format (#27970)
    • core: add integration with nx powerpack (#27972)
    • graph: expose functions to render pdv & error page (#27833)
    • graph: add sync generators to target details in project details view (#27639)
    • linter: create new workspaces with ESLint v9 and typescript-eslint v8 (#27404)
    • nx-dev: clean up enterprise section (#27979)
    • release: allow local dependency version protocols to be preserved, pnpm publish support (#27787)
    • release: support groupPreVersionCommand for release groups (#27474)
    • release: support github enterprise server (#26482)

    🩹 Fixes

    • angular: add serve static target more intentionally #27854 (#27924, #27854)
    • angular: dynamic module federation should not reset remoteUrlDefinitions #27793 (#27927, #27793)
    • angular: migrations should use correct namedInputs #27899 (#27929, #27899)
    • angular: license-webpack-plugin should not scan root package.json #27989 (#27994, #27989)
    • core: make sure sharedGlobals is referenced in default namedInputs (#27813)
    • core: take nx-release-publish target defaults into account for implicit target (#27764)
    • core: handle sync generator failures (#27650)
    • core: handle --no-interative for create-nx-workspace (#27702)
    • core: respect filenames of inputs when computing task hash (#27873)
    • core: handleErrors should display error cause if it exists (#27886)
    • core: add flag to disable the db and logs when there are errors … (#27930)
    • core: import should be rebasable (#27940)
    • core: import handles argument escaping correctly in Windows (#27957)
    • core: fix env for running parallel tasks (#27889)
    • core: nx import detects plugins synchronously (#27958)
    • core: fix powerpack license report and add back remote cache (#27983)
    • core: link to sync generators page during sync prompt, and provide more info on docs page for disabling and applyChanges (#28001)
    • core: fix powerpack fs cache package name (#27997)
    • core: do not check cache validity when putting into the cache (#28004)
    • gradle: fix gradle app deps (#27865)
    • graph: typo (e9fd0a7e2b)
    • js: keep refs to ignored files and allow opting out of pruning stale refs in typescript sync generator (#27636)
    • js: set compilerOptions correctly when loading .ts that targets ESM (#27862)
    • js: do not infer typecheck target for root tsconfig.json (#27950)
    • misc: createNodesV2 plugins should show inference capabilities (#27896)
    • module-federation: collect secondary entry points from exports #26878 (#27999, #26878)
    • nx-cloud: include nxCloudId when generating connect urls (#27882)

    ... (truncated)

    Commits
    • d38bb78 cleanup(js): replace fs-extra with node:fs (#27932)
    • 67ecff1 fix(js): do not infer typecheck target for root tsconfig.json (#27950)
    • 68eeb2e feat(linter): create new workspaces with ESLint v9 and typescript-eslint v8 (...
    • 2a3307c fix(js): keep refs to ignored files and allow opting out of pruning stale ref...
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@nx/js&package-manager=npm_and_yarn&previous-version=19.7.3&new-version=19.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/package.json | 2 +- lambdas/yarn.lock | 171 +++++++++++++++++++++---------------------- 2 files changed, 86 insertions(+), 87 deletions(-) diff --git a/lambdas/package.json b/lambdas/package.json index fe50b0b7f9..d6090aa0e3 100644 --- a/lambdas/package.json +++ b/lambdas/package.json @@ -23,7 +23,7 @@ "devDependencies": { "@nx/eslint": "19.5.7", "@nx/jest": "19.5.4", - "@nx/js": "^19.7.3", + "@nx/js": "^19.8.0", "@swc-node/register": "~1.10.9", "@swc/core": "~1.7.22", "@swc/helpers": "~0.5.12", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 22798b7c09..a66cc25c77 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -3193,12 +3193,12 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:19.7.3": - version: 19.7.3 - resolution: "@nrwl/devkit@npm:19.7.3" +"@nrwl/devkit@npm:19.8.0": + version: 19.8.0 + resolution: "@nrwl/devkit@npm:19.8.0" dependencies: - "@nx/devkit": "npm:19.7.3" - checksum: 10c0/578440a4fda547ee781af211312929138515d566498cac79e9fda036d08cb91ab6edd9e6feb99fdf4dc98da57821c8faef7fc0cfae7ddad9a0d8f2f9748efcc8 + "@nx/devkit": "npm:19.8.0" + checksum: 10c0/ba545a986c01ad9949c2bc92ea770e3c1ac3085dd4fdf04e0353b243605e6075aa8c4bb8406500f3ac7d71b050e66182d57cd502d7b27bc7bfd221504d35fd65 languageName: node linkType: hard @@ -3229,12 +3229,12 @@ __metadata: languageName: node linkType: hard -"@nrwl/js@npm:19.7.3": - version: 19.7.3 - resolution: "@nrwl/js@npm:19.7.3" +"@nrwl/js@npm:19.8.0": + version: 19.8.0 + resolution: "@nrwl/js@npm:19.8.0" dependencies: - "@nx/js": "npm:19.7.3" - checksum: 10c0/6fc1993a9fb8c9ab897d2043457b024628de2d5eddca139869f93b08ca73a0591072e84a9b4078403cd94d698ec995bb1836a4ef34aece37a4dceae2cf836f6a + "@nx/js": "npm:19.8.0" + checksum: 10c0/113972ed77c2185a3c4a8115c08018983920a25c3ce218d436a012d425be8e8cadc618811e7a5561dc6d37d2f5bc2a023d1f170d89660ad7cf851561c00169cf languageName: node linkType: hard @@ -3262,15 +3262,15 @@ __metadata: languageName: node linkType: hard -"@nrwl/tao@npm:19.7.3": - version: 19.7.3 - resolution: "@nrwl/tao@npm:19.7.3" +"@nrwl/tao@npm:19.8.0": + version: 19.8.0 + resolution: "@nrwl/tao@npm:19.8.0" dependencies: - nx: "npm:19.7.3" + nx: "npm:19.8.0" tslib: "npm:^2.3.0" bin: tao: index.js - checksum: 10c0/af16f1670c0aaa3e2d12598918124ba2e15f24a2c274aed6ac01be4342c718971e10a8f201f6a7521e65dfd1a0b134767a7b3cf3280824de920e76ca02ec8fa1 + checksum: 10c0/fd553087fbef6afc855f8c64598abd1d304850bbf725d874db814a653e10850ca41ba33cdfcb0799c440df86adc7c1c3146977e96551c677d7416a2f1c89af2b languageName: node linkType: hard @@ -3292,12 +3292,12 @@ __metadata: languageName: node linkType: hard -"@nrwl/workspace@npm:19.7.3": - version: 19.7.3 - resolution: "@nrwl/workspace@npm:19.7.3" +"@nrwl/workspace@npm:19.8.0": + version: 19.8.0 + resolution: "@nrwl/workspace@npm:19.8.0" dependencies: - "@nx/workspace": "npm:19.7.3" - checksum: 10c0/d4ddada31bee4cb564182315e2df74aef60b437e2ad2e1cfde784fd4bcb7b5b38372ffd5f66b920876f2c2fd7cdb5ca9438e5b66044f75a3399eee2811249391 + "@nx/workspace": "npm:19.8.0" + checksum: 10c0/2be7a888992042d4fc1c4723c41d10f2b7b965a5071b4a9dfe9fbded12616dbc7381550be4c60ba7ecb059111726b9745181fd5d4073fbafded9cdf45d16363f languageName: node linkType: hard @@ -3339,11 +3339,11 @@ __metadata: languageName: node linkType: hard -"@nx/devkit@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/devkit@npm:19.7.3" +"@nx/devkit@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/devkit@npm:19.8.0" dependencies: - "@nrwl/devkit": "npm:19.7.3" + "@nrwl/devkit": "npm:19.8.0" ejs: "npm:^3.1.7" enquirer: "npm:~2.3.6" ignore: "npm:^5.0.4" @@ -3354,7 +3354,7 @@ __metadata: yargs-parser: "npm:21.1.1" peerDependencies: nx: ">= 17 <= 20" - checksum: 10c0/d8812da070d74776f38432080731daaeee78d7b6a29c6c45659d925cea374bcd868a035ca4eb032bdcd92345d386537ec49aebca1da16eb1f5f99d45a69bae7c + checksum: 10c0/d22a357577d6e7d424e93688619e5236e3349c4556f41f339780d430c491fea954205fb740ffe3229c84a05a5da481e3614633ab08ea0962ce711e05b5d75012 languageName: node linkType: hard @@ -3485,9 +3485,9 @@ __metadata: languageName: node linkType: hard -"@nx/js@npm:19.7.3, @nx/js@npm:^19.7.3": - version: 19.7.3 - resolution: "@nx/js@npm:19.7.3" +"@nx/js@npm:19.8.0, @nx/js@npm:^19.8.0": + version: 19.8.0 + resolution: "@nx/js@npm:19.8.0" dependencies: "@babel/core": "npm:^7.23.2" "@babel/plugin-proposal-decorators": "npm:^7.22.7" @@ -3496,9 +3496,9 @@ __metadata: "@babel/preset-env": "npm:^7.23.2" "@babel/preset-typescript": "npm:^7.22.5" "@babel/runtime": "npm:^7.22.6" - "@nrwl/js": "npm:19.7.3" - "@nx/devkit": "npm:19.7.3" - "@nx/workspace": "npm:19.7.3" + "@nrwl/js": "npm:19.8.0" + "@nx/devkit": "npm:19.8.0" + "@nx/workspace": "npm:19.8.0" babel-plugin-const-enum: "npm:^1.0.1" babel-plugin-macros: "npm:^2.8.0" babel-plugin-transform-typescript-metadata: "npm:^0.3.1" @@ -3506,7 +3506,6 @@ __metadata: columnify: "npm:^1.6.0" detect-port: "npm:^1.5.1" fast-glob: "npm:3.2.7" - fs-extra: "npm:^11.1.0" ignore: "npm:^5.0.4" js-tokens: "npm:^4.0.0" jsonc-parser: "npm:3.2.0" @@ -3524,7 +3523,7 @@ __metadata: peerDependenciesMeta: verdaccio: optional: true - checksum: 10c0/81e6a25c19317cc7c4bc34ac8fdda84da955d8cde77964f60cf17c3ec0b520b1944a6f014493db97ba4f6ca80eaef93d64d4e133cd165e78eb3978af6dcd5541 + checksum: 10c0/812f510da9bd25ccf6cb009f4d89729b28af5a82d061018eb2e1b2120b89f3f19fcf974c02d1a9150c3769bcd4f02721f43d4530506fd880b54b8c56c6483624 languageName: node linkType: hard @@ -3551,9 +3550,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-darwin-arm64@npm:19.7.3" +"@nx/nx-darwin-arm64@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-darwin-arm64@npm:19.8.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -3572,9 +3571,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-darwin-x64@npm:19.7.3" +"@nx/nx-darwin-x64@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-darwin-x64@npm:19.8.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -3593,9 +3592,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-freebsd-x64@npm:19.7.3" +"@nx/nx-freebsd-x64@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-freebsd-x64@npm:19.8.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -3614,9 +3613,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.7.3" +"@nx/nx-linux-arm-gnueabihf@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.8.0" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -3635,9 +3634,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-linux-arm64-gnu@npm:19.7.3" +"@nx/nx-linux-arm64-gnu@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.8.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -3656,9 +3655,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-linux-arm64-musl@npm:19.7.3" +"@nx/nx-linux-arm64-musl@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-linux-arm64-musl@npm:19.8.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -3677,9 +3676,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-linux-x64-gnu@npm:19.7.3" +"@nx/nx-linux-x64-gnu@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-linux-x64-gnu@npm:19.8.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -3698,9 +3697,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-linux-x64-musl@npm:19.7.3" +"@nx/nx-linux-x64-musl@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-linux-x64-musl@npm:19.8.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -3719,9 +3718,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-win32-arm64-msvc@npm:19.7.3" +"@nx/nx-win32-arm64-msvc@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.8.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -3740,9 +3739,9 @@ __metadata: languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/nx-win32-x64-msvc@npm:19.7.3" +"@nx/nx-win32-x64-msvc@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/nx-win32-x64-msvc@npm:19.8.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -3777,18 +3776,18 @@ __metadata: languageName: node linkType: hard -"@nx/workspace@npm:19.7.3": - version: 19.7.3 - resolution: "@nx/workspace@npm:19.7.3" +"@nx/workspace@npm:19.8.0": + version: 19.8.0 + resolution: "@nx/workspace@npm:19.8.0" dependencies: - "@nrwl/workspace": "npm:19.7.3" - "@nx/devkit": "npm:19.7.3" + "@nrwl/workspace": "npm:19.8.0" + "@nx/devkit": "npm:19.8.0" chalk: "npm:^4.1.0" enquirer: "npm:~2.3.6" - nx: "npm:19.7.3" + nx: "npm:19.8.0" tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" - checksum: 10c0/c20cde59b7b4d7c89591a67e02db1deae36be58b6ea6e9d5b746f3c3e1a5cb20d8d8d9d02b4419a1e25c56c87bb357138754bc3b0e4bcda9726f058b5009c756 + checksum: 10c0/29e5bbb48bb678e77f9250ae244864f149a238734689f2237bf17fea94602cb7b382d8a5e3e9a3c49b6890c7bc3db52ef79b16e5a8df3997c4bfba41aa95aaba languageName: node linkType: hard @@ -8829,7 +8828,7 @@ __metadata: dependencies: "@nx/eslint": "npm:19.5.7" "@nx/jest": "npm:19.5.4" - "@nx/js": "npm:^19.7.3" + "@nx/js": "npm:^19.8.0" "@swc-node/register": "npm:~1.10.9" "@swc/core": "npm:~1.7.22" "@swc/helpers": "npm:~0.5.12" @@ -9590,22 +9589,22 @@ __metadata: languageName: node linkType: hard -"nx@npm:19.7.3": - version: 19.7.3 - resolution: "nx@npm:19.7.3" +"nx@npm:19.8.0": + version: 19.8.0 + resolution: "nx@npm:19.8.0" dependencies: "@napi-rs/wasm-runtime": "npm:0.2.4" - "@nrwl/tao": "npm:19.7.3" - "@nx/nx-darwin-arm64": "npm:19.7.3" - "@nx/nx-darwin-x64": "npm:19.7.3" - "@nx/nx-freebsd-x64": "npm:19.7.3" - "@nx/nx-linux-arm-gnueabihf": "npm:19.7.3" - "@nx/nx-linux-arm64-gnu": "npm:19.7.3" - "@nx/nx-linux-arm64-musl": "npm:19.7.3" - "@nx/nx-linux-x64-gnu": "npm:19.7.3" - "@nx/nx-linux-x64-musl": "npm:19.7.3" - "@nx/nx-win32-arm64-msvc": "npm:19.7.3" - "@nx/nx-win32-x64-msvc": "npm:19.7.3" + "@nrwl/tao": "npm:19.8.0" + "@nx/nx-darwin-arm64": "npm:19.8.0" + "@nx/nx-darwin-x64": "npm:19.8.0" + "@nx/nx-freebsd-x64": "npm:19.8.0" + "@nx/nx-linux-arm-gnueabihf": "npm:19.8.0" + "@nx/nx-linux-arm64-gnu": "npm:19.8.0" + "@nx/nx-linux-arm64-musl": "npm:19.8.0" + "@nx/nx-linux-x64-gnu": "npm:19.8.0" + "@nx/nx-linux-x64-musl": "npm:19.8.0" + "@nx/nx-win32-arm64-msvc": "npm:19.8.0" + "@nx/nx-win32-x64-msvc": "npm:19.8.0" "@yarnpkg/lockfile": "npm:^1.1.0" "@yarnpkg/parsers": "npm:3.0.0-rc.46" "@zkochan/js-yaml": "npm:0.0.7" @@ -9671,7 +9670,7 @@ __metadata: bin: nx: bin/nx.js nx-cloud: bin/nx-cloud.js - checksum: 10c0/486d9be5076e7ee012fb63b199b178c7386e9d9a8e918ea3705d9203481e991bc1fa2abc1f66b3c3f402b81db1c5ef3af8bf5ee7dcd142e356828da44d3cb217 + checksum: 10c0/aa9d60ff0933ccbc6ddae0362f765750218658fbb2f8ac88d5e30575f94ad11c0d733f690a362a53092d43198f22143396e4436c8c5d1dbd803453339317f65d languageName: node linkType: hard From 364ecce9c350f445393078ce000247201900ed81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:34:52 +0200 Subject: [PATCH 82/90] chore(deps): bump peter-evans/create-pull-request from 7.0.3 to 7.0.5 (#4145) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.3 to 7.0.5.
    Release notes

    Sourced from peter-evans/create-pull-request's releases.

    Create Pull Request v7.0.5

    ⚙️ Fixes an issue with commit signing to allow it to support symlinks

    What's Changed

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v7.0.4...v7.0.5

    Create Pull Request v7.0.4

    ⚙️ Fixes an issue with commit signing to allow it to support submodules

    What's Changed

    New Contributors

    Full Changelog: https://github.com/peter-evans/create-pull-request/compare/v7.0.3...v7.0.4

    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/create-pull-request&package-manager=github_actions&previous-version=7.0.3&new-version=7.0.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/update-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index 1632a976fb..3658256768 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -42,7 +42,7 @@ jobs: # change docs via PR in case of locked main branch - name: Create Pull Request (main branch only) if: github.ref == 'refs/heads/main' && github.repository_owner == 'philips-labs' - uses: peter-evans/create-pull-request@6cd32fd93684475c31847837f87bb135d40a2b79 # v7.0.3 + uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: "docs: auto update terraform docs" From 43bf911b486fc585c3de4b61ec6aa47aef48e639 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 15:32:47 +0200 Subject: [PATCH 83/90] fix(lambda): bump the aws group in /lambdas with 6 updates (#4146) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group in /lambdas with 6 updates: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.651.1` | `3.657.0` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.651.1` | `3.654.0` | | [@aws-sdk/types](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/types) | `3.649.0` | `3.654.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.651.1` | `3.654.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.651.1` | `3.657.0` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.651.1` | `3.657.0` | Updates `@aws-sdk/client-ec2` from 3.651.1 to 3.657.0
    Release notes

    Sourced from @​aws-sdk/client-ec2's releases.

    v3.657.0

    3.657.0(2024-09-23)

    Chores
    • middleware-flexible-checksums: re-order checksum implementations based on performance (#6500) (70db9834)
    Documentation Changes
    • client-api-gateway: Documentation updates for Amazon API Gateway (5428b83e)
    New Features
    • client-athena: List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters. (51c977f9)
    • client-resource-explorer-2: AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view. (093a53f1)
    • client-ec2: Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads. (a99738f6)
    • client-glue: Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections. (a8db47fc)
    • client-bedrock-agent: Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience. (3db793d1)
    • client-rds: Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration. (f69b00ed)
    • client-emr-serverless: This release adds support for job concurrency and queuing configuration at Application level. (f6a2631c)

    For list of updated packages, view updated-packages.md in assets-3.657.0.zip

    v3.656.0

    3.656.0(2024-09-20)

    New Features
    • clients: update command documentation examples as of 2024-09-20 (ab843b8d)
    • client-neptune: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (cdacf566)
    • client-sagemaker: Amazon SageMaker now supports using manifest files to specify the location of uncompressed model artifacts within Model Packages (12cef30d)
    • client-workspaces: Releasing new ErrorCodes for SysPrep failures during ImageImport and CreateImage process (ae91f03a)
    • client-sagemaker-metrics: This release introduces support for the SageMaker Metrics BatchGetMetrics API. (5b6c0db8)
    • client-dynamodb: Generate account endpoint for DynamoDB requests when the account ID is available (a39132cf)

    For list of updated packages, view updated-packages.md in assets-3.656.0.zip

    v3.655.0

    3.655.0(2024-09-19)

    New Features
    • client-workspaces-web: WorkSpaces Secure Browser now enables Administrators to view and manage end-user browsing sessions via Session Management APIs. (7913a4b6)
    • client-codeconnections: This release adds the PullRequestComment field to CreateSyncConfiguration API input, UpdateSyncConfiguration API input, GetSyncConfiguration API output and ListSyncConfiguration API output (0b63507d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ec2's changelog.

    3.657.0 (2024-09-23)

    Features

    • client-ec2: Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads. (a99738f)

    3.654.0 (2024-09-18)

    Note: Version bump only for package @​aws-sdk/client-ec2

    Commits
    • b06a8b7 Publish v3.657.0
    • a99738f feat(client-ec2): Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core...
    • 0ade74b Publish v3.654.0
    • bcfee78 chore(clients): codegen sync for IDE type navigation (#6490)
    • See full diff in compare view

    Updates `@aws-sdk/client-ssm` from 3.651.1 to 3.654.0
    Release notes

    Sourced from @​aws-sdk/client-ssm's releases.

    v3.654.0

    3.654.0(2024-09-18)

    Chores
    • clients: codegen sync for IDE type navigation (#6490) (bcfee783)
    Documentation Changes
    • client-rds: Updates Amazon RDS documentation with information upgrading snapshots with unsupported engine versions for RDS for MySQL and RDS for PostgreSQL. (b08130e0)
    New Features
    • client-s3: Added SSE-KMS support for directory buckets. (a00b8b01)
    • client-mailmanager: Introduce a new RuleSet condition evaluation, where customers can set up a StringExpression with a MimeHeader condition. This condition will perform the necessary validation based on the X-header provided by customers. (900a39ed)
    • client-directory-service-data: Added new AWS Directory Service Data API, enabling you to manage data stored in AWS Directory Service directories. This includes APIs for creating, reading, updating, and deleting directory users, groups, and group memberships. (8c9372bd)
    • client-directory-service: Added new APIs for enabling, disabling, and describing access to the AWS Directory Service Data API (cca80ddf)
    • client-guardduty: Add launchType and sourceIPs fields to GuardDuty findings. (13c35828)
    • client-cost-explorer: This release extends the GetReservationPurchaseRecommendation API to support recommendations for Amazon DynamoDB reservations. (69763882)
    Bug Fixes
    • codegen: fix setting of default signing name (#6487) (108bb991)
    • middleware-flexible-checksums: use union for new config types (#6489) (c43103fb)

    For list of updated packages, view updated-packages.md in assets-3.654.0.zip

    v3.653.0

    3.653.0(2024-09-17)

    Chores
    • allow turbo remote cache write only on AWS Codebuild (#6481) (9b2dac17)
    • use yarn for running turbo commands (#6480) (cd53ac9d)
    • show only turbo-computed task hashes in output (#6478) (f8befa68)
    • pass turbo remote cache options in environment variables (#6479) (a593a095)
    Documentation Changes
    • client-rds: Updates Amazon RDS documentation with configuration information about the BYOL model for RDS for Db2. (90430721)
    • client-ecs: This is a documentation only release to address various tickets. (342485b9)
    New Features
    • client-ecr: The DescribeImageScanning API now includes fixAvailable, exploitAvailable, and fixedInVersion fields to provide more detailed information about the availability of fixes, exploits, and fixed versions for identified image vulnerabilities. (d8294542)
    • client-lambda: Support for JSON resource-based policies and block public access (566bb052)
    • client-codebuild: GitLab Enhancements - Add support for Self-Hosted GitLab runners in CodeBuild. Add group webhooks (42807fe4)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ssm's changelog.

    3.654.0 (2024-09-18)

    Note: Version bump only for package @​aws-sdk/client-ssm

    3.653.0 (2024-09-17)

    Features

    • client-ssm: Support for additional levels of cross-account, cross-Region organizational units in Automation. Various documentation updates. (849e058)
    Commits
    • 0ade74b Publish v3.654.0
    • bcfee78 chore(clients): codegen sync for IDE type navigation (#6490)
    • a993838 Publish v3.653.0
    • 849e058 feat(client-ssm): Support for additional levels of cross-account, cross-Regio...
    • See full diff in compare view

    Updates `@aws-sdk/types` from 3.649.0 to 3.654.0
    Release notes

    Sourced from @​aws-sdk/types's releases.

    v3.654.0

    3.654.0(2024-09-18)

    Chores
    • clients: codegen sync for IDE type navigation (#6490) (bcfee783)
    Documentation Changes
    • client-rds: Updates Amazon RDS documentation with information upgrading snapshots with unsupported engine versions for RDS for MySQL and RDS for PostgreSQL. (b08130e0)
    New Features
    • client-s3: Added SSE-KMS support for directory buckets. (a00b8b01)
    • client-mailmanager: Introduce a new RuleSet condition evaluation, where customers can set up a StringExpression with a MimeHeader condition. This condition will perform the necessary validation based on the X-header provided by customers. (900a39ed)
    • client-directory-service-data: Added new AWS Directory Service Data API, enabling you to manage data stored in AWS Directory Service directories. This includes APIs for creating, reading, updating, and deleting directory users, groups, and group memberships. (8c9372bd)
    • client-directory-service: Added new APIs for enabling, disabling, and describing access to the AWS Directory Service Data API (cca80ddf)
    • client-guardduty: Add launchType and sourceIPs fields to GuardDuty findings. (13c35828)
    • client-cost-explorer: This release extends the GetReservationPurchaseRecommendation API to support recommendations for Amazon DynamoDB reservations. (69763882)
    Bug Fixes
    • codegen: fix setting of default signing name (#6487) (108bb991)
    • middleware-flexible-checksums: use union for new config types (#6489) (c43103fb)

    For list of updated packages, view updated-packages.md in assets-3.654.0.zip

    v3.653.0

    3.653.0(2024-09-17)

    Chores
    • allow turbo remote cache write only on AWS Codebuild (#6481) (9b2dac17)
    • use yarn for running turbo commands (#6480) (cd53ac9d)
    • show only turbo-computed task hashes in output (#6478) (f8befa68)
    • pass turbo remote cache options in environment variables (#6479) (a593a095)
    Documentation Changes
    • client-rds: Updates Amazon RDS documentation with configuration information about the BYOL model for RDS for Db2. (90430721)
    • client-ecs: This is a documentation only release to address various tickets. (342485b9)
    New Features
    • client-ecr: The DescribeImageScanning API now includes fixAvailable, exploitAvailable, and fixedInVersion fields to provide more detailed information about the availability of fixes, exploits, and fixed versions for identified image vulnerabilities. (d8294542)
    • client-lambda: Support for JSON resource-based policies and block public access (566bb052)
    • client-codebuild: GitLab Enhancements - Add support for Self-Hosted GitLab runners in CodeBuild. Add group webhooks (42807fe4)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/types's changelog.

    3.654.0 (2024-09-18)

    Note: Version bump only for package @​aws-sdk/types

    Commits

    Updates `@aws-sdk/client-sqs` from 3.651.1 to 3.654.0
    Release notes

    Sourced from @​aws-sdk/client-sqs's releases.

    v3.654.0

    3.654.0(2024-09-18)

    Chores
    • clients: codegen sync for IDE type navigation (#6490) (bcfee783)
    Documentation Changes
    • client-rds: Updates Amazon RDS documentation with information upgrading snapshots with unsupported engine versions for RDS for MySQL and RDS for PostgreSQL. (b08130e0)
    New Features
    • client-s3: Added SSE-KMS support for directory buckets. (a00b8b01)
    • client-mailmanager: Introduce a new RuleSet condition evaluation, where customers can set up a StringExpression with a MimeHeader condition. This condition will perform the necessary validation based on the X-header provided by customers. (900a39ed)
    • client-directory-service-data: Added new AWS Directory Service Data API, enabling you to manage data stored in AWS Directory Service directories. This includes APIs for creating, reading, updating, and deleting directory users, groups, and group memberships. (8c9372bd)
    • client-directory-service: Added new APIs for enabling, disabling, and describing access to the AWS Directory Service Data API (cca80ddf)
    • client-guardduty: Add launchType and sourceIPs fields to GuardDuty findings. (13c35828)
    • client-cost-explorer: This release extends the GetReservationPurchaseRecommendation API to support recommendations for Amazon DynamoDB reservations. (69763882)
    Bug Fixes
    • codegen: fix setting of default signing name (#6487) (108bb991)
    • middleware-flexible-checksums: use union for new config types (#6489) (c43103fb)

    For list of updated packages, view updated-packages.md in assets-3.654.0.zip

    v3.653.0

    3.653.0(2024-09-17)

    Chores
    • allow turbo remote cache write only on AWS Codebuild (#6481) (9b2dac17)
    • use yarn for running turbo commands (#6480) (cd53ac9d)
    • show only turbo-computed task hashes in output (#6478) (f8befa68)
    • pass turbo remote cache options in environment variables (#6479) (a593a095)
    Documentation Changes
    • client-rds: Updates Amazon RDS documentation with configuration information about the BYOL model for RDS for Db2. (90430721)
    • client-ecs: This is a documentation only release to address various tickets. (342485b9)
    New Features
    • client-ecr: The DescribeImageScanning API now includes fixAvailable, exploitAvailable, and fixedInVersion fields to provide more detailed information about the availability of fixes, exploits, and fixed versions for identified image vulnerabilities. (d8294542)
    • client-lambda: Support for JSON resource-based policies and block public access (566bb052)
    • client-codebuild: GitLab Enhancements - Add support for Self-Hosted GitLab runners in CodeBuild. Add group webhooks (42807fe4)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-sqs's changelog.

    3.654.0 (2024-09-18)

    Note: Version bump only for package @​aws-sdk/client-sqs

    Commits

    Updates `@aws-sdk/client-s3` from 3.651.1 to 3.657.0
    Release notes

    Sourced from @​aws-sdk/client-s3's releases.

    v3.657.0

    3.657.0(2024-09-23)

    Chores
    • middleware-flexible-checksums: re-order checksum implementations based on performance (#6500) (70db9834)
    Documentation Changes
    • client-api-gateway: Documentation updates for Amazon API Gateway (5428b83e)
    New Features
    • client-athena: List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters. (51c977f9)
    • client-resource-explorer-2: AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view. (093a53f1)
    • client-ec2: Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads. (a99738f6)
    • client-glue: Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections. (a8db47fc)
    • client-bedrock-agent: Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience. (3db793d1)
    • client-rds: Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration. (f69b00ed)
    • client-emr-serverless: This release adds support for job concurrency and queuing configuration at Application level. (f6a2631c)

    For list of updated packages, view updated-packages.md in assets-3.657.0.zip

    v3.656.0

    3.656.0(2024-09-20)

    New Features
    • clients: update command documentation examples as of 2024-09-20 (ab843b8d)
    • client-neptune: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (cdacf566)
    • client-sagemaker: Amazon SageMaker now supports using manifest files to specify the location of uncompressed model artifacts within Model Packages (12cef30d)
    • client-workspaces: Releasing new ErrorCodes for SysPrep failures during ImageImport and CreateImage process (ae91f03a)
    • client-sagemaker-metrics: This release introduces support for the SageMaker Metrics BatchGetMetrics API. (5b6c0db8)
    • client-dynamodb: Generate account endpoint for DynamoDB requests when the account ID is available (a39132cf)

    For list of updated packages, view updated-packages.md in assets-3.656.0.zip

    v3.655.0

    3.655.0(2024-09-19)

    New Features
    • client-workspaces-web: WorkSpaces Secure Browser now enables Administrators to view and manage end-user browsing sessions via Session Management APIs. (7913a4b6)
    • client-codeconnections: This release adds the PullRequestComment field to CreateSyncConfiguration API input, UpdateSyncConfiguration API input, GetSyncConfiguration API output and ListSyncConfiguration API output (0b63507d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-s3's changelog.

    3.657.0 (2024-09-23)

    Note: Version bump only for package @​aws-sdk/client-s3

    3.654.0 (2024-09-18)

    Features

    • client-s3: Added SSE-KMS support for directory buckets. (a00b8b0)
    Commits

    Updates `@aws-sdk/lib-storage` from 3.651.1 to 3.657.0
    Release notes

    Sourced from @​aws-sdk/lib-storage's releases.

    v3.657.0

    3.657.0(2024-09-23)

    Chores
    • middleware-flexible-checksums: re-order checksum implementations based on performance (#6500) (70db9834)
    Documentation Changes
    • client-api-gateway: Documentation updates for Amazon API Gateway (5428b83e)
    New Features
    • client-athena: List/Get/Update/Delete/CreateDataCatalog now integrate with AWS Glue connections. Users can create a Glue connection through Athena or use a Glue connection to define their Athena federated parameters. (51c977f9)
    • client-resource-explorer-2: AWS Resource Explorer released ListResources feature which allows customers to list all indexed AWS resources within a view. (093a53f1)
    • client-ec2: Amazon EC2 G6e instances powered by NVIDIA L40S Tensor Core GPUs are the most cost-efficient GPU instances for deploying generative AI models and the highest performance GPU instances for spatial computing workloads. (a99738f6)
    • client-glue: Added AthenaProperties parameter to Glue Connections, allowing Athena to store service specific properties on Glue Connections. (a8db47fc)
    • client-bedrock-agent: Amazon Bedrock Prompt Flows and Prompt Management now supports using inference profiles to increase throughput and improve resilience. (3db793d1)
    • client-rds: Support ComputeRedundancy parameter in ModifyDBShardGroup API. Add DBShardGroupArn in DBShardGroup API response. Remove InvalidMaxAcuFault from CreateDBShardGroup and ModifyDBShardGroup API. Both API will throw InvalidParameterValueException for invalid ACU configuration. (f69b00ed)
    • client-emr-serverless: This release adds support for job concurrency and queuing configuration at Application level. (f6a2631c)

    For list of updated packages, view updated-packages.md in assets-3.657.0.zip

    v3.656.0

    3.656.0(2024-09-20)

    New Features
    • clients: update command documentation examples as of 2024-09-20 (ab843b8d)
    • client-neptune: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (cdacf566)
    • client-sagemaker: Amazon SageMaker now supports using manifest files to specify the location of uncompressed model artifacts within Model Packages (12cef30d)
    • client-workspaces: Releasing new ErrorCodes for SysPrep failures during ImageImport and CreateImage process (ae91f03a)
    • client-sagemaker-metrics: This release introduces support for the SageMaker Metrics BatchGetMetrics API. (5b6c0db8)
    • client-dynamodb: Generate account endpoint for DynamoDB requests when the account ID is available (a39132cf)

    For list of updated packages, view updated-packages.md in assets-3.656.0.zip

    v3.655.0

    3.655.0(2024-09-19)

    New Features
    • client-workspaces-web: WorkSpaces Secure Browser now enables Administrators to view and manage end-user browsing sessions via Session Management APIs. (7913a4b6)
    • client-codeconnections: This release adds the PullRequestComment field to CreateSyncConfiguration API input, UpdateSyncConfiguration API input, GetSyncConfiguration API output and ListSyncConfiguration API output (0b63507d)

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/lib-storage's changelog.

    3.657.0 (2024-09-23)

    Note: Version bump only for package @​aws-sdk/lib-storage

    3.654.0 (2024-09-18)

    Note: Version bump only for package @​aws-sdk/lib-storage

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Stuart Pearson <1926002+stuartp44@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 6 +- lambdas/functions/control-plane/package.json | 6 +- .../functions/gh-agent-syncer/package.json | 6 +- .../termination-watcher/package.json | 4 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 4 +- lambdas/yarn.lock | 1275 +++++++++-------- 7 files changed, 688 insertions(+), 615 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index a96e193df2..b728ce94b7 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -39,9 +39,9 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-ec2": "^3.651.1", - "@aws-sdk/client-ssm": "^3.651.1", - "@aws-sdk/types": "^3.649.0", + "@aws-sdk/client-ec2": "^3.657.0", + "@aws-sdk/client-ssm": "^3.654.0", + "@aws-sdk/types": "^3.654.0", "cron-parser": "^4.9.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index 5d30b35341..ae5d95b975 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -41,9 +41,9 @@ "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", "@aws-lambda-powertools/parameters": "^2.8.0", - "@aws-sdk/client-ec2": "^3.651.1", - "@aws-sdk/client-sqs": "^3.651.1", - "@aws-sdk/types": "^3.649.0", + "@aws-sdk/client-ec2": "^3.657.0", + "@aws-sdk/client-sqs": "^3.654.0", + "@aws-sdk/types": "^3.654.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.2", "@octokit/core": "5.2.0", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index a34bbb296c..08c5094fa0 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -37,9 +37,9 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-s3": "^3.651.1", - "@aws-sdk/lib-storage": "^3.651.1", - "@aws-sdk/types": "^3.649.0", + "@aws-sdk/client-s3": "^3.657.0", + "@aws-sdk/lib-storage": "^3.657.0", + "@aws-sdk/types": "^3.654.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "axios": "^1.7.5" diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 3948314d51..3a10d2912d 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -36,8 +36,8 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ec2": "^3.651.1", - "@aws-sdk/types": "^3.649.0", + "@aws-sdk/client-ec2": "^3.657.0", + "@aws-sdk/types": "^3.654.0", "@middy/core": "^4.7.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index c5e99ef82e..ef64eb3378 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -39,7 +39,7 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-sqs": "^3.651.1", + "@aws-sdk/client-sqs": "^3.654.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.5.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index c3e0567a10..ccc061be92 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -36,8 +36,8 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ssm": "^3.651.1", - "@aws-sdk/types": "^3.649.0" + "@aws-sdk/client-ssm": "^3.654.0", + "@aws-sdk/types": "^3.654.0" }, "nx": { "includedScripts": [ diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index a66cc25c77..8119869bc3 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -103,9 +103,9 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.651.1" - "@aws-sdk/client-ssm": "npm:^3.651.1" - "@aws-sdk/types": "npm:^3.649.0" + "@aws-sdk/client-ec2": "npm:^3.657.0" + "@aws-sdk/client-ssm": "npm:^3.654.0" + "@aws-sdk/types": "npm:^3.654.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" @@ -165,8 +165,8 @@ __metadata: resolution: "@aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ssm": "npm:^3.651.1" - "@aws-sdk/types": "npm:^3.649.0" + "@aws-sdk/client-ssm": "npm:^3.654.0" + "@aws-sdk/types": "npm:^3.654.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" @@ -196,9 +196,9 @@ __metadata: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" "@aws-lambda-powertools/parameters": "npm:^2.8.0" - "@aws-sdk/client-ec2": "npm:^3.651.1" - "@aws-sdk/client-sqs": "npm:^3.651.1" - "@aws-sdk/types": "npm:^3.649.0" + "@aws-sdk/client-ec2": "npm:^3.657.0" + "@aws-sdk/client-sqs": "npm:^3.654.0" + "@aws-sdk/types": "npm:^3.654.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.2" "@octokit/core": "npm:5.2.0" @@ -235,9 +235,9 @@ __metadata: resolution: "@aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-s3": "npm:^3.651.1" - "@aws-sdk/lib-storage": "npm:^3.651.1" - "@aws-sdk/types": "npm:^3.649.0" + "@aws-sdk/client-s3": "npm:^3.657.0" + "@aws-sdk/lib-storage": "npm:^3.657.0" + "@aws-sdk/types": "npm:^3.654.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -267,8 +267,8 @@ __metadata: resolution: "@aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.651.1" - "@aws-sdk/types": "npm:^3.649.0" + "@aws-sdk/client-ec2": "npm:^3.657.0" + "@aws-sdk/types": "npm:^3.654.0" "@middy/core": "npm:^4.7.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" @@ -299,7 +299,7 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-sqs": "npm:^3.651.1" + "@aws-sdk/client-sqs": "npm:^3.654.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.5.0" @@ -407,733 +407,733 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/client-ec2@npm:3.651.1" +"@aws-sdk/client-ec2@npm:^3.657.0": + version: 3.657.0 + resolution: "@aws-sdk/client-ec2@npm:3.657.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.651.1" - "@aws-sdk/client-sts": "npm:3.651.1" - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/credential-provider-node": "npm:3.651.1" - "@aws-sdk/middleware-host-header": "npm:3.649.0" - "@aws-sdk/middleware-logger": "npm:3.649.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" - "@aws-sdk/middleware-sdk-ec2": "npm:3.649.0" - "@aws-sdk/middleware-user-agent": "npm:3.649.0" - "@aws-sdk/region-config-resolver": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@aws-sdk/util-user-agent-browser": "npm:3.649.0" - "@aws-sdk/util-user-agent-node": "npm:3.649.0" - "@smithy/config-resolver": "npm:^3.0.6" - "@smithy/core": "npm:^2.4.1" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/hash-node": "npm:^3.0.4" - "@smithy/invalid-dependency": "npm:^3.0.4" - "@smithy/middleware-content-length": "npm:^3.0.6" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/middleware-retry": "npm:^3.0.16" - "@smithy/middleware-serde": "npm:^3.0.4" - "@smithy/middleware-stack": "npm:^3.0.4" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/url-parser": "npm:^3.0.4" + "@aws-sdk/client-sso-oidc": "npm:3.654.0" + "@aws-sdk/client-sts": "npm:3.654.0" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/credential-provider-node": "npm:3.654.0" + "@aws-sdk/middleware-host-header": "npm:3.654.0" + "@aws-sdk/middleware-logger": "npm:3.654.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" + "@aws-sdk/middleware-sdk-ec2": "npm:3.654.0" + "@aws-sdk/middleware-user-agent": "npm:3.654.0" + "@aws-sdk/region-config-resolver": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@aws-sdk/util-user-agent-browser": "npm:3.654.0" + "@aws-sdk/util-user-agent-node": "npm:3.654.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/core": "npm:^2.4.3" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/hash-node": "npm:^3.0.6" + "@smithy/invalid-dependency": "npm:^3.0.6" + "@smithy/middleware-content-length": "npm:^3.0.8" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.16" - "@smithy/util-defaults-mode-node": "npm:^3.0.16" - "@smithy/util-endpoints": "npm:^2.1.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-retry": "npm:^3.0.4" + "@smithy/util-defaults-mode-browser": "npm:^3.0.18" + "@smithy/util-defaults-mode-node": "npm:^3.0.18" + "@smithy/util-endpoints": "npm:^2.1.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.3" + "@smithy/util-waiter": "npm:^3.1.5" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/f1f1d5d902bf40145423e84137f6f059380ed3eaaa78da493436d96874a0a17e3d456ce438151f86e47fa71ce150c3d00d172cac341b4dcec0e48516e79311f0 + checksum: 10c0/70234c3a4d6415461518935a3b69cf17e1caf3d78d801a9e97149e219a6bfd972ffe67f8943f6f419ea9b347b24c75f79b6b83cf16513e73da558e0dfbe76659 languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/client-s3@npm:3.651.1" +"@aws-sdk/client-s3@npm:^3.657.0": + version: 3.657.0 + resolution: "@aws-sdk/client-s3@npm:3.657.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.651.1" - "@aws-sdk/client-sts": "npm:3.651.1" - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/credential-provider-node": "npm:3.651.1" - "@aws-sdk/middleware-bucket-endpoint": "npm:3.649.0" - "@aws-sdk/middleware-expect-continue": "npm:3.649.0" - "@aws-sdk/middleware-flexible-checksums": "npm:3.651.1" - "@aws-sdk/middleware-host-header": "npm:3.649.0" - "@aws-sdk/middleware-location-constraint": "npm:3.649.0" - "@aws-sdk/middleware-logger": "npm:3.649.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.651.1" - "@aws-sdk/middleware-ssec": "npm:3.649.0" - "@aws-sdk/middleware-user-agent": "npm:3.649.0" - "@aws-sdk/region-config-resolver": "npm:3.649.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.651.1" - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@aws-sdk/util-user-agent-browser": "npm:3.649.0" - "@aws-sdk/util-user-agent-node": "npm:3.649.0" - "@aws-sdk/xml-builder": "npm:3.649.0" - "@smithy/config-resolver": "npm:^3.0.6" - "@smithy/core": "npm:^2.4.1" - "@smithy/eventstream-serde-browser": "npm:^3.0.7" - "@smithy/eventstream-serde-config-resolver": "npm:^3.0.4" - "@smithy/eventstream-serde-node": "npm:^3.0.6" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/hash-blob-browser": "npm:^3.1.3" - "@smithy/hash-node": "npm:^3.0.4" - "@smithy/hash-stream-node": "npm:^3.1.3" - "@smithy/invalid-dependency": "npm:^3.0.4" - "@smithy/md5-js": "npm:^3.0.4" - "@smithy/middleware-content-length": "npm:^3.0.6" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/middleware-retry": "npm:^3.0.16" - "@smithy/middleware-serde": "npm:^3.0.4" - "@smithy/middleware-stack": "npm:^3.0.4" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/url-parser": "npm:^3.0.4" + "@aws-sdk/client-sso-oidc": "npm:3.654.0" + "@aws-sdk/client-sts": "npm:3.654.0" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/credential-provider-node": "npm:3.654.0" + "@aws-sdk/middleware-bucket-endpoint": "npm:3.654.0" + "@aws-sdk/middleware-expect-continue": "npm:3.654.0" + "@aws-sdk/middleware-flexible-checksums": "npm:3.657.0" + "@aws-sdk/middleware-host-header": "npm:3.654.0" + "@aws-sdk/middleware-location-constraint": "npm:3.654.0" + "@aws-sdk/middleware-logger": "npm:3.654.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.654.0" + "@aws-sdk/middleware-ssec": "npm:3.654.0" + "@aws-sdk/middleware-user-agent": "npm:3.654.0" + "@aws-sdk/region-config-resolver": "npm:3.654.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@aws-sdk/util-user-agent-browser": "npm:3.654.0" + "@aws-sdk/util-user-agent-node": "npm:3.654.0" + "@aws-sdk/xml-builder": "npm:3.654.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/core": "npm:^2.4.3" + "@smithy/eventstream-serde-browser": "npm:^3.0.9" + "@smithy/eventstream-serde-config-resolver": "npm:^3.0.6" + "@smithy/eventstream-serde-node": "npm:^3.0.8" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/hash-blob-browser": "npm:^3.1.5" + "@smithy/hash-node": "npm:^3.0.6" + "@smithy/hash-stream-node": "npm:^3.1.5" + "@smithy/invalid-dependency": "npm:^3.0.6" + "@smithy/md5-js": "npm:^3.0.6" + "@smithy/middleware-content-length": "npm:^3.0.8" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.16" - "@smithy/util-defaults-mode-node": "npm:^3.0.16" - "@smithy/util-endpoints": "npm:^2.1.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-retry": "npm:^3.0.4" - "@smithy/util-stream": "npm:^3.1.4" + "@smithy/util-defaults-mode-browser": "npm:^3.0.18" + "@smithy/util-defaults-mode-node": "npm:^3.0.18" + "@smithy/util-endpoints": "npm:^2.1.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" + "@smithy/util-stream": "npm:^3.1.6" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.3" + "@smithy/util-waiter": "npm:^3.1.5" tslib: "npm:^2.6.2" - checksum: 10c0/34d0058a5673896f349b63c484d4b3fccdc3e4171f89b672280630d65969c715aaefa69d9474c61d57e90af1bba68665e650b2711afaab54597864f6353e10fb + checksum: 10c0/ee49e8751b8bd6a6eeffc01ea4a0ced6e3408beb9dfdcfad08ce8483e92aac3db57a15c0b8b481bc6a2e335e9e09c5916f74d20db9f2b89d07ad0bb06a2df5e7 languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/client-sqs@npm:3.651.1" +"@aws-sdk/client-sqs@npm:^3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/client-sqs@npm:3.654.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.651.1" - "@aws-sdk/client-sts": "npm:3.651.1" - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/credential-provider-node": "npm:3.651.1" - "@aws-sdk/middleware-host-header": "npm:3.649.0" - "@aws-sdk/middleware-logger": "npm:3.649.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" - "@aws-sdk/middleware-sdk-sqs": "npm:3.649.0" - "@aws-sdk/middleware-user-agent": "npm:3.649.0" - "@aws-sdk/region-config-resolver": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@aws-sdk/util-user-agent-browser": "npm:3.649.0" - "@aws-sdk/util-user-agent-node": "npm:3.649.0" - "@smithy/config-resolver": "npm:^3.0.6" - "@smithy/core": "npm:^2.4.1" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/hash-node": "npm:^3.0.4" - "@smithy/invalid-dependency": "npm:^3.0.4" - "@smithy/md5-js": "npm:^3.0.4" - "@smithy/middleware-content-length": "npm:^3.0.6" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/middleware-retry": "npm:^3.0.16" - "@smithy/middleware-serde": "npm:^3.0.4" - "@smithy/middleware-stack": "npm:^3.0.4" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/url-parser": "npm:^3.0.4" + "@aws-sdk/client-sso-oidc": "npm:3.654.0" + "@aws-sdk/client-sts": "npm:3.654.0" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/credential-provider-node": "npm:3.654.0" + "@aws-sdk/middleware-host-header": "npm:3.654.0" + "@aws-sdk/middleware-logger": "npm:3.654.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" + "@aws-sdk/middleware-sdk-sqs": "npm:3.654.0" + "@aws-sdk/middleware-user-agent": "npm:3.654.0" + "@aws-sdk/region-config-resolver": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@aws-sdk/util-user-agent-browser": "npm:3.654.0" + "@aws-sdk/util-user-agent-node": "npm:3.654.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/core": "npm:^2.4.3" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/hash-node": "npm:^3.0.6" + "@smithy/invalid-dependency": "npm:^3.0.6" + "@smithy/md5-js": "npm:^3.0.6" + "@smithy/middleware-content-length": "npm:^3.0.8" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.16" - "@smithy/util-defaults-mode-node": "npm:^3.0.16" - "@smithy/util-endpoints": "npm:^2.1.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-retry": "npm:^3.0.4" + "@smithy/util-defaults-mode-browser": "npm:^3.0.18" + "@smithy/util-defaults-mode-node": "npm:^3.0.18" + "@smithy/util-endpoints": "npm:^2.1.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/3761b8b78636f024e43c6f583b450fb213a05e6cb2888e6e90092e7e9e97e8c022a7080c3140121c5537130e0d380af0af7442858e69063c6c92fd71de69f84a + checksum: 10c0/02fef8bb11eaf55299023a3a72124e79022da26833f85afbb33eb57cd756988c0fd80926ff98236dffef1cd0fc9f76b7ef7faf99c4ef5940b22c6d979b42eb3f languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/client-ssm@npm:3.651.1" +"@aws-sdk/client-ssm@npm:^3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/client-ssm@npm:3.654.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.651.1" - "@aws-sdk/client-sts": "npm:3.651.1" - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/credential-provider-node": "npm:3.651.1" - "@aws-sdk/middleware-host-header": "npm:3.649.0" - "@aws-sdk/middleware-logger": "npm:3.649.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" - "@aws-sdk/middleware-user-agent": "npm:3.649.0" - "@aws-sdk/region-config-resolver": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@aws-sdk/util-user-agent-browser": "npm:3.649.0" - "@aws-sdk/util-user-agent-node": "npm:3.649.0" - "@smithy/config-resolver": "npm:^3.0.6" - "@smithy/core": "npm:^2.4.1" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/hash-node": "npm:^3.0.4" - "@smithy/invalid-dependency": "npm:^3.0.4" - "@smithy/middleware-content-length": "npm:^3.0.6" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/middleware-retry": "npm:^3.0.16" - "@smithy/middleware-serde": "npm:^3.0.4" - "@smithy/middleware-stack": "npm:^3.0.4" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/url-parser": "npm:^3.0.4" + "@aws-sdk/client-sso-oidc": "npm:3.654.0" + "@aws-sdk/client-sts": "npm:3.654.0" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/credential-provider-node": "npm:3.654.0" + "@aws-sdk/middleware-host-header": "npm:3.654.0" + "@aws-sdk/middleware-logger": "npm:3.654.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" + "@aws-sdk/middleware-user-agent": "npm:3.654.0" + "@aws-sdk/region-config-resolver": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@aws-sdk/util-user-agent-browser": "npm:3.654.0" + "@aws-sdk/util-user-agent-node": "npm:3.654.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/core": "npm:^2.4.3" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/hash-node": "npm:^3.0.6" + "@smithy/invalid-dependency": "npm:^3.0.6" + "@smithy/middleware-content-length": "npm:^3.0.8" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.16" - "@smithy/util-defaults-mode-node": "npm:^3.0.16" - "@smithy/util-endpoints": "npm:^2.1.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-retry": "npm:^3.0.4" + "@smithy/util-defaults-mode-browser": "npm:^3.0.18" + "@smithy/util-defaults-mode-node": "npm:^3.0.18" + "@smithy/util-endpoints": "npm:^2.1.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.3" + "@smithy/util-waiter": "npm:^3.1.5" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/b8df8bec1a6acecc01dfb47540bfc5989497aef5a2a0aed3367216daf789c3a0794922385e2fa8f4b2ac67250651ab001469ee4a5c17e36465967c25e2b6af25 + checksum: 10c0/4f3b81768514d70ed29857e305460e8d16374d5726e7cbc32a86272e877211a5b62fc4f7f9f9eb558d70c320c9cdaecd0e9aa6241bd8b5cf5aec0b0b2e2ed4ed languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/client-sso-oidc@npm:3.651.1" +"@aws-sdk/client-sso-oidc@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.654.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/credential-provider-node": "npm:3.651.1" - "@aws-sdk/middleware-host-header": "npm:3.649.0" - "@aws-sdk/middleware-logger": "npm:3.649.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" - "@aws-sdk/middleware-user-agent": "npm:3.649.0" - "@aws-sdk/region-config-resolver": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@aws-sdk/util-user-agent-browser": "npm:3.649.0" - "@aws-sdk/util-user-agent-node": "npm:3.649.0" - "@smithy/config-resolver": "npm:^3.0.6" - "@smithy/core": "npm:^2.4.1" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/hash-node": "npm:^3.0.4" - "@smithy/invalid-dependency": "npm:^3.0.4" - "@smithy/middleware-content-length": "npm:^3.0.6" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/middleware-retry": "npm:^3.0.16" - "@smithy/middleware-serde": "npm:^3.0.4" - "@smithy/middleware-stack": "npm:^3.0.4" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/url-parser": "npm:^3.0.4" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/credential-provider-node": "npm:3.654.0" + "@aws-sdk/middleware-host-header": "npm:3.654.0" + "@aws-sdk/middleware-logger": "npm:3.654.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" + "@aws-sdk/middleware-user-agent": "npm:3.654.0" + "@aws-sdk/region-config-resolver": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@aws-sdk/util-user-agent-browser": "npm:3.654.0" + "@aws-sdk/util-user-agent-node": "npm:3.654.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/core": "npm:^2.4.3" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/hash-node": "npm:^3.0.6" + "@smithy/invalid-dependency": "npm:^3.0.6" + "@smithy/middleware-content-length": "npm:^3.0.8" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.16" - "@smithy/util-defaults-mode-node": "npm:^3.0.16" - "@smithy/util-endpoints": "npm:^2.1.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-retry": "npm:^3.0.4" + "@smithy/util-defaults-mode-browser": "npm:^3.0.18" + "@smithy/util-defaults-mode-node": "npm:^3.0.18" + "@smithy/util-endpoints": "npm:^2.1.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.651.1 - checksum: 10c0/5d8a9071427406a76cb0004c9d925a7945b6b6c86da772544bee2c2218a56fd95093ebd8d2c28a727a722703a5cb238b70bc86fb5f438e31effc44c5aaa5e168 + "@aws-sdk/client-sts": ^3.654.0 + checksum: 10c0/0b377b7c1fb9913d58817dab8bbcefe9361a74b9a512a50315173547ade3e84b4f101cee7415ba90985c67419edc1542938cae8e5ef0ed83a44ae9a687c88eb1 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/client-sso@npm:3.651.1" +"@aws-sdk/client-sso@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/client-sso@npm:3.654.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/middleware-host-header": "npm:3.649.0" - "@aws-sdk/middleware-logger": "npm:3.649.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" - "@aws-sdk/middleware-user-agent": "npm:3.649.0" - "@aws-sdk/region-config-resolver": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@aws-sdk/util-user-agent-browser": "npm:3.649.0" - "@aws-sdk/util-user-agent-node": "npm:3.649.0" - "@smithy/config-resolver": "npm:^3.0.6" - "@smithy/core": "npm:^2.4.1" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/hash-node": "npm:^3.0.4" - "@smithy/invalid-dependency": "npm:^3.0.4" - "@smithy/middleware-content-length": "npm:^3.0.6" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/middleware-retry": "npm:^3.0.16" - "@smithy/middleware-serde": "npm:^3.0.4" - "@smithy/middleware-stack": "npm:^3.0.4" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/url-parser": "npm:^3.0.4" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/middleware-host-header": "npm:3.654.0" + "@aws-sdk/middleware-logger": "npm:3.654.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" + "@aws-sdk/middleware-user-agent": "npm:3.654.0" + "@aws-sdk/region-config-resolver": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@aws-sdk/util-user-agent-browser": "npm:3.654.0" + "@aws-sdk/util-user-agent-node": "npm:3.654.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/core": "npm:^2.4.3" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/hash-node": "npm:^3.0.6" + "@smithy/invalid-dependency": "npm:^3.0.6" + "@smithy/middleware-content-length": "npm:^3.0.8" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.16" - "@smithy/util-defaults-mode-node": "npm:^3.0.16" - "@smithy/util-endpoints": "npm:^2.1.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-retry": "npm:^3.0.4" + "@smithy/util-defaults-mode-browser": "npm:^3.0.18" + "@smithy/util-defaults-mode-node": "npm:^3.0.18" + "@smithy/util-endpoints": "npm:^2.1.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/8757537a0dd44f3ba18b92cac6e81d6b7efdfa21e6facec5c0fdad14c16ce6224a0162e562b773dcf000a922c9aaa717dda480228a97b9e43ba2cf0b7e9c5538 + checksum: 10c0/962958406a0a396133681e1a0d4d2ed9103ee0a1ef7ca55d728b04bf70e601c054b71d3a44aca1319cbe0eb2d4f026be5eef5f56bc262c98f5a1f71ebf46e7b6 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/client-sts@npm:3.651.1" +"@aws-sdk/client-sts@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/client-sts@npm:3.654.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.651.1" - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/credential-provider-node": "npm:3.651.1" - "@aws-sdk/middleware-host-header": "npm:3.649.0" - "@aws-sdk/middleware-logger": "npm:3.649.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.649.0" - "@aws-sdk/middleware-user-agent": "npm:3.649.0" - "@aws-sdk/region-config-resolver": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@aws-sdk/util-user-agent-browser": "npm:3.649.0" - "@aws-sdk/util-user-agent-node": "npm:3.649.0" - "@smithy/config-resolver": "npm:^3.0.6" - "@smithy/core": "npm:^2.4.1" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/hash-node": "npm:^3.0.4" - "@smithy/invalid-dependency": "npm:^3.0.4" - "@smithy/middleware-content-length": "npm:^3.0.6" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/middleware-retry": "npm:^3.0.16" - "@smithy/middleware-serde": "npm:^3.0.4" - "@smithy/middleware-stack": "npm:^3.0.4" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/url-parser": "npm:^3.0.4" + "@aws-sdk/client-sso-oidc": "npm:3.654.0" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/credential-provider-node": "npm:3.654.0" + "@aws-sdk/middleware-host-header": "npm:3.654.0" + "@aws-sdk/middleware-logger": "npm:3.654.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" + "@aws-sdk/middleware-user-agent": "npm:3.654.0" + "@aws-sdk/region-config-resolver": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@aws-sdk/util-user-agent-browser": "npm:3.654.0" + "@aws-sdk/util-user-agent-node": "npm:3.654.0" + "@smithy/config-resolver": "npm:^3.0.8" + "@smithy/core": "npm:^2.4.3" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/hash-node": "npm:^3.0.6" + "@smithy/invalid-dependency": "npm:^3.0.6" + "@smithy/middleware-content-length": "npm:^3.0.8" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-serde": "npm:^3.0.6" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/url-parser": "npm:^3.0.6" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.16" - "@smithy/util-defaults-mode-node": "npm:^3.0.16" - "@smithy/util-endpoints": "npm:^2.1.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-retry": "npm:^3.0.4" + "@smithy/util-defaults-mode-browser": "npm:^3.0.18" + "@smithy/util-defaults-mode-node": "npm:^3.0.18" + "@smithy/util-endpoints": "npm:^2.1.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/eb4913546c2aa801e7f8d00b2d01537ff996408b2a06e4635698128122bad74b5cb1aeee53941f31358416733422821b89861e1bd73839ecf1784c2d6f39c2d8 + checksum: 10c0/14325d58391c5c66b253c22db01da784590d9575624a1ad54eec0375787e47201fa5d986cbb5c021371f3d9494a738edc4a463056d7b2dc23a2644054926617b languageName: node linkType: hard -"@aws-sdk/core@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/core@npm:3.651.1" +"@aws-sdk/core@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/core@npm:3.654.0" dependencies: - "@smithy/core": "npm:^2.4.1" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/signature-v4": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/core": "npm:^2.4.3" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/signature-v4": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-middleware": "npm:^3.0.6" fast-xml-parser: "npm:4.4.1" tslib: "npm:^2.6.2" - checksum: 10c0/3f7e0f06321214bbb8282973ef27409738b4d689f1db5ef6f1f582a20b9f5c94788c393327a3ca8886f1e53d06151c122f6e944b2aff52fb896e8dcdad01a35b + checksum: 10c0/da28677ed50051abd1acaa5b17481b1da328bfb472d3e9b3ddc29ec090081dd044f97bef9ae2b1d6666db83351812fcb5b426f7d07e9d5845884089485dbb922 languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.649.0" +"@aws-sdk/credential-provider-env@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/e0e24dc24701cf7c6aa8b02cd309471544d8d4719d97a585abbbaaa85cca6e3995faceeb4070e775a9e66e60554ab82dc48d33b0448cdb9eccd75c1874a3107d + checksum: 10c0/2ecce2029c7b304450bd5564cb17934b71140fb8fe57bf990c49047b19c434ce820b6d6e169377029ab3260d0d03af2fa976e7cc157f34e50136b71b6f3543f7 languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.649.0" +"@aws-sdk/credential-provider-http@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/fetch-http-handler": "npm:^3.2.5" - "@smithy/node-http-handler": "npm:^3.2.0" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/util-stream": "npm:^3.1.4" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/fetch-http-handler": "npm:^3.2.7" + "@smithy/node-http-handler": "npm:^3.2.2" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-stream": "npm:^3.1.6" tslib: "npm:^2.6.2" - checksum: 10c0/0c365620ad68271e25127959cc0d0f1c747b7405dc4b3b286947ba002dc21f4213de3d83a0bf0a3d33829664635b7e06074a573ad03afd5ae834a382bba24703 + checksum: 10c0/525c13f872c7ff3d923cf5125ed434ce8ec07b14e395712aa014ecfef361fe0029301d2e234771425d7e94ca946f83b1c493c65cb38c41fc2424371f70f9516a languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/credential-provider-ini@npm:3.651.1" +"@aws-sdk/credential-provider-ini@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.654.0" dependencies: - "@aws-sdk/credential-provider-env": "npm:3.649.0" - "@aws-sdk/credential-provider-http": "npm:3.649.0" - "@aws-sdk/credential-provider-process": "npm:3.649.0" - "@aws-sdk/credential-provider-sso": "npm:3.651.1" - "@aws-sdk/credential-provider-web-identity": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@smithy/credential-provider-imds": "npm:^3.2.1" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/shared-ini-file-loader": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/credential-provider-env": "npm:3.654.0" + "@aws-sdk/credential-provider-http": "npm:3.654.0" + "@aws-sdk/credential-provider-process": "npm:3.654.0" + "@aws-sdk/credential-provider-sso": "npm:3.654.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/credential-provider-imds": "npm:^3.2.3" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/shared-ini-file-loader": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.651.1 - checksum: 10c0/ed6d1054f4276736ab132baf0fd1b9b1980cf115794b4c14f747adf8b4a431c2e1a18fe95e5f60503ef659764be6746cbaf5e00fa508d9ac9a1af6e1e30c44f0 + "@aws-sdk/client-sts": ^3.654.0 + checksum: 10c0/1b8767645e1db257d0861b600a1d5121790aa922bd88716997567933d3b8c55c8c10d2a99058ec4efd6cbffc855f1d666b40e3bccbe072e1f3a9571700ae1712 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/credential-provider-node@npm:3.651.1" +"@aws-sdk/credential-provider-node@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.654.0" dependencies: - "@aws-sdk/credential-provider-env": "npm:3.649.0" - "@aws-sdk/credential-provider-http": "npm:3.649.0" - "@aws-sdk/credential-provider-ini": "npm:3.651.1" - "@aws-sdk/credential-provider-process": "npm:3.649.0" - "@aws-sdk/credential-provider-sso": "npm:3.651.1" - "@aws-sdk/credential-provider-web-identity": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@smithy/credential-provider-imds": "npm:^3.2.1" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/shared-ini-file-loader": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/credential-provider-env": "npm:3.654.0" + "@aws-sdk/credential-provider-http": "npm:3.654.0" + "@aws-sdk/credential-provider-ini": "npm:3.654.0" + "@aws-sdk/credential-provider-process": "npm:3.654.0" + "@aws-sdk/credential-provider-sso": "npm:3.654.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/credential-provider-imds": "npm:^3.2.3" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/shared-ini-file-loader": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/a72ddc1c56f75d75ee49ed207bac90a8a0dbd0077c95b6f49c40bc82e3f2b97f9dd459cb5c62a8851230e89515c18d9169f8fd236dfe7b7ae712ae52475ab51a + checksum: 10c0/a18bd7157006143db7c785067965cb22e834bdf9497c9fb471ec9d16359a1ba65b4285162fda545838d6b1850fc07d03bfaa4621881d4c2c3835fe924f376b84 languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.649.0" +"@aws-sdk/credential-provider-process@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/shared-ini-file-loader": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/shared-ini-file-loader": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/fa203d633f14301784d9f5d4271bc04c70ac7dbe9afa0bc888a9f548d9337e86c020b273e59f0a73fb5e3c78821171b353c6f5d59aa619394232c724c232dcf7 + checksum: 10c0/388f6dcf7522dd3fdec125e164414253b937513365ffe5a4274237e83990153f33014013562ca5d4aa38d9510d2fc747ccee81b369fca6461b0f926a049aeaef languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/credential-provider-sso@npm:3.651.1" +"@aws-sdk/credential-provider-sso@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.654.0" dependencies: - "@aws-sdk/client-sso": "npm:3.651.1" - "@aws-sdk/token-providers": "npm:3.649.0" - "@aws-sdk/types": "npm:3.649.0" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/shared-ini-file-loader": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/client-sso": "npm:3.654.0" + "@aws-sdk/token-providers": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/shared-ini-file-loader": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/a294a96d3fea49ef5880acc84da4848ede524f999ba9777e7ad550805d846c82ff9de36352b44019bb3ec7149d620e8db091bb2848974022ef61e81082c57ea6 + checksum: 10c0/5b8eb3931f747203c12049361a2cea08bdb6aa6e05a266715fe19cbed5b6c5b029b87a0261ae6fcaa878f1d0a59b52c93ce7e7def99385fca75729e098f256e4 languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.649.0" +"@aws-sdk/credential-provider-web-identity@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.649.0 - checksum: 10c0/b2b5805c2f3877cad5d96479543a40444f980f29349080bff129e74059b0d1104a583c8fe46470089df466a3c1ca90170b7b45fddfa345c2685cde41408a502d + "@aws-sdk/client-sts": ^3.654.0 + checksum: 10c0/6bafd02301ff2f5d030bb2242056be7fb02713d0ab70a43e18ac7a77d6d08460b36b7c833d9446388d93e16158fdcbb6b463754a131a962a8b14a639e01da3b2 languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/lib-storage@npm:3.651.1" +"@aws-sdk/lib-storage@npm:^3.657.0": + version: 3.657.0 + resolution: "@aws-sdk/lib-storage@npm:3.657.0" dependencies: - "@smithy/abort-controller": "npm:^3.1.2" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/smithy-client": "npm:^3.3.0" + "@smithy/abort-controller": "npm:^3.1.4" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/smithy-client": "npm:^3.3.2" buffer: "npm:5.6.0" events: "npm:3.3.0" stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.651.1 - checksum: 10c0/f2e55c79444da2afe841b7915a406e0cdce0181211a74068d25503121cb86976cebc1f69db993f5cb7f8a7a1c85e1d9494017a8235f71edbead619b955368eec + "@aws-sdk/client-s3": ^3.657.0 + checksum: 10c0/28e1c80b44887c3870f1c423f397355890ec68ffc4b027957335741d75675869b7280da758d3ed49b1949e3f2b4df29dee9a1594eb98412d81caff6bb07a83db languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.649.0" +"@aws-sdk/middleware-bucket-endpoint@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/types": "npm:3.654.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/types": "npm:^3.4.0" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" "@smithy/util-config-provider": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/fa8f1c3d3150c12e29256f0085c33f355e2b15f1db23b85120e7605b3ef06ec180592ebdb3c9a71ec9ef5277c74e1d3927888d642736e6825ffb7773c87f918e + checksum: 10c0/7e2ce6c7ac7e0556e8d5acb97e893758bd45225fa2b34983b6c6b266662124f161379fb7377ba3b282fca76919c85e2d64e040a5fc5baccbf6fe59ca679161a6 languageName: node linkType: hard -"@aws-sdk/middleware-expect-continue@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.649.0" +"@aws-sdk/middleware-expect-continue@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/57ca93a7abab8017fbfa38c3702841d8b803b764222a84d9f9091c760888dde235c3e9a928e4d76007b290b0b4274995099b84d1af9e5306ce0a067e0c3172e7 + checksum: 10c0/c15f81815b57876c4f8bfa7ea6f9f3185f11bcc096d08d62f109764b3be0a33d457393f658b03f093baa53eb46f356ecfa6b1f4064883509c053a9519567a536 languageName: node linkType: hard -"@aws-sdk/middleware-flexible-checksums@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.651.1" +"@aws-sdk/middleware-flexible-checksums@npm:3.657.0": + version: 3.657.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.657.0" dependencies: "@aws-crypto/crc32": "npm:5.2.0" "@aws-crypto/crc32c": "npm:5.2.0" - "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/types": "npm:3.654.0" "@smithy/is-array-buffer": "npm:^3.0.0" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/types": "npm:^3.4.0" - "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-middleware": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/8108993555e6cfe126512d63d3b120424b3457f039e07a2d9720f4c810258a7d2fbcbc61c717e76450f71c9fbe34e8f3880190f27bef30143c5ab3710991ad19 + checksum: 10c0/3d8e75f0d8e84d2ff6ed78e1b35e6b5509f10c1a565f7e29e2d972469c0d14a0a385087f8ec42d99b9af01e8452c91353098e17ab9b91528fbe96d32671767b6 languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.649.0" +"@aws-sdk/middleware-host-header@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/09d375cb07cea2738f1f265ff2c3ced6aeaf612e58e97dac003cc92f8430010b8b4fe8b16d489afbaefe10bf4b1f4d373d2123a7a0e5d14583d6638e1edfe2e4 + checksum: 10c0/4d027e87f8ee18424ae326a7484bf1a52258cc89037641bc7fcd9e9e34bc936e754ec4cc6ccdfa545e1ec1e1ba5361dbd539de9b0e525161d7a70433ef475802 languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.649.0" +"@aws-sdk/middleware-location-constraint@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/6132d5d8b2eeda75d26123d364c2b217865a2c1472f80a1dc8856f152a08b912289048685ee67a53c7dd9c63f624e690f6008b7dd2780fb21706407abcb5ef6a + checksum: 10c0/5b3e09667777048d53f50da237cffbef7d931b550d3a502460907f84542d30878f504cb39d4b830a7b34cbf6e9a42a14849fe8cf63d52facf23e50834d4dce8f languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-logger@npm:3.649.0" +"@aws-sdk/middleware-logger@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-logger@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/80111a2cb4889df8b53f90bd5a1dfb222c786d0062ca369f9fdc95db6fa9b3c7e099badd75b377b2b6ffa295eb53f0e769d5e7f8346ef4a023fe77bf0d86710a + checksum: 10c0/cab9e99eef8a205f6d9c0dc5db14797e8f983a32604658f517ad3f5f62f0d427784b9f11ed686024c7b2c4265d8ef3c346ccb65a7a2733449c142678b56dcaef languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.649.0" +"@aws-sdk/middleware-recursion-detection@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/67c5551534b4c66050dc6dfc28f610aa4115f1679fec6c707bbbc6b666d729b821db10e60ee68492c4f9a51a00b1a13a9bbeac07b695c94bedf3fe6fc7fc1d85 + checksum: 10c0/52752ca2cbc23fb29af27f58c6218b3714770898d06535da61586c4335b31b40d8c82fa05a5412aa731b65f149f496604fbe1615acdaaec989eba41116d5a48c languageName: node linkType: hard -"@aws-sdk/middleware-sdk-ec2@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.649.0" +"@aws-sdk/middleware-sdk-ec2@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-format-url": "npm:3.649.0" - "@smithy/middleware-endpoint": "npm:^3.1.1" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/signature-v4": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-format-url": "npm:3.654.0" + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/signature-v4": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/c8790d94c38b59d95c3840f115cf237486a8827fe6ba659241586da95ef20f3dda560f4a03a0b17d85cb9ba1f3cc718163c52aa59cf43b2762f50f2cd2567a39 + checksum: 10c0/4e3c1086a92890d1dfbbc0ea931b120b3757006c4b9a1d765549a14dd3213173c15cd9f574ab07ca817b9dc07c05394e3a89513ef84b842a9bb0631bca6d047b languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.651.1" +"@aws-sdk/middleware-sdk-s3@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.654.0" dependencies: - "@aws-sdk/core": "npm:3.651.1" - "@aws-sdk/types": "npm:3.649.0" + "@aws-sdk/core": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/core": "npm:^2.4.1" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/signature-v4": "npm:^4.1.1" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" + "@smithy/core": "npm:^2.4.3" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/signature-v4": "npm:^4.1.3" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.4" - "@smithy/util-stream": "npm:^3.1.4" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-stream": "npm:^3.1.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/0dc2d4d75e21fcd9b32afa59f6c1912380a5c807c8f6c983c57a80205db0f511856703058fcc7e939b9813bb91d669b576483dced037042a58579be3eb018860 + checksum: 10c0/7c3a01a9eea6711b047cb6556fa9cf4db72b7aa67ea79ed751573a300894935103faa12da5a6bdb9e212d6aa235efe6865111fb8c1566d42a045a1bdb77cd2ca languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sqs@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.649.0" +"@aws-sdk/middleware-sdk-sqs@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/smithy-client": "npm:^3.3.0" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/types": "npm:^3.4.2" "@smithy/util-hex-encoding": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/9aab4448741224f1877f7c1b713cc080ca80ec63230363b29c1163b712a052d0bb0b05ae72edfbfa8fba421d8110902ec26a9e4f9d65ca1086472c323f13d6f1 + checksum: 10c0/711f533387643ad82082202bf64a98aaf9713d03ec782bb236d93b05b3fb2b8064d7ee060d7f31faa5f1671d78ab9ab73b7a62f56234167f840d2b0ce2541e72 languageName: node linkType: hard -"@aws-sdk/middleware-ssec@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.649.0" +"@aws-sdk/middleware-ssec@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/a600f290f4ee703ace612edbda657da88f2402627bd2a80b77621fa70208fe205add95ecde075377f74df86b2946ff1c606436289f9c61a4d544d99864f8b9b7 + checksum: 10c0/cde203fbdabfffab478edb72f66b8f5f6d57f604b784219416f4c78e4e02265492f7ca7204aa20ca876b600325d0c58880dc10b062a8a9e8e1b21de532863b14 languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.649.0" +"@aws-sdk/middleware-user-agent@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@aws-sdk/util-endpoints": "npm:3.649.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/util-endpoints": "npm:3.654.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/886bacd9077630f12007dd789925f8baf66e9ddbd5862f178df4443915af966025db54769555e2534f49acc354d8d688fe60f91d0aa98f1eba399aeae28542d7 + checksum: 10c0/f6678b1d6bc045d97c52520c381e88bec6d449d7be4f2751d68cd26ed743045b5af60aa2e26326c9a86cec9045d6c7b8711ae31e611bff09b367aa70b5d14710 languageName: node linkType: hard -"@aws-sdk/region-config-resolver@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/region-config-resolver@npm:3.649.0" +"@aws-sdk/region-config-resolver@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.4" + "@smithy/util-middleware": "npm:^3.0.6" tslib: "npm:^2.6.2" - checksum: 10c0/44cffd7f94f4816d882322fdcedaf6357f64a4c2e8e5acbd91c53b4430015374f072f5ad89b8a4d1182c1c97719cb6a6e92ffae4b01db2d481ce05036e6c05ef + checksum: 10c0/77daa7139977b991db77945a2b6fc5fc642ff780ee4dfa6269687a007730bd1af2e21a49bcd7f82ddd893d79fafccd5621d24324619588acca8fd66dd642946e languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.651.1": - version: 3.651.1 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.651.1" +"@aws-sdk/signature-v4-multi-region@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.654.0" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.651.1" - "@aws-sdk/types": "npm:3.649.0" - "@smithy/protocol-http": "npm:^4.1.1" - "@smithy/signature-v4": "npm:^4.1.1" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.654.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/signature-v4": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/4bd6dff552c6aaf8688aa54771133ba4b50f6f28eee6ab37cba82202a15c1d704eb2a6592d6e56705be1b6e8daf8378012cde8b67339df42ff4ec318b60a5ad1 + checksum: 10c0/cfb791ae464600e8a7fe6f292b0020ff406460a8e67bfe3c500b9219c2849e092acf12b5cbb73b2492d3e4b4898b09fa009e2561c4a4c8b2fd55a414baf3f8fb languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/token-providers@npm:3.649.0" +"@aws-sdk/token-providers@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/token-providers@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/property-provider": "npm:^3.1.4" - "@smithy/shared-ini-file-loader": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/property-provider": "npm:^3.1.6" + "@smithy/shared-ini-file-loader": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sso-oidc": ^3.649.0 - checksum: 10c0/8403d89d57688f663f981e57e91b4fbadfe31359cb84002fbb9c94d0a78004e8edc5e0b91f8b436e0a55ee132dffa586c980c262de6c916b4c8950c72b235107 + "@aws-sdk/client-sso-oidc": ^3.654.0 + checksum: 10c0/b49c7eb1e6cde2c0c8728c46a9a0f9f55a4b54c14afeccf90aff72b30c1a7320bc472c5dd35a32d61734ba6533b745065194ef4fe18f69241b4d1b96532224c2 languageName: node linkType: hard -"@aws-sdk/types@npm:3.649.0, @aws-sdk/types@npm:^3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/types@npm:3.649.0" +"@aws-sdk/types@npm:3.654.0, @aws-sdk/types@npm:^3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/types@npm:3.654.0" dependencies: - "@smithy/types": "npm:^3.4.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/1b98e2ba8bd621e905afb038113f5b8ed529e70054e412d6b7940c6a08c854f0d0bca5b4b14145acc8e9ff062b9bfd7ee61b8e11b3027b42daa816972d5e0e0e + checksum: 10c0/24c31b3685ada211a5a6ab35c95fdc6120189a8766fc02dafcf749febb895ee806a055c04c4a023146dc587bce3cf1053a23029285d6d3b3e8c197937d6a7843 languageName: node linkType: hard @@ -1156,27 +1156,27 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/util-endpoints@npm:3.649.0" +"@aws-sdk/util-endpoints@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/util-endpoints@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/types": "npm:^3.4.0" - "@smithy/util-endpoints": "npm:^2.1.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-endpoints": "npm:^2.1.2" tslib: "npm:^2.6.2" - checksum: 10c0/7616de7da014767d8188a43c0e2c4d3c095821ee47cb8795261f2e4d5edcc6c9040ea439f808f0dd55f3c43008ba6b707d9b94d80ca1d1a5f36a11ca51472596 + checksum: 10c0/12b06f3b9f46bb4a1c0a77baf4d5b295a835d46f5d8eacc7a148ce036013fb29109c458746457e88653a3d32db97fd655ec04e37abaa193c713d4d71e003f53c languageName: node linkType: hard -"@aws-sdk/util-format-url@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/util-format-url@npm:3.649.0" +"@aws-sdk/util-format-url@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/util-format-url@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/querystring-builder": "npm:^3.0.4" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/querystring-builder": "npm:^3.0.6" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/0c4be0e5a74b2a515fc363e40b1751f5ff4b494e047e27c3bee95fc60218880c1ab5162ae4f4554045c17ed6f97984a1c91782f4e7bee2c370b31a85c43215c6 + checksum: 10c0/a9f1df6a9828ef4519db99675d333c33f1c93b4da777707c5bee3ccdf5cf54ec8306c05f146c306e36acc5df6a17da03442c9d30bb672923b6f00bfec6d34f69 languageName: node linkType: hard @@ -1189,42 +1189,42 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.649.0" +"@aws-sdk/util-user-agent-browser@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/types": "npm:^3.4.2" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/a702b4b2d257ed5cb6d2bbaeeae418e59759b117b41a0d6bf71921a323ee697671d7ea22f2cd61e119060fec02906e232448314e0e4bf9bd88f1493de8a26486 + checksum: 10c0/b3d317ffad06e5d3167699f5afe89339d6d51d8ce882e3db142f6da4331b485f0fa641dc0e80c4fe695643918cfa6ad5892f0412e368819e796f3fae19f5a811 languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.649.0" +"@aws-sdk/util-user-agent-node@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.654.0" dependencies: - "@aws-sdk/types": "npm:3.649.0" - "@smithy/node-config-provider": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.0" + "@aws-sdk/types": "npm:3.654.0" + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: 10c0/34f0ed88d2f057fefd2a3fb5f12a96038f9a69cda1b7a02b1309c24cac3f975a35a3269d823a6ae972ade2d76024074c2ebb03e475abd6ab6cb949ff0f89ecab + checksum: 10c0/3744c81a91f994a56ac8990729ea1560b0f5778917ddf38dacb5d3f28604aa8d6c595351225107852a49e3f47e4e9b274caec97a32ba6c91b87e807294f9218b languageName: node linkType: hard -"@aws-sdk/xml-builder@npm:3.649.0": - version: 3.649.0 - resolution: "@aws-sdk/xml-builder@npm:3.649.0" +"@aws-sdk/xml-builder@npm:3.654.0": + version: 3.654.0 + resolution: "@aws-sdk/xml-builder@npm:3.654.0" dependencies: - "@smithy/types": "npm:^3.4.0" + "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/4cdc8971a3472b8ec33efce82f83d754556043c750dc46c83612caaa368f3c8db287443b250ac91d8773961533fe3d2799773de7b5bf0aedeec2579973850ab7 + checksum: 10c0/bf67401ce24aaf989646c80e251e26fab40e3b60aea2d3ea03759d0185a9d8565e7b54ea1fd5a62bf188934304e4e38e7814f3941589b2d3aaaa3384f7af358b languageName: node linkType: hard @@ -4206,7 +4206,7 @@ __metadata: languageName: node linkType: hard -"@smithy/abort-controller@npm:^3.1.2, @smithy/abort-controller@npm:^3.1.4": +"@smithy/abort-controller@npm:^3.1.4": version: 3.1.4 resolution: "@smithy/abort-controller@npm:3.1.4" dependencies: @@ -4235,7 +4235,7 @@ __metadata: languageName: node linkType: hard -"@smithy/config-resolver@npm:^3.0.6, @smithy/config-resolver@npm:^3.0.8": +"@smithy/config-resolver@npm:^3.0.8": version: 3.0.8 resolution: "@smithy/config-resolver@npm:3.0.8" dependencies: @@ -4248,25 +4248,25 @@ __metadata: languageName: node linkType: hard -"@smithy/core@npm:^2.4.1": - version: 2.4.3 - resolution: "@smithy/core@npm:2.4.3" +"@smithy/core@npm:^2.4.3": + version: 2.4.5 + resolution: "@smithy/core@npm:2.4.5" dependencies: "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" + "@smithy/middleware-retry": "npm:^3.0.20" "@smithy/middleware-serde": "npm:^3.0.6" "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/smithy-client": "npm:^3.3.4" "@smithy/types": "npm:^3.4.2" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-middleware": "npm:^3.0.6" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/f56f693032b805de1d0a9f4f1b25a5b5966514c994a5fd3a0a805ff94c86ebe35224d7ccc8594372090a6580305ba4e768642949f7e1a99c9280372fcad4004d + checksum: 10c0/5a5850f8d9e5189ba2f2e8a8604f90a83b47967fad62ca369c223a8612f0b86125d254bfc44df469ae1587e8aed864d7403dee2ae06708c522c4dd5085602579 languageName: node linkType: hard -"@smithy/credential-provider-imds@npm:^3.2.1, @smithy/credential-provider-imds@npm:^3.2.3": +"@smithy/credential-provider-imds@npm:^3.2.3": version: 3.2.3 resolution: "@smithy/credential-provider-imds@npm:3.2.3" dependencies: @@ -4291,7 +4291,7 @@ __metadata: languageName: node linkType: hard -"@smithy/eventstream-serde-browser@npm:^3.0.7": +"@smithy/eventstream-serde-browser@npm:^3.0.9": version: 3.0.9 resolution: "@smithy/eventstream-serde-browser@npm:3.0.9" dependencies: @@ -4302,7 +4302,7 @@ __metadata: languageName: node linkType: hard -"@smithy/eventstream-serde-config-resolver@npm:^3.0.4": +"@smithy/eventstream-serde-config-resolver@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.6" dependencies: @@ -4312,7 +4312,7 @@ __metadata: languageName: node linkType: hard -"@smithy/eventstream-serde-node@npm:^3.0.6": +"@smithy/eventstream-serde-node@npm:^3.0.8": version: 3.0.8 resolution: "@smithy/eventstream-serde-node@npm:3.0.8" dependencies: @@ -4334,7 +4334,7 @@ __metadata: languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^3.2.5, @smithy/fetch-http-handler@npm:^3.2.7": +"@smithy/fetch-http-handler@npm:^3.2.7": version: 3.2.7 resolution: "@smithy/fetch-http-handler@npm:3.2.7" dependencies: @@ -4347,7 +4347,20 @@ __metadata: languageName: node linkType: hard -"@smithy/hash-blob-browser@npm:^3.1.3": +"@smithy/fetch-http-handler@npm:^3.2.8": + version: 3.2.8 + resolution: "@smithy/fetch-http-handler@npm:3.2.8" + dependencies: + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/querystring-builder": "npm:^3.0.6" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-base64": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/3ae0cb10443f102b59a8b1dc40d7381777b8f3c0f57c5538f2594c77e30b9f67dbfb24a4ff9fd8abe2f8175e33dd0663e4ae1ab154a5dc3cb14cc294833c4ea0 + languageName: node + linkType: hard + +"@smithy/hash-blob-browser@npm:^3.1.5": version: 3.1.5 resolution: "@smithy/hash-blob-browser@npm:3.1.5" dependencies: @@ -4359,7 +4372,7 @@ __metadata: languageName: node linkType: hard -"@smithy/hash-node@npm:^3.0.4": +"@smithy/hash-node@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/hash-node@npm:3.0.6" dependencies: @@ -4371,7 +4384,7 @@ __metadata: languageName: node linkType: hard -"@smithy/hash-stream-node@npm:^3.1.3": +"@smithy/hash-stream-node@npm:^3.1.5": version: 3.1.5 resolution: "@smithy/hash-stream-node@npm:3.1.5" dependencies: @@ -4382,7 +4395,7 @@ __metadata: languageName: node linkType: hard -"@smithy/invalid-dependency@npm:^3.0.4": +"@smithy/invalid-dependency@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/invalid-dependency@npm:3.0.6" dependencies: @@ -4410,7 +4423,7 @@ __metadata: languageName: node linkType: hard -"@smithy/md5-js@npm:^3.0.4": +"@smithy/md5-js@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/md5-js@npm:3.0.6" dependencies: @@ -4421,7 +4434,7 @@ __metadata: languageName: node linkType: hard -"@smithy/middleware-content-length@npm:^3.0.6": +"@smithy/middleware-content-length@npm:^3.0.8": version: 3.0.8 resolution: "@smithy/middleware-content-length@npm:3.0.8" dependencies: @@ -4432,7 +4445,7 @@ __metadata: languageName: node linkType: hard -"@smithy/middleware-endpoint@npm:^3.1.1, @smithy/middleware-endpoint@npm:^3.1.3": +"@smithy/middleware-endpoint@npm:^3.1.3": version: 3.1.3 resolution: "@smithy/middleware-endpoint@npm:3.1.3" dependencies: @@ -4447,7 +4460,7 @@ __metadata: languageName: node linkType: hard -"@smithy/middleware-retry@npm:^3.0.16, @smithy/middleware-retry@npm:^3.0.18": +"@smithy/middleware-retry@npm:^3.0.18": version: 3.0.18 resolution: "@smithy/middleware-retry@npm:3.0.18" dependencies: @@ -4464,7 +4477,24 @@ __metadata: languageName: node linkType: hard -"@smithy/middleware-serde@npm:^3.0.4, @smithy/middleware-serde@npm:^3.0.6": +"@smithy/middleware-retry@npm:^3.0.20": + version: 3.0.20 + resolution: "@smithy/middleware-retry@npm:3.0.20" + dependencies: + "@smithy/node-config-provider": "npm:^3.1.7" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/service-error-classification": "npm:^3.0.6" + "@smithy/smithy-client": "npm:^3.3.4" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-retry": "npm:^3.0.6" + tslib: "npm:^2.6.2" + uuid: "npm:^9.0.1" + checksum: 10c0/e0799a81a706f8d4d833230dee48fcc8ead2c9a1a743c47b6f8263d2a25253a2c5a3319449647ebbce42b6dce0508807ae8bc9d195ff50425961ea65528ac41e + languageName: node + linkType: hard + +"@smithy/middleware-serde@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/middleware-serde@npm:3.0.6" dependencies: @@ -4474,7 +4504,7 @@ __metadata: languageName: node linkType: hard -"@smithy/middleware-stack@npm:^3.0.4, @smithy/middleware-stack@npm:^3.0.6": +"@smithy/middleware-stack@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/middleware-stack@npm:3.0.6" dependencies: @@ -4484,7 +4514,7 @@ __metadata: languageName: node linkType: hard -"@smithy/node-config-provider@npm:^3.1.5, @smithy/node-config-provider@npm:^3.1.7": +"@smithy/node-config-provider@npm:^3.1.7": version: 3.1.7 resolution: "@smithy/node-config-provider@npm:3.1.7" dependencies: @@ -4496,7 +4526,7 @@ __metadata: languageName: node linkType: hard -"@smithy/node-http-handler@npm:^3.2.0, @smithy/node-http-handler@npm:^3.2.2": +"@smithy/node-http-handler@npm:^3.2.2": version: 3.2.2 resolution: "@smithy/node-http-handler@npm:3.2.2" dependencies: @@ -4509,7 +4539,20 @@ __metadata: languageName: node linkType: hard -"@smithy/property-provider@npm:^3.1.4, @smithy/property-provider@npm:^3.1.6": +"@smithy/node-http-handler@npm:^3.2.3": + version: 3.2.3 + resolution: "@smithy/node-http-handler@npm:3.2.3" + dependencies: + "@smithy/abort-controller": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/querystring-builder": "npm:^3.0.6" + "@smithy/types": "npm:^3.4.2" + tslib: "npm:^2.6.2" + checksum: 10c0/fb3d4f92fafd8c96d0f40a2850c3b714b997f280f715bedd14f0f40b58d9f743edcec3912dc812c4a5be682f929dd11a725d2cbe54c31a9a760ca681436e9587 + languageName: node + linkType: hard + +"@smithy/property-provider@npm:^3.1.6": version: 3.1.6 resolution: "@smithy/property-provider@npm:3.1.6" dependencies: @@ -4519,7 +4562,7 @@ __metadata: languageName: node linkType: hard -"@smithy/protocol-http@npm:^4.1.1, @smithy/protocol-http@npm:^4.1.3": +"@smithy/protocol-http@npm:^4.1.3": version: 4.1.3 resolution: "@smithy/protocol-http@npm:4.1.3" dependencies: @@ -4529,7 +4572,7 @@ __metadata: languageName: node linkType: hard -"@smithy/querystring-builder@npm:^3.0.4, @smithy/querystring-builder@npm:^3.0.6": +"@smithy/querystring-builder@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/querystring-builder@npm:3.0.6" dependencies: @@ -4568,7 +4611,7 @@ __metadata: languageName: node linkType: hard -"@smithy/shared-ini-file-loader@npm:^3.1.5, @smithy/shared-ini-file-loader@npm:^3.1.7": +"@smithy/shared-ini-file-loader@npm:^3.1.7": version: 3.1.7 resolution: "@smithy/shared-ini-file-loader@npm:3.1.7" dependencies: @@ -4578,9 +4621,9 @@ __metadata: languageName: node linkType: hard -"@smithy/signature-v4@npm:^4.1.1": - version: 4.1.3 - resolution: "@smithy/signature-v4@npm:4.1.3" +"@smithy/signature-v4@npm:^4.1.3": + version: 4.1.4 + resolution: "@smithy/signature-v4@npm:4.1.4" dependencies: "@smithy/is-array-buffer": "npm:^3.0.0" "@smithy/protocol-http": "npm:^4.1.3" @@ -4590,11 +4633,11 @@ __metadata: "@smithy/util-uri-escape": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/b398c603d2f350575927545743b06674d8f57de1b2dc36da7be9fae3983d40ef40dd7e9e8a5974365277d303adca27b3cbf0e39fd473c2a8d7b49ddfbc252345 + checksum: 10c0/b3fcd15d6d0703d8b88a5b248d4c8a71406994f03ca3baabbb45060e53763331883a390ae65e5b0fae3c79858c5e833daf51209f5acdde2c254d5e67e1a8235c languageName: node linkType: hard -"@smithy/smithy-client@npm:^3.3.0, @smithy/smithy-client@npm:^3.3.2": +"@smithy/smithy-client@npm:^3.3.2": version: 3.3.2 resolution: "@smithy/smithy-client@npm:3.3.2" dependencies: @@ -4608,6 +4651,20 @@ __metadata: languageName: node linkType: hard +"@smithy/smithy-client@npm:^3.3.4": + version: 3.3.4 + resolution: "@smithy/smithy-client@npm:3.3.4" + dependencies: + "@smithy/middleware-endpoint": "npm:^3.1.3" + "@smithy/middleware-stack": "npm:^3.0.6" + "@smithy/protocol-http": "npm:^4.1.3" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-stream": "npm:^3.1.8" + tslib: "npm:^2.6.2" + checksum: 10c0/790e5935f360154f7c940991ca90c74581438d8d92bc0eadcd0309782d4e472e3c26fd88b9f7d41a8ec467fe8ce063c1e32cd7c6b8de29ac4b35aa14ca2abd5f + languageName: node + linkType: hard + "@smithy/types@npm:^2.12.0": version: 2.12.0 resolution: "@smithy/types@npm:2.12.0" @@ -4626,7 +4683,7 @@ __metadata: languageName: node linkType: hard -"@smithy/types@npm:^3.4.0, @smithy/types@npm:^3.4.2": +"@smithy/types@npm:^3.4.2": version: 3.4.2 resolution: "@smithy/types@npm:3.4.2" dependencies: @@ -4635,7 +4692,7 @@ __metadata: languageName: node linkType: hard -"@smithy/url-parser@npm:^3.0.4, @smithy/url-parser@npm:^3.0.6": +"@smithy/url-parser@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/url-parser@npm:3.0.6" dependencies: @@ -4704,35 +4761,35 @@ __metadata: languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^3.0.16": - version: 3.0.18 - resolution: "@smithy/util-defaults-mode-browser@npm:3.0.18" +"@smithy/util-defaults-mode-browser@npm:^3.0.18": + version: 3.0.20 + resolution: "@smithy/util-defaults-mode-browser@npm:3.0.20" dependencies: "@smithy/property-provider": "npm:^3.1.6" - "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/smithy-client": "npm:^3.3.4" "@smithy/types": "npm:^3.4.2" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/e4116b70525ece3bbf0bd1953e2af8650453439122af875e5ca650f2513188172abb4dcbcb18d1885e5b3d192e530fda9853f3ca8cd6900d2487cbe24934b3ac + checksum: 10c0/029fa13499bd92779d6885643d594063ee9bbbc1477c7d3a6f1ebc18b5b1404933fb5e15fd7f96aaf4d8f0fb6d5ec6ae76a6d25d0f1af43c7155be2a2764b275 languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^3.0.16": - version: 3.0.18 - resolution: "@smithy/util-defaults-mode-node@npm:3.0.18" +"@smithy/util-defaults-mode-node@npm:^3.0.18": + version: 3.0.20 + resolution: "@smithy/util-defaults-mode-node@npm:3.0.20" dependencies: "@smithy/config-resolver": "npm:^3.0.8" "@smithy/credential-provider-imds": "npm:^3.2.3" "@smithy/node-config-provider": "npm:^3.1.7" "@smithy/property-provider": "npm:^3.1.6" - "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/smithy-client": "npm:^3.3.4" "@smithy/types": "npm:^3.4.2" tslib: "npm:^2.6.2" - checksum: 10c0/1ff9ed5d369e4d21e66754ba67a3dcfe78040f373c980ff4a45b93407dc6bbbab6a3986a34129a0d922a93d455cb7ee802afb963657004e3929eda7d309b886d + checksum: 10c0/6cadb9666eb84ca521bf0924e8434bfa453f72bd3a3c732b21d83aeeb8300226251ab7d2c703d7e7c40e60b8e2d28b674b1790566b2cca743932fbd8ba43ad42 languageName: node linkType: hard -"@smithy/util-endpoints@npm:^2.1.0": +"@smithy/util-endpoints@npm:^2.1.2": version: 2.1.2 resolution: "@smithy/util-endpoints@npm:2.1.2" dependencies: @@ -4752,7 +4809,7 @@ __metadata: languageName: node linkType: hard -"@smithy/util-middleware@npm:^3.0.4, @smithy/util-middleware@npm:^3.0.6": +"@smithy/util-middleware@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/util-middleware@npm:3.0.6" dependencies: @@ -4762,7 +4819,7 @@ __metadata: languageName: node linkType: hard -"@smithy/util-retry@npm:^3.0.4, @smithy/util-retry@npm:^3.0.6": +"@smithy/util-retry@npm:^3.0.6": version: 3.0.6 resolution: "@smithy/util-retry@npm:3.0.6" dependencies: @@ -4773,7 +4830,7 @@ __metadata: languageName: node linkType: hard -"@smithy/util-stream@npm:^3.1.4, @smithy/util-stream@npm:^3.1.6": +"@smithy/util-stream@npm:^3.1.6": version: 3.1.6 resolution: "@smithy/util-stream@npm:3.1.6" dependencies: @@ -4789,6 +4846,22 @@ __metadata: languageName: node linkType: hard +"@smithy/util-stream@npm:^3.1.8": + version: 3.1.8 + resolution: "@smithy/util-stream@npm:3.1.8" + dependencies: + "@smithy/fetch-http-handler": "npm:^3.2.8" + "@smithy/node-http-handler": "npm:^3.2.3" + "@smithy/types": "npm:^3.4.2" + "@smithy/util-base64": "npm:^3.0.0" + "@smithy/util-buffer-from": "npm:^3.0.0" + "@smithy/util-hex-encoding": "npm:^3.0.0" + "@smithy/util-utf8": "npm:^3.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/79cc9c4f8aef8d16c3c8880a49bb8f0d23dee4242cd45d73183633c0c347657f04c177eb836e9775586283ace177af24f57cba73fc931992cc54b92f93840c6b + languageName: node + linkType: hard + "@smithy/util-uri-escape@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/util-uri-escape@npm:3.0.0" @@ -4818,7 +4891,7 @@ __metadata: languageName: node linkType: hard -"@smithy/util-waiter@npm:^3.1.3": +"@smithy/util-waiter@npm:^3.1.5": version: 3.1.5 resolution: "@smithy/util-waiter@npm:3.1.5" dependencies: From 444197611f8cdf182b4091a92e0323f2d1c6e1b0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 07:51:08 +0200 Subject: [PATCH 84/90] chore(deps): bump actions/checkout from 4.1.7 to 4.2.0 (#4158) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
    Release notes

    Sourced from actions/checkout's releases.

    v4.2.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v4.1.7...v4.2.0

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    v4.2.0

    v4.1.7

    v4.1.6

    v4.1.5

    v4.1.4

    v4.1.3

    v4.1.2

    v4.1.1

    v4.1.0

    v4.0.0

    v3.6.0

    ... (truncated)

    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=4.1.7&new-version=4.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/lambda.yml | 2 +- .github/workflows/packer-build.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/semantic-check.yml | 2 +- .github/workflows/terraform.yml | 6 +++--- .github/workflows/update-docs.yml | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/lambda.yml b/.github/workflows/lambda.yml index 251d458ef5..a78ec9a2be 100644 --- a/.github/workflows/lambda.yml +++ b/.github/workflows/lambda.yml @@ -19,7 +19,7 @@ jobs: working-directory: ./lambdas steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: Install dependencies run: yarn install --frozen-lockfile - name: Run prettier diff --git a/.github/workflows/packer-build.yml b/.github/workflows/packer-build.yml index 75fedabbb2..a5e6ea6b32 100644 --- a/.github/workflows/packer-build.yml +++ b/.github/workflows/packer-build.yml @@ -25,7 +25,7 @@ jobs: working-directory: images/${{ matrix.image }} steps: - name: "Checkout" - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: packer init run: packer init . - name: check packer formatting diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f193003e32..b5871dc1f0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: node-version: 20 - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: Build dist working-directory: lambdas run: yarn install --frozen-lockfile && yarn run test && yarn dist diff --git a/.github/workflows/semantic-check.yml b/.github/workflows/semantic-check.yml index dc8adca458..6481680cb3 100644 --- a/.github/workflows/semantic-check.yml +++ b/.github/workflows/semantic-check.yml @@ -13,7 +13,7 @@ jobs: name: Semantic Commit Message Check runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5.5.3 name: Check PR for Semantic Commit Message env: diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml index dfc9587153..29f7b0ccb8 100644 --- a/.github/workflows/terraform.yml +++ b/.github/workflows/terraform.yml @@ -23,7 +23,7 @@ jobs: image: hashicorp/terraform:${{ matrix.terraform }} steps: - name: "Checkout" - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: "Fake zip files" # Validate will fail if it cannot find the zip files run: | touch lambdas/functions/webhook/webhook.zip @@ -89,7 +89,7 @@ jobs: container: image: hashicorp/terraform:${{ matrix.terraform }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: terraform init run: terraform init -get -backend=false -input=false - if: contains(matrix.terraform, '1.3.') @@ -147,7 +147,7 @@ jobs: container: image: hashicorp/terraform:${{ matrix.terraform }} steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: terraform init run: terraform init -get -backend=false -input=false - if: contains(matrix.terraform, '1.5.') diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index 3658256768..12323d40a4 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout with GITHUB Action token - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 with: token: ${{ secrets.GITHUB_TOKEN }} @@ -56,7 +56,7 @@ jobs: needs: [docs] runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - name: Configure Git Credentials run: | git config user.name github-actions[bot] From 82a19c1fcec4c5ddc21bc03dda565ba57fa60388 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 07:51:33 +0200 Subject: [PATCH 85/90] fix(lambda): bump axios from 1.7.5 to 1.7.7 in /lambdas (#4155) Bumps [axios](https://github.com/axios/axios) from 1.7.5 to 1.7.7.
    Release notes

    Sourced from axios's releases.

    Release v1.7.7

    Release notes:

    Bug Fixes

    • fetch: fix stream handling in Safari by fallback to using a stream reader instead of an async iterator; (#6584) (d198085)
    • http: fixed support for IPv6 literal strings in url (#5731) (364993f)

    Contributors to this release

    Release v1.7.6

    Release notes:

    Bug Fixes

    • fetch: fix content length calculation for FormData payload; (#6524) (085f568)
    • fetch: optimize signals composing logic; (#6582) (df9889b)

    Contributors to this release

    Changelog

    Sourced from axios's changelog.

    1.7.7 (2024-08-31)

    Bug Fixes

    • fetch: fix stream handling in Safari by fallback to using a stream reader instead of an async iterator; (#6584) (d198085)
    • http: fixed support for IPv6 literal strings in url (#5731) (364993f)

    Contributors to this release

    1.7.6 (2024-08-30)

    Bug Fixes

    • fetch: fix content length calculation for FormData payload; (#6524) (085f568)
    • fetch: optimize signals composing logic; (#6582) (df9889b)

    Contributors to this release

    Commits
    • 5b8a826 chore(release): v1.7.7 (#6585)
    • 364993f fix(http): fixed support for IPv6 literal strings in url (#5731)
    • d198085 fix(fetch): fix stream handling in Safari by fallback to using a stream reade...
    • d584fcf chore(release): v1.7.6 (#6583)
    • bc03c6c chore(examples): fix module import (#6575)
    • df9889b fix(fetch): optimize signals composing logic; (#6582)
    • ee208cf chore(sponsor): update sponsor block (#6576)
    • 085f568 fix(fetch): fix content length calculation for FormData payload; (#6524)
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=axios&package-manager=npm_and_yarn&previous-version=1.7.5&new-version=1.7.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/gh-agent-syncer/package.json | 2 +- lambdas/yarn.lock | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 08c5094fa0..020a8d2049 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -42,7 +42,7 @@ "@aws-sdk/types": "^3.654.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", - "axios": "^1.7.5" + "axios": "^1.7.7" }, "nx": { "includedScripts": [ diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 8119869bc3..d3d116ff82 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -250,7 +250,7 @@ __metadata: "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" - axios: "npm:^1.7.5" + axios: "npm:^1.7.7" eslint: "npm:^8.57.0" eslint-plugin-prettier: "npm:5.2.1" jest: "npm:^29.7.0" @@ -5891,7 +5891,7 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.7.2, axios@npm:^1.7.4, axios@npm:^1.7.5": +"axios@npm:^1.7.2, axios@npm:^1.7.4": version: 1.7.5 resolution: "axios@npm:1.7.5" dependencies: @@ -5902,6 +5902,17 @@ __metadata: languageName: node linkType: hard +"axios@npm:^1.7.7": + version: 1.7.7 + resolution: "axios@npm:1.7.7" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/4499efc89e86b0b49ffddc018798de05fab26e3bf57913818266be73279a6418c3ce8f9e934c7d2d707ab8c095e837fc6c90608fb7715b94d357720b5f568af7 + languageName: node + linkType: hard + "babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" From 825b465daeae53cc319d49b749d994c19057f5a1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 07:51:57 +0200 Subject: [PATCH 86/90] fix(lambda): bump @octokit/types from 13.5.0 to 13.6.0 in /lambdas in the octokit group (#4154) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the octokit group in /lambdas with 1 update: [@octokit/types](https://github.com/octokit/types.ts). Updates `@octokit/types` from 13.5.0 to 13.6.0
    Release notes

    Sourced from @​octokit/types's releases.

    v13.6.0

    13.6.0 (2024-09-27)

    Features

    • add better types for request.request.signal (#649) (78173c7)

    v13.5.1

    13.5.1 (2024-09-24)

    Bug Fixes

    • deps: update dependency @​octokit/tsconfig to v4 (#610) (b01e2fb)
    Commits
    • 78173c7 feat: add better types for request.request.signal (#649)
    • b01e2fb fix(deps): update dependency @​octokit/tsconfig to v4 (#610)
    • c8bb699 build(deps-dev): bump dset from 3.1.3 to 3.1.4 (#648)
    • e52f6e9 chore(deps): update dependency json-schema-to-typescript to v15 (#647)
    • aca1e8b chore(deps): update dependency typedoc to ^0.26.0
    • 9370d29 ci(action): update actions/add-to-project action to v1.0.2 (#646)
    • f92bd84 build(deps-dev): bump braces from 3.0.2 to 3.0.3
    • 3de1385 ci(action): update actions/checkout digest to 692973e (#643)
    • b21cc04 🚧 Workflows have changed (#642)
    • 20bdca2 chore(deps): update dependency semantic-release to v24 (#641)
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@octokit/types&package-manager=npm_and_yarn&previous-version=13.5.0&new-version=13.6.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- lambdas/functions/control-plane/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/yarn.lock | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index ae5d95b975..b785d57096 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -49,7 +49,7 @@ "@octokit/core": "5.2.0", "@octokit/plugin-throttling": "8.2.0", "@octokit/rest": "20.1.1", - "@octokit/types": "^13.5.0", + "@octokit/types": "^13.6.0", "cron-parser": "^4.9.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index ef64eb3378..1af6e92082 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -42,7 +42,7 @@ "@aws-sdk/client-sqs": "^3.654.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", - "@octokit/types": "^13.5.0", + "@octokit/types": "^13.6.0", "@octokit/webhooks": "^12.2.0", "aws-lambda": "^1.0.7" }, diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index d3d116ff82..c9a5d9221a 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -204,7 +204,7 @@ __metadata: "@octokit/core": "npm:5.2.0" "@octokit/plugin-throttling": "npm:8.2.0" "@octokit/rest": "npm:20.1.1" - "@octokit/types": "npm:^13.5.0" + "@octokit/types": "npm:^13.6.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" @@ -302,7 +302,7 @@ __metadata: "@aws-sdk/client-sqs": "npm:^3.654.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" - "@octokit/types": "npm:^13.5.0" + "@octokit/types": "npm:^13.6.0" "@octokit/webhooks": "npm:^12.2.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" From aa64b4ff828a67fb83535f727fce97f8715b7dee Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 2 Oct 2024 18:52:59 +1300 Subject: [PATCH 87/90] chore: Update typos/grammar in index.md (#4151) Fix various typo's and tidy some small grammatical errors in the index.md documentation. Areas changed - Overview - Control plane - Job Retry - Security - Recommendations --------- Co-authored-by: Stuart Pearson <1926002+stuartp44@users.noreply.github.com> --- docs/index.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/index.md b/docs/index.md index a9422ace56..959b2465f3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,7 +15,7 @@ A pertinent question may arise: why not opt for Kubernetes? The current strategy ## Overview -The module is designed to be used in a GitHub organization. It can also be used in a GitHub repository, but this not supports all features. The module is receiving GitHub webhook events for the `workflow_job` event. The module will create a new runner if the event is for a workflow that requires a runner, and no runner is available. Alteratively the module can be configured as ephemeral runners. In this case the module will create a new runner for each workflow job event. +The module is designed to be used in a GitHub organization. It can also be used in a GitHub repository, but this does not supports all features. The module is receiving GitHub webhook events for the `workflow_job` event. The module will create a new runner if the event is for a workflow that requires a runner, and no runner is available. Alternatively the module can be configured as ephemeral runners. In this case the module will create a new runner for each workflow job event. For ephemeral runners a pool is can be configured. The pool maintains a minimum number of runners based on a schedule. The pool works only for org level runners. @@ -46,7 +46,7 @@ The "Scale Up Runner" Lambda actively monitors the SQS queue, processing incomin The Lambda first requests a JIT configuration or registration token from GitHub, which is needed later by the runner to register itself. This avoids the case that the EC2 instance, which later in the process will install the agent, needs administration permissions to register the runner. Next, the EC2 spot instance is created via the launch template. The launch template defines the specifications of the required instance and contains a [`user_data`](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) script. This script will install the required software and configure it. The configuration for the runner is shared via EC2 tags and the parameter store (SSM), from which the user data script will fetch it and delete it once it has been retrieved. Once the user data script is finished, the action runner should be online, and the workflow will start in seconds. -The current method for scaling down runners employs a straightforward approach: at predefined intervals, the Lambda conducts a thorough examination of each runner (instance) to assess its activity. If a runner is found to be idle, it is deregistered from GitHub, and the associated AWS instance is terminated. For ephemeral runners the the instance is terminated immediately after the workflow is finished. Instances not registered in GitHub as a runner after a minimal boot time will be marked orphan and removed in a next cycle. To avoid orphaned runners the scale down lambda is active in this cae as well. +The current method for scaling down runners employs a straightforward approach: at predefined intervals, the Lambda conducts a thorough examination of each runner (instance) to assess its activity. If a runner is found to be idle, it is deregistered from GitHub, and the associated AWS instance is terminated. For ephemeral runners the instance is terminated immediately after the workflow is finished. Instances not registered in GitHub as a runner after a minimal boot time will be marked orphan and removed in a next cycle. To avoid orphaned runners the scale down lambda is active in this case as well. ### Pool @@ -79,18 +79,19 @@ The Instance Termination Watcher is creating log and optional metrics for termin This feature is Beta, changes will not trigger a major release as long in beta. -The Job Retry will allow you to retry scaling when a job is not started. When enabled the scale up lambda will send a retry message to the a SQS queue. The job retry lambda will check after a delay if the job is still queued. And if so it will send a retry command de the scale up lambda via SQS. The feature is designed to be used with ephemeral runners. The feature is opt in, it will not be created by default. +The Job Retry will allow you to retry scaling when a job is not started. When enabled the scale up lambda will send a retry message to the a SQS queue. The Job Retry lambda will check after a delay if the job is still queued, and if so, it will send a retry command to the scale up lambda via SQS. The feature is designed to be used with ephemeral runners. The feature is opt in, it will not be created by default. Consequences of enabling the feature are: + - Increase of calls to the GitHub API, could cause reaching the rate limit. -- Could create new instance when job are not started caused by other failures, resulting in more costs and useless instance creation. +- Could create new instance when jobs are not started caused by other failures, resulting in more costs and useless instance creation. ### Security -Sensitive information such as secrets and private keys is stored securely in the SSM Parameter Store. These values undergo encryption using either the default KMS key for SSM or a custom KMS key, depending on the specified configuration. +Sensitive information such as secrets and private keys are stored securely in the SSM Parameter Store. These values undergo encryption using either the default KMS key for SSM or a custom KMS key, depending on the specified configuration. -Permission are managed in several places. Below are the most important ones. For details check the Terraform sources. +Permissions are managed in several places. Below are the most important ones. For details check the Terraform sources. - The GitHub App requires access to actions and to publish `workflow_job` events to the AWS webhook (API gateway). - The scale up lambda should have access to EC2 for creating and tagging instances. @@ -112,5 +113,5 @@ Both modules are built on top of the same base modules. When using the multi-run The module contains a lot of configuration options. The default values are a good starting point. But you may want to tweak some of the values. Below are some recommendations. We suggest the following configuration for the runners: - Use the multi-runner module to create multiple runners in one go. -- Use the ephemeral runners for org level runners. To improve the security of your runners. +- Use the ephemeral runners for org level runners to improve the security of your runners. - Use pre-built AMIs to speed up the startup of your runners. From fd2d0c6b20bcf933905226dacfde1c878f07fe46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 07:54:01 +0200 Subject: [PATCH 88/90] chore(deps): bump terraform-docs/gh-actions from 1.2.2 to 1.3.0 (#4143) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [terraform-docs/gh-actions](https://github.com/terraform-docs/gh-actions) from 1.2.2 to 1.3.0.
    Release notes

    Sourced from terraform-docs/gh-actions's releases.

    v1.3.0

    What’s Changed

    Commits
    • aeae003 chore: prepare release v1.3.0
    • 6c98900 ci: enable sign-off for auto commits
    • 752705d chore: bump terraform-docs to v0.19.0
    • ceebb78 chore: update README
    • 4b070bd Update Action name and description
    • fdf26f4 Merge pull request #142 from terraform-docs/add-release-info
    • d8af945 Add section about creating a release to CONTRIBUTING.md
    • f9a3358 fix: update-tag job
    • See full diff in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=terraform-docs/gh-actions&package-manager=github_actions&previous-version=1.2.2&new-version=1.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: philips-labs-pr|bot --- .github/workflows/update-docs.yml | 4 +-- README.md | 46 ++++++++++++------------ examples/arm64/README.md | 2 +- examples/default/README.md | 2 +- examples/ephemeral/README.md | 2 +- examples/multi-runner/README.md | 2 +- examples/permissions-boundary/README.md | 2 +- examples/prebuilt/README.md | 2 +- examples/ubuntu/README.md | 2 +- examples/windows/README.md | 2 +- modules/ami-housekeeper/README.md | 6 ++-- modules/download-lambda/README.md | 2 +- modules/lambda/README.md | 2 +- modules/multi-runner/README.md | 28 +++++++-------- modules/runner-binaries-syncer/README.md | 6 ++-- modules/runners/README.md | 34 +++++++++--------- modules/runners/job-retry/README.md | 2 +- modules/runners/pool/README.md | 4 +-- modules/setup-iam-permissions/README.md | 2 +- modules/ssm/README.md | 2 +- modules/termination-watcher/README.md | 2 +- modules/webhook-github-app/README.md | 2 +- modules/webhook/README.md | 12 +++---- 23 files changed, 85 insertions(+), 85 deletions(-) diff --git a/.github/workflows/update-docs.yml b/.github/workflows/update-docs.yml index 12323d40a4..ac82d02131 100644 --- a/.github/workflows/update-docs.yml +++ b/.github/workflows/update-docs.yml @@ -23,7 +23,7 @@ jobs: # use an app to ensure CI is triggered - name: Generate TF docs if: github.repository_owner == 'philips-labs' - uses: terraform-docs/gh-actions@cca78c27ac9e2b6545debf2ecae9df930fd3461c # v1.2.2 + uses: terraform-docs/gh-actions@aeae0038ed47a547e0c0fca5c059d3335f48fb25 # v1.3.0 with: find-dir: . git-commit-message: "docs: auto update terraform docs" @@ -33,7 +33,7 @@ jobs: - name: Generate TF docs (forks) if: github.repository_owner != 'philips-labs' - uses: terraform-docs/gh-actions@cca78c27ac9e2b6545debf2ecae9df930fd3461c # v1.2.2 + uses: terraform-docs/gh-actions@aeae0038ed47a547e0c0fca5c059d3335f48fb25 # v1.3.0 with: find-dir: . git-commit-message: "docs: auto update terraform docs" diff --git a/README.md b/README.md index 8432bf9fe7..41613859e7 100644 --- a/README.md +++ b/README.md @@ -121,8 +121,8 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [ami\_filter](#input\_ami\_filter) | Map of lists used to create the AMI filter for the action runner AMI. | `map(list(string))` |
    {
    "state": [
    "available"
    ]
    }
    | no | -| [ami\_housekeeper\_cleanup\_config](#input\_ami\_housekeeper\_cleanup\_config) | Configuration for AMI cleanup.

    `amiFilters` - Filters to use when searching for AMIs to cleanup. Default filter for images owned by the account and that are available.
    `dryRun` - If true, no AMIs will be deregistered. Default false.
    `launchTemplateNames` - Launch template names to use when searching for AMIs to cleanup. Default no launch templates.
    `maxItems` - The maximum numer of AMI's tha will be queried for cleanup. Default no maximum.
    `minimumDaysOld` - Minimum number of days old an AMI must be to be considered for cleanup. Default 30.
    `ssmParameterNames` - SSM parameter names to use when searching for AMIs to cleanup. This parameter should be set when using SSM to configure the AMI to use. Default no SSM parameters. |
    object({
    amiFilters = optional(list(object({
    Name = string
    Values = list(string)
    })),
    [{
    Name : "state",
    Values : ["available"],
    },
    {
    Name : "image-type",
    Values : ["machine"],
    }]
    )
    dryRun = optional(bool, false)
    launchTemplateNames = optional(list(string))
    maxItems = optional(number)
    minimumDaysOld = optional(number, 30)
    ssmParameterNames = optional(list(string))
    })
    | `{}` | no | +| [ami\_filter](#input\_ami\_filter) | Map of lists used to create the AMI filter for the action runner AMI. | `map(list(string))` |
    {
    "state": [
    "available"
    ]
    }
    | no | +| [ami\_housekeeper\_cleanup\_config](#input\_ami\_housekeeper\_cleanup\_config) | Configuration for AMI cleanup.

    `amiFilters` - Filters to use when searching for AMIs to cleanup. Default filter for images owned by the account and that are available.
    `dryRun` - If true, no AMIs will be deregistered. Default false.
    `launchTemplateNames` - Launch template names to use when searching for AMIs to cleanup. Default no launch templates.
    `maxItems` - The maximum numer of AMI's tha will be queried for cleanup. Default no maximum.
    `minimumDaysOld` - Minimum number of days old an AMI must be to be considered for cleanup. Default 30.
    `ssmParameterNames` - SSM parameter names to use when searching for AMIs to cleanup. This parameter should be set when using SSM to configure the AMI to use. Default no SSM parameters. |
    object({
    amiFilters = optional(list(object({
    Name = string
    Values = list(string)
    })),
    [{
    Name : "state",
    Values : ["available"],
    },
    {
    Name : "image-type",
    Values : ["machine"],
    }]
    )
    dryRun = optional(bool, false)
    launchTemplateNames = optional(list(string))
    maxItems = optional(number)
    minimumDaysOld = optional(number, 30)
    ssmParameterNames = optional(list(string))
    })
    | `{}` | no | | [ami\_housekeeper\_lambda\_s3\_key](#input\_ami\_housekeeper\_lambda\_s3\_key) | S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [ami\_housekeeper\_lambda\_s3\_object\_version](#input\_ami\_housekeeper\_lambda\_s3\_object\_version) | S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [ami\_housekeeper\_lambda\_schedule\_expression](#input\_ami\_housekeeper\_lambda\_schedule\_expression) | Scheduler expression for action runner binary syncer. | `string` | `"rate(1 day)"` | no | @@ -130,11 +130,11 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [ami\_housekeeper\_lambda\_zip](#input\_ami\_housekeeper\_lambda\_zip) | File location of the lambda zip file. | `string` | `null` | no | | [ami\_id\_ssm\_parameter\_name](#input\_ami\_id\_ssm\_parameter\_name) | Externally managed SSM parameter (of data type aws:ec2:image) that contains the AMI ID to launch runner instances from. Overrides ami\_filter | `string` | `null` | no | | [ami\_kms\_key\_arn](#input\_ami\_kms\_key\_arn) | Optional CMK Key ARN to be used to launch an instance from a shared encrypted AMI | `string` | `null` | no | -| [ami\_owners](#input\_ami\_owners) | The list of owners used to select the AMI of action runner instances. | `list(string)` |
    [
    "amazon"
    ]
    | no | +| [ami\_owners](#input\_ami\_owners) | The list of owners used to select the AMI of action runner instances. | `list(string)` |
    [
    "amazon"
    ]
    | no | | [associate\_public\_ipv4\_address](#input\_associate\_public\_ipv4\_address) | Associate public IPv4 with the runner. Only tested with IPv4 | `bool` | `false` | no | | [aws\_partition](#input\_aws\_partition) | (optiona) partition in the arn namespace to use if not 'aws' | `string` | `"aws"` | no | | [aws\_region](#input\_aws\_region) | AWS region. | `string` | n/a | yes | -| [block\_device\_mappings](#input\_block\_device\_mappings) | The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`. |
    list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    }))
    |
    [
    {
    "volume_size": 30
    }
    ]
    | no | +| [block\_device\_mappings](#input\_block\_device\_mappings) | The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`. |
    list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    }))
    |
    [
    {
    "volume_size": 30
    }
    ]
    | no | | [cloudwatch\_config](#input\_cloudwatch\_config) | (optional) Replaces the module's default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details. | `string` | `null` | no | | [create\_service\_linked\_role\_spot](#input\_create\_service\_linked\_role\_spot) | (optional) create the service linked role for spot instances that is required by the scale-up lambda. | `bool` | `false` | no | | [delay\_webhook\_event](#input\_delay\_webhook\_event) | The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event. | `number` | `30` | no | @@ -159,20 +159,20 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [enable\_workflow\_job\_events\_queue](#input\_enable\_workflow\_job\_events\_queue) | Enabling this experimental feature will create a secondory sqs queue to which a copy of the workflow\_job event will be delivered. | `bool` | `false` | no | | [ghes\_ssl\_verify](#input\_ghes\_ssl\_verify) | GitHub Enterprise SSL verification. Set to 'false' when custom certificate (chains) is used for GitHub Enterprise Server (insecure). | `bool` | `true` | no | | [ghes\_url](#input\_ghes\_url) | GitHub Enterprise Server URL. Example: https://github.internal.co - DO NOT SET IF USING PUBLIC GITHUB | `string` | `null` | no | -| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | -| [idle\_config](#input\_idle\_config) | List of time periods, defined as a cron expression, to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle. |
    list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    }))
    | `[]` | no | +| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | +| [idle\_config](#input\_idle\_config) | List of time periods, defined as a cron expression, to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle. |
    list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    }))
    | `[]` | no | | [instance\_allocation\_strategy](#input\_instance\_allocation\_strategy) | The allocation strategy for spot instances. AWS recommends using `price-capacity-optimized` however the AWS default is `lowest-price`. | `string` | `"lowest-price"` | no | | [instance\_max\_spot\_price](#input\_instance\_max\_spot\_price) | Max price price for spot instances per hour. This variable will be passed to the create fleet as max spot price for the fleet. | `string` | `null` | no | | [instance\_profile\_path](#input\_instance\_profile\_path) | The path that will be added to the instance\_profile, if not set the environment name will be used. | `string` | `null` | no | | [instance\_target\_capacity\_type](#input\_instance\_target\_capacity\_type) | Default lifecycle used for runner instances, can be either `spot` or `on-demand`. | `string` | `"spot"` | no | -| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the instance termination watcher. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metric = optional(string, null) # deprectaed
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | -| [instance\_types](#input\_instance\_types) | List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win). | `list(string)` |
    [
    "m5.large",
    "c5.large"
    ]
    | no | +| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the instance termination watcher. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metric = optional(string, null) # deprectaed
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | +| [instance\_types](#input\_instance\_types) | List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win). | `list(string)` |
    [
    "m5.large",
    "c5.large"
    ]
    | no | | [job\_queue\_retention\_in\_seconds](#input\_job\_queue\_retention\_in\_seconds) | The number of seconds the job is held in the queue before it is purged. | `number` | `86400` | no | -| [job\_retry](#input\_job\_retry) | Experimental! Can be removed / changed without trigger a major release.Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app.

    `enable`: Enable or disable the job retry feature.
    `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status.
    `delay_backoff`: The backoff factor for the delay.
    `lambda_memory_size`: Memory size limit in MB for the job retry check lambda.
    `lambda_timeout`: Time out of the job retry check lambda in seconds.
    `max_attempts`: The maximum number of attempts to retry the job. |
    object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_timeout = optional(number, 30)
    max_attempts = optional(number, 1)
    })
    | `{}` | no | +| [job\_retry](#input\_job\_retry) | Experimental! Can be removed / changed without trigger a major release.Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app.

    `enable`: Enable or disable the job retry feature.
    `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status.
    `delay_backoff`: The backoff factor for the delay.
    `lambda_memory_size`: Memory size limit in MB for the job retry check lambda.
    `lambda_timeout`: Time out of the job retry check lambda in seconds.
    `max_attempts`: The maximum number of attempts to retry the job. |
    object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_timeout = optional(number, 30)
    max_attempts = optional(number, 1)
    })
    | `{}` | no | | [key\_name](#input\_key\_name) | Key pair name | `string` | `null` | no | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. This key must be in the current account. | `string` | `null` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | -| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | +| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | | [lambda\_runtime](#input\_lambda\_runtime) | AWS Lambda runtime. | `string` | `"nodejs20.x"` | no | | [lambda\_s3\_bucket](#input\_lambda\_s3\_bucket) | S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly. | `string` | `null` | no | | [lambda\_security\_group\_ids](#input\_lambda\_security\_group\_ids) | List of security group IDs associated with the Lambda function. | `list(string)` | `[]` | no | @@ -183,17 +183,17 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id) | Specifies the kms key id to encrypt the logs with. | `string` | `null` | no | | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | -| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | +| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | | [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `null` | no | | [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes) | The time an ec2 action runner should be running at minimum before terminated, if not busy. | `number` | `null` | no | -| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC). |
    list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    }))
    | `[]` | no | +| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for weekdays to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC). |
    list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    }))
    | `[]` | no | | [pool\_lambda\_memory\_size](#input\_pool\_lambda\_memory\_size) | Memory size limit for scale-up lambda. | `number` | `512` | no | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | | [pool\_runner\_owner](#input\_pool\_runner\_owner) | The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported. | `string` | `null` | no | | [prefix](#input\_prefix) | The prefix used for naming resources | `string` | `"github-actions"` | no | -| [queue\_encryption](#input\_queue\_encryption) | Configure how data on queues managed by the modules in ecrypted at REST. Options are encryped via SSE, non encrypted and via KMSS. By default encryptes via SSE is enabled. See for more details the Terraform `aws_sqs_queue` resource https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue. |
    object({
    kms_data_key_reuse_period_seconds = number
    kms_master_key_id = string
    sqs_managed_sse_enabled = bool
    })
    |
    {
    "kms_data_key_reuse_period_seconds": null,
    "kms_master_key_id": null,
    "sqs_managed_sse_enabled": true
    }
    | no | -| [redrive\_build\_queue](#input\_redrive\_build\_queue) | Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries. |
    object({
    enabled = bool
    maxReceiveCount = number
    })
    |
    {
    "enabled": false,
    "maxReceiveCount": null
    }
    | no | +| [queue\_encryption](#input\_queue\_encryption) | Configure how data on queues managed by the modules in ecrypted at REST. Options are encryped via SSE, non encrypted and via KMSS. By default encryptes via SSE is enabled. See for more details the Terraform `aws_sqs_queue` resource https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue. |
    object({
    kms_data_key_reuse_period_seconds = number
    kms_master_key_id = string
    sqs_managed_sse_enabled = bool
    })
    |
    {
    "kms_data_key_reuse_period_seconds": null,
    "kms_master_key_id": null,
    "sqs_managed_sse_enabled": true
    }
    | no | +| [redrive\_build\_queue](#input\_redrive\_build\_queue) | Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries. |
    object({
    enabled = bool
    maxReceiveCount = number
    })
    |
    {
    "enabled": false,
    "maxReceiveCount": null
    }
    | no | | [repository\_white\_list](#input\_repository\_white\_list) | List of github repository full names (owner/repo\_name) that will be allowed to use the github app. Leave empty for no filtering. | `list(string)` | `[]` | no | | [role\_path](#input\_role\_path) | The path that will be added to role path for created roles, if not set the environment name will be used. | `string` | `null` | no | | [role\_permissions\_boundary](#input\_role\_permissions\_boundary) | Permissions boundary that will be added to the created roles. | `string` | `null` | no | @@ -202,7 +202,7 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [runner\_as\_root](#input\_runner\_as\_root) | Run the action runner under the root user. Variable `runner_run_as` will be ignored. | `bool` | `false` | no | | [runner\_binaries\_s3\_logging\_bucket](#input\_runner\_binaries\_s3\_logging\_bucket) | Bucket for action runner distribution bucket access logging. | `string` | `null` | no | | [runner\_binaries\_s3\_logging\_bucket\_prefix](#input\_runner\_binaries\_s3\_logging\_bucket\_prefix) | Bucket prefix for action runner distribution bucket access logging. | `string` | `null` | no | -| [runner\_binaries\_s3\_sse\_configuration](#input\_runner\_binaries\_s3\_sse\_configuration) | Map containing server-side encryption configuration for runner-binaries S3 bucket. | `any` |
    {
    "rule": {
    "apply_server_side_encryption_by_default": {
    "sse_algorithm": "AES256"
    }
    }
    }
    | no | +| [runner\_binaries\_s3\_sse\_configuration](#input\_runner\_binaries\_s3\_sse\_configuration) | Map containing server-side encryption configuration for runner-binaries S3 bucket. | `any` |
    {
    "rule": {
    "apply_server_side_encryption_by_default": {
    "sse_algorithm": "AES256"
    }
    }
    }
    | no | | [runner\_binaries\_s3\_versioning](#input\_runner\_binaries\_s3\_versioning) | Status of S3 versioning for runner-binaries S3 bucket. Once set to Enabled the change cannot be reverted via Terraform! | `string` | `"Disabled"` | no | | [runner\_binaries\_syncer\_lambda\_memory\_size](#input\_runner\_binaries\_syncer\_lambda\_memory\_size) | Memory size limit in MB for binary syncer lambda. | `number` | `256` | no | | [runner\_binaries\_syncer\_lambda\_timeout](#input\_runner\_binaries\_syncer\_lambda\_timeout) | Time out of the binaries sync lambda in seconds. | `number` | `300` | no | @@ -210,12 +210,12 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [runner\_boot\_time\_in\_minutes](#input\_runner\_boot\_time\_in\_minutes) | The minimum time for an EC2 runner to boot and register as a runner. | `number` | `5` | no | | [runner\_credit\_specification](#input\_runner\_credit\_specification) | The credit option for CPU usage of a T instance. Can be unset, "standard" or "unlimited". | `string` | `null` | no | | [runner\_ec2\_tags](#input\_runner\_ec2\_tags) | Map of tags that will be added to the launch template instance tag specifications. | `map(string)` | `{}` | no | -| [runner\_egress\_rules](#input\_runner\_egress\_rules) | List of egress rules for the GitHub runner instances. |
    list(object({
    cidr_blocks = list(string)
    ipv6_cidr_blocks = list(string)
    prefix_list_ids = list(string)
    from_port = number
    protocol = string
    security_groups = list(string)
    self = bool
    to_port = number
    description = string
    }))
    |
    [
    {
    "cidr_blocks": [
    "0.0.0.0/0"
    ],
    "description": null,
    "from_port": 0,
    "ipv6_cidr_blocks": [
    "::/0"
    ],
    "prefix_list_ids": null,
    "protocol": "-1",
    "security_groups": null,
    "self": null,
    "to_port": 0
    }
    ]
    | no | +| [runner\_egress\_rules](#input\_runner\_egress\_rules) | List of egress rules for the GitHub runner instances. |
    list(object({
    cidr_blocks = list(string)
    ipv6_cidr_blocks = list(string)
    prefix_list_ids = list(string)
    from_port = number
    protocol = string
    security_groups = list(string)
    self = bool
    to_port = number
    description = string
    }))
    |
    [
    {
    "cidr_blocks": [
    "0.0.0.0/0"
    ],
    "description": null,
    "from_port": 0,
    "ipv6_cidr_blocks": [
    "::/0"
    ],
    "prefix_list_ids": null,
    "protocol": "-1",
    "security_groups": null,
    "self": null,
    "to_port": 0
    }
    ]
    | no | | [runner\_extra\_labels](#input\_runner\_extra\_labels) | Extra (custom) labels for the runners (GitHub). Labels checks on the webhook can be enforced by setting `enable_runner_workflow_job_labels_check_all`. GitHub read-only labels should not be provided. | `list(string)` | `[]` | no | | [runner\_group\_name](#input\_runner\_group\_name) | Name of the runner group. | `string` | `"Default"` | no | | [runner\_iam\_role\_managed\_policy\_arns](#input\_runner\_iam\_role\_managed\_policy\_arns) | Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role | `list(string)` | `[]` | no | -| [runner\_log\_files](#input\_runner\_log\_files) | (optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details. |
    list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    }))
    | `null` | no | -| [runner\_metadata\_options](#input\_runner\_metadata\_options) | Metadata options for the ec2 runner instances. By default, the module uses metadata tags for bootstrapping the runner, only disable `instance_metadata_tags` when using custom scripts for starting the runner. | `map(any)` |
    {
    "http_endpoint": "enabled",
    "http_put_response_hop_limit": 1,
    "http_tokens": "required",
    "instance_metadata_tags": "enabled"
    }
    | no | +| [runner\_log\_files](#input\_runner\_log\_files) | (optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details. |
    list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    }))
    | `null` | no | +| [runner\_metadata\_options](#input\_runner\_metadata\_options) | Metadata options for the ec2 runner instances. By default, the module uses metadata tags for bootstrapping the runner, only disable `instance_metadata_tags` when using custom scripts for starting the runner. | `map(any)` |
    {
    "http_endpoint": "enabled",
    "http_put_response_hop_limit": 1,
    "http_tokens": "required",
    "instance_metadata_tags": "enabled"
    }
    | no | | [runner\_name\_prefix](#input\_runner\_name\_prefix) | The prefix used for the GitHub runner name. The prefix will be used in the default start script to prefix the instance name when register the runner in GitHub. The value is availabe via an EC2 tag 'ghr:runner\_name\_prefix'. | `string` | `""` | no | | [runner\_os](#input\_runner\_os) | The EC2 Operating System type to use for action runner instances (linux,windows). | `string` | `"linux"` | no | | [runner\_run\_as](#input\_runner\_run\_as) | Run the GitHub actions agent as user. | `string` | `"ec2-user"` | no | @@ -229,28 +229,28 @@ Talk to the forestkeepers in the `runners-channel` on Slack. | [runners\_scale\_up\_Lambda\_memory\_size](#input\_runners\_scale\_up\_Lambda\_memory\_size) | Memory size limit in MB for scale-up lambda. | `number` | `null` | no | | [runners\_scale\_up\_lambda\_memory\_size](#input\_runners\_scale\_up\_lambda\_memory\_size) | Memory size limit in MB for scale-up lambda. | `number` | `512` | no | | [runners\_scale\_up\_lambda\_timeout](#input\_runners\_scale\_up\_lambda\_timeout) | Time out for the scale up lambda in seconds. | `number` | `30` | no | -| [runners\_ssm\_housekeeper](#input\_runners\_ssm\_housekeeper) | Configuration for the SSM housekeeper lambda. This lambda deletes token / JIT config from SSM.

    `schedule_expression`: is used to configure the schedule for the lambda.
    `enabled`: enable or disable the lambda trigger via the EventBridge.
    `lambda_memory_size`: lambda memery size limit.
    `lambda_timeout`: timeout for the lambda in seconds.
    `config`: configuration for the lambda function. Token path will be read by default from the module. |
    object({
    schedule_expression = optional(string, "rate(1 day)")
    enabled = optional(bool, true)
    lambda_memory_size = optional(number, 512)
    lambda_timeout = optional(number, 60)
    config = object({
    tokenPath = optional(string)
    minimumDaysOld = optional(number, 1)
    dryRun = optional(bool, false)
    })
    })
    |
    {
    "config": {}
    }
    | no | +| [runners\_ssm\_housekeeper](#input\_runners\_ssm\_housekeeper) | Configuration for the SSM housekeeper lambda. This lambda deletes token / JIT config from SSM.

    `schedule_expression`: is used to configure the schedule for the lambda.
    `enabled`: enable or disable the lambda trigger via the EventBridge.
    `lambda_memory_size`: lambda memery size limit.
    `lambda_timeout`: timeout for the lambda in seconds.
    `config`: configuration for the lambda function. Token path will be read by default from the module. |
    object({
    schedule_expression = optional(string, "rate(1 day)")
    enabled = optional(bool, true)
    lambda_memory_size = optional(number, 512)
    lambda_timeout = optional(number, 60)
    config = object({
    tokenPath = optional(string)
    minimumDaysOld = optional(number, 1)
    dryRun = optional(bool, false)
    })
    })
    |
    {
    "config": {}
    }
    | no | | [scale\_down\_schedule\_expression](#input\_scale\_down\_schedule\_expression) | Scheduler expression to check every x for scale down. | `string` | `"cron(*/5 * * * ? *)"` | no | | [scale\_up\_reserved\_concurrent\_executions](#input\_scale\_up\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | -| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secrets. |
    object({
    root = optional(string, "github-action-runners")
    app = optional(string, "app")
    runners = optional(string, "runners")
    webhook = optional(string, "webhook")
    use_prefix = optional(bool, true)
    })
    | `{}` | no | +| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secrets. |
    object({
    root = optional(string, "github-action-runners")
    app = optional(string, "app")
    runners = optional(string, "runners")
    webhook = optional(string, "webhook")
    use_prefix = optional(bool, true)
    })
    | `{}` | no | | [state\_event\_rule\_binaries\_syncer](#input\_state\_event\_rule\_binaries\_syncer) | Option to disable EventBridge Lambda trigger for the binary syncer, useful to stop automatic updates of binary distribution | `string` | `"ENABLED"` | no | | [subnet\_ids](#input\_subnet\_ids) | List of subnets in which the action runner instances will be launched. The subnets need to exist in the configured VPC (`vpc_id`), and must reside in different availability zones (see https://github.com/philips-labs/terraform-aws-github-runner/issues/2904) | `list(string)` | n/a | yes | | [syncer\_lambda\_s3\_key](#input\_syncer\_lambda\_s3\_key) | S3 key for syncer lambda function. Required if using an S3 bucket to specify lambdas. | `string` | `null` | no | | [syncer\_lambda\_s3\_object\_version](#input\_syncer\_lambda\_s3\_object\_version) | S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [tags](#input\_tags) | Map of tags that will be added to created resources. By default resources will be tagged with name and environment. | `map(string)` | `{}` | no | -| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | +| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | | [userdata\_content](#input\_userdata\_content) | Alternative user-data content, replacing the templated one. By providing your own user\_data you have to take care of installing all required software, including the action runner and registering the runner. Be-aware configuration paramaters in SSM as well as tags are treated as internals. Changes will not trigger a breaking release. | `string` | `null` | no | | [userdata\_post\_install](#input\_userdata\_post\_install) | Script to be ran after the GitHub Actions runner is installed on the EC2 instances | `string` | `""` | no | | [userdata\_pre\_install](#input\_userdata\_pre\_install) | Script to be ran before the GitHub Actions runner is installed on the EC2 instances | `string` | `""` | no | | [userdata\_template](#input\_userdata\_template) | Alternative user-data template file path, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored. | `string` | `null` | no | | [vpc\_id](#input\_vpc\_id) | The VPC for security groups of the action runners. | `string` | n/a | yes | -| [webhook\_lambda\_apigateway\_access\_log\_settings](#input\_webhook\_lambda\_apigateway\_access\_log\_settings) | Access log settings for webhook API gateway. |
    object({
    destination_arn = string
    format = string
    })
    | `null` | no | +| [webhook\_lambda\_apigateway\_access\_log\_settings](#input\_webhook\_lambda\_apigateway\_access\_log\_settings) | Access log settings for webhook API gateway. |
    object({
    destination_arn = string
    format = string
    })
    | `null` | no | | [webhook\_lambda\_memory\_size](#input\_webhook\_lambda\_memory\_size) | Memory size limit in MB for webhook lambda in. | `number` | `256` | no | | [webhook\_lambda\_s3\_key](#input\_webhook\_lambda\_s3\_key) | S3 key for webhook lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [webhook\_lambda\_s3\_object\_version](#input\_webhook\_lambda\_s3\_object\_version) | S3 object version for webhook lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [webhook\_lambda\_timeout](#input\_webhook\_lambda\_timeout) | Time out of the webhook lambda in seconds. | `number` | `10` | no | | [webhook\_lambda\_zip](#input\_webhook\_lambda\_zip) | File location of the webhook lambda zip file. | `string` | `null` | no | -| [workflow\_job\_queue\_configuration](#input\_workflow\_job\_queue\_configuration) | Configuration options for workflow job queue which is only applicable if the flag enable\_workflow\_job\_events\_queue is set to true. |
    object({
    delay_seconds = number
    visibility_timeout_seconds = number
    message_retention_seconds = number
    })
    |
    {
    "delay_seconds": null,
    "message_retention_seconds": null,
    "visibility_timeout_seconds": null
    }
    | no | +| [workflow\_job\_queue\_configuration](#input\_workflow\_job\_queue\_configuration) | Configuration options for workflow job queue which is only applicable if the flag enable\_workflow\_job\_events\_queue is set to true. |
    object({
    delay_seconds = number
    visibility_timeout_seconds = number
    message_retention_seconds = number
    })
    |
    {
    "delay_seconds": null,
    "message_retention_seconds": null,
    "visibility_timeout_seconds": null
    }
    | no | ## Outputs diff --git a/examples/arm64/README.md b/examples/arm64/README.md index b7d19bce0d..3302e2e5c9 100644 --- a/examples/arm64/README.md +++ b/examples/arm64/README.md @@ -62,7 +62,7 @@ terraform output -raw webhook_secret | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [github\_app](#input\_github\_app) | GitHub App for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub App for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | ## Outputs diff --git a/examples/default/README.md b/examples/default/README.md index ea50d634a0..a3d057bb04 100644 --- a/examples/default/README.md +++ b/examples/default/README.md @@ -64,7 +64,7 @@ terraform output -raw webhook_secret |------|-------------|------|---------|:--------:| | [aws\_region](#input\_aws\_region) | AWS region. | `string` | `"eu-west-1"` | no | | [environment](#input\_environment) | Environment name, used as prefix. | `string` | `null` | no | -| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | ## Outputs diff --git a/examples/ephemeral/README.md b/examples/ephemeral/README.md index 8cb466920c..86e667e7c9 100644 --- a/examples/ephemeral/README.md +++ b/examples/ephemeral/README.md @@ -63,7 +63,7 @@ terraform output webhook_secret |------|-------------|------|---------|:--------:| | [aws\_region](#input\_aws\_region) | AWS region. | `string` | `"eu-west-1"` | no | | [environment](#input\_environment) | Environment name, used as prefix | `string` | `null` | no | -| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | ## Outputs diff --git a/examples/multi-runner/README.md b/examples/multi-runner/README.md index 37e4fae946..f0b08351de 100644 --- a/examples/multi-runner/README.md +++ b/examples/multi-runner/README.md @@ -82,7 +82,7 @@ terraform output -raw webhook_secret |------|-------------|------|---------|:--------:| | [aws\_region](#input\_aws\_region) | AWS region to deploy to | `string` | `"eu-west-1"` | no | | [environment](#input\_environment) | Environment name, used as prefix | `string` | `null` | no | -| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | ## Outputs diff --git a/examples/permissions-boundary/README.md b/examples/permissions-boundary/README.md index 04db107526..ebcd3acea4 100644 --- a/examples/permissions-boundary/README.md +++ b/examples/permissions-boundary/README.md @@ -67,7 +67,7 @@ terraform apply | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | ## Outputs diff --git a/examples/prebuilt/README.md b/examples/prebuilt/README.md index fe6c6ec283..ade0505e75 100644 --- a/examples/prebuilt/README.md +++ b/examples/prebuilt/README.md @@ -92,7 +92,7 @@ terraform output webhook_secret | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [ami\_name\_filter](#input\_ami\_name\_filter) | AMI name filter for the action runner AMI. By default amazon linux 2 is used. | `string` | `"github-runner-al2023-x86_64-*"` | no | -| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | | [runner\_os](#input\_runner\_os) | The EC2 Operating System type to use for action runner instances (linux,windows). | `string` | `"linux"` | no | ## Outputs diff --git a/examples/ubuntu/README.md b/examples/ubuntu/README.md index c8f52e7ab8..49c15fcda3 100644 --- a/examples/ubuntu/README.md +++ b/examples/ubuntu/README.md @@ -65,7 +65,7 @@ terraform output webhook_secret | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | ## Outputs diff --git a/examples/windows/README.md b/examples/windows/README.md index 855cf697b0..5a419f630d 100644 --- a/examples/windows/README.md +++ b/examples/windows/README.md @@ -68,7 +68,7 @@ terraform output webhook_secret | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub for API usages. |
    object({
    id = string
    key_base64 = string
    })
    | n/a | yes | ## Outputs diff --git a/modules/ami-housekeeper/README.md b/modules/ami-housekeeper/README.md index d052cf82de..863a2156d0 100644 --- a/modules/ami-housekeeper/README.md +++ b/modules/ami-housekeeper/README.md @@ -101,10 +101,10 @@ No modules. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [aws\_partition](#input\_aws\_partition) | (optional) partition for the base arn if not 'aws' | `string` | `"aws"` | no | -| [cleanup\_config](#input\_cleanup\_config) | Configuration for AMI cleanup.

    `amiFilters` - Filters to use when searching for AMIs to cleanup. Default filter for images owned by the account and that are available.
    `dryRun` - If true, no AMIs will be deregistered. Default false.
    `launchTemplateNames` - Launch template names to use when searching for AMIs to cleanup. Default no launch templates.
    `maxItems` - The maximum numer of AMI's tha will be queried for cleanup. Default no maximum.
    `minimumDaysOld` - Minimum number of days old an AMI must be to be considered for cleanup. Default 30.
    `ssmParameterNames` - SSM parameter names to use when searching for AMIs to cleanup. This parameter should be set when using SSM to configure the AMI to use. Default no SSM parameters. |
    object({
    amiFilters = optional(list(object({
    Name = string
    Values = list(string)
    })),
    [{
    Name : "state",
    Values : ["available"],
    },
    {
    Name : "image-type",
    Values : ["machine"],
    }]
    )
    dryRun = optional(bool, false)
    launchTemplateNames = optional(list(string))
    maxItems = optional(number)
    minimumDaysOld = optional(number, 30)
    ssmParameterNames = optional(list(string))
    })
    | `{}` | no | +| [cleanup\_config](#input\_cleanup\_config) | Configuration for AMI cleanup.

    `amiFilters` - Filters to use when searching for AMIs to cleanup. Default filter for images owned by the account and that are available.
    `dryRun` - If true, no AMIs will be deregistered. Default false.
    `launchTemplateNames` - Launch template names to use when searching for AMIs to cleanup. Default no launch templates.
    `maxItems` - The maximum numer of AMI's tha will be queried for cleanup. Default no maximum.
    `minimumDaysOld` - Minimum number of days old an AMI must be to be considered for cleanup. Default 30.
    `ssmParameterNames` - SSM parameter names to use when searching for AMIs to cleanup. This parameter should be set when using SSM to configure the AMI to use. Default no SSM parameters. |
    object({
    amiFilters = optional(list(object({
    Name = string
    Values = list(string)
    })),
    [{
    Name : "state",
    Values : ["available"],
    },
    {
    Name : "image-type",
    Values : ["machine"],
    }]
    )
    dryRun = optional(bool, false)
    launchTemplateNames = optional(list(string))
    maxItems = optional(number)
    minimumDaysOld = optional(number, 30)
    ssmParameterNames = optional(list(string))
    })
    | `{}` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | | [lambda\_memory\_size](#input\_lambda\_memory\_size) | Memory size linit in MB of the lambda. | `number` | `256` | no | -| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | +| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | | [lambda\_runtime](#input\_lambda\_runtime) | AWS Lambda runtime. | `string` | `"nodejs20.x"` | no | | [lambda\_s3\_bucket](#input\_lambda\_s3\_bucket) | S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly. | `string` | `null` | no | | [lambda\_s3\_key](#input\_lambda\_s3\_key) | S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | @@ -123,7 +123,7 @@ No modules. | [role\_permissions\_boundary](#input\_role\_permissions\_boundary) | Permissions boundary that will be added to the created role for the lambda. | `string` | `null` | no | | [state\_event\_rule\_ami\_housekeeper](#input\_state\_event\_rule\_ami\_housekeeper) | State of the rule. | `string` | `"ENABLED"` | no | | [tags](#input\_tags) | Map of tags that will be added to created resources. By default resources will be tagged with name and environment. | `map(string)` | `{}` | no | -| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | +| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | ## Outputs diff --git a/modules/download-lambda/README.md b/modules/download-lambda/README.md index 29858341af..c664976bec 100644 --- a/modules/download-lambda/README.md +++ b/modules/download-lambda/README.md @@ -53,7 +53,7 @@ No modules. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [lambdas](#input\_lambdas) | Name and tag for lambdas to download. |
    list(object({
    name = string
    tag = string
    }))
    | n/a | yes | +| [lambdas](#input\_lambdas) | Name and tag for lambdas to download. |
    list(object({
    name = string
    tag = string
    }))
    | n/a | yes | ## Outputs diff --git a/modules/lambda/README.md b/modules/lambda/README.md index 1d19920287..35e1cfe077 100644 --- a/modules/lambda/README.md +++ b/modules/lambda/README.md @@ -39,7 +39,7 @@ No modules. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [lambda](#input\_lambda) | Configuration for the lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `handler`: The entrypoint for the lambda.
    `principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics_namespace`: Namespace for the metrics emitted by the lambda.
    `name`: The name of the lambda function.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, "aws")
    architecture = optional(string, "arm64")
    environment_variables = optional(map(string), {})
    handler = string
    lambda_tags = optional(map(string), {})
    log_level = optional(string, "info")
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, 180)
    memory_size = optional(number, 256)
    metrics_namespace = optional(string, "GitHub Runners")
    name = string
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, "nodejs20.x")
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    tags = optional(map(string), {})
    timeout = optional(number, 60)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | +| [lambda](#input\_lambda) | Configuration for the lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `handler`: The entrypoint for the lambda.
    `principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics_namespace`: Namespace for the metrics emitted by the lambda.
    `name`: The name of the lambda function.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, "aws")
    architecture = optional(string, "arm64")
    environment_variables = optional(map(string), {})
    handler = string
    lambda_tags = optional(map(string), {})
    log_level = optional(string, "info")
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, 180)
    memory_size = optional(number, 256)
    metrics_namespace = optional(string, "GitHub Runners")
    name = string
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, "nodejs20.x")
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    tags = optional(map(string), {})
    timeout = optional(number, 60)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | ## Outputs diff --git a/modules/multi-runner/README.md b/modules/multi-runner/README.md index 3ff91be86e..fbd427367c 100644 --- a/modules/multi-runner/README.md +++ b/modules/multi-runner/README.md @@ -117,7 +117,7 @@ module "multi-runner" { | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [ami\_housekeeper\_cleanup\_config](#input\_ami\_housekeeper\_cleanup\_config) | Configuration for AMI cleanup. |
    object({
    maxItems = optional(number)
    minimumDaysOld = optional(number)
    amiFilters = optional(list(object({
    Name = string
    Values = list(string)
    })))
    launchTemplateNames = optional(list(string))
    ssmParameterNames = optional(list(string))
    dryRun = optional(bool)
    })
    | `{}` | no | +| [ami\_housekeeper\_cleanup\_config](#input\_ami\_housekeeper\_cleanup\_config) | Configuration for AMI cleanup. |
    object({
    maxItems = optional(number)
    minimumDaysOld = optional(number)
    amiFilters = optional(list(object({
    Name = string
    Values = list(string)
    })))
    launchTemplateNames = optional(list(string))
    ssmParameterNames = optional(list(string))
    dryRun = optional(bool)
    })
    | `{}` | no | | [ami\_housekeeper\_lambda\_memory\_size](#input\_ami\_housekeeper\_lambda\_memory\_size) | Memory size linit in MB of the lambda. | `number` | `256` | no | | [ami\_housekeeper\_lambda\_s3\_key](#input\_ami\_housekeeper\_lambda\_s3\_key) | S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [ami\_housekeeper\_lambda\_s3\_object\_version](#input\_ami\_housekeeper\_lambda\_s3\_object\_version) | S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | @@ -134,13 +134,13 @@ module "multi-runner" { | [enable\_workflow\_job\_events\_queue](#input\_enable\_workflow\_job\_events\_queue) | Enabling this experimental feature will create a secondory sqs queue to which a copy of the workflow\_job event will be delivered. | `bool` | `false` | no | | [ghes\_ssl\_verify](#input\_ghes\_ssl\_verify) | GitHub Enterprise SSL verification. Set to 'false' when custom certificate (chains) is used for GitHub Enterprise Server (insecure). | `bool` | `true` | no | | [ghes\_url](#input\_ghes\_url) | GitHub Enterprise Server URL. Example: https://github.internal.co - DO NOT SET IF USING PUBLIC GITHUB | `string` | `null` | no | -| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | | [instance\_profile\_path](#input\_instance\_profile\_path) | The path that will be added to the instance\_profile, if not set the environment name will be used. | `string` | `null` | no | -| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the spot termination watcher lambda function. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metrics = optional(string, null) # deprecated
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | +| [instance\_termination\_watcher](#input\_instance\_termination\_watcher) | Configuration for the spot termination watcher lambda function. This feature is Beta, changes will not trigger a major release as long in beta.

    `enable`: Enable or disable the spot termination watcher.
    `memory_size`: Memory size linit in MB of the lambda.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `timeout`: Time out of the lambda in seconds.
    `zip`: File location of the lambda zip file. |
    object({
    enable = optional(bool, false)
    enable_metrics = optional(string, null) # deprecated
    memory_size = optional(number, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    timeout = optional(number, null)
    zip = optional(string, null)
    })
    | `{}` | no | | [key\_name](#input\_key\_name) | Key pair name | `string` | `null` | no | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. | `string` | `null` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | -| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | +| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | | [lambda\_runtime](#input\_lambda\_runtime) | AWS Lambda runtime. | `string` | `"nodejs20.x"` | no | | [lambda\_s3\_bucket](#input\_lambda\_s3\_bucket) | S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly. | `string` | `null` | no | | [lambda\_security\_group\_ids](#input\_lambda\_security\_group\_ids) | List of security group IDs associated with the Lambda function. | `list(string)` | `[]` | no | @@ -150,46 +150,46 @@ module "multi-runner" { | [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id) | Specifies the kms key id to encrypt the logs with | `string` | `null` | no | | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | | [matcher\_config\_parameter\_store\_tier](#input\_matcher\_config\_parameter\_store\_tier) | The tier of the parameter store for the matcher configuration. Valid values are `Standard`, and `Advanced`. | `string` | `"Standard"` | no | -| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | +| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | | [metrics\_namespace](#input\_metrics\_namespace) | The namespace for the metrics created by the module. Merics will only be created if explicit enabled. | `string` | `null` | no | -| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
    runner\_config: {
    runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
    runner\_architecture: "The platform architecture of the runner instance\_type."
    runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
    ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
    ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
    create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
    credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
    delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
    disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
    ebs\_optimized: "The EC2 EBS optimized configuration."
    enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
    enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
    enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
    enable\_organization\_runners: "Register runners to organization, instead of repo level"
    enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
    enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
    enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
    instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
    instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
    instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
    instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
    job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
    minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
    pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
    runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
    runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
    runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
    runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
    runner\_group\_name: "Name of the runner group."
    runner\_name\_prefix: "Prefix for the GitHub runner name."
    runner\_run\_as: "Run the GitHub actions agent as user."
    runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
    scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
    scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
    userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
    enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
    enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
    enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
    cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
    userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
    runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
    runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
    vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
    subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
    idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
    runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
    job\_retry: "Experimental! Can be removed / changed without trigger a major release. Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app."
    pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)."
    }
    matcherConfig: {
    labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
    exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
    priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
    }
    fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
    redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
    } |
    map(object({
    runner_config = object({
    runner_os = string
    runner_architecture = string
    runner_metadata_options = optional(map(any), {
    instance_metadata_tags = "enabled"
    http_endpoint = "enabled"
    http_tokens = "required"
    http_put_response_hop_limit = 1
    })
    ami_filter = optional(map(list(string)), { state = ["available"] })
    ami_owners = optional(list(string), ["amazon"])
    ami_id_ssm_parameter_name = optional(string, null)
    ami_kms_key_arn = optional(string, "")
    create_service_linked_role_spot = optional(bool, false)
    credit_specification = optional(string, null)
    delay_webhook_event = optional(number, 30)
    disable_runner_autoupdate = optional(bool, false)
    ebs_optimized = optional(bool, false)
    enable_ephemeral_runners = optional(bool, false)
    enable_job_queued_check = optional(bool, null)
    enable_on_demand_failover_for_errors = optional(list(string), [])
    enable_organization_runners = optional(bool, false)
    enable_runner_binaries_syncer = optional(bool, true)
    enable_ssm_on_runners = optional(bool, false)
    enable_userdata = optional(bool, true)
    instance_allocation_strategy = optional(string, "lowest-price")
    instance_max_spot_price = optional(string, null)
    instance_target_capacity_type = optional(string, "spot")
    instance_types = list(string)
    job_queue_retention_in_seconds = optional(number, 86400)
    minimum_running_time_in_minutes = optional(number, null)
    pool_runner_owner = optional(string, null)
    runner_as_root = optional(bool, false)
    runner_boot_time_in_minutes = optional(number, 5)
    runner_extra_labels = optional(list(string), [])
    runner_group_name = optional(string, "Default")
    runner_name_prefix = optional(string, "")
    runner_run_as = optional(string, "ec2-user")
    runners_maximum_count = number
    runner_additional_security_group_ids = optional(list(string), [])
    scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
    scale_up_reserved_concurrent_executions = optional(number, 1)
    userdata_template = optional(string, null)
    userdata_content = optional(string, null)
    enable_jit_config = optional(bool, null)
    enable_runner_detailed_monitoring = optional(bool, false)
    enable_cloudwatch_agent = optional(bool, true)
    cloudwatch_config = optional(string, null)
    userdata_pre_install = optional(string, "")
    userdata_post_install = optional(string, "")
    runner_ec2_tags = optional(map(string), {})
    runner_iam_role_managed_policy_arns = optional(list(string), [])
    vpc_id = optional(string, null)
    subnet_ids = optional(list(string), null)
    idle_config = optional(list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    })), [])
    runner_log_files = optional(list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    })), null)
    block_device_mappings = optional(list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    })), [{
    volume_size = 30
    }])
    pool_config = optional(list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    })), [])
    job_retry = optional(object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_timeout = optional(number, 30)
    max_attempts = optional(number, 1)
    }), {})
    })
    matcherConfig = object({
    labelMatchers = list(list(string))
    exactMatch = optional(bool, false)
    priority = optional(number, 999)
    })
    fifo = optional(bool, false)
    redrive_build_queue = optional(object({
    enabled = bool
    maxReceiveCount = number
    }), {
    enabled = false
    maxReceiveCount = null
    })
    }))
    | n/a | yes | +| [multi\_runner\_config](#input\_multi\_runner\_config) | multi\_runner\_config = {
    runner\_config: {
    runner\_os: "The EC2 Operating System type to use for action runner instances (linux,windows)."
    runner\_architecture: "The platform architecture of the runner instance\_type."
    runner\_metadata\_options: "(Optional) Metadata options for the ec2 runner instances."
    ami\_filter: "(Optional) List of maps used to create the AMI filter for the action runner AMI. By default amazon linux 2 is used."
    ami\_owners: "(Optional) The list of owners used to select the AMI of action runner instances."
    create\_service\_linked\_role\_spot: (Optional) create the serviced linked role for spot instances that is required by the scale-up lambda.
    credit\_specification: "(Optional) The credit specification of the runner instance\_type. Can be unset, `standard` or `unlimited`.
    delay\_webhook\_event: "The number of seconds the event accepted by the webhook is invisible on the queue before the scale up lambda will receive the event."
    disable\_runner\_autoupdate: "Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/)"
    ebs\_optimized: "The EC2 EBS optimized configuration."
    enable\_ephemeral\_runners: "Enable ephemeral runners, runners will only be used once."
    enable\_job\_queued\_check: "Enables JIT configuration for creating runners instead of registration token based registraton. JIT configuration will only be applied for ephemeral runners. By default JIT confiugration is enabled for ephemeral runners an can be disabled via this override. When running on GHES without support for JIT configuration this variable should be set to true for ephemeral runners."
    enable\_on\_demand\_failover\_for\_errors: "Enable on-demand failover. For example to fall back to on demand when no spot capacity is available the variable can be set to `InsufficientInstanceCapacity`. When not defined the default behavior is to retry later."
    enable\_organization\_runners: "Register runners to organization, instead of repo level"
    enable\_runner\_binaries\_syncer: "Option to disable the lambda to sync GitHub runner distribution, useful when using a pre-build AMI."
    enable\_ssm\_on\_runners: "Enable to allow access the runner instances for debugging purposes via SSM. Note that this adds additional permissions to the runner instances."
    enable\_userdata: "Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI."
    instance\_allocation\_strategy: "The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`."
    instance\_max\_spot\_price: "Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet."
    instance\_target\_capacity\_type: "Default lifecycle used for runner instances, can be either `spot` or `on-demand`."
    instance\_types: "List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win)."
    job\_queue\_retention\_in\_seconds: "The number of seconds the job is held in the queue before it is purged"
    minimum\_running\_time\_in\_minutes: "The time an ec2 action runner should be running at minimum before terminated if not busy."
    pool\_runner\_owner: "The pool will deploy runners to the GitHub org ID, set this value to the org to which you want the runners deployed. Repo level is not supported."
    runner\_additional\_security\_group\_ids: "List of additional security groups IDs to apply to the runner. If added outside the multi\_runner\_config block, the additional security group(s) will be applied to all runner configs. If added inside the multi\_runner\_config, the additional security group(s) will be applied to the individual runner."
    runner\_as\_root: "Run the action runner under the root user. Variable `runner_run_as` will be ignored."
    runner\_boot\_time\_in\_minutes: "The minimum time for an EC2 runner to boot and register as a runner."
    runner\_extra\_labels: "Extra (custom) labels for the runners (GitHub). Separate each label by a comma. Labels checks on the webhook can be enforced by setting `multi_runner_config.matcherConfig.exactMatch`. GitHub read-only labels should not be provided."
    runner\_group\_name: "Name of the runner group."
    runner\_name\_prefix: "Prefix for the GitHub runner name."
    runner\_run\_as: "Run the GitHub actions agent as user."
    runners\_maximum\_count: "The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check."
    scale\_down\_schedule\_expression: "Scheduler expression to check every x for scale down."
    scale\_up\_reserved\_concurrent\_executions: "Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations."
    userdata\_template: "Alternative user-data template, replacing the default template. By providing your own user\_data you have to take care of installing all required software, including the action runner. Variables userdata\_pre/post\_install are ignored."
    enable\_jit\_config "Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI."
    enable\_runner\_detailed\_monitoring: "Should detailed monitoring be enabled for the runner. Set this to true if you want to use detailed monitoring. See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html for details."
    enable\_cloudwatch\_agent: "Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`."
    cloudwatch\_config: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    userdata\_pre\_install: "Script to be ran before the GitHub Actions runner is installed on the EC2 instances"
    userdata\_post\_install: "Script to be ran after the GitHub Actions runner is installed on the EC2 instances"
    runner\_ec2\_tags: "Map of tags that will be added to the launch template instance tag specifications."
    runner\_iam\_role\_managed\_policy\_arns: "Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role"
    vpc\_id: "The VPC for security groups of the action runners. If not set uses the value of `var.vpc_id`."
    subnet\_ids: "List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. If not set, uses the value of `var.subnet_ids`."
    idle\_config: "List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle."
    runner\_log\_files: "(optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details."
    block\_device\_mappings: "The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`."
    job\_retry: "Experimental! Can be removed / changed without trigger a major release. Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app."
    pool\_config: "The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone` to override the schedule time zone (defaults to UTC)."
    }
    matcherConfig: {
    labelMatchers: "The list of list of labels supported by the runner configuration. `[[self-hosted, linux, x64, example]]`"
    exactMatch: "If set to true all labels in the workflow job must match the GitHub labels (os, architecture and `self-hosted`). When false if __any__ workflow label matches it will trigger the webhook."
    priority: "If set it defines the priority of the matcher, the matcher with the lowest priority will be evaluated first. Default is 999, allowed values 0-999."
    }
    fifo: "Enable a FIFO queue to remain the order of events received by the webhook. Suggest to set to true for repo level runners."
    redrive\_build\_queue: "Set options to attach (optional) a dead letter queue to the build queue, the queue between the webhook and the scale up lambda. You have the following options. 1. Disable by setting `enabled` to false. 2. Enable by setting `enabled` to `true`, `maxReceiveCount` to a number of max retries."
    } |
    map(object({
    runner_config = object({
    runner_os = string
    runner_architecture = string
    runner_metadata_options = optional(map(any), {
    instance_metadata_tags = "enabled"
    http_endpoint = "enabled"
    http_tokens = "required"
    http_put_response_hop_limit = 1
    })
    ami_filter = optional(map(list(string)), { state = ["available"] })
    ami_owners = optional(list(string), ["amazon"])
    ami_id_ssm_parameter_name = optional(string, null)
    ami_kms_key_arn = optional(string, "")
    create_service_linked_role_spot = optional(bool, false)
    credit_specification = optional(string, null)
    delay_webhook_event = optional(number, 30)
    disable_runner_autoupdate = optional(bool, false)
    ebs_optimized = optional(bool, false)
    enable_ephemeral_runners = optional(bool, false)
    enable_job_queued_check = optional(bool, null)
    enable_on_demand_failover_for_errors = optional(list(string), [])
    enable_organization_runners = optional(bool, false)
    enable_runner_binaries_syncer = optional(bool, true)
    enable_ssm_on_runners = optional(bool, false)
    enable_userdata = optional(bool, true)
    instance_allocation_strategy = optional(string, "lowest-price")
    instance_max_spot_price = optional(string, null)
    instance_target_capacity_type = optional(string, "spot")
    instance_types = list(string)
    job_queue_retention_in_seconds = optional(number, 86400)
    minimum_running_time_in_minutes = optional(number, null)
    pool_runner_owner = optional(string, null)
    runner_as_root = optional(bool, false)
    runner_boot_time_in_minutes = optional(number, 5)
    runner_extra_labels = optional(list(string), [])
    runner_group_name = optional(string, "Default")
    runner_name_prefix = optional(string, "")
    runner_run_as = optional(string, "ec2-user")
    runners_maximum_count = number
    runner_additional_security_group_ids = optional(list(string), [])
    scale_down_schedule_expression = optional(string, "cron(*/5 * * * ? *)")
    scale_up_reserved_concurrent_executions = optional(number, 1)
    userdata_template = optional(string, null)
    userdata_content = optional(string, null)
    enable_jit_config = optional(bool, null)
    enable_runner_detailed_monitoring = optional(bool, false)
    enable_cloudwatch_agent = optional(bool, true)
    cloudwatch_config = optional(string, null)
    userdata_pre_install = optional(string, "")
    userdata_post_install = optional(string, "")
    runner_ec2_tags = optional(map(string), {})
    runner_iam_role_managed_policy_arns = optional(list(string), [])
    vpc_id = optional(string, null)
    subnet_ids = optional(list(string), null)
    idle_config = optional(list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    })), [])
    runner_log_files = optional(list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    })), null)
    block_device_mappings = optional(list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    })), [{
    volume_size = 30
    }])
    pool_config = optional(list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    })), [])
    job_retry = optional(object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_timeout = optional(number, 30)
    max_attempts = optional(number, 1)
    }), {})
    })
    matcherConfig = object({
    labelMatchers = list(list(string))
    exactMatch = optional(bool, false)
    priority = optional(number, 999)
    })
    fifo = optional(bool, false)
    redrive_build_queue = optional(object({
    enabled = bool
    maxReceiveCount = number
    }), {
    enabled = false
    maxReceiveCount = null
    })
    }))
    | n/a | yes | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | | [prefix](#input\_prefix) | The prefix used for naming resources | `string` | `"github-actions"` | no | -| [queue\_encryption](#input\_queue\_encryption) | Configure how data on queues managed by the modules in ecrypted at REST. Options are encryped via SSE, non encrypted and via KMSS. By default encryptes via SSE is enabled. See for more details the Terraform `aws_sqs_queue` resource https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue. |
    object({
    kms_data_key_reuse_period_seconds = number
    kms_master_key_id = string
    sqs_managed_sse_enabled = bool
    })
    |
    {
    "kms_data_key_reuse_period_seconds": null,
    "kms_master_key_id": null,
    "sqs_managed_sse_enabled": true
    }
    | no | +| [queue\_encryption](#input\_queue\_encryption) | Configure how data on queues managed by the modules in ecrypted at REST. Options are encryped via SSE, non encrypted and via KMSS. By default encryptes via SSE is enabled. See for more details the Terraform `aws_sqs_queue` resource https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue. |
    object({
    kms_data_key_reuse_period_seconds = number
    kms_master_key_id = string
    sqs_managed_sse_enabled = bool
    })
    |
    {
    "kms_data_key_reuse_period_seconds": null,
    "kms_master_key_id": null,
    "sqs_managed_sse_enabled": true
    }
    | no | | [repository\_white\_list](#input\_repository\_white\_list) | List of github repository full names (owner/repo\_name) that will be allowed to use the github app. Leave empty for no filtering. | `list(string)` | `[]` | no | | [role\_path](#input\_role\_path) | The path that will be added to the role; if not set, the environment name will be used. | `string` | `null` | no | | [role\_permissions\_boundary](#input\_role\_permissions\_boundary) | Permissions boundary that will be added to the created role for the lambda. | `string` | `null` | no | | [runner\_additional\_security\_group\_ids](#input\_runner\_additional\_security\_group\_ids) | (optional) List of additional security groups IDs to apply to the runner | `list(string)` | `[]` | no | -| [runner\_binaries\_s3\_sse\_configuration](#input\_runner\_binaries\_s3\_sse\_configuration) | Map containing server-side encryption configuration for runner-binaries S3 bucket. | `any` |
    {
    "rule": {
    "apply_server_side_encryption_by_default": {
    "sse_algorithm": "AES256"
    }
    }
    }
    | no | +| [runner\_binaries\_s3\_sse\_configuration](#input\_runner\_binaries\_s3\_sse\_configuration) | Map containing server-side encryption configuration for runner-binaries S3 bucket. | `any` |
    {
    "rule": {
    "apply_server_side_encryption_by_default": {
    "sse_algorithm": "AES256"
    }
    }
    }
    | no | | [runner\_binaries\_s3\_versioning](#input\_runner\_binaries\_s3\_versioning) | Status of S3 versioning for runner-binaries S3 bucket. Once set to Enabled the change cannot be reverted via Terraform! | `string` | `"Disabled"` | no | | [runner\_binaries\_syncer\_lambda\_timeout](#input\_runner\_binaries\_syncer\_lambda\_timeout) | Time out of the binaries sync lambda in seconds. | `number` | `300` | no | | [runner\_binaries\_syncer\_lambda\_zip](#input\_runner\_binaries\_syncer\_lambda\_zip) | File location of the binaries sync lambda zip file. | `string` | `null` | no | | [runner\_binaries\_syncer\_memory\_size](#input\_runner\_binaries\_syncer\_memory\_size) | Memory size limit in MB for binary syncer lambda. | `number` | `256` | no | -| [runner\_egress\_rules](#input\_runner\_egress\_rules) | List of egress rules for the GitHub runner instances. |
    list(object({
    cidr_blocks = list(string)
    ipv6_cidr_blocks = list(string)
    prefix_list_ids = list(string)
    from_port = number
    protocol = string
    security_groups = list(string)
    self = bool
    to_port = number
    description = string
    }))
    |
    [
    {
    "cidr_blocks": [
    "0.0.0.0/0"
    ],
    "description": null,
    "from_port": 0,
    "ipv6_cidr_blocks": [
    "::/0"
    ],
    "prefix_list_ids": null,
    "protocol": "-1",
    "security_groups": null,
    "self": null,
    "to_port": 0
    }
    ]
    | no | +| [runner\_egress\_rules](#input\_runner\_egress\_rules) | List of egress rules for the GitHub runner instances. |
    list(object({
    cidr_blocks = list(string)
    ipv6_cidr_blocks = list(string)
    prefix_list_ids = list(string)
    from_port = number
    protocol = string
    security_groups = list(string)
    self = bool
    to_port = number
    description = string
    }))
    |
    [
    {
    "cidr_blocks": [
    "0.0.0.0/0"
    ],
    "description": null,
    "from_port": 0,
    "ipv6_cidr_blocks": [
    "::/0"
    ],
    "prefix_list_ids": null,
    "protocol": "-1",
    "security_groups": null,
    "self": null,
    "to_port": 0
    }
    ]
    | no | | [runners\_lambda\_s3\_key](#input\_runners\_lambda\_s3\_key) | S3 key for runners lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [runners\_lambda\_s3\_object\_version](#input\_runners\_lambda\_s3\_object\_version) | S3 object version for runners lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [runners\_lambda\_zip](#input\_runners\_lambda\_zip) | File location of the lambda zip file for scaling runners. | `string` | `null` | no | | [runners\_scale\_down\_lambda\_timeout](#input\_runners\_scale\_down\_lambda\_timeout) | Time out for the scale down lambda in seconds. | `number` | `60` | no | | [runners\_scale\_up\_lambda\_timeout](#input\_runners\_scale\_up\_lambda\_timeout) | Time out for the scale up lambda in seconds. | `number` | `30` | no | -| [runners\_ssm\_housekeeper](#input\_runners\_ssm\_housekeeper) | Configuration for the SSM housekeeper lambda. This lambda deletes token / JIT config from SSM.

    `schedule_expression`: is used to configure the schedule for the lambda.
    `enabled`: enable or disable the lambda trigger via the EventBridge.
    `lambda_memory_size`: lambda memery size limit.
    `lambda_timeout`: timeout for the lambda in seconds.
    `config`: configuration for the lambda function. Token path will be read by default from the module. |
    object({
    schedule_expression = optional(string, "rate(1 day)")
    enabled = optional(bool, true)
    lambda_memory_size = optional(number, 512)
    lambda_timeout = optional(number, 60)
    config = object({
    tokenPath = optional(string)
    minimumDaysOld = optional(number, 1)
    dryRun = optional(bool, false)
    })
    })
    |
    {
    "config": {}
    }
    | no | +| [runners\_ssm\_housekeeper](#input\_runners\_ssm\_housekeeper) | Configuration for the SSM housekeeper lambda. This lambda deletes token / JIT config from SSM.

    `schedule_expression`: is used to configure the schedule for the lambda.
    `enabled`: enable or disable the lambda trigger via the EventBridge.
    `lambda_memory_size`: lambda memery size limit.
    `lambda_timeout`: timeout for the lambda in seconds.
    `config`: configuration for the lambda function. Token path will be read by default from the module. |
    object({
    schedule_expression = optional(string, "rate(1 day)")
    enabled = optional(bool, true)
    lambda_memory_size = optional(number, 512)
    lambda_timeout = optional(number, 60)
    config = object({
    tokenPath = optional(string)
    minimumDaysOld = optional(number, 1)
    dryRun = optional(bool, false)
    })
    })
    |
    {
    "config": {}
    }
    | no | | [scale\_down\_lambda\_memory\_size](#input\_scale\_down\_lambda\_memory\_size) | Memory size limit in MB for scale down. | `number` | `512` | no | | [scale\_up\_lambda\_memory\_size](#input\_scale\_up\_lambda\_memory\_size) | Memory size limit in MB for scale\_up lambda. | `number` | `512` | no | -| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secreets. |
    object({
    root = optional(string, "github-action-runners")
    app = optional(string, "app")
    runners = optional(string, "runners")
    webhook = optional(string, "webhook")
    })
    | `{}` | no | +| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secreets. |
    object({
    root = optional(string, "github-action-runners")
    app = optional(string, "app")
    runners = optional(string, "runners")
    webhook = optional(string, "webhook")
    })
    | `{}` | no | | [state\_event\_rule\_binaries\_syncer](#input\_state\_event\_rule\_binaries\_syncer) | Option to disable EventBridge Lambda trigger for the binary syncer, useful to stop automatic updates of binary distribution | `string` | `"ENABLED"` | no | | [subnet\_ids](#input\_subnet\_ids) | List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. | `list(string)` | n/a | yes | | [syncer\_lambda\_s3\_key](#input\_syncer\_lambda\_s3\_key) | S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [syncer\_lambda\_s3\_object\_version](#input\_syncer\_lambda\_s3\_object\_version) | S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [tags](#input\_tags) | Map of tags that will be added to created resources. By default resources will be tagged with name and environment. | `map(string)` | `{}` | no | -| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | +| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | | [vpc\_id](#input\_vpc\_id) | The VPC for security groups of the action runners. | `string` | n/a | yes | -| [webhook\_lambda\_apigateway\_access\_log\_settings](#input\_webhook\_lambda\_apigateway\_access\_log\_settings) | Access log settings for webhook API gateway. |
    object({
    destination_arn = string
    format = string
    })
    | `null` | no | +| [webhook\_lambda\_apigateway\_access\_log\_settings](#input\_webhook\_lambda\_apigateway\_access\_log\_settings) | Access log settings for webhook API gateway. |
    object({
    destination_arn = string
    format = string
    })
    | `null` | no | | [webhook\_lambda\_memory\_size](#input\_webhook\_lambda\_memory\_size) | Memory size limit in MB for webhook lambda. | `number` | `256` | no | | [webhook\_lambda\_s3\_key](#input\_webhook\_lambda\_s3\_key) | S3 key for webhook lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [webhook\_lambda\_s3\_object\_version](#input\_webhook\_lambda\_s3\_object\_version) | S3 object version for webhook lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [webhook\_lambda\_timeout](#input\_webhook\_lambda\_timeout) | Time out of the lambda in seconds. | `number` | `10` | no | | [webhook\_lambda\_zip](#input\_webhook\_lambda\_zip) | File location of the webhook lambda zip file. | `string` | `null` | no | -| [workflow\_job\_queue\_configuration](#input\_workflow\_job\_queue\_configuration) | Configuration options for workflow job queue which is only applicable if the flag enable\_workflow\_job\_events\_queue is set to true. |
    object({
    delay_seconds = number
    visibility_timeout_seconds = number
    message_retention_seconds = number
    })
    |
    {
    "delay_seconds": null,
    "message_retention_seconds": null,
    "visibility_timeout_seconds": null
    }
    | no | +| [workflow\_job\_queue\_configuration](#input\_workflow\_job\_queue\_configuration) | Configuration options for workflow job queue which is only applicable if the flag enable\_workflow\_job\_events\_queue is set to true. |
    object({
    delay_seconds = number
    visibility_timeout_seconds = number
    message_retention_seconds = number
    })
    |
    {
    "delay_seconds": null,
    "message_retention_seconds": null,
    "visibility_timeout_seconds": null
    }
    | no | ## Outputs diff --git a/modules/runner-binaries-syncer/README.md b/modules/runner-binaries-syncer/README.md index ef6eb10606..fca61f0b1c 100644 --- a/modules/runner-binaries-syncer/README.md +++ b/modules/runner-binaries-syncer/README.md @@ -88,7 +88,7 @@ No modules. | [distribution\_bucket\_name](#input\_distribution\_bucket\_name) | Bucket for storing the action runner distribution. | `string` | n/a | yes | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | | [lambda\_memory\_size](#input\_lambda\_memory\_size) | Memory size of the lambda. | `number` | `256` | no | -| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | +| [lambda\_principals](#input\_lambda\_principals) | (Optional) add extra principals to the role created for execution of the lambda, e.g. for local testing. |
    list(object({
    type = string
    identifiers = list(string)
    }))
    | `[]` | no | | [lambda\_runtime](#input\_lambda\_runtime) | AWS Lambda runtime. | `string` | `"nodejs20.x"` | no | | [lambda\_s3\_bucket](#input\_lambda\_s3\_bucket) | S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly. | `string` | `null` | no | | [lambda\_schedule\_expression](#input\_lambda\_schedule\_expression) | Scheduler expression for action runner binary syncer. | `string` | `"cron(27 * * * ? *)"` | no | @@ -108,12 +108,12 @@ No modules. | [s3\_logging\_bucket](#input\_s3\_logging\_bucket) | Bucket for action runner distribution bucket access logging. | `string` | `null` | no | | [s3\_logging\_bucket\_prefix](#input\_s3\_logging\_bucket\_prefix) | Bucket prefix for action runner distribution bucket access logging. | `string` | `null` | no | | [s3\_versioning](#input\_s3\_versioning) | Status of S3 versioning for runner-binaries S3 bucket. | `string` | `"Disabled"` | no | -| [server\_side\_encryption\_configuration](#input\_server\_side\_encryption\_configuration) | Map containing server-side encryption configuration for runner-binaries S3 bucket. | `any` |
    {
    "rule": {
    "apply_server_side_encryption_by_default": {
    "sse_algorithm": "AES256"
    }
    }
    }
    | no | +| [server\_side\_encryption\_configuration](#input\_server\_side\_encryption\_configuration) | Map containing server-side encryption configuration for runner-binaries S3 bucket. | `any` |
    {
    "rule": {
    "apply_server_side_encryption_by_default": {
    "sse_algorithm": "AES256"
    }
    }
    }
    | no | | [state\_event\_rule\_binaries\_syncer](#input\_state\_event\_rule\_binaries\_syncer) | Option to disable EventBridge Lambda trigger for the binary syncer, useful to stop automatic updates of binary distribution | `string` | `"ENABLED"` | no | | [syncer\_lambda\_s3\_key](#input\_syncer\_lambda\_s3\_key) | S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [syncer\_lambda\_s3\_object\_version](#input\_syncer\_lambda\_s3\_object\_version) | S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [tags](#input\_tags) | Map of tags that will be added to created resources. By default resources will be tagged with name and environment. | `map(string)` | `{}` | no | -| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | +| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | ## Outputs diff --git a/modules/runners/README.md b/modules/runners/README.md index ee4be6a857..b645a37d30 100644 --- a/modules/runners/README.md +++ b/modules/runners/README.md @@ -131,20 +131,20 @@ yarn run dist | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [ami\_filter](#input\_ami\_filter) | Map of lists used to create the AMI filter for the action runner AMI. | `map(list(string))` |
    {
    "state": [
    "available"
    ]
    }
    | no | +| [ami\_filter](#input\_ami\_filter) | Map of lists used to create the AMI filter for the action runner AMI. | `map(list(string))` |
    {
    "state": [
    "available"
    ]
    }
    | no | | [ami\_id\_ssm\_parameter\_name](#input\_ami\_id\_ssm\_parameter\_name) | Externally managed SSM parameter (of data type aws:ec2:image) that contains the AMI ID to launch runner instances from. Overrides ami\_filter | `string` | `null` | no | | [ami\_kms\_key\_arn](#input\_ami\_kms\_key\_arn) | Optional CMK Key ARN to be used to launch an instance from a shared encrypted AMI | `string` | `null` | no | -| [ami\_owners](#input\_ami\_owners) | The list of owners used to select the AMI of action runner instances. | `list(string)` |
    [
    "amazon"
    ]
    | no | +| [ami\_owners](#input\_ami\_owners) | The list of owners used to select the AMI of action runner instances. | `list(string)` |
    [
    "amazon"
    ]
    | no | | [associate\_public\_ipv4\_address](#input\_associate\_public\_ipv4\_address) | Associate public IPv4 with the runner. Only tested with IPv4 | `bool` | `false` | no | | [aws\_partition](#input\_aws\_partition) | (optional) partition for the base arn if not 'aws' | `string` | `"aws"` | no | | [aws\_region](#input\_aws\_region) | AWS region. | `string` | n/a | yes | -| [block\_device\_mappings](#input\_block\_device\_mappings) | The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`. |
    list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    }))
    |
    [
    {
    "volume_size": 30
    }
    ]
    | no | +| [block\_device\_mappings](#input\_block\_device\_mappings) | The EC2 instance block device configuration. Takes the following keys: `device_name`, `delete_on_termination`, `volume_type`, `volume_size`, `encrypted`, `iops`, `throughput`, `kms_key_id`, `snapshot_id`. |
    list(object({
    delete_on_termination = optional(bool, true)
    device_name = optional(string, "/dev/xvda")
    encrypted = optional(bool, true)
    iops = optional(number)
    kms_key_id = optional(string)
    snapshot_id = optional(string)
    throughput = optional(number)
    volume_size = number
    volume_type = optional(string, "gp3")
    }))
    |
    [
    {
    "volume_size": 30
    }
    ]
    | no | | [cloudwatch\_config](#input\_cloudwatch\_config) | (optional) Replaces the module default cloudwatch log config. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html for details. | `string` | `null` | no | | [create\_service\_linked\_role\_spot](#input\_create\_service\_linked\_role\_spot) | (optional) create the service linked role for spot instances that is required by the scale-up lambda. | `bool` | `false` | no | | [credit\_specification](#input\_credit\_specification) | The credit option for CPU usage of a T instance. Can be unset, "standard" or "unlimited". | `string` | `null` | no | | [disable\_runner\_autoupdate](#input\_disable\_runner\_autoupdate) | Disable the auto update of the github runner agent. Be aware there is a grace period of 30 days, see also the [GitHub article](https://github.blog/changelog/2022-02-01-github-actions-self-hosted-runners-can-now-disable-automatic-updates/) | `bool` | `false` | no | | [ebs\_optimized](#input\_ebs\_optimized) | The EC2 EBS optimized configuration. | `bool` | `false` | no | -| [egress\_rules](#input\_egress\_rules) | List of egress rules for the GitHub runner instances. |
    list(object({
    cidr_blocks = list(string)
    ipv6_cidr_blocks = list(string)
    prefix_list_ids = list(string)
    from_port = number
    protocol = string
    security_groups = list(string)
    self = bool
    to_port = number
    description = string
    }))
    |
    [
    {
    "cidr_blocks": [
    "0.0.0.0/0"
    ],
    "description": null,
    "from_port": 0,
    "ipv6_cidr_blocks": [
    "::/0"
    ],
    "prefix_list_ids": null,
    "protocol": "-1",
    "security_groups": null,
    "self": null,
    "to_port": 0
    }
    ]
    | no | +| [egress\_rules](#input\_egress\_rules) | List of egress rules for the GitHub runner instances. |
    list(object({
    cidr_blocks = list(string)
    ipv6_cidr_blocks = list(string)
    prefix_list_ids = list(string)
    from_port = number
    protocol = string
    security_groups = list(string)
    self = bool
    to_port = number
    description = string
    }))
    |
    [
    {
    "cidr_blocks": [
    "0.0.0.0/0"
    ],
    "description": null,
    "from_port": 0,
    "ipv6_cidr_blocks": [
    "::/0"
    ],
    "prefix_list_ids": null,
    "protocol": "-1",
    "security_groups": null,
    "self": null,
    "to_port": 0
    }
    ]
    | no | | [enable\_cloudwatch\_agent](#input\_enable\_cloudwatch\_agent) | Enabling the cloudwatch agent on the ec2 runner instances, the runner contains default config. Configuration can be overridden via `cloudwatch_config`. | `bool` | `true` | no | | [enable\_ephemeral\_runners](#input\_enable\_ephemeral\_runners) | Enable ephemeral runners, runners will only be used once. | `bool` | `false` | no | | [enable\_jit\_config](#input\_enable\_jit\_config) | Overwrite the default behavior for JIT configuration. By default JIT configuration is enabled for ephemeral runners and disabled for non-ephemeral runners. In case of GHES check first if the JIT config API is avaialbe. In case you upgradeing from 3.x to 4.x you can set `enable_jit_config` to `false` to avoid a breaking change when having your own AMI. | `bool` | `null` | no | @@ -159,14 +159,14 @@ yarn run dist | [enable\_userdata](#input\_enable\_userdata) | Should the userdata script be enabled for the runner. Set this to false if you are using your own prebuilt AMI | `bool` | `true` | no | | [ghes\_ssl\_verify](#input\_ghes\_ssl\_verify) | GitHub Enterprise SSL verification. Set to 'false' when custom certificate (chains) is used for GitHub Enterprise Server (insecure). | `bool` | `true` | no | | [ghes\_url](#input\_ghes\_url) | GitHub Enterprise Server URL. DO NOT SET IF USING PUBLIC GITHUB | `string` | `null` | no | -| [github\_app\_parameters](#input\_github\_app\_parameters) | Parameter Store for GitHub App Parameters. |
    object({
    key_base64 = map(string)
    id = map(string)
    })
    | n/a | yes | -| [idle\_config](#input\_idle\_config) | List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle. |
    list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    }))
    | `[]` | no | +| [github\_app\_parameters](#input\_github\_app\_parameters) | Parameter Store for GitHub App Parameters. |
    object({
    key_base64 = map(string)
    id = map(string)
    })
    | n/a | yes | +| [idle\_config](#input\_idle\_config) | List of time period that can be defined as cron expression to keep a minimum amount of runners active instead of scaling down to 0. By defining this list you can ensure that in time periods that match the cron expression within 5 seconds a runner is kept idle. |
    list(object({
    cron = string
    timeZone = string
    idleCount = number
    evictionStrategy = optional(string, "oldest_first")
    }))
    | `[]` | no | | [instance\_allocation\_strategy](#input\_instance\_allocation\_strategy) | The allocation strategy for spot instances. AWS recommends to use `capacity-optimized` however the AWS default is `lowest-price`. | `string` | `"lowest-price"` | no | | [instance\_max\_spot\_price](#input\_instance\_max\_spot\_price) | Max price price for spot intances per hour. This variable will be passed to the create fleet as max spot price for the fleet. | `string` | `null` | no | | [instance\_profile\_path](#input\_instance\_profile\_path) | The path that will be added to the instance\_profile, if not set the prefix will be used. | `string` | `null` | no | | [instance\_target\_capacity\_type](#input\_instance\_target\_capacity\_type) | Default lifecyle used runner instances, can be either `spot` or `on-demand`. | `string` | `"spot"` | no | | [instance\_types](#input\_instance\_types) | List of instance types for the action runner. Defaults are based on runner\_os (al2023 for linux and Windows Server Core for win). | `list(string)` | `null` | no | -| [job\_retry](#input\_job\_retry) | Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app.

    `enable`: Enable or disable the job retry feature.
    `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status.
    `delay_backoff`: The backoff factor for the delay.
    `lambda_memory_size`: Memory size limit in MB for the job retry check lambda.
    'lambda\_reserved\_concurrent\_executions': Amount of reserved concurrent executions for the job retry check lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations.
    `lambda_timeout`: Time out of the job retry check lambda in seconds.
    `max_attempts`: The maximum number of attempts to retry the job. |
    object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_reserved_concurrent_executions = optional(number, 1)

    lambda_timeout = optional(number, 30)

    max_attempts = optional(number, 1)
    })
    | `{}` | no | +| [job\_retry](#input\_job\_retry) | Configure job retries. The configuration enables job retries (for ephemeral runners). After creating the insances a message will be published to a job retry queue. The job retry check lambda is checking after a delay if the job is queued. If not the message will be published again on the scale-up (build queue). Using this feature can impact the reate limit of the GitHub app.

    `enable`: Enable or disable the job retry feature.
    `delay_in_seconds`: The delay in seconds before the job retry check lambda will check the job status.
    `delay_backoff`: The backoff factor for the delay.
    `lambda_memory_size`: Memory size limit in MB for the job retry check lambda.
    'lambda\_reserved\_concurrent\_executions': Amount of reserved concurrent executions for the job retry check lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations.
    `lambda_timeout`: Time out of the job retry check lambda in seconds.
    `max_attempts`: The maximum number of attempts to retry the job. |
    object({
    enable = optional(bool, false)
    delay_in_seconds = optional(number, 300)
    delay_backoff = optional(number, 2)
    lambda_memory_size = optional(number, 256)
    lambda_reserved_concurrent_executions = optional(number, 1)

    lambda_timeout = optional(number, 30)

    max_attempts = optional(number, 1)
    })
    | `{}` | no | | [key\_name](#input\_key\_name) | Key pair name | `string` | `null` | no | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. | `string` | `null` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | @@ -183,11 +183,11 @@ yarn run dist | [log\_level](#input\_log\_level) | Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'. | `string` | `"info"` | no | | [logging\_kms\_key\_id](#input\_logging\_kms\_key\_id) | Specifies the kms key id to encrypt the logs with | `string` | `null` | no | | [logging\_retention\_in\_days](#input\_logging\_retention\_in\_days) | Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653. | `number` | `180` | no | -| [metadata\_options](#input\_metadata\_options) | Metadata options for the ec2 runner instances. By default, the module uses metadata tags for bootstrapping the runner, only disable `instance_metadata_tags` when using custom scripts for starting the runner. | `map(any)` |
    {
    "http_endpoint": "enabled",
    "http_put_response_hop_limit": 1,
    "http_tokens": "required",
    "instance_metadata_tags": "enabled"
    }
    | no | -| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | +| [metadata\_options](#input\_metadata\_options) | Metadata options for the ec2 runner instances. By default, the module uses metadata tags for bootstrapping the runner, only disable `instance_metadata_tags` when using custom scripts for starting the runner. | `map(any)` |
    {
    "http_endpoint": "enabled",
    "http_put_response_hop_limit": 1,
    "http_tokens": "required",
    "instance_metadata_tags": "enabled"
    }
    | no | +| [metrics](#input\_metrics) | Configuration for metrics created by the module, by default metrics are disabled to avoid additional costs. When metrics are enable all metrics are created unless explicit configured otherwise. |
    object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    })
    | `{}` | no | | [minimum\_running\_time\_in\_minutes](#input\_minimum\_running\_time\_in\_minutes) | The time an ec2 action runner should be running at minimum before terminated if non busy. If not set the default is calculated based on the OS. | `number` | `null` | no | -| [overrides](#input\_overrides) | This map provides the possibility to override some defaults. The following attributes are supported: `name_sg` overrides the `Name` tag for all security groups created by this module. `name_runner_agent_instance` overrides the `Name` tag for the ec2 instance defined in the auto launch configuration. `name_docker_machine_runners` overrides the `Name` tag spot instances created by the runner agent. | `map(string)` |
    {
    "name_runner": "",
    "name_sg": ""
    }
    | no | -| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone ` to override the schedule time zone (defaults to UTC). |
    list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    }))
    | `[]` | no | +| [overrides](#input\_overrides) | This map provides the possibility to override some defaults. The following attributes are supported: `name_sg` overrides the `Name` tag for all security groups created by this module. `name_runner_agent_instance` overrides the `Name` tag for the ec2 instance defined in the auto launch configuration. `name_docker_machine_runners` overrides the `Name` tag spot instances created by the runner agent. | `map(string)` |
    {
    "name_runner": "",
    "name_sg": ""
    }
    | no | +| [pool\_config](#input\_pool\_config) | The configuration for updating the pool. The `pool_size` to adjust to by the events triggered by the `schedule_expression`. For example you can configure a cron expression for week days to adjust the pool to 10 and another expression for the weekend to adjust the pool to 1. Use `schedule_expression_timezone ` to override the schedule time zone (defaults to UTC). |
    list(object({
    schedule_expression = string
    schedule_expression_timezone = optional(string)
    size = number
    }))
    | `[]` | no | | [pool\_lambda\_memory\_size](#input\_pool\_lambda\_memory\_size) | Lambda Memory size limit in MB for pool lambda | `number` | `512` | no | | [pool\_lambda\_reserved\_concurrent\_executions](#input\_pool\_lambda\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | | [pool\_lambda\_timeout](#input\_pool\_lambda\_timeout) | Time out for the pool lambda in seconds. | `number` | `60` | no | @@ -203,22 +203,22 @@ yarn run dist | [runner\_group\_name](#input\_runner\_group\_name) | Name of the runner group. | `string` | `"Default"` | no | | [runner\_iam\_role\_managed\_policy\_arns](#input\_runner\_iam\_role\_managed\_policy\_arns) | Attach AWS or customer-managed IAM policies (by ARN) to the runner IAM role | `list(string)` | `[]` | no | | [runner\_labels](#input\_runner\_labels) | All the labels for the runners (GitHub) including the default one's(e.g: self-hosted, linux, x64, label1, label2). Separate each label by a comma | `list(string)` | n/a | yes | -| [runner\_log\_files](#input\_runner\_log\_files) | (optional) List of logfiles to send to CloudWatch, will only be used if `enable_cloudwatch_agent` is set to true. Object description: `log_group_name`: Name of the log group, `prefix_log_group`: If true, the log group name will be prefixed with `/github-self-hosted-runners/`, `file_path`: path to the log file, `log_stream_name`: name of the log stream. |
    list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    }))
    | `null` | no | +| [runner\_log\_files](#input\_runner\_log\_files) | (optional) List of logfiles to send to CloudWatch, will only be used if `enable_cloudwatch_agent` is set to true. Object description: `log_group_name`: Name of the log group, `prefix_log_group`: If true, the log group name will be prefixed with `/github-self-hosted-runners/`, `file_path`: path to the log file, `log_stream_name`: name of the log stream. |
    list(object({
    log_group_name = string
    prefix_log_group = bool
    file_path = string
    log_stream_name = string
    }))
    | `null` | no | | [runner\_name\_prefix](#input\_runner\_name\_prefix) | The prefix used for the GitHub runner name. The prefix will be used in the default start script to prefix the instance name when register the runner in GitHub. The value is availabe via an EC2 tag 'ghr:runner\_name\_prefix'. | `string` | `""` | no | | [runner\_os](#input\_runner\_os) | The EC2 Operating System type to use for action runner instances (linux,windows). | `string` | `"linux"` | no | | [runner\_run\_as](#input\_runner\_run\_as) | Run the GitHub actions agent as user. | `string` | `"ec2-user"` | no | | [runners\_lambda\_s3\_key](#input\_runners\_lambda\_s3\_key) | S3 key for runners lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [runners\_lambda\_s3\_object\_version](#input\_runners\_lambda\_s3\_object\_version) | S3 object version for runners lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | | [runners\_maximum\_count](#input\_runners\_maximum\_count) | The maximum number of runners that will be created. Setting the variable to `-1` desiables the maximum check. | `number` | `3` | no | -| [s3\_runner\_binaries](#input\_s3\_runner\_binaries) | Bucket details for cached GitHub binary. |
    object({
    arn = string
    id = string
    key = string
    })
    | n/a | yes | +| [s3\_runner\_binaries](#input\_s3\_runner\_binaries) | Bucket details for cached GitHub binary. |
    object({
    arn = string
    id = string
    key = string
    })
    | n/a | yes | | [scale\_down\_schedule\_expression](#input\_scale\_down\_schedule\_expression) | Scheduler expression to check every x for scale down. | `string` | `"cron(*/5 * * * ? *)"` | no | | [scale\_up\_reserved\_concurrent\_executions](#input\_scale\_up\_reserved\_concurrent\_executions) | Amount of reserved concurrent executions for the scale-up lambda function. A value of 0 disables lambda from being triggered and -1 removes any concurrency limitations. | `number` | `1` | no | -| [sqs\_build\_queue](#input\_sqs\_build\_queue) | SQS queue to consume accepted build events. |
    object({
    arn = string
    url = string
    })
    | n/a | yes | -| [ssm\_housekeeper](#input\_ssm\_housekeeper) | Configuration for the SSM housekeeper lambda. This lambda deletes token / JIT config from SSM.

    `schedule_expression`: is used to configure the schedule for the lambda.
    `state`: state of the cloudwatch event rule. Valid values are `DISABLED`, `ENABLED`, and `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`.
    `lambda_memory_size`: lambda memery size limit.
    `lambda_timeout`: timeout for the lambda in seconds.
    `config`: configuration for the lambda function. Token path will be read by default from the module. |
    object({
    schedule_expression = optional(string, "rate(1 day)")
    state = optional(string, "ENABLED")
    lambda_memory_size = optional(number, 512)
    lambda_timeout = optional(number, 60)
    config = object({
    tokenPath = optional(string)
    minimumDaysOld = optional(number, 1)
    dryRun = optional(bool, false)
    })
    })
    |
    {
    "config": {}
    }
    | no | -| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secrets. |
    object({
    root = string
    tokens = string
    config = string
    })
    | n/a | yes | +| [sqs\_build\_queue](#input\_sqs\_build\_queue) | SQS queue to consume accepted build events. |
    object({
    arn = string
    url = string
    })
    | n/a | yes | +| [ssm\_housekeeper](#input\_ssm\_housekeeper) | Configuration for the SSM housekeeper lambda. This lambda deletes token / JIT config from SSM.

    `schedule_expression`: is used to configure the schedule for the lambda.
    `state`: state of the cloudwatch event rule. Valid values are `DISABLED`, `ENABLED`, and `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`.
    `lambda_memory_size`: lambda memery size limit.
    `lambda_timeout`: timeout for the lambda in seconds.
    `config`: configuration for the lambda function. Token path will be read by default from the module. |
    object({
    schedule_expression = optional(string, "rate(1 day)")
    state = optional(string, "ENABLED")
    lambda_memory_size = optional(number, 512)
    lambda_timeout = optional(number, 60)
    config = object({
    tokenPath = optional(string)
    minimumDaysOld = optional(number, 1)
    dryRun = optional(bool, false)
    })
    })
    |
    {
    "config": {}
    }
    | no | +| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secrets. |
    object({
    root = string
    tokens = string
    config = string
    })
    | n/a | yes | | [subnet\_ids](#input\_subnet\_ids) | List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`. | `list(string)` | n/a | yes | | [tags](#input\_tags) | Map of tags that will be added to created resources. By default resources will be tagged with name. | `map(string)` | `{}` | no | -| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | +| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | | [userdata\_content](#input\_userdata\_content) | Alternative user-data content, replacing the templated one. By providing your own user\_data you have to take care of installing all required software, including the action runner and registering the runner. Be-aware configuration paramaters in SSM as well as tags are treated as internals. Changes will not trigger a breaking release. | `string` | `null` | no | | [userdata\_post\_install](#input\_userdata\_post\_install) | User-data script snippet to insert after GitHub action runner install | `string` | `""` | no | | [userdata\_pre\_install](#input\_userdata\_pre\_install) | User-data script snippet to insert before GitHub action runner install | `string` | `""` | no | diff --git a/modules/runners/job-retry/README.md b/modules/runners/job-retry/README.md index fae2fa3baf..17b26899e4 100644 --- a/modules/runners/job-retry/README.md +++ b/modules/runners/job-retry/README.md @@ -42,7 +42,7 @@ The module is an inner module and used by the runner module when the opt-in feat | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_organization_runners`: Enable organization runners.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    'ghes\_url': Optional GitHub Enterprise Server URL.
    'github\_app\_parameters': Parameter Store for GitHub App Parameters.
    'kms\_key\_arn': Optional CMK Key ARN instead of using the default AWS managed key.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics`: Configuration to enable metrics creation by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    'sqs\_build\_queue': SQS queue for build events to re-publish job request.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_organization_runners = bool
    environment_variables = optional(map(string), {})
    ghes_url = optional(string, null)
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    kms_key_arn = optional(string, null)
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    queue_encryption = optional(object({
    kms_data_key_reuse_period_seconds = optional(number, null)
    kms_master_key_id = optional(string, null)
    sqs_managed_sse_enabled = optional(bool, true)
    }), {})
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    sqs_build_queue = object({
    url = string
    arn = string
    })
    tags = optional(map(string), {})
    timeout = optional(number, 30)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | +| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `enable_organization_runners`: Enable organization runners.
    `enable_metric`: Enable metric for the lambda. If `spot_warning` is set to true, the lambda will emit a metric when it detects a spot termination warning.
    'ghes\_url': Optional GitHub Enterprise Server URL.
    'github\_app\_parameters': Parameter Store for GitHub App Parameters.
    'kms\_key\_arn': Optional CMK Key ARN instead of using the default AWS managed key.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `metrics`: Configuration to enable metrics creation by the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    'sqs\_build\_queue': SQS queue for build events to re-publish job request.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_organization_runners = bool
    environment_variables = optional(map(string), {})
    ghes_url = optional(string, null)
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    kms_key_arn = optional(string, null)
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, null)
    metric = optional(object({
    enable_github_app_rate_limit = optional(bool, true)
    enable_job_retry = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    queue_encryption = optional(object({
    kms_data_key_reuse_period_seconds = optional(number, null)
    kms_master_key_id = optional(string, null)
    sqs_managed_sse_enabled = optional(bool, true)
    }), {})
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    sqs_build_queue = object({
    url = string
    arn = string
    })
    tags = optional(map(string), {})
    timeout = optional(number, 30)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | ## Outputs diff --git a/modules/runners/pool/README.md b/modules/runners/pool/README.md index 27ed58d598..7534b456ef 100644 --- a/modules/runners/pool/README.md +++ b/modules/runners/pool/README.md @@ -48,8 +48,8 @@ No modules. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [aws\_partition](#input\_aws\_partition) | (optional) partition for the arn if not 'aws' | `string` | `"aws"` | no | -| [config](#input\_config) | Lookup details in parent module. |
    object({
    lambda = object({
    log_level = string
    logging_retention_in_days = number
    logging_kms_key_id = string
    reserved_concurrent_executions = number
    s3_bucket = string
    s3_key = string
    s3_object_version = string
    security_group_ids = list(string)
    runtime = string
    architecture = string
    memory_size = number
    timeout = number
    zip = string
    subnet_ids = list(string)
    })
    tags = map(string)
    ghes = object({
    url = string
    ssl_verify = string
    })
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    subnet_ids = list(string)
    runner = object({
    disable_runner_autoupdate = bool
    ephemeral = bool
    enable_jit_config = bool
    enable_on_demand_failover_for_errors = list(string)
    boot_time_in_minutes = number
    labels = list(string)
    launch_template = object({
    name = string
    })
    group_name = string
    name_prefix = string
    pool_owner = string
    role = object({
    arn = string
    })
    })
    instance_types = list(string)
    instance_target_capacity_type = string
    instance_allocation_strategy = string
    instance_max_spot_price = string
    prefix = string
    pool = list(object({
    schedule_expression = string
    schedule_expression_timezone = string
    size = number
    }))
    role_permissions_boundary = string
    kms_key_arn = string
    ami_kms_key_arn = string
    role_path = string
    ssm_token_path = string
    ssm_config_path = string
    ami_id_ssm_parameter_name = string
    ami_id_ssm_parameter_read_policy_arn = string
    arn_ssm_parameters_path_config = string
    lambda_tags = map(string)
    })
    | n/a | yes | -| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | +| [config](#input\_config) | Lookup details in parent module. |
    object({
    lambda = object({
    log_level = string
    logging_retention_in_days = number
    logging_kms_key_id = string
    reserved_concurrent_executions = number
    s3_bucket = string
    s3_key = string
    s3_object_version = string
    security_group_ids = list(string)
    runtime = string
    architecture = string
    memory_size = number
    timeout = number
    zip = string
    subnet_ids = list(string)
    })
    tags = map(string)
    ghes = object({
    url = string
    ssl_verify = string
    })
    github_app_parameters = object({
    key_base64 = map(string)
    id = map(string)
    })
    subnet_ids = list(string)
    runner = object({
    disable_runner_autoupdate = bool
    ephemeral = bool
    enable_jit_config = bool
    enable_on_demand_failover_for_errors = list(string)
    boot_time_in_minutes = number
    labels = list(string)
    launch_template = object({
    name = string
    })
    group_name = string
    name_prefix = string
    pool_owner = string
    role = object({
    arn = string
    })
    })
    instance_types = list(string)
    instance_target_capacity_type = string
    instance_allocation_strategy = string
    instance_max_spot_price = string
    prefix = string
    pool = list(object({
    schedule_expression = string
    schedule_expression_timezone = string
    size = number
    }))
    role_permissions_boundary = string
    kms_key_arn = string
    ami_kms_key_arn = string
    role_path = string
    ssm_token_path = string
    ssm_config_path = string
    ami_id_ssm_parameter_name = string
    ami_id_ssm_parameter_read_policy_arn = string
    arn_ssm_parameters_path_config = string
    lambda_tags = map(string)
    })
    | n/a | yes | +| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | ## Outputs diff --git a/modules/setup-iam-permissions/README.md b/modules/setup-iam-permissions/README.md index 9b82d9373b..b8a6a4a893 100644 --- a/modules/setup-iam-permissions/README.md +++ b/modules/setup-iam-permissions/README.md @@ -71,7 +71,7 @@ No modules. |------|-------------|------|---------|:--------:| | [account\_id](#input\_account\_id) | The module allows to switch to the created role from the provided account id. | `string` | n/a | yes | | [aws\_partition](#input\_aws\_partition) | (optional) partition in the arn namespace if not aws | `string` | `"aws"` | no | -| [namespaces](#input\_namespaces) | The role will be only allowed to create roles, policies and instance profiles in the given namespace / path. All policies in the boundaries namespace cannot be modified by this role. |
    object({
    boundary_namespace = string
    role_namespace = string
    policy_namespace = string
    instance_profile_namespace = string
    })
    | n/a | yes | +| [namespaces](#input\_namespaces) | The role will be only allowed to create roles, policies and instance profiles in the given namespace / path. All policies in the boundaries namespace cannot be modified by this role. |
    object({
    boundary_namespace = string
    role_namespace = string
    policy_namespace = string
    instance_profile_namespace = string
    })
    | n/a | yes | | [prefix](#input\_prefix) | The prefix used for naming resources | `string` | `"github-actions"` | no | ## Outputs diff --git a/modules/ssm/README.md b/modules/ssm/README.md index f09b5c1182..a188f543f5 100644 --- a/modules/ssm/README.md +++ b/modules/ssm/README.md @@ -34,7 +34,7 @@ No modules. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. | `string` | `null` | no | | [path\_prefix](#input\_path\_prefix) | The path prefix used for naming resources | `string` | n/a | yes | | [tags](#input\_tags) | Map of tags that will be added to created resources. By default resources will be tagged with name and environment. | `map(string)` | `{}` | no | diff --git a/modules/termination-watcher/README.md b/modules/termination-watcher/README.md index 1735b11ccf..849380777f 100644 --- a/modules/termination-watcher/README.md +++ b/modules/termination-watcher/README.md @@ -88,7 +88,7 @@ yarn run dist | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_metric = optional(string, null)
    environment_variables = optional(map(string), {})
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    tag_filters = optional(map(string), null)
    tags = optional(map(string), {})
    timeout = optional(number, null)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | +| [config](#input\_config) | Configuration for the spot termination watcher lambda function.

    `aws_partition`: Partition for the base arn if not 'aws'
    `architecture`: AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions.
    `environment_variables`: Environment variables for the lambda.
    `lambda_principals`: Add extra principals to the role created for execution of the lambda, e.g. for local testing.
    `lambda_tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `log_level`: Logging level for lambda logging. Valid values are 'silly', 'trace', 'debug', 'info', 'warn', 'error', 'fatal'.
    `logging_kms_key_id`: Specifies the kms key id to encrypt the logs with
    `logging_retention_in_days`: Specifies the number of days you want to retain log events for the lambda log group. Possible values are: 0, 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
    `memory_size`: Memory size linit in MB of the lambda.
    `prefix`: The prefix used for naming resources.
    `role_path`: The path that will be added to the role, if not set the environment name will be used.
    `role_permissions_boundary`: Permissions boundary that will be added to the created role for the lambda.
    `runtime`: AWS Lambda runtime.
    `s3_bucket`: S3 bucket from which to specify lambda functions. This is an alternative to providing local files directly.
    `s3_key`: S3 key for syncer lambda function. Required if using S3 bucket to specify lambdas.
    `s3_object_version`: S3 object version for syncer lambda function. Useful if S3 versioning is enabled on source bucket.
    `security_group_ids`: List of security group IDs associated with the Lambda function.
    `subnet_ids`: List of subnets in which the action runners will be launched, the subnets needs to be subnets in the `vpc_id`.
    `tag_filters`: Map of tags that will be used to filter the resources to be tracked. Only for which all tags are present and starting with the same value as the value in the map will be tracked.
    `tags`: Map of tags that will be added to created resources. By default resources will be tagged with name and environment.
    `timeout`: Time out of the lambda in seconds.
    `tracing_config`: Configuration for lambda tracing.
    `zip`: File location of the lambda zip file. |
    object({
    aws_partition = optional(string, null)
    architecture = optional(string, null)
    enable_metric = optional(string, null)
    environment_variables = optional(map(string), {})
    lambda_tags = optional(map(string), {})
    log_level = optional(string, null)
    logging_kms_key_id = optional(string, null)
    logging_retention_in_days = optional(number, null)
    memory_size = optional(number, null)
    metrics = optional(object({
    enable = optional(bool, false)
    namespace = optional(string, "GitHub Runners")
    metric = optional(object({
    enable_spot_termination_warning = optional(bool, true)
    }), {})
    }), {})
    prefix = optional(string, null)
    principals = optional(list(object({
    type = string
    identifiers = list(string)
    })), [])
    role_path = optional(string, null)
    role_permissions_boundary = optional(string, null)
    runtime = optional(string, null)
    s3_bucket = optional(string, null)
    s3_key = optional(string, null)
    s3_object_version = optional(string, null)
    security_group_ids = optional(list(string), [])
    subnet_ids = optional(list(string), [])
    tag_filters = optional(map(string), null)
    tags = optional(map(string), {})
    timeout = optional(number, null)
    tracing_config = optional(object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    }), {})
    zip = optional(string, null)
    })
    | n/a | yes | ## Outputs diff --git a/modules/webhook-github-app/README.md b/modules/webhook-github-app/README.md index b326a79b11..0c09a761c5 100644 --- a/modules/webhook-github-app/README.md +++ b/modules/webhook-github-app/README.md @@ -34,7 +34,7 @@ No modules. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| -| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | +| [github\_app](#input\_github\_app) | GitHub app parameters, see your github app. Ensure the key is the base64-encoded `.pem` file (the output of `base64 app.private-key.pem`, not the content of `private-key.pem`). |
    object({
    key_base64 = string
    id = string
    webhook_secret = string
    })
    | n/a | yes | | [webhook\_endpoint](#input\_webhook\_endpoint) | The endpoint to use for the webhook, defaults to the endpoint of the runners module. | `string` | n/a | yes | ## Outputs diff --git a/modules/webhook/README.md b/modules/webhook/README.md index 54aab121e0..9e6c7f5a5b 100644 --- a/modules/webhook/README.md +++ b/modules/webhook/README.md @@ -78,7 +78,7 @@ No modules. | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [aws\_partition](#input\_aws\_partition) | (optional) partition for the base arn if not 'aws' | `string` | `"aws"` | no | -| [github\_app\_parameters](#input\_github\_app\_parameters) | Parameter Store for GitHub App Parameters. |
    object({
    webhook_secret = map(string)
    })
    | n/a | yes | +| [github\_app\_parameters](#input\_github\_app\_parameters) | Parameter Store for GitHub App Parameters. |
    object({
    webhook_secret = map(string)
    })
    | n/a | yes | | [kms\_key\_arn](#input\_kms\_key\_arn) | Optional CMK Key ARN to be used for Parameter Store. | `string` | `null` | no | | [lambda\_architecture](#input\_lambda\_architecture) | AWS Lambda architecture. Lambda functions using Graviton processors ('arm64') tend to have better price/performance than 'x86\_64' functions. | `string` | `"arm64"` | no | | [lambda\_memory\_size](#input\_lambda\_memory\_size) | Memory size limit in MB for lambda. | `number` | `256` | no | @@ -97,12 +97,12 @@ No modules. | [repository\_white\_list](#input\_repository\_white\_list) | List of github repository full names (owner/repo\_name) that will be allowed to use the github app. Leave empty for no filtering. | `list(string)` | `[]` | no | | [role\_path](#input\_role\_path) | The path that will be added to the role; if not set, the environment name will be used. | `string` | `null` | no | | [role\_permissions\_boundary](#input\_role\_permissions\_boundary) | Permissions boundary that will be added to the created role for the lambda. | `string` | `null` | no | -| [runner\_matcher\_config](#input\_runner\_matcher\_config) | SQS queue to publish accepted build events based on the runner type. When exact match is disabled the webhook accepts the event if one of the workflow job labels is part of the matcher. The priority defines the order the matchers are applied. |
    map(object({
    arn = string
    id = string
    fifo = bool
    matcherConfig = object({
    labelMatchers = list(list(string))
    exactMatch = bool
    priority = optional(number, 999)
    })
    }))
    | n/a | yes | -| [sqs\_workflow\_job\_queue](#input\_sqs\_workflow\_job\_queue) | SQS queue to monitor github events. |
    object({
    id = string
    arn = string
    })
    | `null` | no | -| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secrets. |
    object({
    root = string
    webhook = string
    })
    | n/a | yes | +| [runner\_matcher\_config](#input\_runner\_matcher\_config) | SQS queue to publish accepted build events based on the runner type. When exact match is disabled the webhook accepts the event if one of the workflow job labels is part of the matcher. The priority defines the order the matchers are applied. |
    map(object({
    arn = string
    id = string
    fifo = bool
    matcherConfig = object({
    labelMatchers = list(list(string))
    exactMatch = bool
    priority = optional(number, 999)
    })
    }))
    | n/a | yes | +| [sqs\_workflow\_job\_queue](#input\_sqs\_workflow\_job\_queue) | SQS queue to monitor github events. |
    object({
    id = string
    arn = string
    })
    | `null` | no | +| [ssm\_paths](#input\_ssm\_paths) | The root path used in SSM to store configuration and secrets. |
    object({
    root = string
    webhook = string
    })
    | n/a | yes | | [tags](#input\_tags) | Map of tags that will be added to created resources. By default resources will be tagged with name and environment. | `map(string)` | `{}` | no | -| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | -| [webhook\_lambda\_apigateway\_access\_log\_settings](#input\_webhook\_lambda\_apigateway\_access\_log\_settings) | Access log settings for webhook API gateway. |
    object({
    destination_arn = string
    format = string
    })
    | `null` | no | +| [tracing\_config](#input\_tracing\_config) | Configuration for lambda tracing. |
    object({
    mode = optional(string, null)
    capture_http_requests = optional(bool, false)
    capture_error = optional(bool, false)
    })
    | `{}` | no | +| [webhook\_lambda\_apigateway\_access\_log\_settings](#input\_webhook\_lambda\_apigateway\_access\_log\_settings) | Access log settings for webhook API gateway. |
    object({
    destination_arn = string
    format = string
    })
    | `null` | no | | [webhook\_lambda\_s3\_key](#input\_webhook\_lambda\_s3\_key) | S3 key for webhook lambda function. Required if using S3 bucket to specify lambdas. | `string` | `null` | no | | [webhook\_lambda\_s3\_object\_version](#input\_webhook\_lambda\_s3\_object\_version) | S3 object version for webhook lambda function. Useful if S3 versioning is enabled on source bucket. | `string` | `null` | no | From fb67693a8a71c2013c24cc8b46317e051c66ee8b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 08:02:21 +0200 Subject: [PATCH 89/90] fix(lambda): bump the aws group across 1 directory with 6 updates (#4159) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps the aws group with 6 updates in the /lambdas directory: | Package | From | To | | --- | --- | --- | | [@aws-sdk/client-ec2](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ec2) | `3.657.0` | `3.662.0` | | [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) | `3.654.0` | `3.662.0` | | [@aws-sdk/types](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/types) | `3.654.0` | `3.662.0` | | [@aws-sdk/client-sqs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-sqs) | `3.654.0` | `3.662.0` | | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3) | `3.657.0` | `3.662.0` | | [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage) | `3.657.0` | `3.662.0` | Updates `@aws-sdk/client-ec2` from 3.657.0 to 3.662.0
    Release notes

    Sourced from @​aws-sdk/client-ec2's releases.

    v3.662.0

    3.662.0(2024-10-01)

    New Features
    • clients: update client endpoints as of 2024-10-01 (15702ebd)
    • client-bedrock-agent: This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. (ac898067)
    • client-codeartifact: Add support for the dual stack endpoints. (cb499b9e)
    • client-rds: This release provides additional support for enabling Aurora Limitless Database DB clusters. (b7b061dc)
    Bug Fixes
    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59cf)

    For list of updated packages, view updated-packages.md in assets-3.662.0.zip

    v3.661.0

    3.661.0(2024-09-30)

    Chores
    • codegen: bump smithy-typescript-codegen version to 0.24 (#6530) (dddd1640)
    • enable 'HMAC-SHA256' signatures on turborepo artifacts (#6526) (cf16ea25)
    Documentation Changes
    • client-pricing: Add examples for API operations in model. (5b26c728)
    • client-verifiedpermissions: Add examples for API operations in model. (5b4334c9)
    • client-clouddirectory: Add examples for API operations in model. (24918728)
    New Features
    • client-bedrock: Add support for custom models via provisioned throughput for Bedrock Model Evaluation (171d643e)
    • client-supplychain: Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain (ac246970)
    • client-timestream-influxdb: Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. (23ee6ce6)
    • client-connect: Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts (54f160ee)
    • client-resource-groups: This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. (22f9f330)

    For list of updated packages, view updated-packages.md in assets-3.661.0.zip

    v3.660.0

    3.660.0(2024-09-27)

    Chores

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ec2's changelog.

    3.662.0 (2024-10-01)

    Bug Fixes

    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59c)

    3.658.1 (2024-09-25)

    Bug Fixes

    • clients: allow empty string field values for headers (#6511) (1273ff3)

    3.658.0 (2024-09-24)

    Note: Version bump only for package @​aws-sdk/client-ec2

    Commits
    • 5e91f77 Publish v3.662.0
    • 3c2e59c fix(s3-request-presigner): enable overriding hoistable headers (#6535)
    • ecd9d89 Publish v3.658.1
    • 7fad224 docs(client-ec2): Updates to documentation for the transit gateway security g...
    • 1273ff3 fix(clients): allow empty string field values for headers (#6511)
    • f796530 Publish v3.658.0
    • See full diff in compare view

    Updates `@aws-sdk/client-ssm` from 3.654.0 to 3.662.0
    Release notes

    Sourced from @​aws-sdk/client-ssm's releases.

    v3.662.0

    3.662.0(2024-10-01)

    New Features
    • clients: update client endpoints as of 2024-10-01 (15702ebd)
    • client-bedrock-agent: This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. (ac898067)
    • client-codeartifact: Add support for the dual stack endpoints. (cb499b9e)
    • client-rds: This release provides additional support for enabling Aurora Limitless Database DB clusters. (b7b061dc)
    Bug Fixes
    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59cf)

    For list of updated packages, view updated-packages.md in assets-3.662.0.zip

    v3.661.0

    3.661.0(2024-09-30)

    Chores
    • codegen: bump smithy-typescript-codegen version to 0.24 (#6530) (dddd1640)
    • enable 'HMAC-SHA256' signatures on turborepo artifacts (#6526) (cf16ea25)
    Documentation Changes
    • client-pricing: Add examples for API operations in model. (5b26c728)
    • client-verifiedpermissions: Add examples for API operations in model. (5b4334c9)
    • client-clouddirectory: Add examples for API operations in model. (24918728)
    New Features
    • client-bedrock: Add support for custom models via provisioned throughput for Bedrock Model Evaluation (171d643e)
    • client-supplychain: Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain (ac246970)
    • client-timestream-influxdb: Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. (23ee6ce6)
    • client-connect: Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts (54f160ee)
    • client-resource-groups: This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. (22f9f330)

    For list of updated packages, view updated-packages.md in assets-3.661.0.zip

    v3.660.0

    3.660.0(2024-09-27)

    Chores

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-ssm's changelog.

    3.662.0 (2024-10-01)

    Bug Fixes

    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59c)

    3.658.1 (2024-09-25)

    Bug Fixes

    • clients: allow empty string field values for headers (#6511) (1273ff3)

    3.658.0 (2024-09-24)

    Note: Version bump only for package @​aws-sdk/client-ssm

    Commits

    Updates `@aws-sdk/types` from 3.654.0 to 3.662.0
    Release notes

    Sourced from @​aws-sdk/types's releases.

    v3.662.0

    3.662.0(2024-10-01)

    New Features
    • clients: update client endpoints as of 2024-10-01 (15702ebd)
    • client-bedrock-agent: This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. (ac898067)
    • client-codeartifact: Add support for the dual stack endpoints. (cb499b9e)
    • client-rds: This release provides additional support for enabling Aurora Limitless Database DB clusters. (b7b061dc)
    Bug Fixes
    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59cf)

    For list of updated packages, view updated-packages.md in assets-3.662.0.zip

    v3.661.0

    3.661.0(2024-09-30)

    Chores
    • codegen: bump smithy-typescript-codegen version to 0.24 (#6530) (dddd1640)
    • enable 'HMAC-SHA256' signatures on turborepo artifacts (#6526) (cf16ea25)
    Documentation Changes
    • client-pricing: Add examples for API operations in model. (5b26c728)
    • client-verifiedpermissions: Add examples for API operations in model. (5b4334c9)
    • client-clouddirectory: Add examples for API operations in model. (24918728)
    New Features
    • client-bedrock: Add support for custom models via provisioned throughput for Bedrock Model Evaluation (171d643e)
    • client-supplychain: Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain (ac246970)
    • client-timestream-influxdb: Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. (23ee6ce6)
    • client-connect: Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts (54f160ee)
    • client-resource-groups: This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. (22f9f330)

    For list of updated packages, view updated-packages.md in assets-3.661.0.zip

    v3.660.0

    3.660.0(2024-09-27)

    Chores

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/types's changelog.

    3.662.0 (2024-10-01)

    Bug Fixes

    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59c)
    Commits

    Updates `@aws-sdk/client-sqs` from 3.654.0 to 3.662.0
    Release notes

    Sourced from @​aws-sdk/client-sqs's releases.

    v3.662.0

    3.662.0(2024-10-01)

    New Features
    • clients: update client endpoints as of 2024-10-01 (15702ebd)
    • client-bedrock-agent: This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. (ac898067)
    • client-codeartifact: Add support for the dual stack endpoints. (cb499b9e)
    • client-rds: This release provides additional support for enabling Aurora Limitless Database DB clusters. (b7b061dc)
    Bug Fixes
    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59cf)

    For list of updated packages, view updated-packages.md in assets-3.662.0.zip

    v3.661.0

    3.661.0(2024-09-30)

    Chores
    • codegen: bump smithy-typescript-codegen version to 0.24 (#6530) (dddd1640)
    • enable 'HMAC-SHA256' signatures on turborepo artifacts (#6526) (cf16ea25)
    Documentation Changes
    • client-pricing: Add examples for API operations in model. (5b26c728)
    • client-verifiedpermissions: Add examples for API operations in model. (5b4334c9)
    • client-clouddirectory: Add examples for API operations in model. (24918728)
    New Features
    • client-bedrock: Add support for custom models via provisioned throughput for Bedrock Model Evaluation (171d643e)
    • client-supplychain: Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain (ac246970)
    • client-timestream-influxdb: Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. (23ee6ce6)
    • client-connect: Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts (54f160ee)
    • client-resource-groups: This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. (22f9f330)

    For list of updated packages, view updated-packages.md in assets-3.661.0.zip

    v3.660.0

    3.660.0(2024-09-27)

    Chores

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-sqs's changelog.

    3.662.0 (2024-10-01)

    Bug Fixes

    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59c)

    3.658.1 (2024-09-25)

    Bug Fixes

    • clients: allow empty string field values for headers (#6511) (1273ff3)

    3.658.0 (2024-09-24)

    Note: Version bump only for package @​aws-sdk/client-sqs

    Commits

    Updates `@aws-sdk/client-s3` from 3.657.0 to 3.662.0
    Release notes

    Sourced from @​aws-sdk/client-s3's releases.

    v3.662.0

    3.662.0(2024-10-01)

    New Features
    • clients: update client endpoints as of 2024-10-01 (15702ebd)
    • client-bedrock-agent: This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. (ac898067)
    • client-codeartifact: Add support for the dual stack endpoints. (cb499b9e)
    • client-rds: This release provides additional support for enabling Aurora Limitless Database DB clusters. (b7b061dc)
    Bug Fixes
    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59cf)

    For list of updated packages, view updated-packages.md in assets-3.662.0.zip

    v3.661.0

    3.661.0(2024-09-30)

    Chores
    • codegen: bump smithy-typescript-codegen version to 0.24 (#6530) (dddd1640)
    • enable 'HMAC-SHA256' signatures on turborepo artifacts (#6526) (cf16ea25)
    Documentation Changes
    • client-pricing: Add examples for API operations in model. (5b26c728)
    • client-verifiedpermissions: Add examples for API operations in model. (5b4334c9)
    • client-clouddirectory: Add examples for API operations in model. (24918728)
    New Features
    • client-bedrock: Add support for custom models via provisioned throughput for Bedrock Model Evaluation (171d643e)
    • client-supplychain: Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain (ac246970)
    • client-timestream-influxdb: Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. (23ee6ce6)
    • client-connect: Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts (54f160ee)
    • client-resource-groups: This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. (22f9f330)

    For list of updated packages, view updated-packages.md in assets-3.661.0.zip

    v3.660.0

    3.660.0(2024-09-27)

    Chores

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/client-s3's changelog.

    3.662.0 (2024-10-01)

    Bug Fixes

    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59c)

    3.658.1 (2024-09-25)

    Bug Fixes

    • clients: allow empty string field values for headers (#6511) (1273ff3)

    3.658.0 (2024-09-24)

    Note: Version bump only for package @​aws-sdk/client-s3

    Commits

    Updates `@aws-sdk/lib-storage` from 3.657.0 to 3.662.0
    Release notes

    Sourced from @​aws-sdk/lib-storage's releases.

    v3.662.0

    3.662.0(2024-10-01)

    New Features
    • clients: update client endpoints as of 2024-10-01 (15702ebd)
    • client-bedrock-agent: This release adds support to stop an ongoing ingestion job using the StopIngestionJob API in Agents for Amazon Bedrock. (ac898067)
    • client-codeartifact: Add support for the dual stack endpoints. (cb499b9e)
    • client-rds: This release provides additional support for enabling Aurora Limitless Database DB clusters. (b7b061dc)
    Bug Fixes
    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59cf)

    For list of updated packages, view updated-packages.md in assets-3.662.0.zip

    v3.661.0

    3.661.0(2024-09-30)

    Chores
    • codegen: bump smithy-typescript-codegen version to 0.24 (#6530) (dddd1640)
    • enable 'HMAC-SHA256' signatures on turborepo artifacts (#6526) (cf16ea25)
    Documentation Changes
    • client-pricing: Add examples for API operations in model. (5b26c728)
    • client-verifiedpermissions: Add examples for API operations in model. (5b4334c9)
    • client-clouddirectory: Add examples for API operations in model. (24918728)
    New Features
    • client-bedrock: Add support for custom models via provisioned throughput for Bedrock Model Evaluation (171d643e)
    • client-supplychain: Release DataLakeDataset, DataIntegrationFlow and ResourceTagging APIs for AWS Supply Chain (ac246970)
    • client-timestream-influxdb: Timestream for InfluxDB now supports port configuration and additional customer-modifiable InfluxDB v2 parameters. This release adds Port to the CreateDbInstance and UpdateDbInstance API, and additional InfluxDB v2 parameters to the CreateDbParameterGroup API. (23ee6ce6)
    • client-connect: Amazon Connect introduces StartOutboundChatContact API allowing customers to initiate outbound chat contacts (54f160ee)
    • client-resource-groups: This update includes new APIs to support application groups and to allow users to manage resource tag-sync tasks in applications. (22f9f330)

    For list of updated packages, view updated-packages.md in assets-3.661.0.zip

    v3.660.0

    3.660.0(2024-09-27)

    Chores

    ... (truncated)

    Changelog

    Sourced from @​aws-sdk/lib-storage's changelog.

    3.662.0 (2024-10-01)

    Bug Fixes

    • s3-request-presigner: enable overriding hoistable headers (#6535) (3c2e59c)

    3.658.1 (2024-09-25)

    Bug Fixes

    • clients: allow empty string field values for headers (#6511) (1273ff3)

    3.658.0 (2024-09-24)

    Note: Version bump only for package @​aws-sdk/lib-storage

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 6 +- lambdas/functions/control-plane/package.json | 6 +- .../functions/gh-agent-syncer/package.json | 6 +- .../termination-watcher/package.json | 4 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 4 +- lambdas/yarn.lock | 1667 ++++++++--------- 7 files changed, 811 insertions(+), 884 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index b728ce94b7..d23b92561f 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -39,9 +39,9 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-ec2": "^3.657.0", - "@aws-sdk/client-ssm": "^3.654.0", - "@aws-sdk/types": "^3.654.0", + "@aws-sdk/client-ec2": "^3.662.0", + "@aws-sdk/client-ssm": "^3.662.0", + "@aws-sdk/types": "^3.662.0", "cron-parser": "^4.9.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index b785d57096..da1cc722a3 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -41,9 +41,9 @@ "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", "@aws-lambda-powertools/parameters": "^2.8.0", - "@aws-sdk/client-ec2": "^3.657.0", - "@aws-sdk/client-sqs": "^3.654.0", - "@aws-sdk/types": "^3.654.0", + "@aws-sdk/client-ec2": "^3.662.0", + "@aws-sdk/client-sqs": "^3.662.0", + "@aws-sdk/types": "^3.662.0", "@middy/core": "^4.7.0", "@octokit/auth-app": "6.1.2", "@octokit/core": "5.2.0", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index 020a8d2049..a3816f2ec6 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -37,9 +37,9 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-s3": "^3.657.0", - "@aws-sdk/lib-storage": "^3.657.0", - "@aws-sdk/types": "^3.654.0", + "@aws-sdk/client-s3": "^3.662.0", + "@aws-sdk/lib-storage": "^3.662.0", + "@aws-sdk/types": "^3.662.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "axios": "^1.7.7" diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index 3a10d2912d..cf4d599892 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -36,8 +36,8 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ec2": "^3.657.0", - "@aws-sdk/types": "^3.654.0", + "@aws-sdk/client-ec2": "^3.662.0", + "@aws-sdk/types": "^3.662.0", "@middy/core": "^4.7.0", "typescript": "^5.5.4" }, diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 1af6e92082..14c0893078 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -39,7 +39,7 @@ "dependencies": { "@aws-github-runner/aws-powertools-util": "*", "@aws-github-runner/aws-ssm-util": "*", - "@aws-sdk/client-sqs": "^3.654.0", + "@aws-sdk/client-sqs": "^3.662.0", "@middy/core": "^4.7.0", "@octokit/rest": "20.1.1", "@octokit/types": "^13.6.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index ccc061be92..798575f8bc 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -36,8 +36,8 @@ }, "dependencies": { "@aws-github-runner/aws-powertools-util": "*", - "@aws-sdk/client-ssm": "^3.654.0", - "@aws-sdk/types": "^3.654.0" + "@aws-sdk/client-ssm": "^3.662.0", + "@aws-sdk/types": "^3.662.0" }, "nx": { "includedScripts": [ diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index c9a5d9221a..303d0f4c33 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -103,9 +103,9 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.657.0" - "@aws-sdk/client-ssm": "npm:^3.654.0" - "@aws-sdk/types": "npm:^3.654.0" + "@aws-sdk/client-ec2": "npm:^3.662.0" + "@aws-sdk/client-ssm": "npm:^3.662.0" + "@aws-sdk/types": "npm:^3.662.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/jest": "npm:^29.5.12" @@ -165,8 +165,8 @@ __metadata: resolution: "@aws-github-runner/aws-ssm-util@workspace:libs/aws-ssm-util" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ssm": "npm:^3.654.0" - "@aws-sdk/types": "npm:^3.654.0" + "@aws-sdk/client-ssm": "npm:^3.662.0" + "@aws-sdk/types": "npm:^3.662.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" "@types/express": "npm:^4.17.21" @@ -196,9 +196,9 @@ __metadata: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" "@aws-lambda-powertools/parameters": "npm:^2.8.0" - "@aws-sdk/client-ec2": "npm:^3.657.0" - "@aws-sdk/client-sqs": "npm:^3.654.0" - "@aws-sdk/types": "npm:^3.654.0" + "@aws-sdk/client-ec2": "npm:^3.662.0" + "@aws-sdk/client-sqs": "npm:^3.662.0" + "@aws-sdk/types": "npm:^3.662.0" "@middy/core": "npm:^4.7.0" "@octokit/auth-app": "npm:6.1.2" "@octokit/core": "npm:5.2.0" @@ -235,9 +235,9 @@ __metadata: resolution: "@aws-github-runner/gh-agent-syncer@workspace:functions/gh-agent-syncer" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-s3": "npm:^3.657.0" - "@aws-sdk/lib-storage": "npm:^3.657.0" - "@aws-sdk/types": "npm:^3.654.0" + "@aws-sdk/client-s3": "npm:^3.662.0" + "@aws-sdk/lib-storage": "npm:^3.662.0" + "@aws-sdk/types": "npm:^3.662.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" @@ -267,8 +267,8 @@ __metadata: resolution: "@aws-github-runner/termination-watcher@workspace:functions/termination-watcher" dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" - "@aws-sdk/client-ec2": "npm:^3.657.0" - "@aws-sdk/types": "npm:^3.654.0" + "@aws-sdk/client-ec2": "npm:^3.662.0" + "@aws-sdk/types": "npm:^3.662.0" "@middy/core": "npm:^4.7.0" "@trivago/prettier-plugin-sort-imports": "npm:^4.3.0" "@types/aws-lambda": "npm:^8.10.143" @@ -299,7 +299,7 @@ __metadata: dependencies: "@aws-github-runner/aws-powertools-util": "npm:*" "@aws-github-runner/aws-ssm-util": "npm:*" - "@aws-sdk/client-sqs": "npm:^3.654.0" + "@aws-sdk/client-sqs": "npm:^3.662.0" "@middy/core": "npm:^4.7.0" "@octokit/rest": "npm:20.1.1" "@octokit/types": "npm:^13.6.0" @@ -407,733 +407,733 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-ec2@npm:^3.657.0": - version: 3.657.0 - resolution: "@aws-sdk/client-ec2@npm:3.657.0" +"@aws-sdk/client-ec2@npm:^3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/client-ec2@npm:3.662.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.654.0" - "@aws-sdk/client-sts": "npm:3.654.0" - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/credential-provider-node": "npm:3.654.0" - "@aws-sdk/middleware-host-header": "npm:3.654.0" - "@aws-sdk/middleware-logger": "npm:3.654.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" - "@aws-sdk/middleware-sdk-ec2": "npm:3.654.0" - "@aws-sdk/middleware-user-agent": "npm:3.654.0" - "@aws-sdk/region-config-resolver": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@aws-sdk/util-user-agent-browser": "npm:3.654.0" - "@aws-sdk/util-user-agent-node": "npm:3.654.0" - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/core": "npm:^2.4.3" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/hash-node": "npm:^3.0.6" - "@smithy/invalid-dependency": "npm:^3.0.6" - "@smithy/middleware-content-length": "npm:^3.0.8" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@aws-sdk/client-sso-oidc": "npm:3.662.0" + "@aws-sdk/client-sts": "npm:3.662.0" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/credential-provider-node": "npm:3.662.0" + "@aws-sdk/middleware-host-header": "npm:3.662.0" + "@aws-sdk/middleware-logger": "npm:3.662.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.662.0" + "@aws-sdk/middleware-sdk-ec2": "npm:3.662.0" + "@aws-sdk/middleware-user-agent": "npm:3.662.0" + "@aws-sdk/region-config-resolver": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@aws-sdk/util-user-agent-browser": "npm:3.662.0" + "@aws-sdk/util-user-agent-node": "npm:3.662.0" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/core": "npm:^2.4.7" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/hash-node": "npm:^3.0.7" + "@smithy/invalid-dependency": "npm:^3.0.7" + "@smithy/middleware-content-length": "npm:^3.0.9" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.18" - "@smithy/util-defaults-mode-node": "npm:^3.0.18" - "@smithy/util-endpoints": "npm:^2.1.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" + "@smithy/util-defaults-mode-browser": "npm:^3.0.22" + "@smithy/util-defaults-mode-node": "npm:^3.0.22" + "@smithy/util-endpoints": "npm:^2.1.3" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.5" + "@smithy/util-waiter": "npm:^3.1.6" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/70234c3a4d6415461518935a3b69cf17e1caf3d78d801a9e97149e219a6bfd972ffe67f8943f6f419ea9b347b24c75f79b6b83cf16513e73da558e0dfbe76659 + checksum: 10c0/dc55d1264555929f8fbc79ffb386f94289b657cf75b71799dbb8f71653af23ecb2e364b4b027159ce0c01fe67f143337b74cab5a9b28cb5fe8fcde7cd1d073f4 languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.657.0": - version: 3.657.0 - resolution: "@aws-sdk/client-s3@npm:3.657.0" +"@aws-sdk/client-s3@npm:^3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/client-s3@npm:3.662.0" dependencies: "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.654.0" - "@aws-sdk/client-sts": "npm:3.654.0" - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/credential-provider-node": "npm:3.654.0" - "@aws-sdk/middleware-bucket-endpoint": "npm:3.654.0" - "@aws-sdk/middleware-expect-continue": "npm:3.654.0" - "@aws-sdk/middleware-flexible-checksums": "npm:3.657.0" - "@aws-sdk/middleware-host-header": "npm:3.654.0" - "@aws-sdk/middleware-location-constraint": "npm:3.654.0" - "@aws-sdk/middleware-logger": "npm:3.654.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.654.0" - "@aws-sdk/middleware-ssec": "npm:3.654.0" - "@aws-sdk/middleware-user-agent": "npm:3.654.0" - "@aws-sdk/region-config-resolver": "npm:3.654.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@aws-sdk/util-user-agent-browser": "npm:3.654.0" - "@aws-sdk/util-user-agent-node": "npm:3.654.0" - "@aws-sdk/xml-builder": "npm:3.654.0" - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/core": "npm:^2.4.3" - "@smithy/eventstream-serde-browser": "npm:^3.0.9" - "@smithy/eventstream-serde-config-resolver": "npm:^3.0.6" - "@smithy/eventstream-serde-node": "npm:^3.0.8" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/hash-blob-browser": "npm:^3.1.5" - "@smithy/hash-node": "npm:^3.0.6" - "@smithy/hash-stream-node": "npm:^3.1.5" - "@smithy/invalid-dependency": "npm:^3.0.6" - "@smithy/md5-js": "npm:^3.0.6" - "@smithy/middleware-content-length": "npm:^3.0.8" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@aws-sdk/client-sso-oidc": "npm:3.662.0" + "@aws-sdk/client-sts": "npm:3.662.0" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/credential-provider-node": "npm:3.662.0" + "@aws-sdk/middleware-bucket-endpoint": "npm:3.662.0" + "@aws-sdk/middleware-expect-continue": "npm:3.662.0" + "@aws-sdk/middleware-flexible-checksums": "npm:3.662.0" + "@aws-sdk/middleware-host-header": "npm:3.662.0" + "@aws-sdk/middleware-location-constraint": "npm:3.662.0" + "@aws-sdk/middleware-logger": "npm:3.662.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.662.0" + "@aws-sdk/middleware-sdk-s3": "npm:3.662.0" + "@aws-sdk/middleware-ssec": "npm:3.662.0" + "@aws-sdk/middleware-user-agent": "npm:3.662.0" + "@aws-sdk/region-config-resolver": "npm:3.662.0" + "@aws-sdk/signature-v4-multi-region": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@aws-sdk/util-user-agent-browser": "npm:3.662.0" + "@aws-sdk/util-user-agent-node": "npm:3.662.0" + "@aws-sdk/xml-builder": "npm:3.662.0" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/core": "npm:^2.4.7" + "@smithy/eventstream-serde-browser": "npm:^3.0.10" + "@smithy/eventstream-serde-config-resolver": "npm:^3.0.7" + "@smithy/eventstream-serde-node": "npm:^3.0.9" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/hash-blob-browser": "npm:^3.1.6" + "@smithy/hash-node": "npm:^3.0.7" + "@smithy/hash-stream-node": "npm:^3.1.6" + "@smithy/invalid-dependency": "npm:^3.0.7" + "@smithy/md5-js": "npm:^3.0.7" + "@smithy/middleware-content-length": "npm:^3.0.9" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.18" - "@smithy/util-defaults-mode-node": "npm:^3.0.18" - "@smithy/util-endpoints": "npm:^2.1.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" - "@smithy/util-stream": "npm:^3.1.6" + "@smithy/util-defaults-mode-browser": "npm:^3.0.22" + "@smithy/util-defaults-mode-node": "npm:^3.0.22" + "@smithy/util-endpoints": "npm:^2.1.3" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" + "@smithy/util-stream": "npm:^3.1.9" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.5" + "@smithy/util-waiter": "npm:^3.1.6" tslib: "npm:^2.6.2" - checksum: 10c0/ee49e8751b8bd6a6eeffc01ea4a0ced6e3408beb9dfdcfad08ce8483e92aac3db57a15c0b8b481bc6a2e335e9e09c5916f74d20db9f2b89d07ad0bb06a2df5e7 + checksum: 10c0/5f16e378e18a3a3de0a036455da7b00089fc1d424d888591c161684906c1ca5256cadb34148593ba747efd776d0091340b4a7efac2ac89116be66aacf2efc069 languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/client-sqs@npm:3.654.0" +"@aws-sdk/client-sqs@npm:^3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/client-sqs@npm:3.662.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.654.0" - "@aws-sdk/client-sts": "npm:3.654.0" - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/credential-provider-node": "npm:3.654.0" - "@aws-sdk/middleware-host-header": "npm:3.654.0" - "@aws-sdk/middleware-logger": "npm:3.654.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" - "@aws-sdk/middleware-sdk-sqs": "npm:3.654.0" - "@aws-sdk/middleware-user-agent": "npm:3.654.0" - "@aws-sdk/region-config-resolver": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@aws-sdk/util-user-agent-browser": "npm:3.654.0" - "@aws-sdk/util-user-agent-node": "npm:3.654.0" - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/core": "npm:^2.4.3" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/hash-node": "npm:^3.0.6" - "@smithy/invalid-dependency": "npm:^3.0.6" - "@smithy/md5-js": "npm:^3.0.6" - "@smithy/middleware-content-length": "npm:^3.0.8" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@aws-sdk/client-sso-oidc": "npm:3.662.0" + "@aws-sdk/client-sts": "npm:3.662.0" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/credential-provider-node": "npm:3.662.0" + "@aws-sdk/middleware-host-header": "npm:3.662.0" + "@aws-sdk/middleware-logger": "npm:3.662.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.662.0" + "@aws-sdk/middleware-sdk-sqs": "npm:3.662.0" + "@aws-sdk/middleware-user-agent": "npm:3.662.0" + "@aws-sdk/region-config-resolver": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@aws-sdk/util-user-agent-browser": "npm:3.662.0" + "@aws-sdk/util-user-agent-node": "npm:3.662.0" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/core": "npm:^2.4.7" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/hash-node": "npm:^3.0.7" + "@smithy/invalid-dependency": "npm:^3.0.7" + "@smithy/md5-js": "npm:^3.0.7" + "@smithy/middleware-content-length": "npm:^3.0.9" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.18" - "@smithy/util-defaults-mode-node": "npm:^3.0.18" - "@smithy/util-endpoints": "npm:^2.1.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" + "@smithy/util-defaults-mode-browser": "npm:^3.0.22" + "@smithy/util-defaults-mode-node": "npm:^3.0.22" + "@smithy/util-endpoints": "npm:^2.1.3" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/02fef8bb11eaf55299023a3a72124e79022da26833f85afbb33eb57cd756988c0fd80926ff98236dffef1cd0fc9f76b7ef7faf99c4ef5940b22c6d979b42eb3f + checksum: 10c0/eba08ed118a5f05ba4ec4d228ba3f1f72f4eaa3a6ff3b173652f7535a221e2193b310cc3348bbc5f6a8840c5fb5f19be9363340d0bb365935363dd61ddaaf3fa languageName: node linkType: hard -"@aws-sdk/client-ssm@npm:^3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/client-ssm@npm:3.654.0" +"@aws-sdk/client-ssm@npm:^3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/client-ssm@npm:3.662.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.654.0" - "@aws-sdk/client-sts": "npm:3.654.0" - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/credential-provider-node": "npm:3.654.0" - "@aws-sdk/middleware-host-header": "npm:3.654.0" - "@aws-sdk/middleware-logger": "npm:3.654.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" - "@aws-sdk/middleware-user-agent": "npm:3.654.0" - "@aws-sdk/region-config-resolver": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@aws-sdk/util-user-agent-browser": "npm:3.654.0" - "@aws-sdk/util-user-agent-node": "npm:3.654.0" - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/core": "npm:^2.4.3" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/hash-node": "npm:^3.0.6" - "@smithy/invalid-dependency": "npm:^3.0.6" - "@smithy/middleware-content-length": "npm:^3.0.8" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@aws-sdk/client-sso-oidc": "npm:3.662.0" + "@aws-sdk/client-sts": "npm:3.662.0" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/credential-provider-node": "npm:3.662.0" + "@aws-sdk/middleware-host-header": "npm:3.662.0" + "@aws-sdk/middleware-logger": "npm:3.662.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.662.0" + "@aws-sdk/middleware-user-agent": "npm:3.662.0" + "@aws-sdk/region-config-resolver": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@aws-sdk/util-user-agent-browser": "npm:3.662.0" + "@aws-sdk/util-user-agent-node": "npm:3.662.0" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/core": "npm:^2.4.7" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/hash-node": "npm:^3.0.7" + "@smithy/invalid-dependency": "npm:^3.0.7" + "@smithy/middleware-content-length": "npm:^3.0.9" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.18" - "@smithy/util-defaults-mode-node": "npm:^3.0.18" - "@smithy/util-endpoints": "npm:^2.1.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" + "@smithy/util-defaults-mode-browser": "npm:^3.0.22" + "@smithy/util-defaults-mode-node": "npm:^3.0.22" + "@smithy/util-endpoints": "npm:^2.1.3" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" - "@smithy/util-waiter": "npm:^3.1.5" + "@smithy/util-waiter": "npm:^3.1.6" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/4f3b81768514d70ed29857e305460e8d16374d5726e7cbc32a86272e877211a5b62fc4f7f9f9eb558d70c320c9cdaecd0e9aa6241bd8b5cf5aec0b0b2e2ed4ed + checksum: 10c0/28b016dbcb7aea0f9acddfa9b918791480a4b80558f3216d37e40ad1c6ec19b0633d03e91d304a36b51e650e115f415d14bc5d7750ef0a2795e5c7483e3b4b42 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.654.0" +"@aws-sdk/client-sso-oidc@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.662.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/credential-provider-node": "npm:3.654.0" - "@aws-sdk/middleware-host-header": "npm:3.654.0" - "@aws-sdk/middleware-logger": "npm:3.654.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" - "@aws-sdk/middleware-user-agent": "npm:3.654.0" - "@aws-sdk/region-config-resolver": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@aws-sdk/util-user-agent-browser": "npm:3.654.0" - "@aws-sdk/util-user-agent-node": "npm:3.654.0" - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/core": "npm:^2.4.3" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/hash-node": "npm:^3.0.6" - "@smithy/invalid-dependency": "npm:^3.0.6" - "@smithy/middleware-content-length": "npm:^3.0.8" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/credential-provider-node": "npm:3.662.0" + "@aws-sdk/middleware-host-header": "npm:3.662.0" + "@aws-sdk/middleware-logger": "npm:3.662.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.662.0" + "@aws-sdk/middleware-user-agent": "npm:3.662.0" + "@aws-sdk/region-config-resolver": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@aws-sdk/util-user-agent-browser": "npm:3.662.0" + "@aws-sdk/util-user-agent-node": "npm:3.662.0" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/core": "npm:^2.4.7" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/hash-node": "npm:^3.0.7" + "@smithy/invalid-dependency": "npm:^3.0.7" + "@smithy/middleware-content-length": "npm:^3.0.9" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.18" - "@smithy/util-defaults-mode-node": "npm:^3.0.18" - "@smithy/util-endpoints": "npm:^2.1.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" + "@smithy/util-defaults-mode-browser": "npm:^3.0.22" + "@smithy/util-defaults-mode-node": "npm:^3.0.22" + "@smithy/util-endpoints": "npm:^2.1.3" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.654.0 - checksum: 10c0/0b377b7c1fb9913d58817dab8bbcefe9361a74b9a512a50315173547ade3e84b4f101cee7415ba90985c67419edc1542938cae8e5ef0ed83a44ae9a687c88eb1 + "@aws-sdk/client-sts": ^3.662.0 + checksum: 10c0/8da2e46cba4a308f0b0adc77fb1409126e41cbe33b4e1f5e9f041c77182b079732368ba292188021e00eacee796c3ebe1b18665a72b0a33272f43590fb10bb70 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/client-sso@npm:3.654.0" +"@aws-sdk/client-sso@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/client-sso@npm:3.662.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/middleware-host-header": "npm:3.654.0" - "@aws-sdk/middleware-logger": "npm:3.654.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" - "@aws-sdk/middleware-user-agent": "npm:3.654.0" - "@aws-sdk/region-config-resolver": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@aws-sdk/util-user-agent-browser": "npm:3.654.0" - "@aws-sdk/util-user-agent-node": "npm:3.654.0" - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/core": "npm:^2.4.3" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/hash-node": "npm:^3.0.6" - "@smithy/invalid-dependency": "npm:^3.0.6" - "@smithy/middleware-content-length": "npm:^3.0.8" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/middleware-host-header": "npm:3.662.0" + "@aws-sdk/middleware-logger": "npm:3.662.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.662.0" + "@aws-sdk/middleware-user-agent": "npm:3.662.0" + "@aws-sdk/region-config-resolver": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@aws-sdk/util-user-agent-browser": "npm:3.662.0" + "@aws-sdk/util-user-agent-node": "npm:3.662.0" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/core": "npm:^2.4.7" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/hash-node": "npm:^3.0.7" + "@smithy/invalid-dependency": "npm:^3.0.7" + "@smithy/middleware-content-length": "npm:^3.0.9" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.18" - "@smithy/util-defaults-mode-node": "npm:^3.0.18" - "@smithy/util-endpoints": "npm:^2.1.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" + "@smithy/util-defaults-mode-browser": "npm:^3.0.22" + "@smithy/util-defaults-mode-node": "npm:^3.0.22" + "@smithy/util-endpoints": "npm:^2.1.3" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/962958406a0a396133681e1a0d4d2ed9103ee0a1ef7ca55d728b04bf70e601c054b71d3a44aca1319cbe0eb2d4f026be5eef5f56bc262c98f5a1f71ebf46e7b6 + checksum: 10c0/3717b9425c74edeff722f41f4bddb2e1b44d4a020998b9e3a384a45576a0a36954b3b98d464dcb3505aa8c824c522e5fa4fd26fade24b0c10a593c0ecc8e7d7e languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/client-sts@npm:3.654.0" +"@aws-sdk/client-sts@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/client-sts@npm:3.662.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/client-sso-oidc": "npm:3.654.0" - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/credential-provider-node": "npm:3.654.0" - "@aws-sdk/middleware-host-header": "npm:3.654.0" - "@aws-sdk/middleware-logger": "npm:3.654.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.654.0" - "@aws-sdk/middleware-user-agent": "npm:3.654.0" - "@aws-sdk/region-config-resolver": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@aws-sdk/util-user-agent-browser": "npm:3.654.0" - "@aws-sdk/util-user-agent-node": "npm:3.654.0" - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/core": "npm:^2.4.3" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/hash-node": "npm:^3.0.6" - "@smithy/invalid-dependency": "npm:^3.0.6" - "@smithy/middleware-content-length": "npm:^3.0.8" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.18" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@aws-sdk/client-sso-oidc": "npm:3.662.0" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/credential-provider-node": "npm:3.662.0" + "@aws-sdk/middleware-host-header": "npm:3.662.0" + "@aws-sdk/middleware-logger": "npm:3.662.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.662.0" + "@aws-sdk/middleware-user-agent": "npm:3.662.0" + "@aws-sdk/region-config-resolver": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@aws-sdk/util-user-agent-browser": "npm:3.662.0" + "@aws-sdk/util-user-agent-node": "npm:3.662.0" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/core": "npm:^2.4.7" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/hash-node": "npm:^3.0.7" + "@smithy/invalid-dependency": "npm:^3.0.7" + "@smithy/middleware-content-length": "npm:^3.0.9" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-body-length-browser": "npm:^3.0.0" "@smithy/util-body-length-node": "npm:^3.0.0" - "@smithy/util-defaults-mode-browser": "npm:^3.0.18" - "@smithy/util-defaults-mode-node": "npm:^3.0.18" - "@smithy/util-endpoints": "npm:^2.1.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" + "@smithy/util-defaults-mode-browser": "npm:^3.0.22" + "@smithy/util-defaults-mode-node": "npm:^3.0.22" + "@smithy/util-endpoints": "npm:^2.1.3" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/14325d58391c5c66b253c22db01da784590d9575624a1ad54eec0375787e47201fa5d986cbb5c021371f3d9494a738edc4a463056d7b2dc23a2644054926617b + checksum: 10c0/36e8a76a8d95ecc11cff35b5071ab2040978854e86013822bda5c1a78bce3a30b5fa3842a28aec850457f782d2d793445642777eb05619948dd17702a5418623 languageName: node linkType: hard -"@aws-sdk/core@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/core@npm:3.654.0" +"@aws-sdk/core@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/core@npm:3.662.0" dependencies: - "@smithy/core": "npm:^2.4.3" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/signature-v4": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/core": "npm:^2.4.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/signature-v4": "npm:^4.2.0" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/util-middleware": "npm:^3.0.7" fast-xml-parser: "npm:4.4.1" tslib: "npm:^2.6.2" - checksum: 10c0/da28677ed50051abd1acaa5b17481b1da328bfb472d3e9b3ddc29ec090081dd044f97bef9ae2b1d6666db83351812fcb5b426f7d07e9d5845884089485dbb922 + checksum: 10c0/4cbc9f0a230e26d33d92e0816ba72c2f123bcbe805bd2e5b6487e479d97566d57a7274e509da72d2d4eba6aa8a796f794ee0022225150068029a68e5457802fb languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.654.0" +"@aws-sdk/credential-provider-env@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/2ecce2029c7b304450bd5564cb17934b71140fb8fe57bf990c49047b19c434ce820b6d6e169377029ab3260d0d03af2fa976e7cc157f34e50136b71b6f3543f7 + checksum: 10c0/001b340d1e04f6ae9662d3ffcd12ed79a21dea1c3f5e89ae3a7595a4d6812e8e73aab1dcd082cc1bfbf31e71dd0e3af191e4b7659bc5f6a56ba8bfa45bb3bdae languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.654.0" +"@aws-sdk/credential-provider-http@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-stream": "npm:^3.1.6" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/util-stream": "npm:^3.1.9" tslib: "npm:^2.6.2" - checksum: 10c0/525c13f872c7ff3d923cf5125ed434ce8ec07b14e395712aa014ecfef361fe0029301d2e234771425d7e94ca946f83b1c493c65cb38c41fc2424371f70f9516a + checksum: 10c0/2671078c877f7b4dd2bd36fd1f543e08c2f3ff3a4c5499036d81a735a343cb98759d3d8b9ad184b22c42676ada0b3441e6d02d2e9abb24e933b90986671507eb languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.654.0" +"@aws-sdk/credential-provider-ini@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.662.0" dependencies: - "@aws-sdk/credential-provider-env": "npm:3.654.0" - "@aws-sdk/credential-provider-http": "npm:3.654.0" - "@aws-sdk/credential-provider-process": "npm:3.654.0" - "@aws-sdk/credential-provider-sso": "npm:3.654.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@smithy/credential-provider-imds": "npm:^3.2.3" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/shared-ini-file-loader": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/credential-provider-env": "npm:3.662.0" + "@aws-sdk/credential-provider-http": "npm:3.662.0" + "@aws-sdk/credential-provider-process": "npm:3.662.0" + "@aws-sdk/credential-provider-sso": "npm:3.662.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/credential-provider-imds": "npm:^3.2.4" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/shared-ini-file-loader": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.654.0 - checksum: 10c0/1b8767645e1db257d0861b600a1d5121790aa922bd88716997567933d3b8c55c8c10d2a99058ec4efd6cbffc855f1d666b40e3bccbe072e1f3a9571700ae1712 + "@aws-sdk/client-sts": ^3.662.0 + checksum: 10c0/347214a343460a55bde1ea35765f57db2a226a6528ed564d297419ad1f91307f5e424e2d9202cda376bf32f12fc699742f3d43ecdae24642d8163ca880b68f9f languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.654.0" +"@aws-sdk/credential-provider-node@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.662.0" dependencies: - "@aws-sdk/credential-provider-env": "npm:3.654.0" - "@aws-sdk/credential-provider-http": "npm:3.654.0" - "@aws-sdk/credential-provider-ini": "npm:3.654.0" - "@aws-sdk/credential-provider-process": "npm:3.654.0" - "@aws-sdk/credential-provider-sso": "npm:3.654.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@smithy/credential-provider-imds": "npm:^3.2.3" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/shared-ini-file-loader": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/credential-provider-env": "npm:3.662.0" + "@aws-sdk/credential-provider-http": "npm:3.662.0" + "@aws-sdk/credential-provider-ini": "npm:3.662.0" + "@aws-sdk/credential-provider-process": "npm:3.662.0" + "@aws-sdk/credential-provider-sso": "npm:3.662.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/credential-provider-imds": "npm:^3.2.4" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/shared-ini-file-loader": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/a18bd7157006143db7c785067965cb22e834bdf9497c9fb471ec9d16359a1ba65b4285162fda545838d6b1850fc07d03bfaa4621881d4c2c3835fe924f376b84 + checksum: 10c0/904842a2da5f066debb3973a6b3b4ff09959cfdba6857bd9cfff3046445c02a937ebf3bccff7d43e5cdcb84b952dce7923807d6993d0020101115e594d202391 languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.654.0" +"@aws-sdk/credential-provider-process@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/shared-ini-file-loader": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/shared-ini-file-loader": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/388f6dcf7522dd3fdec125e164414253b937513365ffe5a4274237e83990153f33014013562ca5d4aa38d9510d2fc747ccee81b369fca6461b0f926a049aeaef + checksum: 10c0/987c8271d2dccc3a3c1a18c3232e0d7df44342eb984ef461df4ea192c7414d4fa18c9b9250e070176aecae73bcd6fb2f1137a07385f0519795c4c5be53e52d1e languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.654.0" +"@aws-sdk/credential-provider-sso@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.662.0" dependencies: - "@aws-sdk/client-sso": "npm:3.654.0" - "@aws-sdk/token-providers": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/shared-ini-file-loader": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/client-sso": "npm:3.662.0" + "@aws-sdk/token-providers": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/shared-ini-file-loader": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/5b8eb3931f747203c12049361a2cea08bdb6aa6e05a266715fe19cbed5b6c5b029b87a0261ae6fcaa878f1d0a59b52c93ce7e7def99385fca75729e098f256e4 + checksum: 10c0/f1e60f41dbf88b46c39d9c5ff8e1b171220360189e504b16b660f18334eaa42162f4cc7f43a0b2710b33457f0e84db69f46d7097dcb1c769a4cb69d4a539f3af languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.654.0" +"@aws-sdk/credential-provider-web-identity@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sts": ^3.654.0 - checksum: 10c0/6bafd02301ff2f5d030bb2242056be7fb02713d0ab70a43e18ac7a77d6d08460b36b7c833d9446388d93e16158fdcbb6b463754a131a962a8b14a639e01da3b2 + "@aws-sdk/client-sts": ^3.662.0 + checksum: 10c0/568cc4ff03eb71e0a1466ef76f84d4884b6cb647800766d1e27892d8f1fa4f1e154aa2680463bb74d8452aaf3db7efa49e736e86f0b55d6914d7ca6b4102bd04 languageName: node linkType: hard -"@aws-sdk/lib-storage@npm:^3.657.0": - version: 3.657.0 - resolution: "@aws-sdk/lib-storage@npm:3.657.0" +"@aws-sdk/lib-storage@npm:^3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/lib-storage@npm:3.662.0" dependencies: - "@smithy/abort-controller": "npm:^3.1.4" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/smithy-client": "npm:^3.3.2" + "@smithy/abort-controller": "npm:^3.1.5" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/smithy-client": "npm:^3.3.6" buffer: "npm:5.6.0" events: "npm:3.3.0" stream-browserify: "npm:3.0.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-s3": ^3.657.0 - checksum: 10c0/28e1c80b44887c3870f1c423f397355890ec68ffc4b027957335741d75675869b7280da758d3ed49b1949e3f2b4df29dee9a1594eb98412d81caff6bb07a83db + "@aws-sdk/client-s3": ^3.662.0 + checksum: 10c0/06e963cb98985420899e44ca1f778b9706b947ede7504c1a7e91c8ffe7b54a8784e1352f4ff979db8831a334c23f61929ef9d0db0c1893d829940aecd27fda07 languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.654.0" +"@aws-sdk/middleware-bucket-endpoint@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/types": "npm:3.662.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" "@smithy/util-config-provider": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/7e2ce6c7ac7e0556e8d5acb97e893758bd45225fa2b34983b6c6b266662124f161379fb7377ba3b282fca76919c85e2d64e040a5fc5baccbf6fe59ca679161a6 + checksum: 10c0/836248328b4a78566dc723b23a367263219b039ff23d38aeb812212cb6bdd8b76853045528a65d37cd82b111fd997c4685e3c9672ff952ca1040321a717786c1 languageName: node linkType: hard -"@aws-sdk/middleware-expect-continue@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.654.0" +"@aws-sdk/middleware-expect-continue@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/c15f81815b57876c4f8bfa7ea6f9f3185f11bcc096d08d62f109764b3be0a33d457393f658b03f093baa53eb46f356ecfa6b1f4064883509c053a9519567a536 + checksum: 10c0/a179c977610928b50c3b4248b037bd2ae35bf723ad904d3d8fd6761885da43adf5761e2f2a6b61ebbe75700111714f2dc70a1b59cef53a536bb329c8d99d3c8f languageName: node linkType: hard -"@aws-sdk/middleware-flexible-checksums@npm:3.657.0": - version: 3.657.0 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.657.0" +"@aws-sdk/middleware-flexible-checksums@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.662.0" dependencies: "@aws-crypto/crc32": "npm:5.2.0" "@aws-crypto/crc32c": "npm:5.2.0" - "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/types": "npm:3.662.0" "@smithy/is-array-buffer": "npm:^3.0.0" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" + "@smithy/util-middleware": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/3d8e75f0d8e84d2ff6ed78e1b35e6b5509f10c1a565f7e29e2d972469c0d14a0a385087f8ec42d99b9af01e8452c91353098e17ab9b91528fbe96d32671767b6 + checksum: 10c0/418b2b76b4cbda28c5115443cc25a818bc289dd008315b772105f82ce6fd7019a86063398750be3cf7ae0cfb8ccb2722962511b987592f989739a0e80dee8f1d languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.654.0" +"@aws-sdk/middleware-host-header@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/4d027e87f8ee18424ae326a7484bf1a52258cc89037641bc7fcd9e9e34bc936e754ec4cc6ccdfa545e1ec1e1ba5361dbd539de9b0e525161d7a70433ef475802 + checksum: 10c0/076c42bd9f95950546e930189dacdf65643a922cd2844751cce6eb66c56ce6657d525ac31dfb7fb6a8a7110693a6dd34f727c89890e88aec65c6ed80cfbdd0b7 languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.654.0" +"@aws-sdk/middleware-location-constraint@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/5b3e09667777048d53f50da237cffbef7d931b550d3a502460907f84542d30878f504cb39d4b830a7b34cbf6e9a42a14849fe8cf63d52facf23e50834d4dce8f + checksum: 10c0/7845fd4b14d58ff1a2520f0c61c975cd69de6d7949c68ece08a647bd07133cbd07d27740b50ad9fd4f0181eadd71ad156c642d52ff75cfd0a03b28c3419ca885 languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-logger@npm:3.654.0" +"@aws-sdk/middleware-logger@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-logger@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/cab9e99eef8a205f6d9c0dc5db14797e8f983a32604658f517ad3f5f62f0d427784b9f11ed686024c7b2c4265d8ef3c346ccb65a7a2733449c142678b56dcaef + checksum: 10c0/0d15b9194285be80d5582d21dcb799f23e99613ac0cb3612b84693b26a52a62cef64fd7b0d954da43d0137f4b82e2e32eb1af8936485df0b3f1f74468bbc43b9 languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.654.0" +"@aws-sdk/middleware-recursion-detection@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/52752ca2cbc23fb29af27f58c6218b3714770898d06535da61586c4335b31b40d8c82fa05a5412aa731b65f149f496604fbe1615acdaaec989eba41116d5a48c + checksum: 10c0/85ad0a284b418a54eb83ca66d51406fa9ad174c01ce2919ae5e932f733d0ae897a11d13332e59abbfe1f8c4f2857b56a38b794195583bfb0b560a4432c95e7cf languageName: node linkType: hard -"@aws-sdk/middleware-sdk-ec2@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.654.0" +"@aws-sdk/middleware-sdk-ec2@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-sdk-ec2@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-format-url": "npm:3.654.0" - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/signature-v4": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-format-url": "npm:3.662.0" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/signature-v4": "npm:^4.2.0" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/4e3c1086a92890d1dfbbc0ea931b120b3757006c4b9a1d765549a14dd3213173c15cd9f574ab07ca817b9dc07c05394e3a89513ef84b842a9bb0631bca6d047b + checksum: 10c0/92ac6707742a845aefbdac49568fe7b74fc4c8d8d934998a8ce2ea586cab4c6acfcdf0d0923a4257834249341d6a44b34badbc2826070218a55c2af7a2b46a9e languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.654.0" +"@aws-sdk/middleware-sdk-s3@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.662.0" dependencies: - "@aws-sdk/core": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" + "@aws-sdk/core": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" "@aws-sdk/util-arn-parser": "npm:3.568.0" - "@smithy/core": "npm:^2.4.3" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/signature-v4": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" + "@smithy/core": "npm:^2.4.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/signature-v4": "npm:^4.2.0" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-stream": "npm:^3.1.6" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-stream": "npm:^3.1.9" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/7c3a01a9eea6711b047cb6556fa9cf4db72b7aa67ea79ed751573a300894935103faa12da5a6bdb9e212d6aa235efe6865111fb8c1566d42a045a1bdb77cd2ca + checksum: 10c0/513c129d2e0d96c26145a3b999bd6504b9fb13687c1cfe7583aa53ccb9ab99342ee4eb6d52a12763c3e407d891dfeee6eeb73562d9b5447229c8154667e0d1b6 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sqs@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.654.0" +"@aws-sdk/middleware-sdk-sqs@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" "@smithy/util-hex-encoding": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/711f533387643ad82082202bf64a98aaf9713d03ec782bb236d93b05b3fb2b8064d7ee060d7f31faa5f1671d78ab9ab73b7a62f56234167f840d2b0ce2541e72 + checksum: 10c0/8f8acb3605cf039164457cf91c686a4f8c76fd2a7a9d90454aa2c74536c6da73037fe0c8ddac1f441a5a6bbcb35c90af01b2ee102353bf5a467d44805d62bfc0 languageName: node linkType: hard -"@aws-sdk/middleware-ssec@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.654.0" +"@aws-sdk/middleware-ssec@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/cde203fbdabfffab478edb72f66b8f5f6d57f604b784219416f4c78e4e02265492f7ca7204aa20ca876b600325d0c58880dc10b062a8a9e8e1b21de532863b14 + checksum: 10c0/1a0f7291882b3948af8ec26f9a9cf68ff19077eac0ef83939b94af930fc079aece861390b2497d0518206c2f524a4f41981f395d42fc342717839e4bee8e49e4 languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.654.0" +"@aws-sdk/middleware-user-agent@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@aws-sdk/util-endpoints": "npm:3.654.0" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@aws-sdk/util-endpoints": "npm:3.662.0" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/f6678b1d6bc045d97c52520c381e88bec6d449d7be4f2751d68cd26ed743045b5af60aa2e26326c9a86cec9045d6c7b8711ae31e611bff09b367aa70b5d14710 + checksum: 10c0/b6888ceaba4abf65d705d97778ac440ec09228dd49dbc3eb80402a51482e085b366ec71e91b6f68ea3ee563d734dcd1483f863e94fe1be1f3626ed37c55ccb0f languageName: node linkType: hard -"@aws-sdk/region-config-resolver@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/region-config-resolver@npm:3.654.0" +"@aws-sdk/region-config-resolver@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-middleware": "npm:^3.0.7" tslib: "npm:^2.6.2" - checksum: 10c0/77daa7139977b991db77945a2b6fc5fc642ff780ee4dfa6269687a007730bd1af2e21a49bcd7f82ddd893d79fafccd5621d24324619588acca8fd66dd642946e + checksum: 10c0/d73eea8ce455a54f96797c9d6f53bb187094685391c9ce17900df34f38ac4aee80342b41513f664f65472ca1fde84dd6a61dec93cde4678e7300438f535c1439 languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.654.0" +"@aws-sdk/signature-v4-multi-region@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.662.0" dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.654.0" - "@aws-sdk/types": "npm:3.654.0" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/signature-v4": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/middleware-sdk-s3": "npm:3.662.0" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/signature-v4": "npm:^4.2.0" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/cfb791ae464600e8a7fe6f292b0020ff406460a8e67bfe3c500b9219c2849e092acf12b5cbb73b2492d3e4b4898b09fa009e2561c4a4c8b2fd55a414baf3f8fb + checksum: 10c0/4282de6f344bcf98723be6058be1c5a795a08fe5ca9ce65a59e10779847d8b203321e011e00e44a8812f6c59045707588d3fd616d07299924c7134f9a81b7cff languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/token-providers@npm:3.654.0" +"@aws-sdk/token-providers@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/token-providers@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/shared-ini-file-loader": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/shared-ini-file-loader": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" peerDependencies: - "@aws-sdk/client-sso-oidc": ^3.654.0 - checksum: 10c0/b49c7eb1e6cde2c0c8728c46a9a0f9f55a4b54c14afeccf90aff72b30c1a7320bc472c5dd35a32d61734ba6533b745065194ef4fe18f69241b4d1b96532224c2 + "@aws-sdk/client-sso-oidc": ^3.662.0 + checksum: 10c0/45fcff8ff38500e1310372aa1c632943acee0e8f7c6652cb6ceca03d08135c35250d5f010120b6d52bcd407400602b0edcb9763ef0de4737e62cf9f54e575275 languageName: node linkType: hard -"@aws-sdk/types@npm:3.654.0, @aws-sdk/types@npm:^3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/types@npm:3.654.0" +"@aws-sdk/types@npm:3.662.0, @aws-sdk/types@npm:^3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/types@npm:3.662.0" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/24c31b3685ada211a5a6ab35c95fdc6120189a8766fc02dafcf749febb895ee806a055c04c4a023146dc587bce3cf1053a23029285d6d3b3e8c197937d6a7843 + checksum: 10c0/c6df992bc3f58c6fe91228c59042a5bbeec1353eb99af4ec23e380432c7d3ed3d3d36a3fa98d2d0744bcf806645df45a2d74c0d75acee59e3125485bb45d500a languageName: node linkType: hard @@ -1156,27 +1156,27 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/util-endpoints@npm:3.654.0" +"@aws-sdk/util-endpoints@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/util-endpoints@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-endpoints": "npm:^2.1.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/types": "npm:^3.5.0" + "@smithy/util-endpoints": "npm:^2.1.3" tslib: "npm:^2.6.2" - checksum: 10c0/12b06f3b9f46bb4a1c0a77baf4d5b295a835d46f5d8eacc7a148ce036013fb29109c458746457e88653a3d32db97fd655ec04e37abaa193c713d4d71e003f53c + checksum: 10c0/d360a4a2ed44215a6ea8675eb8b6439620411a2469a7551541bf1dd056be838a7b1192c6600ba66e0b22633ee368fcd74d8b7663a5a37f1f26253c2c9d47fc77 languageName: node linkType: hard -"@aws-sdk/util-format-url@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/util-format-url@npm:3.654.0" +"@aws-sdk/util-format-url@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/util-format-url@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/querystring-builder": "npm:^3.0.6" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/querystring-builder": "npm:^3.0.7" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/a9f1df6a9828ef4519db99675d333c33f1c93b4da777707c5bee3ccdf5cf54ec8306c05f146c306e36acc5df6a17da03442c9d30bb672923b6f00bfec6d34f69 + checksum: 10c0/622198083087cdc205e2c93f12010272cf3da9d9624343cdcafe70201e986aa399d855b6c3c0e8703fa61bf7efa459d92fe9a97cca55d8c06c1d5c98c61738fc languageName: node linkType: hard @@ -1189,42 +1189,42 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.654.0" +"@aws-sdk/util-user-agent-browser@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/types": "npm:^3.5.0" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/b3d317ffad06e5d3167699f5afe89339d6d51d8ce882e3db142f6da4331b485f0fa641dc0e80c4fe695643918cfa6ad5892f0412e368819e796f3fae19f5a811 + checksum: 10c0/6de7705b174acc2d8eea8d98fa0f50886acdfe78c9de18b8a143fbdf8e539e60328457591f71ea14844b8d97e1279596dbb29e0bff7b4b87a7c5b0133d09fccf languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.654.0" +"@aws-sdk/util-user-agent-node@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.662.0" dependencies: - "@aws-sdk/types": "npm:3.654.0" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@aws-sdk/types": "npm:3.662.0" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: 10c0/3744c81a91f994a56ac8990729ea1560b0f5778917ddf38dacb5d3f28604aa8d6c595351225107852a49e3f47e4e9b274caec97a32ba6c91b87e807294f9218b + checksum: 10c0/e8de89ed58a55fbba75e60d1bd4bb41bd4a1ce06d402fdde11ba523739d1d7d5d91138ec1a7c20c790b58897c6a8468f34440c75fddf0c775590431889f0eb17 languageName: node linkType: hard -"@aws-sdk/xml-builder@npm:3.654.0": - version: 3.654.0 - resolution: "@aws-sdk/xml-builder@npm:3.654.0" +"@aws-sdk/xml-builder@npm:3.662.0": + version: 3.662.0 + resolution: "@aws-sdk/xml-builder@npm:3.662.0" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/bf67401ce24aaf989646c80e251e26fab40e3b60aea2d3ea03759d0185a9d8565e7b54ea1fd5a62bf188934304e4e38e7814f3941589b2d3aaaa3384f7af358b + checksum: 10c0/19d7b9dc63e9e071fbe5608cba00e1edfc89529e76034b336bf019f4950aebaf25913bcf4545b3380a2e53df93d3914d160abe2091e97d91138efb2855649a48 languageName: node linkType: hard @@ -4206,13 +4206,13 @@ __metadata: languageName: node linkType: hard -"@smithy/abort-controller@npm:^3.1.4": - version: 3.1.4 - resolution: "@smithy/abort-controller@npm:3.1.4" +"@smithy/abort-controller@npm:^3.1.5": + version: 3.1.5 + resolution: "@smithy/abort-controller@npm:3.1.5" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/233f2554ab1fb356228e4e88d74e811953a030763a7ce9fd4632d31f385f88b27105605bc2f93173e50741055c724a101eafcd5db92800e3c8430c08cdd65302 + checksum: 10c0/384e3dca60720bc9048092b1765ec619c5c64844732ca1439ca90d6ea7454eed12d071a536d8c243410512cc39ad1683607415dbeaf89816ddb142bbe10cf789 languageName: node linkType: hard @@ -4235,173 +4235,160 @@ __metadata: languageName: node linkType: hard -"@smithy/config-resolver@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/config-resolver@npm:3.0.8" +"@smithy/config-resolver@npm:^3.0.9": + version: 3.0.9 + resolution: "@smithy/config-resolver@npm:3.0.9" dependencies: - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" "@smithy/util-config-provider": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-middleware": "npm:^3.0.7" tslib: "npm:^2.6.2" - checksum: 10c0/78d9451032ff9227f1bb70ccd7949cb35addd93c33c672da01f931071c0026ed950517fc80d52d75a51aa24f6caa45285e20a04e71a1d8189eb910e3e00daf18 + checksum: 10c0/714504c9341bc4fcc0c5fc86304602a03a26c7ca589945f41d967c8449bb12b6336da423caca04e0c0349c28b6ec7615e29bbbcbc89a68406ec9f39ac5aac483 languageName: node linkType: hard -"@smithy/core@npm:^2.4.3": - version: 2.4.5 - resolution: "@smithy/core@npm:2.4.5" +"@smithy/core@npm:^2.4.7": + version: 2.4.7 + resolution: "@smithy/core@npm:2.4.7" dependencies: - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-retry": "npm:^3.0.20" - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/smithy-client": "npm:^3.3.4" - "@smithy/types": "npm:^3.4.2" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-retry": "npm:^3.0.22" + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" "@smithy/util-body-length-browser": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-middleware": "npm:^3.0.7" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/5a5850f8d9e5189ba2f2e8a8604f90a83b47967fad62ca369c223a8612f0b86125d254bfc44df469ae1587e8aed864d7403dee2ae06708c522c4dd5085602579 + checksum: 10c0/0d7760bbdad7c886e90d3122cd17660048725bc9013cddfe4920e0e7e979ac35ed4cf1658065b9639d2914fcbf69c1c2cd536b08e76681271ea25c05fc5ce0f6 languageName: node linkType: hard -"@smithy/credential-provider-imds@npm:^3.2.3": - version: 3.2.3 - resolution: "@smithy/credential-provider-imds@npm:3.2.3" +"@smithy/credential-provider-imds@npm:^3.2.4": + version: 3.2.4 + resolution: "@smithy/credential-provider-imds@npm:3.2.4" dependencies: - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" tslib: "npm:^2.6.2" - checksum: 10c0/b9abd2224f06923647871c0aa300261147a8a183bcf0f81f21e261fcf0c07101e91d59e19e1e1c3aff7f0543e825066e2ad52f3fc2d179cb66912a282ccf3741 + checksum: 10c0/bafd86dd1524eafccdd0863e2ee2a59e12f6974d37f7cde6653903da58dd878f6de7d1cd6320b0749507ad959a3cdf039a0e24c76035d1abe85ff3b9c13ad019 languageName: node linkType: hard -"@smithy/eventstream-codec@npm:^3.1.5": - version: 3.1.5 - resolution: "@smithy/eventstream-codec@npm:3.1.5" +"@smithy/eventstream-codec@npm:^3.1.6": + version: 3.1.6 + resolution: "@smithy/eventstream-codec@npm:3.1.6" dependencies: "@aws-crypto/crc32": "npm:5.2.0" - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" "@smithy/util-hex-encoding": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/e999c74b9d3c38a67121f9096a134a55d8c4362a3a9468c8317d2dbf9a9d2e7ecf177ac0e7a5a5adfa92a51407a4d0bbf324787870d985a60ef6fae96ed4e8db - languageName: node - linkType: hard - -"@smithy/eventstream-serde-browser@npm:^3.0.9": - version: 3.0.9 - resolution: "@smithy/eventstream-serde-browser@npm:3.0.9" - dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.8" - "@smithy/types": "npm:^3.4.2" - tslib: "npm:^2.6.2" - checksum: 10c0/f74d9754fe0de4e682c010afbce374436d8ab1ece0fcc078caa5dab87133696179f3e9821699094626032aad34ff485a40699e1860da7d377802c8dd768c9b1d + checksum: 10c0/a21d61b9096730e06fa52e1bbab1dfbb2889306a203b85f9f41b7a35756d5226d765aeed3c61100b9c29c2e9c801d7fe00cfc500a78e53d3b64107354d322b61 languageName: node linkType: hard -"@smithy/eventstream-serde-config-resolver@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.6" +"@smithy/eventstream-serde-browser@npm:^3.0.10": + version: 3.0.10 + resolution: "@smithy/eventstream-serde-browser@npm:3.0.10" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/eventstream-serde-universal": "npm:^3.0.9" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/be8b118ef46c0e2d0f8faab3a86bb65f617e88e33205e44c8799bd9a7ce97d37957528686c1b5485e9f662d331379bbdb68fa2c65869c86568aa1387e06b9a86 + checksum: 10c0/f826a111c274f3088d2c9a6c206d94a3ad3d7d6eff77338b1ff86922aa7e7aa333c72a18ded49b969c168737ff7418362403dc45ede4e2beb3ad19335b27cc94 languageName: node linkType: hard -"@smithy/eventstream-serde-node@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/eventstream-serde-node@npm:3.0.8" +"@smithy/eventstream-serde-config-resolver@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/eventstream-serde-config-resolver@npm:3.0.7" dependencies: - "@smithy/eventstream-serde-universal": "npm:^3.0.8" - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/e059d680e847b5c4759b83b0d5b2f7570648b53ffd01650dbfb04eec89084915092517c6eb59183aa019eafda7506afe808c0fb2cf2eec7c648fbf68c95fcece + checksum: 10c0/8844b1ae5029e1b3947b0038ad0617920032a6d3df9c81e8940302df9369c264a72a545e8305b5f074149bcea395aeebb948cd963db7769deed483204fc1180b languageName: node linkType: hard -"@smithy/eventstream-serde-universal@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/eventstream-serde-universal@npm:3.0.8" +"@smithy/eventstream-serde-node@npm:^3.0.9": + version: 3.0.9 + resolution: "@smithy/eventstream-serde-node@npm:3.0.9" dependencies: - "@smithy/eventstream-codec": "npm:^3.1.5" - "@smithy/types": "npm:^3.4.2" + "@smithy/eventstream-serde-universal": "npm:^3.0.9" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/d3d87d3295318e8f7715fd56b0db357a96bd5ff026458578e83c775349666a587af308a2a170078900ddb8d776dd1d6d6c39e8267f72098e3943016df9ba893c + checksum: 10c0/c910589ae418baec716a9649f0053ca3ca151659b44bdb2e697d2e0aef5ed1c54d589906d7700b7b9ad6285b1f636ffe6cc9fc27ab2a3f068da1376b0bcea5bc languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^3.2.7": - version: 3.2.7 - resolution: "@smithy/fetch-http-handler@npm:3.2.7" +"@smithy/eventstream-serde-universal@npm:^3.0.9": + version: 3.0.9 + resolution: "@smithy/eventstream-serde-universal@npm:3.0.9" dependencies: - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/querystring-builder": "npm:^3.0.6" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-base64": "npm:^3.0.0" + "@smithy/eventstream-codec": "npm:^3.1.6" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/b910854b4afcd4c8dff3994b08bb65c51a263beadb826062a025d49a33043dc66f3b104eb34b348aaaea887abbb3f6676df1e7a5d8d4683393711bf6bd659d38 + checksum: 10c0/3824af8191eb05e2205beaf8908b6b26988a411e8f536e62ddbf37e9f794fd217504cbc129dd704f8aae653d1cc5a79e09ca18ded4ad2d17733fa0b77a03c23e languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^3.2.8": - version: 3.2.8 - resolution: "@smithy/fetch-http-handler@npm:3.2.8" +"@smithy/fetch-http-handler@npm:^3.2.9": + version: 3.2.9 + resolution: "@smithy/fetch-http-handler@npm:3.2.9" dependencies: - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/querystring-builder": "npm:^3.0.6" - "@smithy/types": "npm:^3.4.2" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/querystring-builder": "npm:^3.0.7" + "@smithy/types": "npm:^3.5.0" "@smithy/util-base64": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/3ae0cb10443f102b59a8b1dc40d7381777b8f3c0f57c5538f2594c77e30b9f67dbfb24a4ff9fd8abe2f8175e33dd0663e4ae1ab154a5dc3cb14cc294833c4ea0 + checksum: 10c0/0427d47a86d8250aa21fe4a9ec6639e2b611173e7516077ca634a0a398d902152993624766c5411a527a07db12b5c131a351770a9357a346d79811a4939ccbc6 languageName: node linkType: hard -"@smithy/hash-blob-browser@npm:^3.1.5": - version: 3.1.5 - resolution: "@smithy/hash-blob-browser@npm:3.1.5" +"@smithy/hash-blob-browser@npm:^3.1.6": + version: 3.1.6 + resolution: "@smithy/hash-blob-browser@npm:3.1.6" dependencies: "@smithy/chunked-blob-reader": "npm:^3.0.0" "@smithy/chunked-blob-reader-native": "npm:^3.0.0" - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/4633333ee44ff09a4df782444176e648b85f53e42767d3d3e66007019d5aa30718b70bbd49bced0bcdd33180cbe284b5366448f53bb3184498a84478794125a8 + checksum: 10c0/853e8f4e40331a3d0032898d2a80afa54aea44f9975d197e4b627ccb2987dc4a3a59e554f9e77b768b6f2c9d5aaf4c7f2a986de8d78510a3465370fed2b484ed languageName: node linkType: hard -"@smithy/hash-node@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/hash-node@npm:3.0.6" +"@smithy/hash-node@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/hash-node@npm:3.0.7" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" "@smithy/util-buffer-from": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/c79d1013ccfc14edb5ca7e7465abc75b71b0a4db2ebab8b87c5689f63a9ed2d15e43241985a2797805c083aa11ceee05c8c75eacd0aea0c13276ccbeb08dfc67 + checksum: 10c0/88b1e642639f016f40834035d03288ea7481382e2fcda8a0d6baf38f0c6f1e8541aae51f50aea7876166976ff2e276baae428fbdfb728c0fc29ccdfdb612e853 languageName: node linkType: hard -"@smithy/hash-stream-node@npm:^3.1.5": - version: 3.1.5 - resolution: "@smithy/hash-stream-node@npm:3.1.5" +"@smithy/hash-stream-node@npm:^3.1.6": + version: 3.1.6 + resolution: "@smithy/hash-stream-node@npm:3.1.6" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/89a27d7f2d77ea6b3c98b02948922ed1cfa8fa6d26aaed04fb83468abf5e51d50f7f7bb3973dcdc478c57a7918f75fd359ac9b656e677e7d30f8ee01afd18464 + checksum: 10c0/1393411476cce5a4c740b3e5e34d64d68dfc49edb2667d7baa43a494c1e36dc80535131b02db9222b475ee599e9bd418d400eceb690c468ab95603e99b94e628 languageName: node linkType: hard -"@smithy/invalid-dependency@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/invalid-dependency@npm:3.0.6" +"@smithy/invalid-dependency@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/invalid-dependency@npm:3.0.7" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/91de6c6097d3954b7a402c8bb738b03973edefd084092307dd84778c39ae2fa242d4ed1ca216d12bcc2301c56de8d0690848f0961515c09b19b2a2492980e74f + checksum: 10c0/b43e868d428d092f91702fe7030307129eb65f0592c60bc6f29ef2bd74799bcae90815326eb599d12aaeee6659ef7c9b2fb85fa0c843ab5132a446edb8767b98 languageName: node linkType: hard @@ -4423,173 +4410,143 @@ __metadata: languageName: node linkType: hard -"@smithy/md5-js@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/md5-js@npm:3.0.6" +"@smithy/md5-js@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/md5-js@npm:3.0.7" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/d15cb0012df5d3f7ac762f432c66e54b4b36c580229c8d4f216bec8697b438b9842ff78a23619e7a10ec09a3d8589d2f0498336e3969090cc82bd2bf364f3635 + checksum: 10c0/c8577a6a35d219c4f58a68d2b1a1e71d065e0f81c6feb0a6cd85c3efcdae9c33dbd5d1e46e93e854bfbbc208a91a5aa41dba5af9917716b3ab76a287928f0f78 languageName: node linkType: hard -"@smithy/middleware-content-length@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/middleware-content-length@npm:3.0.8" +"@smithy/middleware-content-length@npm:^3.0.9": + version: 3.0.9 + resolution: "@smithy/middleware-content-length@npm:3.0.9" dependencies: - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" - tslib: "npm:^2.6.2" - checksum: 10c0/efb13134cd44802b09ad5e9d6545170596eb319ac9486b9ecdb742b689e24cfb074bc112cb27a755b98801c32449932479ef05085ac75186cae6420c63a81fe9 - languageName: node - linkType: hard - -"@smithy/middleware-endpoint@npm:^3.1.3": - version: 3.1.3 - resolution: "@smithy/middleware-endpoint@npm:3.1.3" - dependencies: - "@smithy/middleware-serde": "npm:^3.0.6" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/shared-ini-file-loader": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" - "@smithy/url-parser": "npm:^3.0.6" - "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/fb4a584b5d52d9998bd91fc4e63f0ab2dbd6a5f38b299e3577df3e96930551743768f8526a19cad7ccab15014dfaa161b4ebef903f89b49b4f6a2537f88c3f47 + checksum: 10c0/7ea6d14fe64a486c024988bed41b70eacadc5e9af4b06d36f1d3902675baf9908090f4cdcc9f066ef26dddb1816035227afe778a0372473678f267e4cb37cbe8 languageName: node linkType: hard -"@smithy/middleware-retry@npm:^3.0.18": - version: 3.0.18 - resolution: "@smithy/middleware-retry@npm:3.0.18" - dependencies: - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/service-error-classification": "npm:^3.0.6" - "@smithy/smithy-client": "npm:^3.3.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" +"@smithy/middleware-endpoint@npm:^3.1.4": + version: 3.1.4 + resolution: "@smithy/middleware-endpoint@npm:3.1.4" + dependencies: + "@smithy/middleware-serde": "npm:^3.0.7" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/shared-ini-file-loader": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" + "@smithy/url-parser": "npm:^3.0.7" + "@smithy/util-middleware": "npm:^3.0.7" tslib: "npm:^2.6.2" - uuid: "npm:^9.0.1" - checksum: 10c0/18c12da848314becdc9f0f8ba9418f8888e1931c4c69c03bae1df48a7a0f866d7aaecd9b0fe67d51519c3689687045967e2c062f62871664cd8885da321a5ca3 + checksum: 10c0/29d10c124489a1715ec10dbb45e8359fbb036c8600357f18362df4fba4899357d361402ef55d961939857755ffedc20c780203dc562ce00ca903013ac00226f7 languageName: node linkType: hard -"@smithy/middleware-retry@npm:^3.0.20": - version: 3.0.20 - resolution: "@smithy/middleware-retry@npm:3.0.20" +"@smithy/middleware-retry@npm:^3.0.22": + version: 3.0.22 + resolution: "@smithy/middleware-retry@npm:3.0.22" dependencies: - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/service-error-classification": "npm:^3.0.6" - "@smithy/smithy-client": "npm:^3.3.4" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-middleware": "npm:^3.0.6" - "@smithy/util-retry": "npm:^3.0.6" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/service-error-classification": "npm:^3.0.7" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" + "@smithy/util-middleware": "npm:^3.0.7" + "@smithy/util-retry": "npm:^3.0.7" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/e0799a81a706f8d4d833230dee48fcc8ead2c9a1a743c47b6f8263d2a25253a2c5a3319449647ebbce42b6dce0508807ae8bc9d195ff50425961ea65528ac41e - languageName: node - linkType: hard - -"@smithy/middleware-serde@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/middleware-serde@npm:3.0.6" - dependencies: - "@smithy/types": "npm:^3.4.2" - tslib: "npm:^2.6.2" - checksum: 10c0/94c906dd0f77716976bdab0c1fafe257e5fa9f81f92213df20ce4324cf0feb3533f3004df81863ed4e2c597dd3aecb1001267b16f3ca6a67e6a80eb349eaac6e + checksum: 10c0/62e88bf5358eb843a21e812ff191d217bb241cb0e4115c2bb55635ef2e53ba4bfe8d704e42074faf9f5627af89f25faa6fb5f8eec5a5186f79f075afd18de511 languageName: node linkType: hard -"@smithy/middleware-stack@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/middleware-stack@npm:3.0.6" +"@smithy/middleware-serde@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/middleware-serde@npm:3.0.7" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/c8121cef5bac12cf8710adcfc71fcdef59af7a34279781dc0db7b1d667ef0f36f0caab209a067db4b1144908b42e1966fd63593cc99a29f048bd1eb916b677e0 + checksum: 10c0/b04abb0adc9a3b15ce42b0fd3bbdb78ee86a34f9c017cbb2a59ceffc1bde0740fa2f3534abf2ff861112b6fb76a7ea4f55871503e2d8d1e6207052bcccf2819a languageName: node linkType: hard -"@smithy/node-config-provider@npm:^3.1.7": - version: 3.1.7 - resolution: "@smithy/node-config-provider@npm:3.1.7" +"@smithy/middleware-stack@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/middleware-stack@npm:3.0.7" dependencies: - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/shared-ini-file-loader": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/26c6a73f271c3ec38c3498ab51972c46ab63371e3d9f2c6613fbfbbe66c52361a2a515c8b24c1b7c3f473c18d776e263476481ed211c446f59a62015433107d7 + checksum: 10c0/260ddf0f785fa3118130e8174c653d7267208794feeaeeac9762783c0ebb306f0cbe71d73092347e9dd85ee4ebbe5e82ee0dd6512b3a2da0aef9789d23d020e0 languageName: node linkType: hard -"@smithy/node-http-handler@npm:^3.2.2": - version: 3.2.2 - resolution: "@smithy/node-http-handler@npm:3.2.2" +"@smithy/node-config-provider@npm:^3.1.8": + version: 3.1.8 + resolution: "@smithy/node-config-provider@npm:3.1.8" dependencies: - "@smithy/abort-controller": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/querystring-builder": "npm:^3.0.6" - "@smithy/types": "npm:^3.4.2" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/shared-ini-file-loader": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/41725d577d2afb362a091277013867f12cab68b0510993db87778494ce4ce386eedd26f63f5452f4836c015a9fffc1aedd65dc77897c7bf56bc98d0a33c51cb5 + checksum: 10c0/354319e0a6a48775195eecb3486eddce57eb51bd3a88cef729db39b6592da5ac7b2b0b4f996396ed1496a9693a5a67344b4e36c0a6eeb94293ed1e50aa10b740 languageName: node linkType: hard -"@smithy/node-http-handler@npm:^3.2.3": - version: 3.2.3 - resolution: "@smithy/node-http-handler@npm:3.2.3" +"@smithy/node-http-handler@npm:^3.2.4": + version: 3.2.4 + resolution: "@smithy/node-http-handler@npm:3.2.4" dependencies: - "@smithy/abort-controller": "npm:^3.1.4" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/querystring-builder": "npm:^3.0.6" - "@smithy/types": "npm:^3.4.2" + "@smithy/abort-controller": "npm:^3.1.5" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/querystring-builder": "npm:^3.0.7" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/fb3d4f92fafd8c96d0f40a2850c3b714b997f280f715bedd14f0f40b58d9f743edcec3912dc812c4a5be682f929dd11a725d2cbe54c31a9a760ca681436e9587 + checksum: 10c0/b086811ca355cff0c7cf8d897a146f309f0d48c2bbd21a2248c511fa483dd3366ffc8e85f8fe52e727207f426f57c7d9e2127ccb0616f860e2d8755481cb5be9 languageName: node linkType: hard -"@smithy/property-provider@npm:^3.1.6": - version: 3.1.6 - resolution: "@smithy/property-provider@npm:3.1.6" +"@smithy/property-provider@npm:^3.1.7": + version: 3.1.7 + resolution: "@smithy/property-provider@npm:3.1.7" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/af68a2be7ba48def574fe735ba9b04219a6c3d6565485f02392e26df260534d6e7efe552105c4b10ae35b63188b65add8dc944f9065a8775c9f1c1e8eed0160a + checksum: 10c0/14547451d6a81678f4962717cb77a93b01e22d6578462be9a3945889923ba8c2978775f4befb639c305e89169b7e1ee56a0f41a51aabf0f14013a47cbb18be42 languageName: node linkType: hard -"@smithy/protocol-http@npm:^4.1.3": - version: 4.1.3 - resolution: "@smithy/protocol-http@npm:4.1.3" +"@smithy/protocol-http@npm:^4.1.4": + version: 4.1.4 + resolution: "@smithy/protocol-http@npm:4.1.4" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/94f4273d34590c857e9be8f682c8acc363141a5fa945b11dde3e77e053d3c93b96141aa539195b3b237221eec8b56a689bcbddc13d6ee3113178e17a78f8b4a7 + checksum: 10c0/595d25edfe04764a4d51303c3c93b86837b704b7c9d192bf41facebd37bcfe2d20725ea39dda5aa3b73ee985483012447dd02851798bcd6e5e23ac66380b65be languageName: node linkType: hard -"@smithy/querystring-builder@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/querystring-builder@npm:3.0.6" +"@smithy/querystring-builder@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/querystring-builder@npm:3.0.7" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" "@smithy/util-uri-escape": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/2b5b7461f0d5974a62629143b7e0eab018d5a5725ed55c4aa5ae6cf2e8bc5bbc595fa07ecca08012003afe5dd7530296912cf9a7ec4cf1896b88fce88ce28c8c + checksum: 10c0/3c8cf8313524a2fc58388f511c2bd81b421b4a7f36acf3979806e957191cdb9b7233c300781ff045be1c2fdf5279a6102dfc613d5c5a25bfed6306f6b2911be2 languageName: node linkType: hard -"@smithy/querystring-parser@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/querystring-parser@npm:3.0.6" +"@smithy/querystring-parser@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/querystring-parser@npm:3.0.7" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/addeb6dd2c9294404eb26ef5dfac7e099933be56829af629b9a0de316ea5ce7929d0f4670f25609e3e82040dc4de528eb2348f4188447c698eb81f74e213239b + checksum: 10c0/ceba87cfa24bb86402f4ca2be15753647ebb3df248e0fc2b06a5cbd0d32c1639cca3dc6469daa990e44696e0e94351424ed22326fef46ae28f8c8587c68be515 languageName: node linkType: hard @@ -4602,66 +4559,52 @@ __metadata: languageName: node linkType: hard -"@smithy/service-error-classification@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/service-error-classification@npm:3.0.6" +"@smithy/service-error-classification@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/service-error-classification@npm:3.0.7" dependencies: - "@smithy/types": "npm:^3.4.2" - checksum: 10c0/8c5f6d5c5f60c72cf3d39221ec88b9d31b548c977c613b08f9791514b44843d938f2001bb2377b35f945180016fe0398fbff9aa1dcfaf137a82de7d9e922c77e + "@smithy/types": "npm:^3.5.0" + checksum: 10c0/2bd5e9b9328a66c6a774526519a0b167702fcd3b7301a7f1962e03142913b6cabefbf350b0607ebd79eb989f264d31ef267ad3ebb83d9eccbee78d5fba207759 languageName: node linkType: hard -"@smithy/shared-ini-file-loader@npm:^3.1.7": - version: 3.1.7 - resolution: "@smithy/shared-ini-file-loader@npm:3.1.7" +"@smithy/shared-ini-file-loader@npm:^3.1.8": + version: 3.1.8 + resolution: "@smithy/shared-ini-file-loader@npm:3.1.8" dependencies: - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/ff19860af2c88e8b208fb0b696f72d9565e137ae36bb62ee56a018367edc1a17e5813bd986187021ee33386d168ddf75d604c650ca05d79ff3f948715384d4a9 + checksum: 10c0/6f4e66b6e0ddc1250c8f7dc5ebf272165608dd5510a92f03781e2a2adeb3ab862a277cb4c48150a4d0fdc279cafd0476eab0f2a5e01b2d6fed5a15f86d81b778 languageName: node linkType: hard -"@smithy/signature-v4@npm:^4.1.3": - version: 4.1.4 - resolution: "@smithy/signature-v4@npm:4.1.4" +"@smithy/signature-v4@npm:^4.2.0": + version: 4.2.0 + resolution: "@smithy/signature-v4@npm:4.2.0" dependencies: "@smithy/is-array-buffer": "npm:^3.0.0" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" "@smithy/util-hex-encoding": "npm:^3.0.0" - "@smithy/util-middleware": "npm:^3.0.6" + "@smithy/util-middleware": "npm:^3.0.7" "@smithy/util-uri-escape": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/b3fcd15d6d0703d8b88a5b248d4c8a71406994f03ca3baabbb45060e53763331883a390ae65e5b0fae3c79858c5e833daf51209f5acdde2c254d5e67e1a8235c - languageName: node - linkType: hard - -"@smithy/smithy-client@npm:^3.3.2": - version: 3.3.2 - resolution: "@smithy/smithy-client@npm:3.3.2" - dependencies: - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-stream": "npm:^3.1.6" - tslib: "npm:^2.6.2" - checksum: 10c0/9989f9e4158e520737a2cc02f63b10e210cbba75e552f7963d4aeacb48e2d0a2c64ec20f8de1235ff98d7148dcbf465900245f9f1d37f9fd7ccfc0d53d74e5e4 + checksum: 10c0/d6222c7787d51b3ed58bb09f5fc56e90b6cd0e4588735e78f43a9642549e8e233a2050fa5734e844b80ea23ff17f867e61a687d34dba5db0dd466635f51a9ccf languageName: node linkType: hard -"@smithy/smithy-client@npm:^3.3.4": - version: 3.3.4 - resolution: "@smithy/smithy-client@npm:3.3.4" +"@smithy/smithy-client@npm:^3.3.6": + version: 3.3.6 + resolution: "@smithy/smithy-client@npm:3.3.6" dependencies: - "@smithy/middleware-endpoint": "npm:^3.1.3" - "@smithy/middleware-stack": "npm:^3.0.6" - "@smithy/protocol-http": "npm:^4.1.3" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-stream": "npm:^3.1.8" + "@smithy/middleware-endpoint": "npm:^3.1.4" + "@smithy/middleware-stack": "npm:^3.0.7" + "@smithy/protocol-http": "npm:^4.1.4" + "@smithy/types": "npm:^3.5.0" + "@smithy/util-stream": "npm:^3.1.9" tslib: "npm:^2.6.2" - checksum: 10c0/790e5935f360154f7c940991ca90c74581438d8d92bc0eadcd0309782d4e472e3c26fd88b9f7d41a8ec467fe8ce063c1e32cd7c6b8de29ac4b35aa14ca2abd5f + checksum: 10c0/82e07e629a93b16238071bb7a66cfba74eca85d9d7b63b60644d3feb62a9688a6b6608b152cbb3efd49b86022e0e10e56540ca2a6579859ee147f65850f6d124 languageName: node linkType: hard @@ -4683,23 +4626,23 @@ __metadata: languageName: node linkType: hard -"@smithy/types@npm:^3.4.2": - version: 3.4.2 - resolution: "@smithy/types@npm:3.4.2" +"@smithy/types@npm:^3.5.0": + version: 3.5.0 + resolution: "@smithy/types@npm:3.5.0" dependencies: tslib: "npm:^2.6.2" - checksum: 10c0/b3a583c3c9116952008b0227be1b1513447ed08e8f65c7b82c0c8299b2520b6e0544de0225d6baf3afe65db4fe5a37c4ed5622bac3d516058bc4a3d4bbad0ec6 + checksum: 10c0/298f1638b0ba3a5cef3d238219cebab21f9479e54a5de3f7dbde5f65f7a3966a9623d4bb4e3856ef67bc6139a065a149379f6374e68bef380e8bb789c592db22 languageName: node linkType: hard -"@smithy/url-parser@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/url-parser@npm:3.0.6" +"@smithy/url-parser@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/url-parser@npm:3.0.7" dependencies: - "@smithy/querystring-parser": "npm:^3.0.6" - "@smithy/types": "npm:^3.4.2" + "@smithy/querystring-parser": "npm:^3.0.7" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/0d9ec9acf04513715a588b1866ff6212eb85049587f88b8b969e3fa723764b45723d519904aa2d6e0aa22d333962a11ee5ed35d7c65798696b796928e5429a95 + checksum: 10c0/602199c24d13e35fc59bb075a626b83655d24e639a1c287e3eea2f3f8264f42870bab4d94282d0a1a210990263fbee532a661e662b2f11c6342d42dd36140bb5 languageName: node linkType: hard @@ -4761,42 +4704,42 @@ __metadata: languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^3.0.18": - version: 3.0.20 - resolution: "@smithy/util-defaults-mode-browser@npm:3.0.20" +"@smithy/util-defaults-mode-browser@npm:^3.0.22": + version: 3.0.22 + resolution: "@smithy/util-defaults-mode-browser@npm:3.0.22" dependencies: - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/smithy-client": "npm:^3.3.4" - "@smithy/types": "npm:^3.4.2" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/029fa13499bd92779d6885643d594063ee9bbbc1477c7d3a6f1ebc18b5b1404933fb5e15fd7f96aaf4d8f0fb6d5ec6ae76a6d25d0f1af43c7155be2a2764b275 + checksum: 10c0/8184572e333c34cfe3a4b86fa38e9b232ff8a8877dd18f650c9bfacdb45c2f65b7752bcb074a460c2e2b95f1ea95a33366c5cda8d267feb11fcdfa673d260835 languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^3.0.18": - version: 3.0.20 - resolution: "@smithy/util-defaults-mode-node@npm:3.0.20" +"@smithy/util-defaults-mode-node@npm:^3.0.22": + version: 3.0.22 + resolution: "@smithy/util-defaults-mode-node@npm:3.0.22" dependencies: - "@smithy/config-resolver": "npm:^3.0.8" - "@smithy/credential-provider-imds": "npm:^3.2.3" - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/property-provider": "npm:^3.1.6" - "@smithy/smithy-client": "npm:^3.3.4" - "@smithy/types": "npm:^3.4.2" + "@smithy/config-resolver": "npm:^3.0.9" + "@smithy/credential-provider-imds": "npm:^3.2.4" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/property-provider": "npm:^3.1.7" + "@smithy/smithy-client": "npm:^3.3.6" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/6cadb9666eb84ca521bf0924e8434bfa453f72bd3a3c732b21d83aeeb8300226251ab7d2c703d7e7c40e60b8e2d28b674b1790566b2cca743932fbd8ba43ad42 + checksum: 10c0/fd233529c5fe10c76905b2fa41523df6dc359de35c2c093a83f7281cfd287b4016ad7435399e366b5328414f39efb0d90ac931c96cffc23c2303021b7696362e languageName: node linkType: hard -"@smithy/util-endpoints@npm:^2.1.2": - version: 2.1.2 - resolution: "@smithy/util-endpoints@npm:2.1.2" +"@smithy/util-endpoints@npm:^2.1.3": + version: 2.1.3 + resolution: "@smithy/util-endpoints@npm:2.1.3" dependencies: - "@smithy/node-config-provider": "npm:^3.1.7" - "@smithy/types": "npm:^3.4.2" + "@smithy/node-config-provider": "npm:^3.1.8" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/9b11f8347937cbae3cf018a34fb0942eff01c9f568695a4bea7d58499754d8d851128b1a0d99017b367e7be75196a770eb9ece0969a126e7fe09f50fabb98f16 + checksum: 10c0/1f375f997b996af9b2d17a4d1fd2ace81bf0206bf6c9e80d591d1daadce34471ea5ff8913000cd2aae4f619b7d2f3b2d38caf528b036b97ada2831ffbb9725d9 languageName: node linkType: hard @@ -4809,56 +4752,40 @@ __metadata: languageName: node linkType: hard -"@smithy/util-middleware@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/util-middleware@npm:3.0.6" - dependencies: - "@smithy/types": "npm:^3.4.2" - tslib: "npm:^2.6.2" - checksum: 10c0/a697fe4787fcb59d8abed3c5f3cb775d3b5e64a87962513aed5af1643737a1b31afde2945591b60eac560ef24d1db7b23efd65758a056c54f0debc32dad4bf5b - languageName: node - linkType: hard - -"@smithy/util-retry@npm:^3.0.6": - version: 3.0.6 - resolution: "@smithy/util-retry@npm:3.0.6" +"@smithy/util-middleware@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/util-middleware@npm:3.0.7" dependencies: - "@smithy/service-error-classification": "npm:^3.0.6" - "@smithy/types": "npm:^3.4.2" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/c12d3790e87d47f72e032f138c630fa4747581af794d3b3c0fae9711dd41f80c4a7b4ef7c2f7b6d9230565f27599a53f833d2d5d5308968ef994dcae92f6652a + checksum: 10c0/e625791046c73bf5a35d67127007054bb6cc8d8707575c122732de1d6474b97ce1bd5c8c02051287bd967320f768eba364f1f0a59937654dbe25a66cce21bc6d languageName: node linkType: hard -"@smithy/util-stream@npm:^3.1.6": - version: 3.1.6 - resolution: "@smithy/util-stream@npm:3.1.6" +"@smithy/util-retry@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/util-retry@npm:3.0.7" dependencies: - "@smithy/fetch-http-handler": "npm:^3.2.7" - "@smithy/node-http-handler": "npm:^3.2.2" - "@smithy/types": "npm:^3.4.2" - "@smithy/util-base64": "npm:^3.0.0" - "@smithy/util-buffer-from": "npm:^3.0.0" - "@smithy/util-hex-encoding": "npm:^3.0.0" - "@smithy/util-utf8": "npm:^3.0.0" + "@smithy/service-error-classification": "npm:^3.0.7" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/a2a4601f56680203b25b8d99342d635a0b0db062e0749a260c7fb8b148c2d0da07222c11563a5ead6f6d45e5fbc45beb2509c461635cfecfedd0f031c2f9283e + checksum: 10c0/d641f1e11afbda1b194e5e6a75e815eed03100e0c53305d106cd80836b22854b4ba01efd9aed32996ec538e5c49293bb8d0a77561ebd721d94d862173e40738b languageName: node linkType: hard -"@smithy/util-stream@npm:^3.1.8": - version: 3.1.8 - resolution: "@smithy/util-stream@npm:3.1.8" +"@smithy/util-stream@npm:^3.1.9": + version: 3.1.9 + resolution: "@smithy/util-stream@npm:3.1.9" dependencies: - "@smithy/fetch-http-handler": "npm:^3.2.8" - "@smithy/node-http-handler": "npm:^3.2.3" - "@smithy/types": "npm:^3.4.2" + "@smithy/fetch-http-handler": "npm:^3.2.9" + "@smithy/node-http-handler": "npm:^3.2.4" + "@smithy/types": "npm:^3.5.0" "@smithy/util-base64": "npm:^3.0.0" "@smithy/util-buffer-from": "npm:^3.0.0" "@smithy/util-hex-encoding": "npm:^3.0.0" "@smithy/util-utf8": "npm:^3.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/79cc9c4f8aef8d16c3c8880a49bb8f0d23dee4242cd45d73183633c0c347657f04c177eb836e9775586283ace177af24f57cba73fc931992cc54b92f93840c6b + checksum: 10c0/04f37b1e97692d9177a41351336bb119eb5dbe2582bc17e76bc99919defe67fe5afbf3cb52612c48c2bca3bec6f96f2d860825afc9249ab6e7e8fd9b4719f7a8 languageName: node linkType: hard @@ -4891,14 +4818,14 @@ __metadata: languageName: node linkType: hard -"@smithy/util-waiter@npm:^3.1.5": - version: 3.1.5 - resolution: "@smithy/util-waiter@npm:3.1.5" +"@smithy/util-waiter@npm:^3.1.6": + version: 3.1.6 + resolution: "@smithy/util-waiter@npm:3.1.6" dependencies: - "@smithy/abort-controller": "npm:^3.1.4" - "@smithy/types": "npm:^3.4.2" + "@smithy/abort-controller": "npm:^3.1.5" + "@smithy/types": "npm:^3.5.0" tslib: "npm:^2.6.2" - checksum: 10c0/d72733480f08a570a08eb1c4e57ac5779d2f41598d9608d62419e9adfccb86295b8c60103c51b3338167bb2f9179483db24c3dc9585da867419c5abf9efcad98 + checksum: 10c0/dfa7cf04afa7be4736e78f54f96c6583c2f582fef6bd179cf925f5dd737f3fed0b37446d5198d9dedfb343a0b71c481f560b5954686f8e2b51155a37752bc586 languageName: node linkType: hard From 612651bb81befd891c82b501e888a0159f9288d7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Oct 2024 09:27:12 +0200 Subject: [PATCH 90/90] chore(lambda): bump @typescript-eslint/parser from 7.18.0 to 8.8.0 in /lambdas (#4157) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 7.18.0 to 8.8.0.
    Release notes

    Sourced from @​typescript-eslint/parser's releases.

    v8.8.0

    8.8.0 (2024-09-30)

    🚀 Features

    • eslint-plugin: [no-unnecessary-condition] add checkTypePredicates (#10009)
    • eslint-plugin: [return-await] check for-await loop iteree (#10008)

    🩹 Fixes

    • remove export type * in d.ts to support TS<5.0 (#10070)
    • eslint-plugin: [no-unnecessary-template-expression] should underline template syntax with squiggly lines (#10044)
    • eslint-plugin: [no-deprecated] max callstack exceeded when class implements itself (#10040)
    • eslint-plugin: [no-misused-promises] check contextual type (#10042)
    • eslint-plugin: [prefer-literal-enum-member] allow nested bitwise operations (#10037)
    • type-utils: check for type parameters on isBuiltinSymbolLikeRecurser() (#10026)
    • utils: update missing type information message (#10043)

    ❤️ Thank You

    You can read about our versioning strategy and releases on our website.

    v8.7.0

    8.7.0 (2024-09-23)

    🚀 Features

    • eslint-plugin: [no-unsafe-call] check calls of Function (#10010)
    • eslint-plugin: [consistent-type-exports] check export * exports to see if all exported members are types (#10006)

    🩹 Fixes

    • eslint-plugin: properly coerce all types to string in getStaticMemberAccessValue (#10004)
    • eslint-plugin: [no-deprecated] report on imported deprecated variables (#9987)
    • eslint-plugin: [no-confusing-non-null-assertion] check !in and !instanceof (#9994)
    • types: add NewExpression as a parent of SpreadElement (#10024)
    • utils: add missing entries to the RuleListener selectors list (#9992)

    ❤️ Thank You

    • Abraham Guo

    ... (truncated)

    Changelog

    Sourced from @​typescript-eslint/parser's changelog.

    8.8.0 (2024-09-30)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.7.0 (2024-09-23)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.6.0 (2024-09-16)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.5.0 (2024-09-09)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.4.0 (2024-09-02)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.3.0 (2024-08-26)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.2.0 (2024-08-19)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.1.0 (2024-08-12)

    This was a version bump only for parser to align it with other projects, there were no code changes.

    You can read about our versioning strategy and releases on our website.

    8.0.1 (2024-08-05)

    ... (truncated)

    Commits
    • 2055cfb chore(release): publish 8.8.0
    • b88ea33 chore(release): publish 8.7.0
    • 343710e chore(release): publish 8.6.0
    • 4d31ebe chore(release): publish 8.5.0
    • 4bc801e chore: enable unicorn/no-array-reduce (#9640)
    • 3920c93 chore(release): publish 8.4.0
    • 2ad3404 chore: enable unicorn/prefer-export-from and `@typescript-eslint/consistent...
    • ef2eab1 chore(release): publish 8.3.0
    • 9612d81 chore: enable eslint-plugin-perfectionist on parser package (#9845)
    • 7440e14 chore(release): publish 8.2.0
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@typescript-eslint/parser&package-manager=npm_and_yarn&previous-version=7.18.0&new-version=8.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Stuart Pearson <1926002+stuartp44@users.noreply.github.com> --- .../functions/ami-housekeeper/package.json | 2 +- lambdas/functions/control-plane/package.json | 2 +- .../functions/gh-agent-syncer/package.json | 2 +- .../termination-watcher/package.json | 2 +- lambdas/functions/webhook/package.json | 2 +- lambdas/libs/aws-powertools-util/package.json | 2 +- lambdas/libs/aws-ssm-util/package.json | 2 +- lambdas/yarn.lock | 80 +++++++++++++++---- 8 files changed, 70 insertions(+), 24 deletions(-) diff --git a/lambdas/functions/ami-housekeeper/package.json b/lambdas/functions/ami-housekeeper/package.json index d23b92561f..e9b4537f0b 100644 --- a/lambdas/functions/ami-housekeeper/package.json +++ b/lambdas/functions/ami-housekeeper/package.json @@ -21,7 +21,7 @@ "@types/jest": "^29.5.12", "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.8.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", diff --git a/lambdas/functions/control-plane/package.json b/lambdas/functions/control-plane/package.json index da1cc722a3..ddbbd1292c 100644 --- a/lambdas/functions/control-plane/package.json +++ b/lambdas/functions/control-plane/package.json @@ -21,7 +21,7 @@ "@types/jest": "^29.5.12", "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.8.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", diff --git a/lambdas/functions/gh-agent-syncer/package.json b/lambdas/functions/gh-agent-syncer/package.json index a3816f2ec6..2f01b50ca0 100644 --- a/lambdas/functions/gh-agent-syncer/package.json +++ b/lambdas/functions/gh-agent-syncer/package.json @@ -22,7 +22,7 @@ "@types/node": "^22.5.4", "@types/request": "^2.48.12", "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.8.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", diff --git a/lambdas/functions/termination-watcher/package.json b/lambdas/functions/termination-watcher/package.json index cf4d599892..9a5c49c137 100644 --- a/lambdas/functions/termination-watcher/package.json +++ b/lambdas/functions/termination-watcher/package.json @@ -19,7 +19,7 @@ "@types/jest": "^29.5.12", "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.8.0", "@vercel/ncc": "^0.38.1", "aws-sdk-client-mock": "^4.0.2", "aws-sdk-client-mock-jest": "^4.0.1", diff --git a/lambdas/functions/webhook/package.json b/lambdas/functions/webhook/package.json index 14c0893078..3c6874ce79 100644 --- a/lambdas/functions/webhook/package.json +++ b/lambdas/functions/webhook/package.json @@ -22,7 +22,7 @@ "@types/jest": "^29.5.12", "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.8.0", "@vercel/ncc": "0.38.1", "body-parser": "^1.20.3", "eslint": "^8.57.0", diff --git a/lambdas/libs/aws-powertools-util/package.json b/lambdas/libs/aws-powertools-util/package.json index 08e9cdff86..806cd57591 100644 --- a/lambdas/libs/aws-powertools-util/package.json +++ b/lambdas/libs/aws-powertools-util/package.json @@ -20,7 +20,7 @@ "@types/jest": "^29.5.12", "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.8.0", "@vercel/ncc": "0.38.1", "body-parser": "^1.20.3", "eslint": "^8.57.0", diff --git a/lambdas/libs/aws-ssm-util/package.json b/lambdas/libs/aws-ssm-util/package.json index 798575f8bc..a78dac4567 100644 --- a/lambdas/libs/aws-ssm-util/package.json +++ b/lambdas/libs/aws-ssm-util/package.json @@ -20,7 +20,7 @@ "@types/jest": "^29.5.12", "@types/node": "^22.5.4", "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/parser": "^8.8.0", "@vercel/ncc": "0.38.1", "body-parser": "^1.20.3", "eslint": "^8.57.0", diff --git a/lambdas/yarn.lock b/lambdas/yarn.lock index 303d0f4c33..e845f6cc94 100644 --- a/lambdas/yarn.lock +++ b/lambdas/yarn.lock @@ -111,7 +111,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.8.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" @@ -143,7 +143,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.8.0" "@vercel/ncc": "npm:0.38.1" aws-lambda: "npm:^1.0.7" body-parser: "npm:^1.20.3" @@ -173,7 +173,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.8.0" "@vercel/ncc": "npm:0.38.1" body-parser: "npm:^1.20.3" eslint: "npm:^8.57.0" @@ -210,7 +210,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.8.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" @@ -246,7 +246,7 @@ __metadata: "@types/node": "npm:^22.5.4" "@types/request": "npm:^2.48.12" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.8.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" @@ -275,7 +275,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.8.0" "@vercel/ncc": "npm:^0.38.1" aws-sdk-client-mock: "npm:^4.0.2" aws-sdk-client-mock-jest: "npm:^4.0.1" @@ -310,7 +310,7 @@ __metadata: "@types/jest": "npm:^29.5.12" "@types/node": "npm:^22.5.4" "@typescript-eslint/eslint-plugin": "npm:^7.18.0" - "@typescript-eslint/parser": "npm:^7.18.0" + "@typescript-eslint/parser": "npm:^8.8.0" "@vercel/ncc": "npm:0.38.1" aws-lambda: "npm:^1.0.7" body-parser: "npm:^1.20.3" @@ -5382,21 +5382,21 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:^7.18.0": - version: 7.18.0 - resolution: "@typescript-eslint/parser@npm:7.18.0" +"@typescript-eslint/parser@npm:^8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/parser@npm:8.8.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.18.0" - "@typescript-eslint/types": "npm:7.18.0" - "@typescript-eslint/typescript-estree": "npm:7.18.0" - "@typescript-eslint/visitor-keys": "npm:7.18.0" + "@typescript-eslint/scope-manager": "npm:8.8.0" + "@typescript-eslint/types": "npm:8.8.0" + "@typescript-eslint/typescript-estree": "npm:8.8.0" + "@typescript-eslint/visitor-keys": "npm:8.8.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/370e73fca4278091bc1b657f85e7d74cd52b24257ea20c927a8e17546107ce04fbf313fec99aed0cc2a145ddbae1d3b12e9cc2c1320117636dc1281bcfd08059 + checksum: 10c0/cf72a644b89c62cd55b09fa1d22b51a2c726714aac344a797f0c2ad80bfbabcb7567000fadd4ea8188aa1d923675bebdca06acc1d28ac1b8360bf28a36b46f3a languageName: node linkType: hard @@ -5410,6 +5410,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/scope-manager@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/scope-manager@npm:8.8.0" + dependencies: + "@typescript-eslint/types": "npm:8.8.0" + "@typescript-eslint/visitor-keys": "npm:8.8.0" + checksum: 10c0/29ddf589ff0e465dbbf3eb87b79a29face4ec5a6cb617bbaafbac6ae8340d376b5b405bca762ee1c7a40cbdf7912a32734f9119f6864df048c7a0b2de21bdd3d + languageName: node + linkType: hard + "@typescript-eslint/type-utils@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/type-utils@npm:7.18.0" @@ -5434,6 +5444,13 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/types@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/types@npm:8.8.0" + checksum: 10c0/cd168fafcaf77641b023c4405ea3a8c30fbad1737abb5aec9fce67fe2ae20224b624b5a2e3e84900ba81dc7dd33343add3653763703a225326cc81356b182d09 + languageName: node + linkType: hard + "@typescript-eslint/typescript-estree@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" @@ -5453,6 +5470,25 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/typescript-estree@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.8.0" + dependencies: + "@typescript-eslint/types": "npm:8.8.0" + "@typescript-eslint/visitor-keys": "npm:8.8.0" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/9b9e849f6b2d4e250840ef8e05f55a97d6598adaf48c1e6df83084b94c30feca6a3e7916ee1c235178188d0db6364a877cbf8fe218c36d5f8d5acb50767f3273 + languageName: node + linkType: hard + "@typescript-eslint/utils@npm:7.18.0": version: 7.18.0 resolution: "@typescript-eslint/utils@npm:7.18.0" @@ -5477,6 +5513,16 @@ __metadata: languageName: node linkType: hard +"@typescript-eslint/visitor-keys@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.8.0" + dependencies: + "@typescript-eslint/types": "npm:8.8.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10c0/580ce74c9b09b9e6a6f3f0ac2d2f0c6a6b983a78ce3b2544822ee08107c57142858d674897f61ff32a9a5e8fca00c916545c159bb75d134f4380884642542d38 + languageName: node + linkType: hard + "@ungap/structured-clone@npm:^1.2.0": version: 1.2.0 resolution: "@ungap/structured-clone@npm:1.2.0" @@ -7211,7 +7257,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9": +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies:

    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

    BL>F{JeEZ8*EJx2L{Z-M)dQ|7Fz=ARa@Rdh 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