gemi 0.4.81 → 0.4.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/chunk-111f0589f69a05b1.js +1 -0
  2. package/dist/{chunk-f6a80fc55311e0c8.js → chunk-40944e185c025271.js} +1 -1
  3. package/dist/chunk-5b8fb522ae72415c.js +2 -0
  4. package/dist/chunk-8f3b5c5ff77a538d.js +5 -0
  5. package/dist/{chunk-25ee58bc6072bd58.js → chunk-90bbf6a9e83613c5.js} +1 -1
  6. package/dist/{chunk-d16ef78d852a6856.js → chunk-91b6ef5e24ab5b68.js} +1 -1
  7. package/dist/{chunk-c27a654eada9167e.js → chunk-97dc0038c2c61747.js} +1 -1
  8. package/dist/chunk-aead527dfd7392c4.js +16 -0
  9. package/dist/chunk-b42d49e516e08f8f.js +6 -0
  10. package/dist/{chunk-0ddb821fe8124f54.js → chunk-b88d77955168b486.js} +2 -2
  11. package/dist/{chunk-2335866508ec8b1b.js → chunk-b8d464c89c783b71.js} +1 -1
  12. package/dist/chunk-cfc36fa4387e9969.js +2 -0
  13. package/dist/chunk-e5d43a7ba83f74df.js +2 -0
  14. package/dist/{chunk-63c98893e07b1644.js → chunk-e78e6f198869b6d2.js} +1 -1
  15. package/dist/chunk-ecc1d0c7ff25f19f.js +1 -0
  16. package/dist/chunk-f44ef133dae89ec6.js +2 -0
  17. package/dist/chunk-f6546172b47b47d2.js +1 -0
  18. package/dist/client/index.js +13 -3
  19. package/dist/client/useQuery.d.ts.map +1 -1
  20. package/dist/kernel/index.js +1 -1
  21. package/dist/services/index.js +1 -10
  22. package/package.json +1 -1
  23. package/dist/chunk-2fd968b1b4418bfa.js +0 -18
  24. package/dist/chunk-38315b1e3dd78ca7.js +0 -2
  25. package/dist/chunk-63e9bc71922dbe80.js +0 -1
  26. package/dist/chunk-92bab268a3007d3d.js +0 -2
  27. package/dist/chunk-958e406572d457ca.js +0 -2
  28. package/dist/chunk-b99af11a56fdd395.js +0 -2
  29. package/dist/chunk-c6ab6f8e07a028ac.js +0 -6
  30. package/dist/chunk-d16cfcc9dd3ac869.js +0 -2
  31. package/dist/chunk-da07ce723d8218db.js +0 -3
  32. package/dist/chunk-df08a797b672bf3b.js +0 -2
@@ -1,11 +1,2 @@
1
1
  // @bun
2
- import"../chunk-25ee58bc6072bd58.js";import{B as C} from"../chunk-24a86f8f5ddc0cbd.js";import{G as La,H as mS} from"../chunk-0ba2cc302113ab40.js";import{M as Bd} from"../chunk-ff8cd8fd047cfee5.js";import{$ as Ff,N as jr,O as Vm,P as Bm,Q as Jm,R as Ym,S as Gr,T as Hr,U as t,V as rr,W as Ra,X as we,Y as Om,Z as zf,_ as Gf,aa as qm,ba as Pm,ca as km,da as ym,ea as Nm,fa as jm,ga as im,ha as Kf,ia as Pr,ja as bm,ka as Dm,la as Tm,ma as xm,na as $m,oa as om,pa as Rs,qa as Um,ra as Bs,sa as Mm,ta as vm,ua as Xm,va as Zm} from"../chunk-2fd968b1b4418bfa.js";import{$a as Rr,Aa as br,Ba as _m,Ca as tr,Fa as hm,Ga as vr,Ha as B,Ia as mm,Ja as gm,Ka as wm,La as u,Ma as Am,Na as Rm,Oa as gr,Pa as dm,Qa as Ml,Ra as vl,Sa as rh,Ta as Ir,Ua as _,Wa as vs,Za as Ar,_a as sh,ab as eh,bb as Ms,cb as Lr,eb as te,fb as $r,gb as Bf,hb as O,ib as ah,jb as Em,kb as Im,lb as Lm,mb as Wm,ob as z,qb as lh,wa as Fm,xa as Km,ya as L,za as xr} from"../chunk-da07ce723d8218db.js";import{sb as Jg} from"../chunk-b99af11a56fdd395.js";import{tb as b,ub as Sm} from"../chunk-38315b1e3dd78ca7.js";import"../chunk-d16ef78d852a6856.js";import{Bb as Cm} from"../chunk-0ddb821fe8124f54.js";import"../chunk-63e9bc71922dbe80.js";class lr{}class ir extends lr{r;constructor(r=`${process.env.ROOT_DIR}/storage`){super();this.folderPath=r}async put(r){let s,e;if(r instanceof Blob)s=r,e=`${jr()}.${r.type.split("/")[1].split(";")[0]}`;else s=r.body,e=r.name;const a=s instanceof Buffer?s:Buffer.from(await s.arrayBuffer()),l=`${this.folderPath}/${e}`;return await Bun.write(l,a),e}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const a=`${this.folderPath}/${e}`,l=Bun.file(a),f=Bun.file(a).stream(),h=new Date(l.lastModified).toUTCString();return new Response(f,{headers:{"Content-Type":l.type,"Content-Length":String(l.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":h}})}}class Wa{driver=new ir}function Cg(r){return(s)=>async(e)=>{const{request:a}=e;if(L.isInstance(a)&&a.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")a.headers={...a.headers,Expect:"100-continue"}}return s({...e,request:a})}}var Hg={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},Xa=(r)=>({applyToStack:(s)=>{s.add(Cg(r),Hg)}});function Gg(){return(r,s)=>async(e)=>{const{request:a}=e;if(L.isInstance(a)){if(!(zg in a.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof br))s.logger.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.");else console.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.")}return r({...e})}}var zg="content-length",Fg={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Za=(r)=>({applyToStack:(s)=>{s.add(Gg(),Fg)}});var Qa=(r)=>{return(s,e)=>async(a)=>{const l=await r.region(),f=r.region;let h=()=>{};if(e.__s3RegionRedirect)Object.defineProperty(r,"region",{writable:!1,value:async()=>{return e.__s3RegionRedirect}}),h=()=>Object.defineProperty(r,"region",{writable:!0,value:f});try{const m=await s(a);if(e.__s3RegionRedirect){h();const g=await r.region();if(l!==g)throw new Error("Region was not restored following S3 region redirect.")}return m}catch(m){throw h(),m}}},Va={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function Kg(r){return(s,e)=>async(a)=>{try{return await s(a)}catch(l){if(r.followRegionRedirects&&l?.$metadata?.httpStatusCode===301){try{const f=l.$response.headers["x-amz-bucket-region"];e.logger?.debug(`Redirecting from ${await r.region()} to ${f}`),e.__s3RegionRedirect=f}catch(f){throw new Error("Region redirect failed: "+f)}return s(a)}else throw l}}}var Lg={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},Ba=(r)=>({applyToStack:(s)=>{s.add(Kg(r),Lg),s.addRelativeTo(Qa(r),Va)}});var Wg=(r)=>{return(s,e)=>async(a)=>{const l=await s(a),{response:f}=l;if(xr.isInstance(f)){if(f.headers.expires){f.headers.expiresstring=f.headers.expires;try{$r(f.headers.expires)}catch(h){e.logger?.warn(`AWS SDK Warning for ${e.clientName}::${e.commandName} response parsing (${f.headers.expires}): ${h}`),delete f.headers.expires}}}return l}},Xg={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},Ja=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Wg(r),Xg)}});class fr{constructor(r={}){this.data=r,this.lastPurgeTime=Date.now()}get(r){const s=this.data[r];if(!s)return;return s}set(r,s){return this.data[r]=s,s}delete(r){delete this.data[r]}async purgeExpired(){const r=Date.now();if(this.lastPurgeTime+fr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const e=this.data[s];if(!e.isRefreshing){const a=await e.identity;if(a.expiration){if(a.expiration.getTime()<r)delete this.data[s]}}}}}fr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class hr{constructor(r,s=!1,e=Date.now()){this._identity=r,this.isRefreshing=s,this.accessed=e}get identity(){return this.accessed=Date.now(),this._identity}}class mr{constructor(r,s=new fr){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const e=s.Bucket,{cache:a}=this,l=a.get(e);if(l)return l.identity.then((f)=>{if((f.expiration?.getTime()??0)<Date.now())return a.set(e,new hr(this.getIdentity(e))).identity;if((f.expiration?.getTime()??0)<Date.now()+mr.REFRESH_WINDOW_MS&&!l.isRefreshing)l.isRefreshing=!0,this.getIdentity(e).then((g)=>{a.set(e,new hr(Promise.resolve(g)))});return f});return a.set(e,new hr(this.getIdentity(e))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((a)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+a)});const s=await this.createSessionFn(r);if(!s.Credentials?.AccessKeyId||!s.Credentials?.SecretAccessKey)throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:s.Credentials.AccessKeyId,secretAccessKey:s.Credentials.SecretAccessKey,sessionToken:s.Credentials.SessionToken,expiration:s.Credentials.Expiration?new Date(s.Credentials.Expiration):void 0}}}mr.REFRESH_WINDOW_MS=60000;var Cr=C(gr(),1);var Ya="X-Amz-Algorithm",_a="X-Amz-Credential",Oa="X-Amz-Date",qa="X-Amz-SignedHeaders",ja="X-Amz-Expires",ia="X-Amz-Signature",ba="X-Amz-Security-Token";var xa="authorization",ts="X-Amz-Date".toLowerCase();var oa=["authorization",ts,"date"],na="X-Amz-Signature".toLowerCase(),Ur="x-amz-content-sha256",pa="X-Amz-Security-Token".toLowerCase();var ua={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},ta=/^proxy-/,rl=/^sec-/;var or="AWS4-HMAC-SHA256";var sl="AWS4-HMAC-SHA256-PAYLOAD",el="UNSIGNED-PAYLOAD",al=50,re="aws4_request",ll=604800;var hl=C(gr(),1);var nr={},se=[],pr=(r,s,e)=>`${r}/${s}/${e}/${re}`,ml=async(r,s,e,a,l)=>{const f=await fl(r,s.secretAccessKey,s.accessKeyId),h=`${e}:${a}:${l}:${hl.toHex(f)}:${s.sessionToken}`;if(h in nr)return nr[h];se.push(h);while(se.length>al)delete nr[se.shift()];let m=`AWS4${s.secretAccessKey}`;for(let g of[e,a,l,re])m=await fl(r,m,g);return nr[h]=m};var fl=(r,s,e)=>{const a=new r(s);return a.update(B(e)),a.digest()};var ur=({headers:r},s,e)=>{const a={};for(let l of Object.keys(r).sort()){if(r[l]==null)continue;const f=l.toLowerCase();if(f in ua||s?.has(f)||ta.test(f)||rl.test(f)){if(!e||e&&!e.has(f))continue}a[f]=r[l].trim().replace(/\s+/g," ")}return a};var ee=({query:r={}})=>{const s=[],e={};for(let a of Object.keys(r).sort()){if(a.toLowerCase()===na)continue;s.push(a);const l=r[a];if(typeof l==="string")e[a]=`${u(a)}=${u(l)}`;else if(Array.isArray(l))e[a]=l.slice(0).reduce((f,h)=>f.concat([`${u(a)}=${u(h)}`]),[]).sort().join("&")}return s.map((a)=>e[a]).filter((a)=>a).join("&")};var gl=C(gr(),1);var Mr=async({headers:r,body:s},e)=>{for(let a of Object.keys(r))if(a.toLowerCase()===Ur)return r[a];if(s==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";else if(typeof s==="string"||ArrayBuffer.isView(s)||tr(s)){const a=new e;return a.update(B(s)),gl.toHex(await a.digest())}return el};var rs=C(gr(),1);var dl=function(r){for(let s=0;s<8;s++)r[s]^=255;for(let s=7;s>-1;s--)if(r[s]++,r[s]!==0)break};class ae{format(r){const s=[];for(let l of Object.keys(r)){const f=vr(l);s.push(Uint8Array.from([f.byteLength]),f,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,f)=>l+f.byteLength,0));let a=0;for(let l of s)e.set(l,a),a+=l.byteLength;return e}formatHeaderValue(r){switch(r.type){case"boolean":return Uint8Array.from([r.value?0:1]);case"byte":return Uint8Array.from([2,r.value]);case"short":const s=new DataView(new ArrayBuffer(3));return s.setUint8(0,3),s.setInt16(1,r.value,!1),new Uint8Array(s.buffer);case"integer":const e=new DataView(new ArrayBuffer(5));return e.setUint8(0,4),e.setInt32(1,r.value,!1),new Uint8Array(e.buffer);case"long":const a=new Uint8Array(9);return a[0]=5,a.set(r.value.bytes,1),a;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const f=new Uint8Array(l.buffer);return f.set(r.value,3),f;case"string":const h=vr(r.value),m=new DataView(new ArrayBuffer(3+h.byteLength));m.setUint8(0,7),m.setUint16(1,h.byteLength,!1);const g=new Uint8Array(m.buffer);return g.set(h,3),g;case"timestamp":const w=new Uint8Array(9);return w[0]=8,w.set(le.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!Zg.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const A=new Uint8Array(17);return A[0]=9,A.set(rs.fromHex(r.value.replace(/\-/g,"")),1),A}}}var wl;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(wl||(wl={}));var Zg=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class le{constructor(r){if(this.bytes=r,r.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(r){if(r>9223372036854776000||r<-9223372036854776000)throw new Error(`${r} is too large (or, if negative, too small) to represent as an Int64`);const s=new Uint8Array(8);for(let e=7,a=Math.abs(Math.round(r));e>-1&&a>0;e--,a/=256)s[e]=a;if(r<0)dl(s);return new le(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)dl(r);return parseInt(rs.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}var Sl=(r,s)=>{r=r.toLowerCase();for(let e of Object.keys(s))if(r===e.toLowerCase())return!0;return!1};var fe=(r,s={})=>{const{headers:e,query:a={}}=L.clone(r);for(let l of Object.keys(e)){const f=l.toLowerCase();if(f.slice(0,6)==="x-amz-"&&!s.unhoistableHeaders?.has(f))a[l]=e[l],delete e[l]}return{...r,headers:e,query:a}};var ss=(r)=>{r=L.clone(r);for(let s of Object.keys(r.headers))if(oa.indexOf(s.toLowerCase())>-1)delete r.headers[s];return r};var cl=(r)=>Qg(r).toISOString().replace(/\.\d{3}Z$/,"Z"),Qg=(r)=>{if(typeof r==="number")return new Date(r*1000);if(typeof r==="string"){if(Number(r))return new Date(Number(r)*1000);return new Date(r)}return r};class he{constructor({applyChecksum:r,credentials:s,region:e,service:a,sha256:l,uriEscapePath:f=!0}){this.headerFormatter=new ae,this.service=a,this.sha256=l,this.uriEscapePath=f,this.applyChecksum=typeof r==="boolean"?r:!0,this.regionProvider=Hr(e),this.credentialProvider=Hr(s)}async presign(r,s={}){const{signingDate:e=new Date,expiresIn:a=3600,unsignableHeaders:l,unhoistableHeaders:f,signableHeaders:h,signingRegion:m,signingService:g}=s,w=await this.credentialProvider();this.validateResolvedCredentials(w);const A=m??await this.regionProvider(),{longDate:I,shortDate:P}=es(e);if(a>ll)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const $=pr(P,A,g??this.service),D=fe(ss(r),{unhoistableHeaders:f});if(w.sessionToken)D.query[ba]=w.sessionToken;D.query[Ya]=or,D.query[_a]=`${w.accessKeyId}/${$}`,D.query[Oa]=I,D.query[ja]=a.toString(10);const Q=ur(D,l,h);return D.query[qa]=Al(Q),D.query[ia]=await this.getSignature(I,$,this.getSigningKey(w,A,P,g),this.createCanonicalRequest(D,Q,await Mr(r,this.sha256))),D}async sign(r,s){if(typeof r==="string")return this.signString(r,s);else if(r.headers&&r.payload)return this.signEvent(r,s);else if(r.message)return this.signMessage(r,s);else return this.signRequest(r,s)}async signEvent({headers:r,payload:s},{signingDate:e=new Date,priorSignature:a,signingRegion:l,signingService:f}){const h=l??await this.regionProvider(),{shortDate:m,longDate:g}=es(e),w=pr(m,h,f??this.service),A=await Mr({headers:{},body:s},this.sha256),I=new this.sha256;I.update(r);const P=Cr.toHex(await I.digest()),$=[sl,g,w,a,P,A].join("\n");return this.signString($,{signingDate:e,signingRegion:h,signingService:f})}async signMessage(r,{signingDate:s=new Date,signingRegion:e,signingService:a}){return this.signEvent({headers:this.headerFormatter.format(r.message.headers),payload:r.message.body},{signingDate:s,signingRegion:e,signingService:a,priorSignature:r.priorSignature}).then((f)=>{return{message:r.message,signature:f}})}async signString(r,{signingDate:s=new Date,signingRegion:e,signingService:a}={}){const l=await this.credentialProvider();this.validateResolvedCredentials(l);const f=e??await this.regionProvider(),{shortDate:h}=es(s),m=new this.sha256(await this.getSigningKey(l,f,h,a));return m.update(B(r)),Cr.toHex(await m.digest())}async signRequest(r,{signingDate:s=new Date,signableHeaders:e,unsignableHeaders:a,signingRegion:l,signingService:f}={}){const h=await this.credentialProvider();this.validateResolvedCredentials(h);const m=l??await this.regionProvider(),g=ss(r),{longDate:w,shortDate:A}=es(s),I=pr(A,m,f??this.service);if(g.headers[ts]=w,h.sessionToken)g.headers[pa]=h.sessionToken;const P=await Mr(g,this.sha256);if(!Sl(Ur,g.headers)&&this.applyChecksum)g.headers[Ur]=P;const $=ur(g,a,e),D=await this.getSignature(w,I,this.getSigningKey(h,m,A,f),this.createCanonicalRequest(g,$,P));return g.headers[xa]=`${or} `+`Credential=${h.accessKeyId}/${I}, `+`SignedHeaders=${Al($)}, `+`Signature=${D}`,g}createCanonicalRequest(r,s,e){const a=Object.keys(s).sort();return`${r.method}
3
- ${this.getCanonicalPath(r)}
4
- ${ee(r)}
5
- ${a.map((l)=>`${l}:${s[l]}`).join("\n")}
6
-
7
- ${a.join(";")}
8
- ${e}`}async createStringToSign(r,s,e){const a=new this.sha256;a.update(B(e));const l=await a.digest();return`${or}
9
- ${r}
10
- ${s}
11
- ${Cr.toHex(l)}`}getCanonicalPath({path:r}){if(this.uriEscapePath){const s=[];for(let l of r.split("/")){if(l?.length===0)continue;if(l===".")continue;if(l==="..")s.pop();else s.push(l)}const e=`${r?.startsWith("/")?"/":""}${s.join("/")}${s.length>0&&r?.endsWith("/")?"/":""}`;return u(e).replace(/%2F/g,"/")}return r}async getSignature(r,s,e,a){const l=await this.createStringToSign(r,s,a),f=new this.sha256(await e);return f.update(B(l)),Cr.toHex(await f.digest())}getSigningKey(r,s,e,a){return ml(this.sha256,r,e,s,a||this.service)}validateResolvedCredentials(r){if(typeof r!=="object"||typeof r.accessKeyId!=="string"||typeof r.secretAccessKey!=="string")throw new Error("Resolved credential object is not valid")}}var es=(r)=>{const s=cl(r).replace(/[\-:]/g,"");return{longDate:s,shortDate:s.slice(0,8)}},Al=(r)=>Object.keys(r).sort().join(";");var Rl="Directory",El="S3Express",Il="sigv4-s3express",as="X-Amz-S3session-Token",zr=as.toLowerCase(),Vg="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Bg="s3_disable_express_session_auth",me={environmentVariableSelector:(r)=>t(r,Vg,rr.ENV),configFileSelector:(r)=>t(r,Bg,rr.CONFIG),default:!1};var Pl=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},kl=function(r,s){const e=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),a=r.credentialProvider,l=()=>{return clearTimeout(e),r.credentialProvider=a,Promise.resolve(s)};r.credentialProvider=l};class ls extends he{async signWithCredentials(r,s,e){const a=Pl(s);r.headers[zr]=s.sessionToken;const l=this;return kl(l,a),l.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const a=Pl(s);return delete r.headers[zr],r.headers[as]=s.sessionToken,r.query=r.query??{},r.query[as]=s.sessionToken,kl(this,a),this.presign(r,e)}}var yl=(r)=>{return(s,e)=>async(a)=>{if(e.endpointV2){const l=e.endpointV2,f=l.properties?.authSchemes?.[0]?.name===Il;if(l.properties?.backend===El||l.properties?.bucketType===Rl)e.isS3ExpressBucket=!0;if(f){const m=a.input.Bucket;if(m){const g=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:m});if(e.s3ExpressIdentity=g,L.isInstance(a.request)&&g.sessionToken)a.request.headers[zr]=g.sessionToken}}}return s(a)}},Nl={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},ge=(r)=>({applyToStack:(s)=>{s.add(yl(r),Nl)}});var Tl=C(we(),1);var Yg=C(Jg(),1);var Dl=async(r,s,e,a)=>{const l=await a.signWithCredentials(e,r,{});if(l.headers["X-Amz-Security-Token"]||l.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return l};var _g=(r)=>(s)=>{throw s},Og=(r,s)=>{};var $l=(r)=>(s,e)=>async(a)=>{if(!L.isInstance(a.request))return s(a);const f=Gr(e).selectedHttpAuthScheme;if(!f)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:h={}},identity:m,signer:g}=f;let w;if(e.s3ExpressIdentity)w=await Dl(e.s3ExpressIdentity,h,a.request,await r.signer());else w=await g.sign(a.request,m,h);const A=await s({...a,request:w}).catch((g.errorHandler||_g)(h));return(g.successHandler||Og)(A.response,h),A},de=(r)=>({applyToStack:(s)=>{s.addRelativeTo($l(r),Tl.httpSigningMiddlewareOptions)}});var Ul=(r,{session:s})=>{const[e,a]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new mr(async(l)=>e().send(new a({Bucket:l,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var qg={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},jg=3000,ig=(r)=>(s,e)=>async(a)=>{const l=await s(a),{response:f}=l;if(!xr.isInstance(f))return l;const{statusCode:h,body:m}=f;if(h<200||h>=300)return l;let g=m,w=m;if(m&&typeof m==="object"&&!(m instanceof Uint8Array))[g,w]=await Ml(m);f.body=w;const A=await bg(g,{streamCollector:async(P)=>{return vl(P,jg)}});if(typeof g?.destroy==="function")g.destroy();const I=r.utf8Encoder(A.subarray(A.length-16));if(A.length===0&&qg[e.commandName]){const P=new Error("S3 aborted request");throw P.name="InternalError",P}if(I&&I.endsWith("</Error>"))f.statusCode=400;return l},bg=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},xg={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},fs=(r)=>({applyToStack:(s)=>{s.addRelativeTo(ig(r),xg)}});var Se=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function Cl(r){return(s,e)=>async(a)=>{if(r.bucketEndpoint){const l=e.endpointV2;if(l){const f=a.input.Bucket;if(typeof f==="string")try{const h=new URL(f);l.url=h}catch(h){const m=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${f} could not be parsed as URL.`;if(e.logger?.constructor?.name==="NoOpLogger")console.warn(m);else e.logger?.warn?.(m);throw h}}}return s(a)}}var Hl={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function og({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:a}}=e;if(!r&&typeof a==="string"&&!Se(a)&&a.indexOf("/")>=0){const l=new Error(`Bucket name shouldn't contain '/', received '${a}'`);throw l.name="InvalidBucketName",l}return s({...e})}}var ng={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},zl=(r)=>({applyToStack:(s)=>{s.add(og(r),ng),s.addRelativeTo(Cl(r),Hl)}});var yr=C(we(),1);var Gl=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var Es=C(Rs(),1);var hs={CrtSignerV4:null};class ce{constructor(r){this.sigv4Signer=new ls(r),this.signerOptions=r}async sign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().sign(r,s)}return this.sigv4Signer.sign(r,s)}async signWithCredentials(r,s,e={}){if(e.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().signWithCredentials(r,s,e)}return this.sigv4Signer.signWithCredentials(r,s,e)}async presign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().presign(r,s)}return this.sigv4Signer.presign(r,s)}async presignWithCredentials(r,s,e={}){if(e.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(r,s,e)}getSigv4aSigner(){if(!this.sigv4aSigner){let r=null;try{if(r=hs.CrtSignerV4,typeof r!=="function")throw new Error}catch(s){throw s.message=`${s.message}\n`+'Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. \nYou must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. \nFor more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt',s}this.sigv4aSigner=new r({...this.signerOptions,signingAlgorithm:1})}return this.sigv4aSigner}}var wr={["required"]:!1,["type"]:"String"},dr={["required"]:!0,default:!1,["type"]:"Boolean"},Fr={["required"]:!1,["type"]:"Boolean"},Y={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},N={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},y={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},M={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},Df={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Fl={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},Ss={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},X={["ref"]:"Bucket"},W={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},ds={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},Tf={["ref"]:"url"},$f={["fn"]:"uriEncode",["argv"]:[X],["assign"]:"uri_encoded_bucket"},j={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},d={},Uf={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[X,!1]},Ae={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},cs={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},Kl={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Ll={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},S={["fn"]:"not",["argv"]:[M]},Wl={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},Xl={["fn"]:"not",["argv"]:[Ss]},Zl={["ref"]:"hardwareType"},Ql={["conditions"]:[S],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},ms={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},Re={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},pg={["ref"]:"ForcePathStyle"},U={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},H={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},G={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},E={["fn"]:"not",["argv"]:[H]},F={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},Vl={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},v={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},K={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},R={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},Bl={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},c={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Jl={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Yl={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ee={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[Tf,"isIp"]},!1]},Ie={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:v,["headers"]:{}},Ze={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:v,["headers"]:{}},_l={["endpoint"]:Ze,["type"]:"endpoint"},Pe={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ol={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},gs={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},V={["ref"]:"bucketArn"},Mf={["ref"]:"arnType"},ke={["fn"]:"getAttr",["argv"]:[V,"service"]},Qe={["ref"]:"accessPointName"},ql={["conditions"]:[y],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},jl={["conditions"]:[Y],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},il={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},ye={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},vf={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},Cf={["fn"]:"getAttr",["argv"]:[V,"accountId"]},Ne={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},bl={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},De={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},Te={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},$e={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},xl={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},ol={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},Kr={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},nl={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},pl={["fn"]:"aws.parseArn",["argv"]:[X]},ul={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},tl={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},rf={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Ue={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},sf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},ef={["ref"]:"UseObjectLambdaEndpoint"},Me={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},af={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},lf={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},ff={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},ve={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:v,["headers"]:{}},hf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ce=[{["ref"]:"Region"}],ug=[{["ref"]:"Endpoint"}],tg=[X],He=[y],ws=[Y],sr=[M,W],mf=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],gf=[ds],ze=[$f],Ge=[Uf],Sr=[N],wf=[{["fn"]:"substring",["argv"]:[X,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[X,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],df=[{["conditions"]:[N],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:j,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:j,["headers"]:{}},["type"]:"endpoint"}],Sf=[{["fn"]:"substring",["argv"]:[X,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[X,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],cf=[{["conditions"]:[N],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:cs,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:cs,["headers"]:{}},["type"]:"endpoint"}],rw=[Ss],Af=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],Rf=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],sw=["*"],x=[Df],Ef=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],o=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],Fe=[{["fn"]:"stringEquals",["argv"]:[Mf,"accesspoint"]}],If=[{["fn"]:"getAttr",["argv"]:[V,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Qe,""]}]}],ew=[V,"resourceId[1]"],Ke=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},""]}]}],Pf=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[2]"]}]}]}],aw=[V,"resourceId[2]"],Le=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]}],["assign"]:"bucketPartition"}],kf=[{["fn"]:"stringEquals",["argv"]:[vf,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],We=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},!0]}],Xe=[{["fn"]:"isValidHostLabel",["argv"]:[Cf,!1]}],yf=[{["fn"]:"isValidHostLabel",["argv"]:[Qe,!1]}],Nf=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],lw={version:"1.0",parameters:{Bucket:wr,Region:wr,UseFIPS:dr,UseDualStack:dr,Endpoint:wr,ForcePathStyle:dr,Accelerate:dr,UseGlobalEndpoint:dr,UseObjectLambdaEndpoint:Fr,Key:wr,Prefix:wr,CopySource:wr,DisableAccessPoints:Fr,DisableMultiRegionAccessPoints:dr,UseArnRegion:Fr,UseS3ExpressControlEndpoint:Fr,DisableS3ExpressSessionAuth:Fr},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:Ce}],rules:[{["conditions"]:[Y,N],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[y,M],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[M,N],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[M,Y],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[N,Df,Fl],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[Ss,{["fn"]:"substring",["argv"]:[X,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:He,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:ws,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:sr,rules:[{["conditions"]:mf,rules:[{["conditions"]:gf,rules:[{["conditions"]:ze,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Ge,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Ae],["type"]:"tree"},{["conditions"]:gf,rules:[{["conditions"]:ze,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Ge,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Ae],["type"]:"tree"},{["conditions"]:[Kl,Ll],rules:[{["conditions"]:[$f,S],rules:[{["conditions"]:Sr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:j,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:Ge,rules:[{["conditions"]:mf,rules:[{["conditions"]:wf,rules:df,["type"]:"tree"},{["conditions"]:Sf,rules:df,["type"]:"tree"},Wl],["type"]:"tree"},{["conditions"]:wf,rules:cf,["type"]:"tree"},{["conditions"]:Sf,rules:cf,["type"]:"tree"},Wl],["type"]:"tree"},Ae],["type"]:"tree"},{["conditions"]:[Xl,Kl,Ll],rules:[{["conditions"]:sr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:j,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Sr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:j,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:j,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[Ss,{["fn"]:"substring",["argv"]:[X,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[X,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[X,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[X,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:Ce,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:Af,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Zl,"e"]}],rules:[{["conditions"]:Rf,rules:[Ql,{["conditions"]:sr,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:ms,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:ms,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Zl,"o"]}],rules:[{["conditions"]:Rf,rules:[Ql,{["conditions"]:sr,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:ms,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:ms,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{error:"Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",["type"]:"error"}],["type"]:"tree"},{["conditions"]:rw,rules:[{["conditions"]:[M,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:ug}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[Re,Uf],rules:[{["conditions"]:x,rules:[{["conditions"]:Ef,rules:[{["conditions"]:[Y,Fl],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[y,N,U,S,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,N,U,S,E,F],rules:[{endpoint:Vl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,N,U,S,E,K],endpoint:Vl,["type"]:"endpoint"},{["conditions"]:[R,N,U,S,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,N,U,S,E,F],rules:[{endpoint:Bl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,N,U,S,E,K],endpoint:Bl,["type"]:"endpoint"},{["conditions"]:[y,c,Y,S,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,c,Y,S,E,F],rules:[{endpoint:Jl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,c,Y,S,E,K],endpoint:Jl,["type"]:"endpoint"},{["conditions"]:[y,c,U,S,H],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,c,U,S,E,F],rules:[{endpoint:Yl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,c,U,S,E,K],endpoint:Yl,["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,ds,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,Ee,H],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,ds,E,F],rules:[{["conditions"]:o,endpoint:Ie,["type"]:"endpoint"},{endpoint:Ie,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,c,U,M,W,Ee,E,F],rules:[{["conditions"]:o,endpoint:Ze,["type"]:"endpoint"},_l],["type"]:"tree"},{["conditions"]:[R,c,U,M,W,ds,E,K],endpoint:Ie,["type"]:"endpoint"},{["conditions"]:[R,c,U,M,W,Ee,E,K],endpoint:Ze,["type"]:"endpoint"},{["conditions"]:[R,c,Y,S,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,Y,S,E,F],rules:[{["conditions"]:o,endpoint:Pe,["type"]:"endpoint"},{endpoint:Pe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,c,Y,S,E,K],endpoint:Pe,["type"]:"endpoint"},{["conditions"]:[R,c,U,S,H],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,c,U,S,E,F],rules:[{["conditions"]:o,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:Ol,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,c,U,S,E,K],endpoint:Ol,["type"]:"endpoint"}],["type"]:"tree"},gs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[M,W,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[Tf,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[X,!0]},Re,c,R,U],rules:[{["conditions"]:x,rules:[{["conditions"]:Ef,rules:[_l],["type"]:"tree"},gs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Re,{["fn"]:"aws.parseArn",["argv"]:tg,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Mf,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ke,"s3-object-lambda"]}],rules:[{["conditions"]:Fe,rules:[{["conditions"]:If,rules:[ql,jl,{["conditions"]:Ke,rules:[il,{["conditions"]:Pf,rules:[ye,{["conditions"]:Le,rules:[{["conditions"]:x,rules:[{["conditions"]:kf,rules:[{["conditions"]:We,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Cf,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:Xe,rules:[{["conditions"]:yf,rules:[{["conditions"]:sr,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Ne,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Sr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ne,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ne,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},bl],["type"]:"tree"},De],["type"]:"tree"},Te],["type"]:"tree"},$e],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},xl],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},ol],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:Fe,rules:[{["conditions"]:If,rules:[{["conditions"]:Ke,rules:[{["conditions"]:Fe,rules:[{["conditions"]:Ke,rules:[il,{["conditions"]:Pf,rules:[ye,{["conditions"]:Le,rules:[{["conditions"]:x,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[vf,"{partitionResult#name}"]}],rules:[{["conditions"]:We,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ke,"s3"]}],rules:[{["conditions"]:Xe,rules:[{["conditions"]:yf,rules:[{["conditions"]:ws,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[N,y],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Kr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[N,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Kr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,y],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Kr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R,M,W],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Kr,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Kr,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},bl],["type"]:"tree"},De],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},Te],["type"]:"tree"},$e],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},xl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[Qe,!0]}],rules:[{["conditions"]:He,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:Sr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:ws,error:"S3 MRAP does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",["type"]:"error"},{["conditions"]:[{["fn"]:"aws.partition",["argv"]:Ce,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[V,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:sw}]},["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid Access Point Name",["type"]:"error"}],["type"]:"tree"},ol],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ke,"s3-outposts"]}],rules:[{["conditions"]:He,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:Sr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:ws,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:ew,["assign"]:"outpostId"}],rules:[{["conditions"]:Af,rules:[ye,{["conditions"]:Le,rules:[{["conditions"]:x,rules:[{["conditions"]:kf,rules:[{["conditions"]:We,rules:[{["conditions"]:Xe,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:aw,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:sr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:nl,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:nl,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{error:"Expected an outpost type `accesspoint`, found {outpostType}",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: expected an access point name",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Expected a 4-component resource",["type"]:"error"}],["type"]:"tree"},De],["type"]:"tree"},Te],["type"]:"tree"},$e],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The Outpost Id was not set",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: No ARN type specified",["type"]:"error"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"substring",["argv"]:[X,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[pl]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[pg,!0]},pl],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:ze,rules:[{["conditions"]:x,rules:[{["conditions"]:[U],rules:[{["conditions"]:[y,S,N,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,S,N,E,F],rules:[{endpoint:ul,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,S,N,E,K],endpoint:ul,["type"]:"endpoint"},{["conditions"]:[R,S,N,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,N,E,F],rules:[{endpoint:tl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,N,E,K],endpoint:tl,["type"]:"endpoint"},{["conditions"]:[y,S,c,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,S,c,E,F],rules:[{endpoint:rf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,S,c,E,K],endpoint:rf,["type"]:"endpoint"},{["conditions"]:[R,M,W,c,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,M,W,c,E,F],rules:[{["conditions"]:o,endpoint:Ue,["type"]:"endpoint"},{endpoint:Ue,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,M,W,c,E,K],endpoint:Ue,["type"]:"endpoint"},{["conditions"]:[R,S,c,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,c,E,F],rules:[{["conditions"]:o,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:sf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,c,E,K],endpoint:sf,["type"]:"endpoint"}],["type"]:"tree"},{error:"Path-style addressing cannot be used with S3 Accelerate",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[ef]},{["fn"]:"booleanEquals",["argv"]:[ef,!0]}],rules:[{["conditions"]:x,rules:[{["conditions"]:Nf,rules:[ql,jl,{["conditions"]:sr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:Me,["headers"]:d},["type"]:"endpoint"},{["conditions"]:Sr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:Me,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:Me,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},gs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Xl],rules:[{["conditions"]:x,rules:[{["conditions"]:Nf,rules:[{["conditions"]:[N,y,S,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[N,y,S,E,F],rules:[{endpoint:af,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[N,y,S,E,K],endpoint:af,["type"]:"endpoint"},{["conditions"]:[N,R,S,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[N,R,S,E,F],rules:[{endpoint:lf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[N,R,S,E,K],endpoint:lf,["type"]:"endpoint"},{["conditions"]:[c,y,S,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,y,S,E,F],rules:[{endpoint:ff,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[c,y,S,E,K],endpoint:ff,["type"]:"endpoint"},{["conditions"]:[c,R,M,W,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R,M,W,E,F],rules:[{["conditions"]:o,endpoint:ve,["type"]:"endpoint"},{endpoint:ve,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[c,R,M,W,E,K],endpoint:ve,["type"]:"endpoint"},{["conditions"]:[c,R,S,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[c,R,S,E,F],rules:[{["conditions"]:o,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:hf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[c,R,S,E,K],endpoint:hf,["type"]:"endpoint"}],["type"]:"tree"},gs],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},Hf=lw;var As=(r,s={})=>{return Gf(Hf,{endpointParams:r,logger:s.logger})};zf.aws=Ff;var Wf=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Xf=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},fw=(r)=>async(s,e,a)=>{if(!a)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const l=await r(s,e,a),f=Gr(e)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!f)throw new Error(`getEndpointParameterInstructions() is not defined on \`${e.commandName}\``);const h=await Kf(a,{getEndpointParameterInstructions:f},s);return Object.assign(l,h)},hw=async(r,s,e)=>{return{operation:Gr(s).operation,region:await Hr(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Lf=fw(hw),mw=(r,s,e)=>{return(l)=>{const h=r(l).properties?.authSchemes;if(!h)return s(l);const m=[];for(let g of h){const{name:w,properties:A={},...I}=g,P=w.toLowerCase();if(w!==P)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${w}\` to \`${P}\``);let $;if(P==="sigv4a"){$="aws.auth#sigv4a";const qr=h.find((q)=>{const Tr=q.name.toLowerCase();return Tr!=="sigv4a"&&Tr.startsWith("sigv4")});if(!hs.CrtSignerV4&&qr)continue}else if(P.startsWith("sigv4"))$="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${P}\``);const D=e[$];if(!D)throw new Error(`Could not find HttpAuthOption create function for \`${$}\``);const Q=D(l);Q.schemeId=$,Q.signingProperties={...Q.signingProperties||{},...I,...A},m.push(Q)}return m}},gw=(r)=>{const s=[];switch(r.operation){default:s.push(Wf(r)),s.push(Xf(r))}return s},Zf=mw(As,gw,{"aws.auth#sigv4":Wf,"aws.auth#sigv4a":Xf}),Qf=(r)=>{const s=Es.resolveAwsSdkSigV4Config(r);return{...Es.resolveAwsSdkSigV4AConfig(s)}};var Oh=C(Ra(),1);var Vf=(r)=>{return{...r,useFipsEndpoint:r.useFipsEndpoint??!1,useDualstackEndpoint:r.useDualstackEndpoint??!1,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,useGlobalEndpoint:r.useGlobalEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,defaultSigningName:"s3"}},cr={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class Z extends Bf{constructor(r){super(r);Object.setPrototypeOf(this,Z.prototype)}}class Is extends Z{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Is.prototype)}}class Ps extends Z{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Ps.prototype)}}class ks extends Z{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,ks.prototype)}}class ys extends Z{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,ys.prototype)}}class Ns extends Z{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,Ns.prototype)}}var Ve;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Ve||(Ve={}));var Be;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.ObjectSizeGreaterThan!==void 0)return e.ObjectSizeGreaterThan(s.ObjectSizeGreaterThan);if(s.ObjectSizeLessThan!==void 0)return e.ObjectSizeLessThan(s.ObjectSizeLessThan);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Be||(Be={}));var Je;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.AccessPointArn!==void 0)return e.AccessPointArn(s.AccessPointArn);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Je||(Je={}));var Ye;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Ye||(Ye={}));class Ds extends Z{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,Ds.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class Ts extends Z{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,Ts.prototype)}}class $s extends Z{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,$s.prototype)}}var ww=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:_},...r.SessionToken&&{SessionToken:_}}),Jf=(r)=>({...r,...r.Credentials&&{Credentials:ww(r.Credentials)}});var Yf=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:_}}),_f=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:_}});var Er=C(Rs(),1);var Hs=C(we(),1);class Us extends Z{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Us.prototype)}}var Of;(function(r){r.visit=(s,e)=>{if(s.Records!==void 0)return e.Records(s.Records);if(s.Stats!==void 0)return e.Stats(s.Stats);if(s.Progress!==void 0)return e.Progress(s.Progress);if(s.Cont!==void 0)return e.Cont(s.Cont);if(s.End!==void 0)return e.End(s.End);return e._(s.$unknown[0],s.$unknown[1])}})(Of||(Of={}));var qf=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:_},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:_}}),jf=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:_},...r.SSEKMSKeyId&&{SSEKMSKeyId:_},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:_}});var fh=async(r,s)=>{const e=Hs.requestBuilder(r,s),a=z({},i,{[kd]:r[ow]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const l=z({[Rd]:[,""]});let f;return e.m("GET").h(a).q(l).b(f),e.build()};var hh=async(r,s)=>{const e=Hs.requestBuilder(r,s),a=z({},i,{[ed]:r[Ww],[ad]:[()=>i(r[bf]),()=>Lr(r[bf]).toString()],[ld]:r[Xw],[fd]:[()=>i(r[xf]),()=>Lr(r[xf]).toString()],[md]:r[Jw],[Fs]:r[zs],[Bh]:r[Th],[Ks]:r[Gs],[Zh]:r[Dh],[Kh]:r[Ih],[Pd]:r[Mw]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=z({[_h]:[,"GetObject"],[gd]:[,r[Yw]],[wd]:[,r[_w]],[dd]:[,r[Ow]],[Sd]:[,r[qw]],[cd]:[,r[jw]],[Ad]:[()=>r.ResponseExpires!==void 0,()=>Lr(r[iw]).toString()],[Ed]:[,r[ma]],[hd]:[()=>r.PartNumber!==void 0,()=>r[Bw].toString()]});let f;return e.m("GET").h(a).q(l).b(f),e.build()};var mh=async(r,s)=>{const e=Hs.requestBuilder(r,s),a=z({},i,{[zh]:r[Eh]||"application/octet-stream",[Id]:r[Tw],[Mh]:r[Sh],[vh]:r[ch],[Ch]:r[Ah],[Hh]:r[Rh],[ne]:[()=>i(r[be]),()=>r[be].toString()],[tw]:r[vw],[Md]:r[Uw],[ga]:r[sa],[wa]:r[ea],[da]:r[aa],[Sa]:r[la],[pe]:[()=>i(r[xe]),()=>Lr(r[xe]).toString()],[yd]:r[Gw],[Nd]:r[Fw],[Dd]:r[Kw],[Td]:r[Lw],[ca]:r[fa],[Qh]:r[Xr],[Yh]:r[Uh],[Fs]:r[zs],[Bh]:r[Th],[Ks]:r[Gs],[Aa]:r[ha],[Vh]:r[$h],[Zr]:[()=>i(r[Cs]),()=>r[Cs].toString()],[Zh]:r[Dh],[vd]:r[nw],[Wh]:r[yh],[ue]:[()=>i(r[oe]),()=>lh(r[oe]).toString()],[Lh]:r[kh],[Kh]:r[Ih],...r.Metadata!==void 0&&Object.keys(r.Metadata).reduce((m,g)=>{return m[`x-amz-meta-${g.toLowerCase()}`]=r.Metadata[g],m},{})});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=z({[_h]:[,"PutObject"]});let f,h;if(r.Body!==void 0)h=r.Body,f=h;return e.m("PUT").h(a).q(l).b(f),e.build()};var gh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ra(r,s);const e=z({$metadata:J(r)}),a=Ar(sh(await Er.parseXmlBody(r.body,s)),"body");if(a[qe]!=null)e[qe]=Dw(a[qe],s);return e};var wh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ra(r,s);const e=z({$metadata:J(r),[Hw]:[()=>r.headers[nf]!==void 0,()=>vs(r.headers[nf])],[$w]:[,r.headers[uw]],[Wr]:[,r.headers[Fh]],[xw]:[,r.headers[$d]],[Zw]:[()=>r.headers[of]!==void 0,()=>Ar($r(r.headers[of]))],[be]:[()=>r.headers[ne]!==void 0,()=>eh(r.headers[ne])],[Ph]:[,r.headers[Gh]],[sa]:[,r.headers[ga]],[ea]:[,r.headers[wa]],[aa]:[,r.headers[da]],[la]:[,r.headers[Sa]],[Qw]:[()=>r.headers[pf]!==void 0,()=>Ms(r.headers[pf])],[ma]:[,r.headers[Jh]],[Sh]:[,r.headers[Mh]],[ch]:[,r.headers[vh]],[Ah]:[,r.headers[Ch]],[Rh]:[,r.headers[Hh]],[Cw]:[,r.headers[rd]],[Eh]:[,r.headers[zh]],[xe]:[()=>r.headers[pe]!==void 0,()=>Ar($r(r.headers[pe]))],[zw]:[,r.headers[sd]],[Uh]:[,r.headers[Yh]],[fa]:[,r.headers[ca]],[zs]:[,r.headers[Fs]],[Gs]:[,r.headers[Ks]],[ha]:[,r.headers[Aa]],[Cs]:[()=>r.headers[Zr]!==void 0,()=>vs(r.headers[Zr])],[Xr]:[,r.headers[Qh]],[Nh]:[,r.headers[Xh]],[bw]:[,r.headers[Ud]],[Vw]:[()=>r.headers[uf]!==void 0,()=>Ms(r.headers[uf])],[pw]:[()=>r.headers[tf]!==void 0,()=>Ms(r.headers[tf])],[yh]:[,r.headers[Wh]],[oe]:[()=>r.headers[ue]!==void 0,()=>Ar(te(r.headers[ue]))],[kh]:[,r.headers[Lh]],Metadata:[,Object.keys(r.headers).filter((l)=>l.startsWith("x-amz-meta-")).reduce((l,f)=>{return l[f.substring(11)]=r.headers[f],l},{})]}),a=r.body;return s.sdkStreamMixin(a),e.Body=a,e};var dh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return ra(r,s);const e=z({$metadata:J(r),[Wr]:[,r.headers[Fh]],[Ph]:[,r.headers[Gh]],[sa]:[,r.headers[ga]],[ea]:[,r.headers[wa]],[aa]:[,r.headers[da]],[la]:[,r.headers[Sa]],[fa]:[,r.headers[ca]],[ma]:[,r.headers[Jh]],[zs]:[,r.headers[Fs]],[Gs]:[,r.headers[Ks]],[ha]:[,r.headers[Aa]],[$h]:[,r.headers[Vh]],[Cs]:[()=>r.headers[Zr]!==void 0,()=>vs(r.headers[Zr])],[Nh]:[,r.headers[Xh]]});return await rh(r.body,s),e};var ra=async(r,s)=>{const e={...r,body:await Er.parseXmlErrorBody(r.body,s)},a=Er.loadRestXmlErrorCode(r,e.body);switch(a){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await Pw(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await Nw(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await cw(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await Aw(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await Ew(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await Rw(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await Iw(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await kw(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await yw(e,s);default:const l=e.body;return Sw({output:r,parsedBody:l,errorCode:a})}},Sw=ah(Z),cw=async(r,s)=>{const e=z({}),a=r.body,l=new ks({$metadata:J(r),...e});return O(l,r.body)},Aw=async(r,s)=>{const e=z({}),a=r.body,l=new ys({$metadata:J(r),...e});return O(l,r.body)},Rw=async(r,s)=>{const e=z({}),a=r.body;if(a[Oe]!=null)e[Oe]=Rr(a[Oe]);if(a[Xr]!=null)e[Xr]=Rr(a[Xr]);const l=new Ds({$metadata:J(r),...e});return O(l,r.body)},Ew=async(r,s)=>{const e=z({}),a=r.body,l=new Ns({$metadata:J(r),...e});return O(l,r.body)},Iw=async(r,s)=>{const e=z({}),a=r.body,l=new Ts({$metadata:J(r),...e});return O(l,r.body)},Pw=async(r,s)=>{const e=z({}),a=r.body,l=new Is({$metadata:J(r),...e});return O(l,r.body)},kw=async(r,s)=>{const e=z({}),a=r.body,l=new $s({$metadata:J(r),...e});return O(l,r.body)},yw=async(r,s)=>{const e=z({}),a=r.body,l=new Us({$metadata:J(r),...e});return O(l,r.body)},Nw=async(r,s)=>{const e=z({}),a=r.body,l=new Ps({$metadata:J(r),...e});return O(l,r.body)};var Dw=(r,s)=>{const e={};if(r[_e]!=null)e[_e]=Rr(r[_e]);if(r[je]!=null)e[je]=Rr(r[je]);if(r[ie]!=null)e[ie]=Rr(r[ie]);if(r[Wr]!=null)e[Wr]=Ar(te(r[Wr]));return e};var J=(r)=>({httpStatusCode:r.statusCode,requestId:r.headers["x-amzn-requestid"]??r.headers["x-amzn-request-id"]??r.headers["x-amz-request-id"],extendedRequestId:r.headers["x-amz-id-2"],cfId:r.headers["x-amz-cf-id"]});var i=(r)=>r!==void 0&&r!==null&&r!==""&&(!Object.getOwnPropertyNames(r).includes("length")||r.length!=0)&&(!Object.getOwnPropertyNames(r).includes("size")||r.size!=0);var Tw="ACL";var _e="AccessKeyId";var $w="AcceptRanges";var Oe="AccessTier";var Cs="BucketKeyEnabled";var qe="Credentials",Uw="ChecksumAlgorithm";var Sh="CacheControl",sa="ChecksumCRC32",ea="ChecksumCRC32C",ch="ContentDisposition";var Ah="ContentEncoding";var Rh="ContentLanguage",be="ContentLength",Mw="ChecksumMode",vw="ContentMD5";var Cw="ContentRange";var aa="ChecksumSHA1",la="ChecksumSHA256";var Eh="ContentType";var Hw="DeleteMarker";var xe="Expires";var Ih="ExpectedBucketOwner";var zw="ExpiresString";var Ph="ETag";var Wr="Expiration";var Gw="GrantFullControl";var Fw="GrantRead",Kw="GrantReadACP";var Lw="GrantWriteACP";var Ww="IfMatch",bf="IfModifiedSince",Xw="IfNoneMatch";var xf="IfUnmodifiedSince";var Zw="LastModified";var Qw="MissingMeta";var kh="ObjectLockLegalHoldStatus",yh="ObjectLockMode";var oe="ObjectLockRetainUntilDate";var Vw="PartsCount";var Bw="PartNumber";var Jw="Range";var Nh="RequestCharged",Yw="ResponseCacheControl",_w="ResponseContentDisposition",Ow="ResponseContentEncoding",qw="ResponseContentLanguage",jw="ResponseContentType";var iw="ResponseExpires";var Dh="RequestPayer";var bw="ReplicationStatus";var xw="Restore";var je="SecretAccessKey";var Xr="StorageClass";var ow="SessionMode";var fa="ServerSideEncryption";var zs="SSECustomerAlgorithm",Th="SSECustomerKey",Gs="SSECustomerKeyMD5";var $h="SSEKMSEncryptionContext",ha="SSEKMSKeyId";var ie="SessionToken";var nw="Tagging";var pw="TagCount";var ma="VersionId";var Uh="WebsiteRedirectLocation";var uw="accept-ranges";var Mh="cache-control",vh="content-disposition",Ch="content-encoding",Hh="content-language",ne="content-length",tw="content-md5",rd="content-range",zh="content-type";var pe="expires";var Gh="etag",sd="expiresstring";var ed="if-match",ad="if-modified-since";var ld="if-none-match";var fd="if-unmodified-since";var of="last-modified";var hd="partNumber";var md="range",gd="response-cache-control",wd="response-content-disposition",dd="response-content-encoding",Sd="response-content-language",cd="response-content-type",Ad="response-expires";var Rd="session";var Ed="versionId";var Id="x-amz-acl";var ga="x-amz-checksum-crc32",wa="x-amz-checksum-crc32c",Pd="x-amz-checksum-mode";var da="x-amz-checksum-sha1",Sa="x-amz-checksum-sha256";var kd="x-amz-create-session-mode";var nf="x-amz-delete-marker",Fh="x-amz-expiration",Kh="x-amz-expected-bucket-owner";var yd="x-amz-grant-full-control",Nd="x-amz-grant-read",Dd="x-amz-grant-read-acp";var Td="x-amz-grant-write-acp";var pf="x-amz-missing-meta";var uf="x-amz-mp-parts-count";var Lh="x-amz-object-lock-legal-hold",Wh="x-amz-object-lock-mode",ue="x-amz-object-lock-retain-until-date";var $d="x-amz-restore",Xh="x-amz-request-charged";var Zh="x-amz-request-payer";var Ud="x-amz-replication-status";var Qh="x-amz-storage-class",Md="x-amz-sdk-checksum-algorithm";var ca="x-amz-server-side-encryption",Aa="x-amz-server-side-encryption-aws-kms-key-id",Zr="x-amz-server-side-encryption-bucket-key-enabled",Vh="x-amz-server-side-encryption-context",Fs="x-amz-server-side-encryption-customer-algorithm",Bh="x-amz-server-side-encryption-customer-key",Ks="x-amz-server-side-encryption-customer-key-md5",vd="x-amz-tagging",tf="x-amz-tagging-count";var Jh="x-amz-version-id",Yh="x-amz-website-redirect-location",_h="x-id";class Ea extends Ir.classBuilder().ep({...cr,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,e,a){return[Oh.getSerdePlugin(e,this.serialize,this.deserialize),Pr(e,r.getEndpointParameterInstructions()),fs(e)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(void 0,Jf).ser(fh).de(gh).build(){}var qh={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.629.0",scripts:{build:"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4",clean:"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3",test:"yarn test:unit","test:e2e":"yarn test:e2e:node && yarn test:e2e:browser","test:e2e:browser":"ts-mocha test/**/*.browser.ispec.ts && karma start karma.conf.js","test:e2e:node":"jest --c jest.config.e2e.js","test:unit":"ts-mocha test/unit/**/*.spec.ts"},main:"./dist-cjs/index.js",types:"./dist-types/index.d.ts",module:"./dist-es/index.js",sideEffects:!1,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.629.0","@aws-sdk/client-sts":"3.629.0","@aws-sdk/core":"3.629.0","@aws-sdk/credential-provider-node":"3.629.0","@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.629.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.629.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.2","@smithy/eventstream-serde-browser":"^3.0.6","@smithy/eventstream-serde-config-resolver":"^3.0.3","@smithy/eventstream-serde-node":"^3.0.5","@smithy/fetch-http-handler":"^3.2.4","@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.14","@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.12","@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.14","@smithy/util-defaults-mode-node":"^3.0.14","@smithy/util-endpoints":"^2.0.5","@smithy/util-middleware":"^3.0.3","@smithy/util-retry":"^3.0.3","@smithy/util-stream":"^3.1.3","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.2",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.629.0","@tsconfig/node16":"16.1.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^16.18.96",concurrently:"7.0.0","downlevel-dts":"0.10.1",rimraf:"3.0.2",typescript:"~4.9.5"},engines:{node:">=16.0.0"},typesVersions:{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},files:["dist-*/**"],author:{name:"AWS SDK for JavaScript Team",url:"https://aws.amazon.com/javascript/"},license:"Apache-2.0",browser:{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},homepage:"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3",repository:{type:"git",url:"https://github.com/aws/aws-sdk-js-v3.git",directory:"clients/client-s3"}};var Js=C(Rs(),1);var Hd="AWS_S3_USE_ARN_REGION",zd="s3_use_arn_region",jh={environmentVariableSelector:(r)=>t(r,Hd,rr.ENV),configFileSelector:(r)=>t(r,zd,rr.CONFIG),default:!1};var ih=C(Bd(),1),{__extends:A3,__assign:R3,__rest:E3,__decorate:I3,__param:P3,__esDecorate:k3,__runInitializers:y3,__propKey:N3,__setFunctionName:D3,__metadata:T3,__awaiter:Ls,__generator:Ws,__exportStar:$3,__createBinding:U3,__values:Xs,__read:M3,__spread:v3,__spreadArrays:C3,__spreadArray:H3,__await:z3,__asyncGenerator:G3,__asyncDelegator:F3,__asyncValues:K3,__makeTemplateObject:L3,__importStar:W3,__importDefault:X3,__classPrivateFieldGet:Z3,__classPrivateFieldSet:Q3,__classPrivateFieldIn:V3,__addDisposableResource:B3,__disposeResources:J3}=ih.default;import{Buffer as bh} from"buffer";var xh=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?bh.from(r,s):bh.from(r)};var Ia=(r)=>{const s=xh(r,"utf8");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function Qr(r){if(r instanceof Uint8Array)return r;if(typeof r==="string")return Jd(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var Jd=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:Ia;function Vr(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function Br(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Jr(r){if(!Uint32Array.from){var s=new Uint32Array(r.length),e=0;while(e<r.length)s[e]=r[e],e+=1;return s}return Uint32Array.from(r)}var Pa=function(){function r(){this.crc32=new er}return r.prototype.update=function(s){if(Vr(s))return;this.crc32.update(Qr(s))},r.prototype.digest=function(){return Ls(this,void 0,void 0,function(){return Ws(this,function(s){return[2,Br(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new er},r}();var er=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,a;try{for(var l=Xs(s),f=l.next();!f.done;f=l.next()){var h=f.value;this.checksum=this.checksum>>>8^_d[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(f&&!f.done&&(a=l.return))a.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var Yd=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],_d=Jr(Yd);var n=C(gr(),1);var nh=C(gr(),1),oh=function(r){for(let s=0;s<8;s++)r[s]^=255;for(let s=7;s>-1;s--)if(r[s]++,r[s]!==0)break};class kr{constructor(r){if(this.bytes=r,r.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(r){if(r>9223372036854776000||r<-9223372036854776000)throw new Error(`${r} is too large (or, if negative, too small) to represent as an Int64`);const s=new Uint8Array(8);for(let e=7,a=Math.abs(Math.round(r));e>-1&&a>0;e--,a/=256)s[e]=a;if(r<0)oh(s);return new kr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)oh(r);return parseInt(nh.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class ka{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let l of Object.keys(r)){const f=this.fromUtf8(l);s.push(Uint8Array.from([f.byteLength]),f,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,f)=>l+f.byteLength,0));let a=0;for(let l of s)e.set(l,a),a+=l.byteLength;return e}formatHeaderValue(r){switch(r.type){case"boolean":return Uint8Array.from([r.value?0:1]);case"byte":return Uint8Array.from([2,r.value]);case"short":const s=new DataView(new ArrayBuffer(3));return s.setUint8(0,3),s.setInt16(1,r.value,!1),new Uint8Array(s.buffer);case"integer":const e=new DataView(new ArrayBuffer(5));return e.setUint8(0,4),e.setInt32(1,r.value,!1),new Uint8Array(e.buffer);case"long":const a=new Uint8Array(9);return a[0]=5,a.set(r.value.bytes,1),a;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const f=new Uint8Array(l.buffer);return f.set(r.value,3),f;case"string":const h=this.fromUtf8(r.value),m=new DataView(new ArrayBuffer(3+h.byteLength));m.setUint8(0,7),m.setUint16(1,h.byteLength,!1);const g=new Uint8Array(m.buffer);return g.set(h,3),g;case"timestamp":const w=new Uint8Array(9);return w[0]=8,w.set(kr.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!pd.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const A=new Uint8Array(17);return A[0]=9,A.set(n.fromHex(r.value.replace(/\-/g,"")),1),A}}parse(r){const s={};let e=0;while(e<r.byteLength){const a=r.getUint8(e++),l=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,a));switch(e+=a,r.getUint8(e++)){case 0:s[l]={type:uh,value:!0};break;case 1:s[l]={type:uh,value:!1};break;case 2:s[l]={type:Od,value:r.getInt8(e++)};break;case 3:s[l]={type:qd,value:r.getInt16(e,!1)},e+=2;break;case 4:s[l]={type:jd,value:r.getInt32(e,!1)},e+=4;break;case 5:s[l]={type:id,value:new kr(new Uint8Array(r.buffer,r.byteOffset+e,8))},e+=8;break;case 6:const f=r.getUint16(e,!1);e+=2,s[l]={type:bd,value:new Uint8Array(r.buffer,r.byteOffset+e,f)},e+=f;break;case 7:const h=r.getUint16(e,!1);e+=2,s[l]={type:xd,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[l]={type:od,value:new Date(new kr(new Uint8Array(r.buffer,r.byteOffset+e,8)).valueOf())},e+=8;break;case 9:const m=new Uint8Array(r.buffer,r.byteOffset+e,16);e+=16,s[l]={type:nd,value:`${n.toHex(m.subarray(0,4))}-${n.toHex(m.subarray(4,6))}-${n.toHex(m.subarray(6,8))}-${n.toHex(m.subarray(8,10))}-${n.toHex(m.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var ph;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(ph||(ph={}));var uh="boolean",Od="byte",qd="short",jd="integer",id="long",bd="binary",xd="string",od="timestamp",nd="uuid",pd=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function rm({byteLength:r,byteOffset:s,buffer:e}){if(r<ud)throw new Error("Provided message too short to accommodate event stream message overhead");const a=new DataView(e,s,r),l=a.getUint32(0,!1);if(r!==l)throw new Error("Reported message length does not match received message length");const f=a.getUint32(th,!1),h=a.getUint32(p,!1),m=a.getUint32(r-ar,!1),g=new er().update(new Uint8Array(e,s,p));if(h!==g.digest())throw new Error(`The prelude checksum specified in the message (${h}) does not match the calculated CRC32 checksum (${g.digest()})`);if(g.update(new Uint8Array(e,s+p,r-(p+ar))),m!==g.digest())throw new Error(`The message checksum (${g.digest()}) did not match the expected value of ${m}`);return{headers:new DataView(e,s+p+ar,f),body:new Uint8Array(e,s+p+ar+f,l-f-(p+ar+ar))}}var th=4,p=th*2,ar=4,ud=p+ar*2;class ya{constructor(r,s){this.headerMarshaller=new ka(r,s),this.messageBuffer=[],this.isEndOfStream=!1}feed(r){this.messageBuffer.push(this.decode(r))}endOfStream(){this.isEndOfStream=!0}getMessage(){const r=this.messageBuffer.pop(),s=this.isEndOfStream;return{getMessage(){return r},isEndOfStream(){return s}}}getAvailableMessages(){const r=this.messageBuffer;this.messageBuffer=[];const s=this.isEndOfStream;return{getMessages(){return r},isEndOfStream(){return s}}}encode({headers:r,body:s}){const e=this.headerMarshaller.format(r),a=e.byteLength+s.byteLength+16,l=new Uint8Array(a),f=new DataView(l.buffer,l.byteOffset,l.byteLength),h=new er;return f.setUint32(0,a,!1),f.setUint32(4,e.byteLength,!1),f.setUint32(8,h.update(l.subarray(0,8)).digest(),!1),l.set(e,12),l.set(s,e.byteLength+12),f.setUint32(a-4,h.update(l.subarray(8,a-4)).digest(),!1),l}decode(r){const{headers:s,body:e}=rm(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class Na{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.decoder.decode(r)}}class Da{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream)yield this.options.encoder.encode(r);if(this.options.includeEndFrame)yield new Uint8Array(0)}}class Ta{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream){const s=await this.options.deserializer(r);if(s===void 0)continue;yield s}}}class $a{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.serializer(r)}}function sm(r){let s=0,e=0,a=null,l=null;const f=(m)=>{if(typeof m!=="number")throw new Error("Attempted to allocate an event message where size was not a number: "+m);s=m,e=4,a=new Uint8Array(m),new DataView(a.buffer).setUint32(0,m,!1)},h=async function*(){const m=r[Symbol.asyncIterator]();while(!0){const{value:g,done:w}=await m.next();if(w){if(!s)return;else if(s===e)yield a;else throw new Error("Truncated event message received.");return}const A=g.length;let I=0;while(I<A){if(!a){const $=A-I;if(!l)l=new Uint8Array(4);const D=Math.min(4-e,$);if(l.set(g.slice(I,I+D),e),e+=D,I+=D,e<4)break;f(new DataView(l.buffer).getUint32(0,!1)),l=null}const P=Math.min(s-e,A-I);if(a.set(g.slice(I,I+P),e),e+=P,I+=P,s&&s===e)yield a,a=null,s=0,e=0}}};return{[Symbol.asyncIterator]:h}}function em(r,s){return async function(e){const{value:a}=e.headers[":message-type"];if(a==="error"){const l=new Error(e.headers[":error-message"].value||"UnknownError");throw l.name=e.headers[":error-code"].value,l}else if(a==="exception"){const l=e.headers[":exception-type"].value,f={[l]:e},h=await r(f);if(h.$unknown){const m=new Error(s(e.body));throw m.name=l,m}throw h[l]}else if(a==="event"){const l={[e.headers[":event-type"].value]:e},f=await r(l);if(f.$unknown)return;return f}else throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)}}class Zs{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new ya(r,s),this.utfEncoder=r}deserialize(r,s){const e=sm(r);return new Ta({messageStream:new Na({inputStream:e,decoder:this.eventStreamCodec}),deserializer:em(s,this.utfEncoder)})}serialize(r,s){return new Da({messageStream:new $a({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as td} from"stream";async function*am(r){let s=!1,e=!1;const a=new Array;r.on("error",(l)=>{if(!s)s=!0;if(l)throw l}),r.on("data",(l)=>{a.push(l)}),r.on("end",()=>{s=!0});while(!e){const l=await new Promise((f)=>setTimeout(()=>f(a.shift()),0));if(l)yield l;e=s&&a.length===0}}class Ua{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new Zs({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:am(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return td.from(this.universalMarshaller.serialize(r,s))}}var lm=(r)=>new Ua(r);import{Writable as rS} from"stream";class Qs extends rS{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(B(r))}catch(a){return e(a)}e()}}var fm=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const e=new r,a=new Qs(e);return s.pipe(a),new Promise((l,f)=>{s.on("error",(h)=>{a.end(),f(h)}),a.on("error",f),a.on("finish",()=>{e.digest().then(l).catch(f)})})};var Vs=C(Rs(),1);var cm=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??hm,base64Encoder:r?.base64Encoder??gm,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??As,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??wm,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Zf,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new Vs.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new Vs.AwsSdkSigV4ASigner}],logger:r?.logger??new br,sdkStreamMixin:r?.sdkStreamMixin??dm,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??ce,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??Sm,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??vr,utf8Encoder:r?.utf8Encoder??mm}};var Hm=(r)=>{Im(process.version);const s=vm(r),e=()=>s().then(Em),a=cm(r);return Js.emitWarningIfUnsupportedVersion(process.version),{...a,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??Mm,credentialDefaultProvider:r?.credentialDefaultProvider??Cm,defaultUserAgentProvider:r?.defaultUserAgentProvider??Um({serviceId:a.serviceId,clientVersion:qh.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??b(me),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??lm,maxAttempts:r?.maxAttempts??b(Tm),md5:r?.md5??Bs.bind(null,"md5"),region:r?.region??b(ym,Nm),requestHandler:Am.create(r?.requestHandler??e),retryMode:r?.retryMode??b({...$m,default:async()=>(await e()).retryMode||Dm}),sha1:r?.sha1??Bs.bind(null,"sha1"),sha256:r?.sha256??Bs.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??b(Js.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Rm,streamHasher:r?.streamHasher??fm,useArnRegion:r?.useArnRegion??b(jh),useDualstackEndpoint:r?.useDualstackEndpoint??b(Pm),useFipsEndpoint:r?.useFipsEndpoint??b(km)}};var zm=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:e,credentials:a}=r;return{setHttpAuthScheme(l){const f=s.findIndex((h)=>h.schemeId===l.schemeId);if(f===-1)s.push(l);else s.splice(f,1,l)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(l){e=l},httpAuthSchemeProvider(){return e},setCredentials(l){a=l},credentials(){return a}}},Gm=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var Ys=(r)=>r,Qm=(r,s)=>{const e={...Ys(Xm(r)),...Ys(Lm(r)),...Ys(Fm(r)),...Ys(zm(r))};return s.forEach((a)=>a.configure(e)),{...r,...Zm(e),...Wm(e),...Km(e),...Gm(e)}};class Ma extends _m{constructor(...[r]){const s=Hm(r||{}),e=Vf(s),a=Om(e),l=xm(a),f=jm(l),h=Vm(f),m=bm(h),g=Gl(m),w=Qf(g),A=Ul(w,{session:[()=>this,Ea]}),I=Qm(A,r?.extensions||[]);super(I);this.config=I,this.middlewareStack.use(qm(this.config)),this.middlewareStack.use(om(this.config)),this.middlewareStack.use(im(this.config)),this.middlewareStack.use(Bm(this.config)),this.middlewareStack.use(Jm(this.config)),this.middlewareStack.use(Ym(this.config)),this.middlewareStack.use(yr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Lf,identityProviderConfigProvider:async(P)=>new yr.DefaultIdentityProviderConfig({"aws.auth#sigv4":P.credentials,"aws.auth#sigv4a":P.credentials})})),this.middlewareStack.use(yr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(zl(this.config)),this.middlewareStack.use(Xa(this.config)),this.middlewareStack.use(Ba(this.config)),this.middlewareStack.use(ge(this.config)),this.middlewareStack.use(de(this.config))}destroy(){super.destroy()}}function sS(r){return(s)=>async(e)=>{const a={...e.input},l=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let f of l){const h=a[f.target];if(h){let m;if(typeof h==="string")if(aS(h,r))m=r.base64Decoder(h);else m=r.utf8Decoder(h),a[f.target]=r.base64Encoder(m);else m=ArrayBuffer.isView(h)?new Uint8Array(h.buffer,h.byteOffset,h.byteLength):new Uint8Array(h),a[f.target]=r.base64Encoder(m);const g=new r.md5;g.update(m),a[f.hash]=r.base64Encoder(await g.digest())}}return s({...e,input:a})}}function aS(r,s){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(r))return!1;try{return s.base64Decoder(r).length===32}catch{return!1}}var eS={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},_s=(r)=>({applyToStack:(s)=>{s.add(sS(r),eS)}});var T;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(T||(T={}));var nm;(function(r){r.HEADER="header",r.TRAILER="trailer"})(nm||(nm={}));var{MD5:pm,CRC32:um}=T;var Yr=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256],tm=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256];var rg=(r,{requestChecksumRequired:s,requestAlgorithmMember:e},a)=>{const l=a?um:pm;if(!e||!r[e])return s?l:void 0;const f=r[e];if(!Yr.includes(f))throw new Error(`The checksum algorithm "${f}" is not supported by the client.`+` Select one of ${Yr}.`);return f};var Nr=(r)=>r===T.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var sg=(r,s)=>{const e=r.toLowerCase();for(let a of Object.keys(s))if(e===a.toLowerCase())return!0;return!1};var Dr=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!tr(r);var Ca=function(){function r(){this.crc32c=new va}return r.prototype.update=function(s){if(Vr(s))return;this.crc32c.update(Qr(s))},r.prototype.digest=function(){return Ls(this,void 0,void 0,function(){return Ws(this,function(s){return[2,Br(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new va},r}();var va=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,a;try{for(var l=Xs(s),f=l.next();!f.done;f=l.next()){var h=f.value;this.checksum=this.checksum>>>8^fS[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(f&&!f.done&&(a=l.return))a.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var lS=[0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697],fS=Jr(lS);var Os=(r,s)=>({[T.MD5]:s.md5,[T.CRC32]:Pa,[T.CRC32C]:Ca,[T.SHA1]:s.sha1,[T.SHA256]:s.sha256})[r];var qs=(r,s)=>{const e=new r;return e.update(B(s||"")),e.digest()};var eg={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},ag=(r,s)=>(e,a)=>async(l)=>{if(!L.isInstance(l.request))return e(l);const{request:f}=l,{body:h,headers:m}=f,{base64Encoder:g,streamHasher:w}=r,{input:A,requestChecksumRequired:I,requestAlgorithmMember:P}=s,$=rg(A,{requestChecksumRequired:I,requestAlgorithmMember:P},!!a.isS3ExpressBucket);let D=h,Q=m;if($){const q=Nr($),Tr=Os($,r);if(Dr(h)){const{getAwsChunkedEncodingStream:us,bodyLengthChecker:vg}=r;D=us(h,{base64Encoder:g,bodyLengthChecker:vg,checksumLocationName:q,checksumAlgorithmFn:Tr,streamHasher:w}),Q={...m,"content-encoding":m["content-encoding"]?`${m["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":m["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":q},delete Q["content-length"]}else if(!sg(q,m)){const us=await qs(Tr,h);Q={...m,[q]:g(us)}}}return await e({...l,request:{...f,headers:Q,body:D}})};var js=(r=[])=>{const s=[];for(let e of tm){if(!r.includes(e)||!Yr.includes(e))continue;s.push(e)}return s};var lg=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const e=r.slice(s+1);if(!e.startsWith("0")){const a=parseInt(e,10);if(!isNaN(a)&&a>=1&&a<=1e4)return!0}}return!1};import{Transform as hS} from"stream";function Ha(r){const s=new hS;return s.push(r),s.push(null),s}var fg=async(r,{streamHasher:s,checksumAlgorithmFn:e,base64Encoder:a})=>{const l=Dr(r)?s(e,r):qs(e,r);return a(await l)};var hg=async(r,{config:s,responseAlgorithms:e})=>{const a=js(e),{body:l,headers:f}=r;for(let h of a){const m=Nr(h),g=f[m];if(g){const w=Os(h,s),{streamHasher:A,base64Encoder:I}=s,P=await fg(l,{streamHasher:A,checksumAlgorithmFn:w,base64Encoder:I});if(P===g)break;throw new Error(`Checksum mismatch: expected "${P}" but received "${g}"`+` in response header "${m}".`)}}};var mg={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},gg=(r,s)=>(e,a)=>async(l)=>{if(!L.isInstance(l.request))return e(l);const f=l.input,h=await e(l),m=h.response;let g=void 0;const{requestValidationModeMember:w,responseAlgorithms:A}=s;if(w&&f[w]==="ENABLED"){const{clientName:I,commandName:P}=a;if(I==="S3Client"&&P==="GetObjectCommand"&&js(A).every((Q)=>{const qr=Nr(Q),q=m.headers[qr];return!q||lg(q)}))return h;const D=Dr(m.body);if(D)g=await r.streamCollector(m.body),m.body=Ha(g);if(await hg(h.response,{config:r,responseAlgorithms:A}),D&&g)m.body=Ha(g)}return h};var is=(r,s)=>({applyToStack:(e)=>{e.add(ag(r,s),eg),e.addRelativeTo(gg(r,s),mg)}});var wg=C(Ra(),1);class za extends Ir.classBuilder().ep({...cr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,a){return[wg.getSerdePlugin(e,this.serialize,this.deserialize),Pr(e,r.getEndpointParameterInstructions()),is(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),_s(e),Ja(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(_f,Yf).ser(hh).de(wh).build(){}var dg=C(Ra(),1);class Ga extends Ir.classBuilder().ep({...cr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,a){return[dg.getSerdePlugin(e,this.serialize,this.deserialize),Pr(e,r.getEndpointParameterInstructions()),is(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Za(e),fs(e),_s(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(jf,qf).ser(mh).de(dh).build(){}import{Buffer as Sg} from"buffer";class cg extends lr{client;constructor(...r){super();this.client=new Ma(...r)}async put(r){let s,e,a,l=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,a=`${jr()}.${r.type.split("/")[1].split(";")[0]}`,e=r.type;else s=r.body,a=r.name,e=r.contentType;e=s instanceof Blob||s instanceof File?s.type:void 0;const f=s instanceof Sg?s:Sg.from(await s.arrayBuffer());return await this.client.send(new Ga({Bucket:l,Key:a,Body:f,ContentType:e})),a}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const a=await this.client.send(new za({Bucket:s,Key:e}));return new Response(a.Body.transformToWebStream(),{headers:{"Content-Type":a.ContentType,"Content-Length":a.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":a.LastModified?.toUTCString()||"",ETag:a.ETag||""}})}}class bs{}class xs extends bs{constructor(){super(...arguments)}requests=new Map;consume(r,s){if(!this.requests.has(r))this.requests.set(r,{date:Date.now(),count:1});else{const e=this.requests.get(r),a=Date.now();if(a-e.date>=60000)this.requests.set(r,{date:a,count:1});else this.requests.set(r,{date:e.date,count:e.count+1})}return this.requests.get(r).count}}class Ag{driver=new xs}class _r{}import*as cS from"react-dom/server";var kg=C(mS(),1);var{defineProperty:gS,getOwnPropertySymbols:Rg}=Object,wS=Object.prototype.hasOwnProperty,dS=Object.prototype.propertyIsEnumerable,Eg=(r,s,e)=>(s in r)?gS(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Fa=(r,s)=>{for(var e in s||(s={}))if(wS.call(s,e))Eg(r,e,s[e]);if(Rg){for(var e of Rg(s))if(dS.call(s,e))Eg(r,e,s[e])}return r},SS=((r)=>typeof import.meta.require!=="undefined"?import.meta.require:typeof Proxy!=="undefined"?new Proxy(r,{get:(s,e)=>(typeof import.meta.require!=="undefined"?import.meta.require:s)[e]}):r)(function(r){if(typeof import.meta.require!=="undefined")return import.meta.require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')}),Ka=(r,s,e)=>{return new Promise((a,l)=>{var f=(g)=>{try{m(e.next(g))}catch(w){l(w)}},h=(g)=>{try{m(e.throw(g))}catch(w){l(w)}},m=(g)=>g.done?a(g.value):Promise.resolve(g.value).then(f,h);m((e=e.apply(r,s)).next())})},AS={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},RS=(r,s={})=>{return kg.default.html(r,Fa(Fa({},AS),s))},ES=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Ig=new TextDecoder("utf-8"),Pg=(r)=>Ka(void 0,null,function*(){let s="";if("pipeTo"in r){const e=new WritableStream({write(a){s+=Ig.decode(a)}});yield r.pipeTo(e)}else{const{Writable:e}=SS("stream"),a=new e({write(l,f,h){s+=Ig.decode(l),h()}});return r.pipe(a),new Promise((l,f)=>{a.on("error",f),a.on("close",()=>{l(s)})})}return s}),os=(r,s)=>Ka(void 0,null,function*(){const e=yield import("react-dom/server");let a;if(Object.hasOwn(e,"renderToReadableStream"))a=yield Pg(yield e.renderToReadableStream(r));else yield new Promise((h,m)=>{const g=e.renderToPipeableStream(r,{onAllReady(){return Ka(this,null,function*(){a=yield Pg(g),h()})},onError(w){m(w)}})});if(s==null?void 0:s.plainText)return La(a,Fa({selectors:ES},s.htmlToTextOptions));const f=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${a.replace(/<!DOCTYPE.*?>/,"")}`;if(s==null?void 0:s.pretty)return RS(f);return f});var{defineProperty:IS,defineProperties:PS,getOwnPropertyDescriptors:kS,getOwnPropertySymbols:yg}=Object,yS=Object.prototype.hasOwnProperty,NS=Object.prototype.propertyIsEnumerable,Ng=(r,s,e)=>(s in r)?IS(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Or=(r,s)=>{for(var e in s||(s={}))if(yS.call(s,e))Ng(r,e,s[e]);if(yg){for(var e of yg(s))if(NS.call(s,e))Ng(r,e,s[e])}return r},DS=(r,s)=>PS(r,kS(s)),k=(r,s,e)=>{return new Promise((a,l)=>{var f=(g)=>{try{m(e.next(g))}catch(w){l(w)}},h=(g)=>{try{m(e.throw(g))}catch(w){l(w)}},m=(g)=>g.done?a(g.value):Promise.resolve(g.value).then(f,h);m((e=e.apply(r,s)).next())})},TS="3.4.0",$S=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/api-keys",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/api-keys")})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/api-keys/${r}`)})}},US=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/audiences",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/audiences")})}get(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r}`)})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/audiences/${r}`)})}},MS=class{constructor(r){this.resend=r}send(r){return k(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return k(this,arguments,function*(s,e={}){for(let l of s)if(l.react)l.html=yield os(l.react),delete l.react;return yield this.resend.post("/emails/batch",s,e)})}},vS=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post(`/audiences/${s.audienceId}/contacts`,{unsubscribed:s.unsubscribed,email:s.email,first_name:s.firstName,last_name:s.lastName},e)})}list(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts`)})}get(r){return k(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts/${r.id}`)})}update(r){return k(this,null,function*(){return yield this.resend.patch(`/audiences/${r.audienceId}/contacts/${r.id}`,{unsubscribed:r.unsubscribed,first_name:r.firstName,last_name:r.lastName})})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/audiences/${r.audienceId}/contacts/${(r==null?void 0:r.email)?r==null?void 0:r.email:r==null?void 0:r.id}`)})}},CS=class{constructor(r){this.resend=r}create(r){return k(this,arguments,function*(s,e={}){return yield this.resend.post("/domains",s,e)})}list(){return k(this,null,function*(){return yield this.resend.get("/domains")})}get(r){return k(this,null,function*(){return yield this.resend.get(`/domains/${r}`)})}update(r){return k(this,null,function*(){return yield this.resend.patch(`/domains/${r.id}`,{click_tracking:r.clickTracking,open_tracking:r.openTracking,tls:r.tls})})}remove(r){return k(this,null,function*(){return yield this.resend.delete(`/domains/${r}`)})}verify(r){return k(this,null,function*(){return yield this.resend.post(`/domains/${r}/verify`)})}},HS=class{constructor(r){this.resend=r}send(r){return k(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return k(this,arguments,function*(s,e={}){if(s.react)s.html=yield os(s.react),delete s.react;return yield this.resend.post("/emails",s,e)})}get(r){return k(this,null,function*(){return yield this.resend.get(`/emails/${r}`)})}},Dg="https://api.resend.com",Tg=`resend-node:${TS}`,zS=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||Dg:Dg,GS=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||Tg:Tg,$g=class{constructor(r){if(this.key=r,this.apiKeys=new $S(this),this.audiences=new US(this),this.batch=new MS(this),this.contacts=new vS(this),this.domains=new CS(this),this.emails=new HS(this),!r){if(typeof process!=="undefined"&&process.env)this.key=process.env.RESEND_API_KEY;if(!this.key)throw new Error('Missing API key. Pass it to the constructor `new Resend("re_123")`')}this.headers=new Headers({Authorization:`Bearer ${this.key}`,"User-Agent":GS,"Content-Type":"application/json"})}fetchRequest(r){return k(this,arguments,function*(s,e={}){try{const a=yield fetch(`${zS}${s}`,e);if(!a.ok)try{const f=yield a.text();return{data:null,error:JSON.parse(f)}}catch(f){if(f instanceof SyntaxError)return{data:null,error:{name:"application_error",message:"Internal server error. We are unable to process your request right now, please try again later."}};const h={message:a.statusText,name:"application_error"};if(f instanceof Error)return{data:null,error:DS(Or({},h),{message:f.message})};return{data:null,error:h}}return{data:yield a.json(),error:null}}catch(a){return{data:null,error:{name:"application_error",message:"Unable to fetch data. The request could not be resolved."}}}})}post(r,s){return k(this,arguments,function*(e,a,l={}){const f=Or({method:"POST",headers:this.headers,body:JSON.stringify(a)},l);return this.fetchRequest(e,f)})}get(r){return k(this,arguments,function*(s,e={}){const a=Or({method:"GET",headers:this.headers},e);return this.fetchRequest(s,a)})}put(r,s){return k(this,arguments,function*(e,a,l={}){const f=Or({method:"PUT",headers:this.headers,body:JSON.stringify(a)},l);return this.fetchRequest(e,f)})}patch(r,s){return k(this,arguments,function*(e,a,l={}){const f=Or({method:"PATCH",headers:this.headers,body:JSON.stringify(a)},l);return this.fetchRequest(e,f)})}delete(r,s){return k(this,null,function*(){const e={method:"DELETE",headers:this.headers,body:JSON.stringify(s)};return this.fetchRequest(r,e)})}};class ns{}class ps extends ns{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new $g(this.apiKey),{data:e,error:a}=await s.emails.send({...r});if(a)throw a;if(e)return!0}}class Ug extends _r{constructor(){super(...arguments)}debug=!0;defaultFrom="";driver=new ps;boot(){}}class Mg extends _r{constructor(){super(...arguments)}channels={};boot(){}}export{cg as S3Driver,ps as ResendDriver,Ag as RateLimiterServiceProvider,bs as RateLimiterDriver,xs as InMemoryRateLimiter,ir as FileSystemDriver,Wa as FileStorageServiceProvider,lr as FileStorageDriver,Ug as EmailServiceProvider,ns as EmailDriver,Mg as BroadcastingServiceProvider};export{Wa as p,_r as q,Ag as r,Ug as s,Mg as t};
2
+ import"../chunk-90bbf6a9e83613c5.js";import{B as G} from"../chunk-24a86f8f5ddc0cbd.js";import{G as Rl,H as dd} from"../chunk-0ba2cc302113ab40.js";import{M as Yw} from"../chunk-ff8cd8fd047cfee5.js";import{$ as Jf,Aa as Wh,Ba as Yh,Ca as Oh,N as Hr,O as qh,P as jh,Q as ih,R as bh,S as _m,T as p,U as u,V as _s,W as yr,X as Hf,Y as oh,Z as Zf,_ as Xf,aa as nh,ba as Th,ca as ch,da as yh,ea as Mh,fa as ph,ga as uh,ha as Qf,ia as kr,ja as Pr,ka as th,la as Uh,ma as vh,na as rm,oa as Ch,pa as sm,qa as rs,ra as Gh,sa as gm,ta as Ah,ua as ys,va as kh,wa as Cs,xa as Kh,ya as Ph,za as Ih} from"../chunk-aead527dfd7392c4.js";import{$a as wa,Da as Jh,Ea as Hh,Fa as Z,Ga as Yr,Ha as Br,Ja as xh,Pa as eh,Qa as Wl,Ra as ma,Sa as Ar,Ta as Y,Va as Rs,Ya as dr,Za as ga,_a as Sr,ab as Ss,bb as vr,db as Ve,eb as Tr,fb as bf,gb as O,hb as da,ib as $h,jb as Dh,kb as Qh,lb as Bh,nb as v,pb as Sa,rb as zh,sb as Fh} from"../chunk-8f3b5c5ff77a538d.js";import{tb as ld,ub as i} from"../chunk-ecc1d0c7ff25f19f.js";import"../chunk-f6546172b47b47d2.js";import{zb as Vh} from"../chunk-b88d77955168b486.js";import"../chunk-111f0589f69a05b1.js";import"../chunk-91b6ef5e24ab5b68.js";class er{}class Qr extends er{r;constructor(r=`${process.env.ROOT_DIR}/storage`){super();this.folderPath=r}async put(r){let s,e;if(r instanceof Blob)s=r,e=`${Hr()}.${r.type.split("/")[1].split(";")[0]}`;else s=r.body,e=r.name;const l=s instanceof Buffer?s:Buffer.from(await s.arrayBuffer()),f=`${this.folderPath}/${e}`;return await Bun.write(f,l),e}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const l=`${this.folderPath}/${e}`,f=Bun.file(l),a=Bun.file(l).stream(),h=new Date(f.lastModified).toUTCString();return new Response(a,{headers:{"Content-Type":f.type,"Content-Length":String(f.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":h}})}}class Al{driver=new Qr}function Wm(r){return(s)=>async(e)=>{const{request:l}=e;if(Z.isInstance(l)&&l.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")l.headers={...l.headers,Expect:"100-continue"}}return s({...e,request:l})}}var Vm={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},kl=(r)=>({applyToStack:(s)=>{s.add(Wm(r),Vm)}});function Zm(){return(r,s)=>async(e)=>{const{request:l}=e;if(Z.isInstance(l)){if(!(Lm in l.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof Br))s.logger.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.");else console.warn("Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.")}return r({...e})}}var Lm="content-length",Xm={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Pl=(r)=>({applyToStack:(s)=>{s.add(Zm(),Xm)}});var Il=(r)=>{return(s,e)=>async(l)=>{const f=await r.region(),a=r.region;let h=()=>{};if(e.__s3RegionRedirect)Object.defineProperty(r,"region",{writable:!1,value:async()=>{return e.__s3RegionRedirect}}),h=()=>Object.defineProperty(r,"region",{writable:!0,value:a});try{const m=await s(l);if(e.__s3RegionRedirect){h();const g=await r.region();if(f!==g)throw new Error("Region was not restored following S3 region redirect.")}return m}catch(m){throw h(),m}}},El={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function Jm(r){return(s,e)=>async(l)=>{try{return await s(l)}catch(f){if(r.followRegionRedirects&&f?.$metadata?.httpStatusCode===301){try{const a=f.$response.headers["x-amz-bucket-region"];e.logger?.debug(`Redirecting from ${await r.region()} to ${a}`),e.__s3RegionRedirect=a}catch(a){throw new Error("Region redirect failed: "+a)}return s(l)}else throw f}}}var Hm={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},Nl=(r)=>({applyToStack:(s)=>{s.add(Jm(r),Hm),s.addRelativeTo(Il(r),El)}});var Qm=(r)=>{return(s,e)=>async(l)=>{const f=await s(l),{response:a}=f;if(Yr.isInstance(a)){if(a.headers.expires){a.headers.expiresstring=a.headers.expires;try{Tr(a.headers.expires)}catch(h){e.logger?.warn(`AWS SDK Warning for ${e.clientName}::${e.commandName} response parsing (${a.headers.expires}): ${h}`),delete a.headers.expires}}}return f}},Bm={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},$l=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Qm(r),Bm)}});class lr{constructor(r={}){this.data=r,this.lastPurgeTime=Date.now()}get(r){const s=this.data[r];if(!s)return;return s}set(r,s){return this.data[r]=s,s}delete(r){delete this.data[r]}async purgeExpired(){const r=Date.now();if(this.lastPurgeTime+lr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const e=this.data[s];if(!e.isRefreshing){const l=await e.identity;if(l.expiration){if(l.expiration.getTime()<r)delete this.data[s]}}}}}lr.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class fr{constructor(r,s=!1,e=Date.now()){this._identity=r,this.isRefreshing=s,this.accessed=e}get identity(){return this.accessed=Date.now(),this._identity}}class ar{constructor(r,s=new lr){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const e=s.Bucket,{cache:l}=this,f=l.get(e);if(f)return f.identity.then((a)=>{if((a.expiration?.getTime()??0)<Date.now())return l.set(e,new fr(this.getIdentity(e))).identity;if((a.expiration?.getTime()??0)<Date.now()+ar.REFRESH_WINDOW_MS&&!f.isRefreshing)f.isRefreshing=!0,this.getIdentity(e).then((g)=>{l.set(e,new fr(Promise.resolve(g)))});return a});return l.set(e,new fr(this.getIdentity(e))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((l)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+l)});const s=await this.createSessionFn(r);if(!s.Credentials?.AccessKeyId||!s.Credentials?.SecretAccessKey)throw new Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:s.Credentials.AccessKeyId,secretAccessKey:s.Credentials.SecretAccessKey,sessionToken:s.Credentials.SessionToken,expiration:s.Credentials.Expiration?new Date(s.Credentials.Expiration):void 0}}}ar.REFRESH_WINDOW_MS=60000;var Ul=G(_m(),1);var Dl="Directory",Tl="S3Express",cl="sigv4-s3express",Or="X-Amz-S3session-Token",cr=Or.toLowerCase(),Ym="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Om="s3_disable_express_session_auth",Ys={environmentVariableSelector:(r)=>p(r,Ym,u.ENV),configFileSelector:(r)=>p(r,Om,u.CONFIG),default:!1};var yl=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},Ml=function(r,s){const e=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),l=r.credentialProvider,f=()=>{return clearTimeout(e),r.credentialProvider=l,Promise.resolve(s)};r.credentialProvider=f};class _r extends Ul.SignatureV4{async signWithCredentials(r,s,e){const l=yl(s);r.headers[cr]=s.sessionToken;const f=this;return Ml(f,l),f.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const l=yl(s);return delete r.headers[cr],r.headers[Or]=s.sessionToken,r.query=r.query??{},r.query[Or]=s.sessionToken,Ml(this,l),this.presign(r,e)}}var vl=(r)=>{return(s,e)=>async(l)=>{if(e.endpointV2){const f=e.endpointV2,a=f.properties?.authSchemes?.[0]?.name===cl;if(f.properties?.backend===Tl||f.properties?.bucketType===Dl)e.isS3ExpressBucket=!0;if(a){const m=l.input.Bucket;if(m){const g=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:m});if(e.s3ExpressIdentity=g,Z.isInstance(l.request)&&g.sessionToken)l.request.headers[cr]=g.sessionToken}}}return s(l)}},Cl={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},Os=(r)=>({applyToStack:(s)=>{s.add(vl(r),Cl)}});var Fl=G(_s(),1);var zl=async(r,s,e,l)=>{const f=await l.signWithCredentials(e,r,{});if(f.headers["X-Amz-Security-Token"]||f.headers["x-amz-security-token"])throw new Error("X-Amz-Security-Token must not be set for s3-express requests.");return f};var qm=(r)=>(s)=>{throw s},jm=(r,s)=>{};var Gl=(r)=>(s,e)=>async(l)=>{if(!Z.isInstance(l.request))return s(l);const a=yr(e).selectedHttpAuthScheme;if(!a)throw new Error("No HttpAuthScheme was selected: unable to sign request");const{httpAuthOption:{signingProperties:h={}},identity:m,signer:g}=a;let k;if(e.s3ExpressIdentity)k=await zl(e.s3ExpressIdentity,h,l.request,await r.signer());else k=await g.sign(l.request,m,h);const N=await s({...l,request:k}).catch((g.errorHandler||qm)(h));return(g.successHandler||jm)(N.response,h),N},qs=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Gl(r),Fl.httpSigningMiddlewareOptions)}});var Kl=(r,{session:s})=>{const[e,l]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new ar(async(f)=>e().send(new l({Bucket:f,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var qr=G(Wl(),1),im={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},bm=3000,xm=(r)=>(s,e)=>async(l)=>{const f=await s(l),{response:a}=f;if(!Yr.isInstance(a))return f;const{statusCode:h,body:m}=a;if(h<200||h>=300)return f;let g=m,k=m;if(m&&typeof m==="object"&&!(m instanceof Uint8Array))[g,k]=await qr.splitStream(m);a.body=k;const N=await om(g,{streamCollector:async($)=>{return qr.headStream($,bm)}});if(typeof g?.destroy==="function")g.destroy();const D=r.utf8Encoder(N.subarray(N.length-16));if(N.length===0&&im[e.commandName]){const $=new Error("S3 aborted request");throw $.name="InternalError",$}if(D&&D.endsWith("</Error>"))a.statusCode=400;return f},om=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},nm={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},jr=(r)=>({applyToStack:(s)=>{s.addRelativeTo(xm(r),nm)}});var js=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function Vl(r){return(s,e)=>async(l)=>{if(r.bucketEndpoint){const f=e.endpointV2;if(f){const a=l.input.Bucket;if(typeof a==="string")try{const h=new URL(a);f.url=h}catch(h){const m=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${a} could not be parsed as URL.`;if(e.logger?.constructor?.name==="NoOpLogger")console.warn(m);else e.logger?.warn?.(m);throw h}}}return s(l)}}var Ll={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function pm({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:l}}=e;if(!r&&typeof l==="string"&&!js(l)&&l.indexOf("/")>=0){const f=new Error(`Bucket name shouldn't contain '/', received '${l}'`);throw f.name="InvalidBucketName",f}return s({...e})}}var um={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},Zl=(r)=>({applyToStack:(s)=>{s.add(pm(r),um),s.addRelativeTo(Vl(r),Ll)}});var Er=G(_s(),1);var Xl=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var ss=G(rs(),1);var ir={CrtSignerV4:null};class is{constructor(r){this.sigv4Signer=new _r(r),this.signerOptions=r}async sign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().sign(r,s)}return this.sigv4Signer.sign(r,s)}async signWithCredentials(r,s,e={}){if(e.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().signWithCredentials(r,s,e)}return this.sigv4Signer.signWithCredentials(r,s,e)}async presign(r,s={}){if(s.signingRegion==="*"){if(this.signerOptions.runtime!=="node")throw new Error("This request requires signing with SigV4Asymmetric algorithm. It's only available in Node.js");return this.getSigv4aSigner().presign(r,s)}return this.sigv4Signer.presign(r,s)}async presignWithCredentials(r,s,e={}){if(e.signingRegion==="*")throw new Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(r,s,e)}getSigv4aSigner(){if(!this.sigv4aSigner){let r=null;try{if(r=ir.CrtSignerV4,typeof r!=="function")throw new Error}catch(s){throw s.message=`${s.message}\n`+'Please check whether you have installed the "@aws-sdk/signature-v4-crt" package explicitly. \nYou must also register the package by calling [require("@aws-sdk/signature-v4-crt");] or an ESM equivalent such as [import "@aws-sdk/signature-v4-crt";]. \nFor more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt',s}this.sigv4aSigner=new r({...this.signerOptions,signingAlgorithm:1})}return this.sigv4aSigner}}var hr={["required"]:!1,["type"]:"String"},mr={["required"]:!0,default:!1,["type"]:"Boolean"},Mr={["required"]:!1,["type"]:"Boolean"},B={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},E={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},I={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},y={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},Cf={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Jl={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},pr={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},W={["ref"]:"Bucket"},K={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},nr={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},zf={["ref"]:"url"},Ff={["fn"]:"uriEncode",["argv"]:[W],["assign"]:"uri_encoded_bucket"},q={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},w={},Gf={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[W,!1]},bs={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},ur={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},Hl={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Ql={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},d={["fn"]:"not",["argv"]:[y]},Bl={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},Yl={["fn"]:"not",["argv"]:[pr]},Ol={["ref"]:"hardwareType"},_l={["conditions"]:[d],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},br={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},xs={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},tm={["ref"]:"ForcePathStyle"},c={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},U={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},C={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},A={["fn"]:"not",["argv"]:[U]},z={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},ql={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},M={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},F={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},R={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},jl={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},il={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},bl={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},os={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[zf,"isIp"]},!1]},ns={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:M,["headers"]:{}},Ie={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:M,["headers"]:{}},xl={["endpoint"]:Ie,["type"]:"endpoint"},ps={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},ol={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},xr={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},L={["ref"]:"bucketArn"},Kf={["ref"]:"arnType"},us={["fn"]:"getAttr",["argv"]:[L,"service"]},Ee={["ref"]:"accessPointName"},nl={["conditions"]:[I],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},pl={["conditions"]:[B],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},ul={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},ts={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[L,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},Wf={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},Vf={["fn"]:"getAttr",["argv"]:[L,"accountId"]},re={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},tl={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},se={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},ee={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},le={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},rf={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},sf={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},Ur={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},ef={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},lf={["fn"]:"aws.parseArn",["argv"]:[W]},ff={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},af={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},hf={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},fe={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},mf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},gf={["ref"]:"UseObjectLambdaEndpoint"},ae={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},wf={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},df={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},Sf={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},he={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:M,["headers"]:{}},Rf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},me=[{["ref"]:"Region"}],rg=[{["ref"]:"Endpoint"}],sg=[W],ge=[I],or=[B],t=[y,K],Af=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],kf=[nr],we=[Ff],de=[Gf],gr=[E],Pf=[{["fn"]:"substring",["argv"]:[W,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[W,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],If=[{["conditions"]:[E],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:q,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:q,["headers"]:{}},["type"]:"endpoint"}],Ef=[{["fn"]:"substring",["argv"]:[W,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[W,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Nf=[{["conditions"]:[E],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ur,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:ur,["headers"]:{}},["type"]:"endpoint"}],eg=[pr],$f=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],Df=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],lg=["*"],b=[Cf],Tf=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],x=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],Se=[{["fn"]:"stringEquals",["argv"]:[Kf,"accesspoint"]}],cf=[{["fn"]:"getAttr",["argv"]:[L,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Ee,""]}]}],fg=[L,"resourceId[1]"],Re=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[L,"region"]},""]}]}],yf=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[L,"resourceId[2]"]}]}]}],ag=[L,"resourceId[2]"],Ae=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[L,"region"]}],["assign"]:"bucketPartition"}],Mf=[{["fn"]:"stringEquals",["argv"]:[Wf,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],ke=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[L,"region"]},!0]}],Pe=[{["fn"]:"isValidHostLabel",["argv"]:[Vf,!1]}],Uf=[{["fn"]:"isValidHostLabel",["argv"]:[Ee,!1]}],vf=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],hg={version:"1.0",parameters:{Bucket:hr,Region:hr,UseFIPS:mr,UseDualStack:mr,Endpoint:hr,ForcePathStyle:mr,Accelerate:mr,UseGlobalEndpoint:mr,UseObjectLambdaEndpoint:Mr,Key:hr,Prefix:hr,CopySource:hr,DisableAccessPoints:Mr,DisableMultiRegionAccessPoints:mr,UseArnRegion:Mr,UseS3ExpressControlEndpoint:Mr,DisableS3ExpressSessionAuth:Mr},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:me}],rules:[{["conditions"]:[B,E],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[I,y],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[y,E],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[y,B],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[E,Cf,Jl],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[pr,{["fn"]:"substring",["argv"]:[W,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:ge,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:or,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:t,rules:[{["conditions"]:Af,rules:[{["conditions"]:kf,rules:[{["conditions"]:we,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:q,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:de,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:q,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},bs],["type"]:"tree"},{["conditions"]:kf,rules:[{["conditions"]:we,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:ur,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:de,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:ur,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},bs],["type"]:"tree"},{["conditions"]:[Hl,Ql],rules:[{["conditions"]:[Ff,d],rules:[{["conditions"]:gr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:q,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:q,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:de,rules:[{["conditions"]:Af,rules:[{["conditions"]:Pf,rules:If,["type"]:"tree"},{["conditions"]:Ef,rules:If,["type"]:"tree"},Bl],["type"]:"tree"},{["conditions"]:Pf,rules:Nf,["type"]:"tree"},{["conditions"]:Ef,rules:Nf,["type"]:"tree"},Bl],["type"]:"tree"},bs],["type"]:"tree"},{["conditions"]:[Yl,Hl,Ql],rules:[{["conditions"]:t,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:q,["headers"]:w},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:q,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:q,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[pr,{["fn"]:"substring",["argv"]:[W,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[W,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[W,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[W,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:me,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:$f,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ol,"e"]}],rules:[{["conditions"]:Df,rules:[_l,{["conditions"]:t,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:br,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:br,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ol,"o"]}],rules:[{["conditions"]:Df,rules:[_l,{["conditions"]:t,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:br,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:br,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{error:"Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",["type"]:"error"}],["type"]:"tree"},{["conditions"]:eg,rules:[{["conditions"]:[y,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:rg}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[xs,Gf],rules:[{["conditions"]:b,rules:[{["conditions"]:Tf,rules:[{["conditions"]:[B,Jl],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[I,E,c,d,U],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[I,E,c,d,A,z],rules:[{endpoint:ql,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,E,c,d,A,F],endpoint:ql,["type"]:"endpoint"},{["conditions"]:[R,E,c,d,U],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,E,c,d,A,z],rules:[{endpoint:jl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,E,c,d,A,F],endpoint:jl,["type"]:"endpoint"},{["conditions"]:[I,S,B,d,U],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[I,S,B,d,A,z],rules:[{endpoint:il,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,S,B,d,A,F],endpoint:il,["type"]:"endpoint"},{["conditions"]:[I,S,c,d,U],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[I,S,c,d,A,z],rules:[{endpoint:bl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,S,c,d,A,F],endpoint:bl,["type"]:"endpoint"},{["conditions"]:[R,S,c,y,K,nr,U],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,S,c,y,K,os,U],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,S,c,y,K,nr,A,z],rules:[{["conditions"]:x,endpoint:ns,["type"]:"endpoint"},{endpoint:ns,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,c,y,K,os,A,z],rules:[{["conditions"]:x,endpoint:Ie,["type"]:"endpoint"},xl],["type"]:"tree"},{["conditions"]:[R,S,c,y,K,nr,A,F],endpoint:ns,["type"]:"endpoint"},{["conditions"]:[R,S,c,y,K,os,A,F],endpoint:Ie,["type"]:"endpoint"},{["conditions"]:[R,S,B,d,U],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,S,B,d,A,z],rules:[{["conditions"]:x,endpoint:ps,["type"]:"endpoint"},{endpoint:ps,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,B,d,A,F],endpoint:ps,["type"]:"endpoint"},{["conditions"]:[R,S,c,d,U],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,S,c,d,A,z],rules:[{["conditions"]:x,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:w},["type"]:"endpoint"},{endpoint:ol,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,c,d,A,F],endpoint:ol,["type"]:"endpoint"}],["type"]:"tree"},xr],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[y,K,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[zf,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[W,!0]},xs,S,R,c],rules:[{["conditions"]:b,rules:[{["conditions"]:Tf,rules:[xl],["type"]:"tree"},xr],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[xs,{["fn"]:"aws.parseArn",["argv"]:sg,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[L,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Kf,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[us,"s3-object-lambda"]}],rules:[{["conditions"]:Se,rules:[{["conditions"]:cf,rules:[nl,pl,{["conditions"]:Re,rules:[ul,{["conditions"]:yf,rules:[ts,{["conditions"]:Ae,rules:[{["conditions"]:b,rules:[{["conditions"]:Mf,rules:[{["conditions"]:ke,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Vf,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:Pe,rules:[{["conditions"]:Uf,rules:[{["conditions"]:t,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:re,["headers"]:w},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:re,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:re,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},tl],["type"]:"tree"},se],["type"]:"tree"},ee],["type"]:"tree"},le],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},rf],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},sf],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:Se,rules:[{["conditions"]:cf,rules:[{["conditions"]:Re,rules:[{["conditions"]:Se,rules:[{["conditions"]:Re,rules:[ul,{["conditions"]:yf,rules:[ts,{["conditions"]:Ae,rules:[{["conditions"]:b,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Wf,"{partitionResult#name}"]}],rules:[{["conditions"]:ke,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[us,"s3"]}],rules:[{["conditions"]:Pe,rules:[{["conditions"]:Uf,rules:[{["conditions"]:or,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[E,I],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ur,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[E,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ur,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,I],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ur,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,R,y,K],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Ur,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ur,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},tl],["type"]:"tree"},se],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},ee],["type"]:"tree"},le],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},rf],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[Ee,!0]}],rules:[{["conditions"]:ge,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:gr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:or,error:"S3 MRAP does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",["type"]:"error"},{["conditions"]:[{["fn"]:"aws.partition",["argv"]:me,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[L,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:lg}]},["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid Access Point Name",["type"]:"error"}],["type"]:"tree"},sf],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[us,"s3-outposts"]}],rules:[{["conditions"]:ge,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:gr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:or,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[L,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:fg,["assign"]:"outpostId"}],rules:[{["conditions"]:$f,rules:[ts,{["conditions"]:Ae,rules:[{["conditions"]:b,rules:[{["conditions"]:Mf,rules:[{["conditions"]:ke,rules:[{["conditions"]:Pe,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:ag,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[L,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:t,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:ef,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:ef,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{error:"Expected an outpost type `accesspoint`, found {outpostType}",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: expected an access point name",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Expected a 4-component resource",["type"]:"error"}],["type"]:"tree"},se],["type"]:"tree"},ee],["type"]:"tree"},le],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The Outpost Id was not set",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: No ARN type specified",["type"]:"error"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"substring",["argv"]:[W,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[lf]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[tm,!0]},lf],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:we,rules:[{["conditions"]:b,rules:[{["conditions"]:[c],rules:[{["conditions"]:[I,d,E,U],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[I,d,E,A,z],rules:[{endpoint:ff,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,d,E,A,F],endpoint:ff,["type"]:"endpoint"},{["conditions"]:[R,d,E,U],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,d,E,A,z],rules:[{endpoint:af,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,d,E,A,F],endpoint:af,["type"]:"endpoint"},{["conditions"]:[I,d,S,U],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[I,d,S,A,z],rules:[{endpoint:hf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,d,S,A,F],endpoint:hf,["type"]:"endpoint"},{["conditions"]:[R,y,K,S,U],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,y,K,S,A,z],rules:[{["conditions"]:x,endpoint:fe,["type"]:"endpoint"},{endpoint:fe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,y,K,S,A,F],endpoint:fe,["type"]:"endpoint"},{["conditions"]:[R,d,S,U],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,d,S,A,z],rules:[{["conditions"]:x,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:w},["type"]:"endpoint"},{endpoint:mf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,d,S,A,F],endpoint:mf,["type"]:"endpoint"}],["type"]:"tree"},{error:"Path-style addressing cannot be used with S3 Accelerate",["type"]:"error"}],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[gf]},{["fn"]:"booleanEquals",["argv"]:[gf,!0]}],rules:[{["conditions"]:b,rules:[{["conditions"]:vf,rules:[nl,pl,{["conditions"]:t,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:ae,["headers"]:w},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:ae,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:ae,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},xr],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Yl],rules:[{["conditions"]:b,rules:[{["conditions"]:vf,rules:[{["conditions"]:[E,I,d,U],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[E,I,d,A,z],rules:[{endpoint:wf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[E,I,d,A,F],endpoint:wf,["type"]:"endpoint"},{["conditions"]:[E,R,d,U],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[E,R,d,A,z],rules:[{endpoint:df,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[E,R,d,A,F],endpoint:df,["type"]:"endpoint"},{["conditions"]:[S,I,d,U],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,I,d,A,z],rules:[{endpoint:Sf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,I,d,A,F],endpoint:Sf,["type"]:"endpoint"},{["conditions"]:[S,R,y,K,U],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,R,y,K,A,z],rules:[{["conditions"]:x,endpoint:he,["type"]:"endpoint"},{endpoint:he,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,y,K,A,F],endpoint:he,["type"]:"endpoint"},{["conditions"]:[S,R,d,U],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,R,d,A,z],rules:[{["conditions"]:x,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:w},["type"]:"endpoint"},{endpoint:Rf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,d,A,F],endpoint:Rf,["type"]:"endpoint"}],["type"]:"tree"},xr],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},Lf=hg;var tr=(r,s={})=>{return Xf(Lf,{endpointParams:r,logger:s.logger})};Zf.aws=Jf;var Yf=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Of=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},mg=(r)=>async(s,e,l)=>{if(!l)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const f=await r(s,e,l),a=yr(e)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw new Error(`getEndpointParameterInstructions() is not defined on \`${e.commandName}\``);const h=await Qf(l,{getEndpointParameterInstructions:a},s);return Object.assign(f,h)},gg=async(r,s,e)=>{return{operation:yr(s).operation,region:await Hf(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Bf=mg(gg),wg=(r,s,e)=>{return(f)=>{const h=r(f).properties?.authSchemes;if(!h)return s(f);const m=[];for(let g of h){const{name:k,properties:N={},...D}=g,$=k.toLowerCase();if(k!==$)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${k}\` to \`${$}\``);let X;if($==="sigv4a"){X="aws.auth#sigv4a";const Jr=h.find((_)=>{const Dr=_.name.toLowerCase();return Dr!=="sigv4a"&&Dr.startsWith("sigv4")});if(!ir.CrtSignerV4&&Jr)continue}else if($.startsWith("sigv4"))X="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${$}\``);const J=e[X];if(!J)throw new Error(`Could not find HttpAuthOption create function for \`${X}\``);const Q=J(f);Q.schemeId=X,Q.signingProperties={...Q.signingProperties||{},...D,...N},m.push(Q)}return m}},dg=(r)=>{const s=[];switch(r.operation){default:s.push(Yf(r)),s.push(Of(r))}return s},_f=wg(tr,dg,{"aws.auth#sigv4":Yf,"aws.auth#sigv4a":Of}),qf=(r)=>{const s=ss.resolveAwsSdkSigV4Config(r);return{...ss.resolveAwsSdkSigV4AConfig(s)}};var jf=(r)=>{return{...r,useFipsEndpoint:r.useFipsEndpoint??!1,useDualstackEndpoint:r.useDualstackEndpoint??!1,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,useGlobalEndpoint:r.useGlobalEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,defaultSigningName:"s3"}},wr={ForcePathStyle:{type:"clientContextParams",name:"forcePathStyle"},UseArnRegion:{type:"clientContextParams",name:"useArnRegion"},DisableMultiRegionAccessPoints:{type:"clientContextParams",name:"disableMultiregionAccessPoints"},Accelerate:{type:"clientContextParams",name:"useAccelerateEndpoint"},DisableS3ExpressSessionAuth:{type:"clientContextParams",name:"disableS3ExpressSessionAuth"},UseGlobalEndpoint:{type:"builtInParams",name:"useGlobalEndpoint"},UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};class V extends bf{constructor(r){super(r);Object.setPrototypeOf(this,V.prototype)}}class es extends V{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,es.prototype)}}class ls extends V{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ls.prototype)}}class fs extends V{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,fs.prototype)}}class as extends V{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,as.prototype)}}class hs extends V{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,hs.prototype)}}var Ne;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Ne||(Ne={}));var $e;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.ObjectSizeGreaterThan!==void 0)return e.ObjectSizeGreaterThan(s.ObjectSizeGreaterThan);if(s.ObjectSizeLessThan!==void 0)return e.ObjectSizeLessThan(s.ObjectSizeLessThan);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})($e||($e={}));var De;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.AccessPointArn!==void 0)return e.AccessPointArn(s.AccessPointArn);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(De||(De={}));var Te;(function(r){r.visit=(s,e)=>{if(s.Prefix!==void 0)return e.Prefix(s.Prefix);if(s.Tag!==void 0)return e.Tag(s.Tag);if(s.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})(Te||(Te={}));class ms extends V{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,ms.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class gs extends V{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,gs.prototype)}}class ws extends V{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,ws.prototype)}}var Sg=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:Y},...r.SessionToken&&{SessionToken:Y}}),xf=(r)=>({...r,...r.Credentials&&{Credentials:Sg(r.Credentials)}});var of=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Y}}),nf=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Y}});var Rr=G(rs(),1);var ks=G(_s(),1);class ds extends V{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ds.prototype)}}var pf;(function(r){r.visit=(s,e)=>{if(s.Records!==void 0)return e.Records(s.Records);if(s.Stats!==void 0)return e.Stats(s.Stats);if(s.Progress!==void 0)return e.Progress(s.Progress);if(s.Cont!==void 0)return e.Cont(s.Cont);if(s.End!==void 0)return e.End(s.End);return e._(s.$unknown[0],s.$unknown[1])}})(pf||(pf={}));var uf=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Y},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Y}}),tf=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Y},...r.SSEKMSKeyId&&{SSEKMSKeyId:Y},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Y}});var Ra=async(r,s)=>{const e=ks.requestBuilder(r,s),l=v({},j,{[Dw]:r[pg]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const f=v({[Iw]:[,""]});let a;return e.m("GET").h(l).q(f).b(a),e.build()};var Aa=async(r,s)=>{const e=ks.requestBuilder(r,s),l=v({},j,{[fw]:r[Xg],[aw]:[()=>j(r[ra]),()=>vr(r[ra]).toString()],[hw]:r[Jg],[mw]:[()=>j(r[sa]),()=>vr(r[sa]).toString()],[ww]:r[Og],[Es]:r[Ps],[ia]:r[Fa],[Ns]:r[Is],[_a]:r[za],[Qa]:r[ya],[$w]:r[Cg]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const f=v({[oa]:[,"GetObject"],[dw]:[,r[_g]],[Sw]:[,r[qg]],[Rw]:[,r[jg]],[Aw]:[,r[ig]],[kw]:[,r[bg]],[Pw]:[()=>r.ResponseExpires!==void 0,()=>vr(r[xg]).toString()],[Ew]:[,r[Ye]],[gw]:[()=>r.PartNumber!==void 0,()=>r[Yg].toString()]});let a;return e.m("GET").h(l).q(f).b(a),e.build()};var ka=async(r,s)=>{const e=ks.requestBuilder(r,s),l=v({},j,{[Xa]:r[ca]||"application/octet-stream",[Nw]:r[Mg],[Wa]:r[Na],[Va]:r[$a],[La]:r[Da],[Za]:r[Ta],[Ge]:[()=>j(r[Ce]),()=>r[Ce].toString()],[sw]:r[zg],[Cw]:r[vg],[Oe]:r[Ze],[_e]:r[Xe],[qe]:r[Je],[je]:r[He],[Ke]:[()=>j(r[ze]),()=>vr(r[ze]).toString()],[Tw]:r[Wg],[cw]:r[Vg],[yw]:r[Lg],[Mw]:r[Zg],[ie]:r[Qe],[qa]:r[zr],[xa]:r[Ka],[Es]:r[Ps],[ia]:r[Fa],[Ns]:r[Is],[be]:r[Be],[ja]:r[Ga],[Fr]:[()=>j(r[As]),()=>r[As].toString()],[_a]:r[za],[zw]:r[ug],[Ya]:r[va],[We]:[()=>j(r[Fe]),()=>Sa(r[Fe]).toString()],[Ba]:r[Ua],[Qa]:r[ya],...r.Metadata!==void 0&&Object.keys(r.Metadata).reduce((m,g)=>{return m[`x-amz-meta-${g.toLowerCase()}`]=r.Metadata[g],m},{})});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const f=v({[oa]:[,"PutObject"]});let a,h;if(r.Body!==void 0)h=r.Body,a=h;return e.m("PUT").h(l).q(f).b(a),e.build()};var Pa=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Le(r,s);const e=v({$metadata:H(r)}),l=dr(ga(await Rr.parseXmlBody(r.body,s)),"body");if(l[Me]!=null)e[Me]=yg(l[Me],s);return e};var Ia=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Le(r,s);const e=v({$metadata:H(r),[Gg]:[()=>r.headers[la]!==void 0,()=>Rs(r.headers[la])],[Ug]:[,r.headers[rw]],[Cr]:[,r.headers[Ha]],[ng]:[,r.headers[Uw]],[Hg]:[()=>r.headers[ea]!==void 0,()=>dr(Tr(r.headers[ea]))],[Ce]:[()=>r.headers[Ge]!==void 0,()=>wa(r.headers[Ge])],[Ma]:[,r.headers[Ja]],[Ze]:[,r.headers[Oe]],[Xe]:[,r.headers[_e]],[Je]:[,r.headers[qe]],[He]:[,r.headers[je]],[Qg]:[()=>r.headers[fa]!==void 0,()=>Ss(r.headers[fa])],[Ye]:[,r.headers[ba]],[Na]:[,r.headers[Wa]],[$a]:[,r.headers[Va]],[Da]:[,r.headers[La]],[Ta]:[,r.headers[Za]],[Fg]:[,r.headers[ew]],[ca]:[,r.headers[Xa]],[ze]:[()=>r.headers[Ke]!==void 0,()=>dr(Tr(r.headers[Ke]))],[Kg]:[,r.headers[lw]],[Ka]:[,r.headers[xa]],[Qe]:[,r.headers[ie]],[Ps]:[,r.headers[Es]],[Is]:[,r.headers[Ns]],[Be]:[,r.headers[be]],[As]:[()=>r.headers[Fr]!==void 0,()=>Rs(r.headers[Fr])],[zr]:[,r.headers[qa]],[Ca]:[,r.headers[Oa]],[og]:[,r.headers[vw]],[Bg]:[()=>r.headers[aa]!==void 0,()=>Ss(r.headers[aa])],[tg]:[()=>r.headers[ha]!==void 0,()=>Ss(r.headers[ha])],[va]:[,r.headers[Ya]],[Fe]:[()=>r.headers[We]!==void 0,()=>dr(Ve(r.headers[We]))],[Ua]:[,r.headers[Ba]],Metadata:[,Object.keys(r.headers).filter((f)=>f.startsWith("x-amz-meta-")).reduce((f,a)=>{return f[a.substring(11)]=r.headers[a],f},{})]}),l=r.body;return s.sdkStreamMixin(l),e.Body=l,e};var Ea=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Le(r,s);const e=v({$metadata:H(r),[Cr]:[,r.headers[Ha]],[Ma]:[,r.headers[Ja]],[Ze]:[,r.headers[Oe]],[Xe]:[,r.headers[_e]],[Je]:[,r.headers[qe]],[He]:[,r.headers[je]],[Qe]:[,r.headers[ie]],[Ye]:[,r.headers[ba]],[Ps]:[,r.headers[Es]],[Is]:[,r.headers[Ns]],[Be]:[,r.headers[be]],[Ga]:[,r.headers[ja]],[As]:[()=>r.headers[Fr]!==void 0,()=>Rs(r.headers[Fr])],[Ca]:[,r.headers[Oa]]});return await ma(r.body,s),e};var Le=async(r,s)=>{const e={...r,body:await Rr.parseXmlErrorBody(r.body,s)},l=Rr.loadRestXmlErrorCode(r,e.body);switch(l){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await $g(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await cg(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await kg(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await Pg(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await Eg(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await Ig(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await Ng(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await Dg(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await Tg(e,s);default:const f=e.body;return Ag({output:r,parsedBody:f,errorCode:l})}},Ag=da(V),kg=async(r,s)=>{const e=v({}),l=r.body,f=new fs({$metadata:H(r),...e});return O(f,r.body)},Pg=async(r,s)=>{const e=v({}),l=r.body,f=new as({$metadata:H(r),...e});return O(f,r.body)},Ig=async(r,s)=>{const e=v({}),l=r.body;if(l[ye]!=null)e[ye]=Sr(l[ye]);if(l[zr]!=null)e[zr]=Sr(l[zr]);const f=new ms({$metadata:H(r),...e});return O(f,r.body)},Eg=async(r,s)=>{const e=v({}),l=r.body,f=new hs({$metadata:H(r),...e});return O(f,r.body)},Ng=async(r,s)=>{const e=v({}),l=r.body,f=new gs({$metadata:H(r),...e});return O(f,r.body)},$g=async(r,s)=>{const e=v({}),l=r.body,f=new es({$metadata:H(r),...e});return O(f,r.body)},Dg=async(r,s)=>{const e=v({}),l=r.body,f=new ws({$metadata:H(r),...e});return O(f,r.body)},Tg=async(r,s)=>{const e=v({}),l=r.body,f=new ds({$metadata:H(r),...e});return O(f,r.body)},cg=async(r,s)=>{const e=v({}),l=r.body,f=new ls({$metadata:H(r),...e});return O(f,r.body)};var yg=(r,s)=>{const e={};if(r[ce]!=null)e[ce]=Sr(r[ce]);if(r[Ue]!=null)e[Ue]=Sr(r[Ue]);if(r[ve]!=null)e[ve]=Sr(r[ve]);if(r[Cr]!=null)e[Cr]=dr(Ve(r[Cr]));return e};var H=(r)=>({httpStatusCode:r.statusCode,requestId:r.headers["x-amzn-requestid"]??r.headers["x-amzn-request-id"]??r.headers["x-amz-request-id"],extendedRequestId:r.headers["x-amz-id-2"],cfId:r.headers["x-amz-cf-id"]});var j=(r)=>r!==void 0&&r!==null&&r!==""&&(!Object.getOwnPropertyNames(r).includes("length")||r.length!=0)&&(!Object.getOwnPropertyNames(r).includes("size")||r.size!=0);var Mg="ACL";var ce="AccessKeyId";var Ug="AcceptRanges";var ye="AccessTier";var As="BucketKeyEnabled";var Me="Credentials",vg="ChecksumAlgorithm";var Na="CacheControl",Ze="ChecksumCRC32",Xe="ChecksumCRC32C",$a="ContentDisposition";var Da="ContentEncoding";var Ta="ContentLanguage",Ce="ContentLength",Cg="ChecksumMode",zg="ContentMD5";var Fg="ContentRange";var Je="ChecksumSHA1",He="ChecksumSHA256";var ca="ContentType";var Gg="DeleteMarker";var ze="Expires";var ya="ExpectedBucketOwner";var Kg="ExpiresString";var Ma="ETag";var Cr="Expiration";var Wg="GrantFullControl";var Vg="GrantRead",Lg="GrantReadACP";var Zg="GrantWriteACP";var Xg="IfMatch",ra="IfModifiedSince",Jg="IfNoneMatch";var sa="IfUnmodifiedSince";var Hg="LastModified";var Qg="MissingMeta";var Ua="ObjectLockLegalHoldStatus",va="ObjectLockMode";var Fe="ObjectLockRetainUntilDate";var Bg="PartsCount";var Yg="PartNumber";var Og="Range";var Ca="RequestCharged",_g="ResponseCacheControl",qg="ResponseContentDisposition",jg="ResponseContentEncoding",ig="ResponseContentLanguage",bg="ResponseContentType";var xg="ResponseExpires";var za="RequestPayer";var og="ReplicationStatus";var ng="Restore";var Ue="SecretAccessKey";var zr="StorageClass";var pg="SessionMode";var Qe="ServerSideEncryption";var Ps="SSECustomerAlgorithm",Fa="SSECustomerKey",Is="SSECustomerKeyMD5";var Ga="SSEKMSEncryptionContext",Be="SSEKMSKeyId";var ve="SessionToken";var ug="Tagging";var tg="TagCount";var Ye="VersionId";var Ka="WebsiteRedirectLocation";var rw="accept-ranges";var Wa="cache-control",Va="content-disposition",La="content-encoding",Za="content-language",Ge="content-length",sw="content-md5",ew="content-range",Xa="content-type";var Ke="expires";var Ja="etag",lw="expiresstring";var fw="if-match",aw="if-modified-since";var hw="if-none-match";var mw="if-unmodified-since";var ea="last-modified";var gw="partNumber";var ww="range",dw="response-cache-control",Sw="response-content-disposition",Rw="response-content-encoding",Aw="response-content-language",kw="response-content-type",Pw="response-expires";var Iw="session";var Ew="versionId";var Nw="x-amz-acl";var Oe="x-amz-checksum-crc32",_e="x-amz-checksum-crc32c",$w="x-amz-checksum-mode";var qe="x-amz-checksum-sha1",je="x-amz-checksum-sha256";var Dw="x-amz-create-session-mode";var la="x-amz-delete-marker",Ha="x-amz-expiration",Qa="x-amz-expected-bucket-owner";var Tw="x-amz-grant-full-control",cw="x-amz-grant-read",yw="x-amz-grant-read-acp";var Mw="x-amz-grant-write-acp";var fa="x-amz-missing-meta";var aa="x-amz-mp-parts-count";var Ba="x-amz-object-lock-legal-hold",Ya="x-amz-object-lock-mode",We="x-amz-object-lock-retain-until-date";var Uw="x-amz-restore",Oa="x-amz-request-charged";var _a="x-amz-request-payer";var vw="x-amz-replication-status";var qa="x-amz-storage-class",Cw="x-amz-sdk-checksum-algorithm";var ie="x-amz-server-side-encryption",be="x-amz-server-side-encryption-aws-kms-key-id",Fr="x-amz-server-side-encryption-bucket-key-enabled",ja="x-amz-server-side-encryption-context",Es="x-amz-server-side-encryption-customer-algorithm",ia="x-amz-server-side-encryption-customer-key",Ns="x-amz-server-side-encryption-customer-key-md5",zw="x-amz-tagging",ha="x-amz-tagging-count";var ba="x-amz-version-id",xa="x-amz-website-redirect-location",oa="x-id";class xe extends Ar.classBuilder().ep({...wr,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,e,l){return[kr(e,this.serialize,this.deserialize),Pr(e,r.getEndpointParameterInstructions()),jr(e)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(void 0,xf).ser(Ra).de(Pa).build(){}var na={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.629.0",scripts:{build:"concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'","build:cjs":"node ../../scripts/compilation/inline client-s3","build:es":"tsc -p tsconfig.es.json","build:include:deps":"lerna run --scope $npm_package_name --include-dependencies build","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4",clean:"rimraf ./dist-* && rimraf *.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo s3",test:"yarn test:unit","test:e2e":"yarn test:e2e:node && yarn test:e2e:browser","test:e2e:browser":"ts-mocha test/**/*.browser.ispec.ts && karma start karma.conf.js","test:e2e:node":"jest --c jest.config.e2e.js","test:unit":"ts-mocha test/unit/**/*.spec.ts"},main:"./dist-cjs/index.js",types:"./dist-types/index.d.ts",module:"./dist-es/index.js",sideEffects:!1,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.629.0","@aws-sdk/client-sts":"3.629.0","@aws-sdk/core":"3.629.0","@aws-sdk/credential-provider-node":"3.629.0","@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.629.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.629.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.2","@smithy/eventstream-serde-browser":"^3.0.6","@smithy/eventstream-serde-config-resolver":"^3.0.3","@smithy/eventstream-serde-node":"^3.0.5","@smithy/fetch-http-handler":"^3.2.4","@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.14","@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.12","@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.14","@smithy/util-defaults-mode-node":"^3.0.14","@smithy/util-endpoints":"^2.0.5","@smithy/util-middleware":"^3.0.3","@smithy/util-retry":"^3.0.3","@smithy/util-stream":"^3.1.3","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.2",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.629.0","@tsconfig/node16":"16.1.3","@types/chai":"^4.2.11","@types/mocha":"^8.0.4","@types/node":"^16.18.96",concurrently:"7.0.0","downlevel-dts":"0.10.1",rimraf:"3.0.2",typescript:"~4.9.5"},engines:{node:">=16.0.0"},typesVersions:{"<4.0":{"dist-types/*":["dist-types/ts3.4/*"]}},files:["dist-*/**"],author:{name:"AWS SDK for JavaScript Team",url:"https://aws.amazon.com/javascript/"},license:"Apache-2.0",browser:{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},homepage:"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3",repository:{type:"git",url:"https://github.com/aws/aws-sdk-js-v3.git",directory:"clients/client-s3"}};var zs=G(rs(),1);var Gw="AWS_S3_USE_ARN_REGION",Kw="s3_use_arn_region",pa={environmentVariableSelector:(r)=>p(r,Gw,u.ENV),configFileSelector:(r)=>p(r,Kw,u.CONFIG),default:!1};var ua=G(Yw(),1),{__extends:CR,__assign:zR,__rest:FR,__decorate:GR,__param:KR,__esDecorate:WR,__runInitializers:VR,__propKey:LR,__setFunctionName:ZR,__metadata:XR,__awaiter:$s,__generator:Ds,__exportStar:JR,__createBinding:HR,__values:Ts,__read:QR,__spread:BR,__spreadArrays:YR,__spreadArray:OR,__await:_R,__asyncGenerator:qR,__asyncDelegator:jR,__asyncValues:iR,__makeTemplateObject:bR,__importStar:xR,__importDefault:oR,__classPrivateFieldGet:nR,__classPrivateFieldSet:pR,__classPrivateFieldIn:uR,__addDisposableResource:tR,__disposeResources:rA}=ua.default;import{Buffer as ta} from"buffer";var rh=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?ta.from(r,s):ta.from(r)};var oe=(r)=>{const s=rh(r,"utf8");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function Gr(r){if(r instanceof Uint8Array)return r;if(typeof r==="string")return Ow(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var Ow=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:oe;function Kr(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function Wr(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Vr(r){if(!Uint32Array.from){var s=new Uint32Array(r.length),e=0;while(e<r.length)s[e]=r[e],e+=1;return s}return Uint32Array.from(r)}var ne=function(){function r(){this.crc32=new rr}return r.prototype.update=function(s){if(Kr(s))return;this.crc32.update(Gr(s))},r.prototype.digest=function(){return $s(this,void 0,void 0,function(){return Ds(this,function(s){return[2,Wr(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new rr},r}();var rr=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,l;try{for(var f=Ts(s),a=f.next();!a.done;a=f.next()){var h=a.value;this.checksum=this.checksum>>>8^qw[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(a&&!a.done&&(l=f.return))l.call(f)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var _w=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918000,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],qw=Vr(_w);var o=G(eh(),1);var lh=G(eh(),1),sh=function(r){for(let s=0;s<8;s++)r[s]^=255;for(let s=7;s>-1;s--)if(r[s]++,r[s]!==0)break};class Ir{constructor(r){if(this.bytes=r,r.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(r){if(r>9223372036854776000||r<-9223372036854776000)throw new Error(`${r} is too large (or, if negative, too small) to represent as an Int64`);const s=new Uint8Array(8);for(let e=7,l=Math.abs(Math.round(r));e>-1&&l>0;e--,l/=256)s[e]=l;if(r<0)sh(s);return new Ir(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)sh(r);return parseInt(lh.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class pe{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let f of Object.keys(r)){const a=this.fromUtf8(f);s.push(Uint8Array.from([a.byteLength]),a,this.formatHeaderValue(r[f]))}const e=new Uint8Array(s.reduce((f,a)=>f+a.byteLength,0));let l=0;for(let f of s)e.set(f,l),l+=f.byteLength;return e}formatHeaderValue(r){switch(r.type){case"boolean":return Uint8Array.from([r.value?0:1]);case"byte":return Uint8Array.from([2,r.value]);case"short":const s=new DataView(new ArrayBuffer(3));return s.setUint8(0,3),s.setInt16(1,r.value,!1),new Uint8Array(s.buffer);case"integer":const e=new DataView(new ArrayBuffer(5));return e.setUint8(0,4),e.setInt32(1,r.value,!1),new Uint8Array(e.buffer);case"long":const l=new Uint8Array(9);return l[0]=5,l.set(r.value.bytes,1),l;case"binary":const f=new DataView(new ArrayBuffer(3+r.value.byteLength));f.setUint8(0,6),f.setUint16(1,r.value.byteLength,!1);const a=new Uint8Array(f.buffer);return a.set(r.value,3),a;case"string":const h=this.fromUtf8(r.value),m=new DataView(new ArrayBuffer(3+h.byteLength));m.setUint8(0,7),m.setUint16(1,h.byteLength,!1);const g=new Uint8Array(m.buffer);return g.set(h,3),g;case"timestamp":const k=new Uint8Array(9);return k[0]=8,k.set(Ir.fromNumber(r.value.valueOf()).bytes,1),k;case"uuid":if(!tw.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const N=new Uint8Array(17);return N[0]=9,N.set(o.fromHex(r.value.replace(/\-/g,"")),1),N}}parse(r){const s={};let e=0;while(e<r.byteLength){const l=r.getUint8(e++),f=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,l));switch(e+=l,r.getUint8(e++)){case 0:s[f]={type:ah,value:!0};break;case 1:s[f]={type:ah,value:!1};break;case 2:s[f]={type:jw,value:r.getInt8(e++)};break;case 3:s[f]={type:iw,value:r.getInt16(e,!1)},e+=2;break;case 4:s[f]={type:bw,value:r.getInt32(e,!1)},e+=4;break;case 5:s[f]={type:xw,value:new Ir(new Uint8Array(r.buffer,r.byteOffset+e,8))},e+=8;break;case 6:const a=r.getUint16(e,!1);e+=2,s[f]={type:ow,value:new Uint8Array(r.buffer,r.byteOffset+e,a)},e+=a;break;case 7:const h=r.getUint16(e,!1);e+=2,s[f]={type:nw,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[f]={type:pw,value:new Date(new Ir(new Uint8Array(r.buffer,r.byteOffset+e,8)).valueOf())},e+=8;break;case 9:const m=new Uint8Array(r.buffer,r.byteOffset+e,16);e+=16,s[f]={type:uw,value:`${o.toHex(m.subarray(0,4))}-${o.toHex(m.subarray(4,6))}-${o.toHex(m.subarray(6,8))}-${o.toHex(m.subarray(8,10))}-${o.toHex(m.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var fh;(function(r){r[r.boolTrue=0]="boolTrue",r[r.boolFalse=1]="boolFalse",r[r.byte=2]="byte",r[r.short=3]="short",r[r.integer=4]="integer",r[r.long=5]="long",r[r.byteArray=6]="byteArray",r[r.string=7]="string",r[r.timestamp=8]="timestamp",r[r.uuid=9]="uuid"})(fh||(fh={}));var ah="boolean",jw="byte",iw="short",bw="integer",xw="long",ow="binary",nw="string",pw="timestamp",uw="uuid",tw=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function mh({byteLength:r,byteOffset:s,buffer:e}){if(r<rd)throw new Error("Provided message too short to accommodate event stream message overhead");const l=new DataView(e,s,r),f=l.getUint32(0,!1);if(r!==f)throw new Error("Reported message length does not match received message length");const a=l.getUint32(hh,!1),h=l.getUint32(n,!1),m=l.getUint32(r-sr,!1),g=new rr().update(new Uint8Array(e,s,n));if(h!==g.digest())throw new Error(`The prelude checksum specified in the message (${h}) does not match the calculated CRC32 checksum (${g.digest()})`);if(g.update(new Uint8Array(e,s+n,r-(n+sr))),m!==g.digest())throw new Error(`The message checksum (${g.digest()}) did not match the expected value of ${m}`);return{headers:new DataView(e,s+n+sr,a),body:new Uint8Array(e,s+n+sr+a,f-a-(n+sr+sr))}}var hh=4,n=hh*2,sr=4,rd=n+sr*2;class ue{constructor(r,s){this.headerMarshaller=new pe(r,s),this.messageBuffer=[],this.isEndOfStream=!1}feed(r){this.messageBuffer.push(this.decode(r))}endOfStream(){this.isEndOfStream=!0}getMessage(){const r=this.messageBuffer.pop(),s=this.isEndOfStream;return{getMessage(){return r},isEndOfStream(){return s}}}getAvailableMessages(){const r=this.messageBuffer;this.messageBuffer=[];const s=this.isEndOfStream;return{getMessages(){return r},isEndOfStream(){return s}}}encode({headers:r,body:s}){const e=this.headerMarshaller.format(r),l=e.byteLength+s.byteLength+16,f=new Uint8Array(l),a=new DataView(f.buffer,f.byteOffset,f.byteLength),h=new rr;return a.setUint32(0,l,!1),a.setUint32(4,e.byteLength,!1),a.setUint32(8,h.update(f.subarray(0,8)).digest(),!1),f.set(e,12),f.set(s,e.byteLength+12),a.setUint32(l-4,h.update(f.subarray(8,l-4)).digest(),!1),f}decode(r){const{headers:s,body:e}=mh(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class te{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.decoder.decode(r)}}class rl{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream)yield this.options.encoder.encode(r);if(this.options.includeEndFrame)yield new Uint8Array(0)}}class sl{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.messageStream){const s=await this.options.deserializer(r);if(s===void 0)continue;yield s}}}class el{constructor(r){this.options=r}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let r of this.options.inputStream)yield this.options.serializer(r)}}function gh(r){let s=0,e=0,l=null,f=null;const a=(m)=>{if(typeof m!=="number")throw new Error("Attempted to allocate an event message where size was not a number: "+m);s=m,e=4,l=new Uint8Array(m),new DataView(l.buffer).setUint32(0,m,!1)},h=async function*(){const m=r[Symbol.asyncIterator]();while(!0){const{value:g,done:k}=await m.next();if(k){if(!s)return;else if(s===e)yield l;else throw new Error("Truncated event message received.");return}const N=g.length;let D=0;while(D<N){if(!l){const X=N-D;if(!f)f=new Uint8Array(4);const J=Math.min(4-e,X);if(f.set(g.slice(D,D+J),e),e+=J,D+=J,e<4)break;a(new DataView(f.buffer).getUint32(0,!1)),f=null}const $=Math.min(s-e,N-D);if(l.set(g.slice(D,D+$),e),e+=$,D+=$,s&&s===e)yield l,l=null,s=0,e=0}}};return{[Symbol.asyncIterator]:h}}function wh(r,s){return async function(e){const{value:l}=e.headers[":message-type"];if(l==="error"){const f=new Error(e.headers[":error-message"].value||"UnknownError");throw f.name=e.headers[":error-code"].value,f}else if(l==="exception"){const f=e.headers[":exception-type"].value,a={[f]:e},h=await r(a);if(h.$unknown){const m=new Error(s(e.body));throw m.name=f,m}throw h[f]}else if(l==="event"){const f={[e.headers[":event-type"].value]:e},a=await r(f);if(a.$unknown)return;return a}else throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)}}class cs{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new ue(r,s),this.utfEncoder=r}deserialize(r,s){const e=gh(r);return new sl({messageStream:new te({inputStream:e,decoder:this.eventStreamCodec}),deserializer:wh(s,this.utfEncoder)})}serialize(r,s){return new rl({messageStream:new el({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as sd} from"stream";async function*dh(r){let s=!1,e=!1;const l=new Array;r.on("error",(f)=>{if(!s)s=!0;if(f)throw f}),r.on("data",(f)=>{l.push(f)}),r.on("end",()=>{s=!0});while(!e){const f=await new Promise((a)=>setTimeout(()=>a(l.shift()),0));if(f)yield f;e=s&&l.length===0}}class ll{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new cs({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:dh(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return sd.from(this.universalMarshaller.serialize(r,s))}}var Sh=(r)=>new ll(r);import{Writable as ed} from"stream";class Ms extends ed{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(ys(r))}catch(l){return e(l)}e()}}var Rh=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const e=new r,l=new Ms(e);return s.pipe(l),new Promise((f,a)=>{s.on("error",(h)=>{l.end(),a(h)}),l.on("error",a),l.on("finish",()=>{e.digest().then(f).catch(a)})})};var Us=G(rs(),1);var Eh=G(ld(),1);var vs=G(Wl(),1);var Nh=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??Ph,base64Encoder:r?.base64Encoder??Ih,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??tr,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??vs.getAwsChunkedEncodingStream,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??_f,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new Us.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new Us.AwsSdkSigV4ASigner}],logger:r?.logger??new Br,sdkStreamMixin:r?.sdkStreamMixin??vs.sdkStreamMixin,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??is,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??Eh.parseUrl,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Ah,utf8Encoder:r?.utf8Encoder??kh}};var Lh=(r)=>{Dh(process.version);const s=Wh(r),e=()=>s().then($h),l=Nh(r);return zs.emitWarningIfUnsupportedVersion(process.version),{...l,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??Kh,credentialDefaultProvider:r?.credentialDefaultProvider??Vh,defaultUserAgentProvider:r?.defaultUserAgentProvider??Gh({serviceId:l.serviceId,clientVersion:na.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??i(Ys),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??Sh,maxAttempts:r?.maxAttempts??i(vh),md5:r?.md5??Cs.bind(null,"md5"),region:r?.region??i(yh,Mh),requestHandler:zh.create(r?.requestHandler??e),retryMode:r?.retryMode??i({...Ch,default:async()=>(await e()).retryMode||Uh}),sha1:r?.sha1??Cs.bind(null,"sha1"),sha256:r?.sha256??Cs.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??i(zs.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Fh,streamHasher:r?.streamHasher??Rh,useArnRegion:r?.useArnRegion??i(pa),useDualstackEndpoint:r?.useDualstackEndpoint??i(Th),useFipsEndpoint:r?.useFipsEndpoint??i(ch)}};var Zh=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:e,credentials:l}=r;return{setHttpAuthScheme(f){const a=s.findIndex((h)=>h.schemeId===f.schemeId);if(a===-1)s.push(f);else s.splice(a,1,f)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(f){e=f},httpAuthSchemeProvider(){return e},setCredentials(f){l=f},credentials(){return l}}},Xh=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var Fs=(r)=>r,_h=(r,s)=>{const e={...Fs(Yh(r)),...Fs(Qh(r)),...Fs(Jh(r)),...Fs(Zh(r))};return s.forEach((l)=>l.configure(e)),{...r,...Oh(e),...Bh(e),...Hh(e),...Xh(e)}};class fl extends xh{constructor(...[r]){const s=Lh(r||{}),e=jf(s),l=oh(e),f=rm(l),a=ph(f),h=qh(a),m=th(h),g=Xl(m),k=qf(g),N=Kl(k,{session:[()=>this,xe]}),D=_h(N,r?.extensions||[]);super(D);this.config=D,this.middlewareStack.use(nh(this.config)),this.middlewareStack.use(sm(this.config)),this.middlewareStack.use(uh(this.config)),this.middlewareStack.use(jh(this.config)),this.middlewareStack.use(ih(this.config)),this.middlewareStack.use(bh(this.config)),this.middlewareStack.use(Er.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Bf,identityProviderConfigProvider:async($)=>new Er.DefaultIdentityProviderConfig({"aws.auth#sigv4":$.credentials,"aws.auth#sigv4a":$.credentials})})),this.middlewareStack.use(Er.getHttpSigningPlugin(this.config)),this.middlewareStack.use(Zl(this.config)),this.middlewareStack.use(kl(this.config)),this.middlewareStack.use(Nl(this.config)),this.middlewareStack.use(Os(this.config)),this.middlewareStack.use(qs(this.config))}destroy(){super.destroy()}}function fd(r){return(s)=>async(e)=>{const l={...e.input},f=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let a of f){const h=l[a.target];if(h){let m;if(typeof h==="string")if(hd(h,r))m=r.base64Decoder(h);else m=r.utf8Decoder(h),l[a.target]=r.base64Encoder(m);else m=ArrayBuffer.isView(h)?new Uint8Array(h.buffer,h.byteOffset,h.byteLength):new Uint8Array(h),l[a.target]=r.base64Encoder(m);const g=new r.md5;g.update(m),l[a.hash]=r.base64Encoder(await g.digest())}}return s({...e,input:l})}}function hd(r,s){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(r))return!1;try{return s.base64Decoder(r).length===32}catch{return!1}}var ad={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},Gs=(r)=>({applyToStack:(s)=>{s.add(fd(r),ad)}});var T;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(T||(T={}));var em;(function(r){r.HEADER="header",r.TRAILER="trailer"})(em||(em={}));var{MD5:lm,CRC32:fm}=T;var Lr=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256],am=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256];var hm=(r,{requestChecksumRequired:s,requestAlgorithmMember:e},l)=>{const f=l?fm:lm;if(!e||!r[e])return s?f:void 0;const a=r[e];if(!Lr.includes(a))throw new Error(`The checksum algorithm "${a}" is not supported by the client.`+` Select one of ${Lr}.`);return a};var Nr=(r)=>r===T.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var mm=(r,s)=>{const e=r.toLowerCase();for(let l of Object.keys(s))if(e===l.toLowerCase())return!0;return!1};var $r=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!gm(r);var hl=function(){function r(){this.crc32c=new al}return r.prototype.update=function(s){if(Kr(s))return;this.crc32c.update(Gr(s))},r.prototype.digest=function(){return $s(this,void 0,void 0,function(){return Ds(this,function(s){return[2,Wr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new al},r}();var al=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,l;try{for(var f=Ts(s),a=f.next();!a.done;a=f.next()){var h=a.value;this.checksum=this.checksum>>>8^gd[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(a&&!a.done&&(l=f.return))l.call(f)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var md=[0,4067132163,3778769143,324072436,3348797215,904991772,648144872,3570033899,2329499855,2024987596,1809983544,2575936315,1296289744,3207089363,2893594407,1578318884,274646895,3795141740,4049975192,51262619,3619967088,632279923,922689671,3298075524,2592579488,1760304291,2075979607,2312596564,1562183871,2943781820,3156637768,1313733451,549293790,3537243613,3246849577,871202090,3878099393,357341890,102525238,4101499445,2858735121,1477399826,1264559846,3107202533,1845379342,2677391885,2361733625,2125378298,820201905,3263744690,3520608582,598981189,4151959214,85089709,373468761,3827903834,3124367742,1213305469,1526817161,2842354314,2107672161,2412447074,2627466902,1861252501,1098587580,3004210879,2688576843,1378610760,2262928035,1955203488,1742404180,2511436119,3416409459,969524848,714683780,3639785095,205050476,4266873199,3976438427,526918040,1361435347,2739821008,2954799652,1114974503,2529119692,1691668175,2005155131,2247081528,3690758684,697762079,986182379,3366744552,476452099,3993867776,4250756596,255256311,1640403810,2477592673,2164122517,1922457750,2791048317,1412925310,1197962378,3037525897,3944729517,427051182,170179418,4165941337,746937522,3740196785,3451792453,1070968646,1905808397,2213795598,2426610938,1657317369,3053634322,1147748369,1463399397,2773627110,4215344322,153784257,444234805,3893493558,1021025245,3467647198,3722505002,797665321,2197175160,1889384571,1674398607,2443626636,1164749927,3070701412,2757221520,1446797203,137323447,4198817972,3910406976,461344835,3484808360,1037989803,781091935,3705997148,2460548119,1623424788,1939049696,2180517859,1429367560,2807687179,3020495871,1180866812,410100952,3927582683,4182430767,186734380,3756733383,763408580,1053836080,3434856499,2722870694,1344288421,1131464017,2971354706,1708204729,2545590714,2229949006,1988219213,680717673,3673779818,3383336350,1002577565,4010310262,493091189,238226049,4233660802,2987750089,1082061258,1395524158,2705686845,1972364758,2279892693,2494862625,1725896226,952904198,3399985413,3656866545,731699698,4283874585,222117402,510512622,3959836397,3280807620,837199303,582374963,3504198960,68661723,4135334616,3844915500,390545967,1230274059,3141532936,2825850620,1510247935,2395924756,2091215383,1878366691,2644384480,3553878443,565732008,854102364,3229815391,340358836,3861050807,4117890627,119113024,1493875044,2875275879,3090270611,1247431312,2660249211,1828433272,2141937292,2378227087,3811616794,291187481,34330861,4032846830,615137029,3603020806,3314634738,939183345,1776939221,2609017814,2295496738,2058945313,2926798794,1545135305,1330124605,3173225534,4084100981,17165430,307568514,3762199681,888469610,3332340585,3587147933,665062302,2042050490,2346497209,2559330125,1793573966,3190661285,1279665062,1595330642,2910671697],gd=Vr(md);var Ks=(r,s)=>({[T.MD5]:s.md5,[T.CRC32]:ne,[T.CRC32C]:hl,[T.SHA1]:s.sha1,[T.SHA256]:s.sha256})[r];var Ws=(r,s)=>{const e=new r;return e.update(ys(s||"")),e.digest()};var wm={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},dm=(r,s)=>(e,l)=>async(f)=>{if(!Z.isInstance(f.request))return e(f);const{request:a}=f,{body:h,headers:m}=a,{base64Encoder:g,streamHasher:k}=r,{input:N,requestChecksumRequired:D,requestAlgorithmMember:$}=s,X=hm(N,{requestChecksumRequired:D,requestAlgorithmMember:$},!!l.isS3ExpressBucket);let J=h,Q=m;if(X){const _=Nr(X),Dr=Ks(X,r);if($r(h)){const{getAwsChunkedEncodingStream:Bs,bodyLengthChecker:Km}=r;J=Bs(h,{base64Encoder:g,bodyLengthChecker:Km,checksumLocationName:_,checksumAlgorithmFn:Dr,streamHasher:k}),Q={...m,"content-encoding":m["content-encoding"]?`${m["content-encoding"]},aws-chunked`:"aws-chunked","transfer-encoding":"chunked","x-amz-decoded-content-length":m["content-length"],"x-amz-content-sha256":"STREAMING-UNSIGNED-PAYLOAD-TRAILER","x-amz-trailer":_},delete Q["content-length"]}else if(!mm(_,m)){const Bs=await Ws(Dr,h);Q={...m,[_]:g(Bs)}}}return await e({...f,request:{...a,headers:Q,body:J}})};var Vs=(r=[])=>{const s=[];for(let e of am){if(!r.includes(e)||!Lr.includes(e))continue;s.push(e)}return s};var Sm=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const e=r.slice(s+1);if(!e.startsWith("0")){const l=parseInt(e,10);if(!isNaN(l)&&l>=1&&l<=1e4)return!0}}return!1};import{Transform as wd} from"stream";function ml(r){const s=new wd;return s.push(r),s.push(null),s}var Rm=async(r,{streamHasher:s,checksumAlgorithmFn:e,base64Encoder:l})=>{const f=$r(r)?s(e,r):Ws(e,r);return l(await f)};var Am=async(r,{config:s,responseAlgorithms:e})=>{const l=Vs(e),{body:f,headers:a}=r;for(let h of l){const m=Nr(h),g=a[m];if(g){const k=Ks(h,s),{streamHasher:N,base64Encoder:D}=s,$=await Rm(f,{streamHasher:N,checksumAlgorithmFn:k,base64Encoder:D});if($===g)break;throw new Error(`Checksum mismatch: expected "${$}" but received "${g}"`+` in response header "${m}".`)}}};var km={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},Pm=(r,s)=>(e,l)=>async(f)=>{if(!Z.isInstance(f.request))return e(f);const a=f.input,h=await e(f),m=h.response;let g=void 0;const{requestValidationModeMember:k,responseAlgorithms:N}=s;if(k&&a[k]==="ENABLED"){const{clientName:D,commandName:$}=l;if(D==="S3Client"&&$==="GetObjectCommand"&&Vs(N).every((Q)=>{const Jr=Nr(Q),_=m.headers[Jr];return!_||Sm(_)}))return h;const J=$r(m.body);if(J)g=await r.streamCollector(m.body),m.body=ml(g);if(await Am(h.response,{config:r,responseAlgorithms:N}),J&&g)m.body=ml(g)}return h};var Ls=(r,s)=>({applyToStack:(e)=>{e.add(dm(r,s),wm),e.addRelativeTo(Pm(r,s),km)}});class gl extends Ar.classBuilder().ep({...wr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,l){return[kr(e,this.serialize,this.deserialize),Pr(e,r.getEndpointParameterInstructions()),Ls(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),Gs(e),$l(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(nf,of).ser(Aa).de(Ia).build(){}class wl extends Ar.classBuilder().ep({...wr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,l){return[kr(e,this.serialize,this.deserialize),Pr(e,r.getEndpointParameterInstructions()),Ls(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Pl(e),jr(e),Gs(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(tf,uf).ser(ka).de(Ea).build(){}import{Buffer as Im} from"buffer";class Em extends er{client;constructor(...r){super();this.client=new fl(...r)}async put(r){let s,e,l,f=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,l=`${Hr()}.${r.type.split("/")[1].split(";")[0]}`,e=r.type;else s=r.body,l=r.name,e=r.contentType;e=s instanceof Blob||s instanceof File?s.type:void 0;const a=s instanceof Im?s:Im.from(await s.arrayBuffer());return await this.client.send(new wl({Bucket:f,Key:l,Body:a,ContentType:e})),l}async fetch(r){let s=process.env.BUCKET_NAME,e;if(typeof r==="string")e=r;else s=r.bucket??s,e=r.name;if(!e)throw new Error("Object name has to be specified");const l=await this.client.send(new gl({Bucket:s,Key:e}));return new Response(l.Body.transformToWebStream(),{headers:{"Content-Type":l.ContentType,"Content-Length":l.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":l.LastModified?.toUTCString()||"",ETag:l.ETag||""}})}}class Zs{}class Xs extends Zs{constructor(){super(...arguments)}requests=new Map;consume(r,s){if(!this.requests.has(r))this.requests.set(r,{date:Date.now(),count:1});else{const e=this.requests.get(r),l=Date.now();if(l-e.date>=60000)this.requests.set(r,{date:l,count:1});else this.requests.set(r,{date:e.date,count:e.count+1})}return this.requests.get(r).count}}class Nm{driver=new Xs}class Zr{}import*as Pd from"react-dom/server";var ym=G(dd(),1);var{defineProperty:Sd,getOwnPropertySymbols:$m}=Object,Rd=Object.prototype.hasOwnProperty,Ad=Object.prototype.propertyIsEnumerable,Dm=(r,s,e)=>(s in r)?Sd(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,dl=(r,s)=>{for(var e in s||(s={}))if(Rd.call(s,e))Dm(r,e,s[e]);if($m){for(var e of $m(s))if(Ad.call(s,e))Dm(r,e,s[e])}return r},kd=((r)=>typeof import.meta.require!=="undefined"?import.meta.require:typeof Proxy!=="undefined"?new Proxy(r,{get:(s,e)=>(typeof import.meta.require!=="undefined"?import.meta.require:s)[e]}):r)(function(r){if(typeof import.meta.require!=="undefined")return import.meta.require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')}),Sl=(r,s,e)=>{return new Promise((l,f)=>{var a=(g)=>{try{m(e.next(g))}catch(k){f(k)}},h=(g)=>{try{m(e.throw(g))}catch(k){f(k)}},m=(g)=>g.done?l(g.value):Promise.resolve(g.value).then(a,h);m((e=e.apply(r,s)).next())})},Id={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},Ed=(r,s={})=>{return ym.default.html(r,dl(dl({},Id),s))},Nd=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Tm=new TextDecoder("utf-8"),cm=(r)=>Sl(void 0,null,function*(){let s="";if("pipeTo"in r){const e=new WritableStream({write(l){s+=Tm.decode(l)}});yield r.pipeTo(e)}else{const{Writable:e}=kd("stream"),l=new e({write(f,a,h){s+=Tm.decode(f),h()}});return r.pipe(l),new Promise((f,a)=>{l.on("error",a),l.on("close",()=>{f(s)})})}return s}),Js=(r,s)=>Sl(void 0,null,function*(){const e=yield import("react-dom/server");let l;if(Object.hasOwn(e,"renderToReadableStream"))l=yield cm(yield e.renderToReadableStream(r));else yield new Promise((h,m)=>{const g=e.renderToPipeableStream(r,{onAllReady(){return Sl(this,null,function*(){l=yield cm(g),h()})},onError(k){m(k)}})});if(s==null?void 0:s.plainText)return Rl(l,dl({selectors:Nd},s.htmlToTextOptions));const a=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${l.replace(/<!DOCTYPE.*?>/,"")}`;if(s==null?void 0:s.pretty)return Ed(a);return a});var{defineProperty:$d,defineProperties:Dd,getOwnPropertyDescriptors:Td,getOwnPropertySymbols:Mm}=Object,cd=Object.prototype.hasOwnProperty,yd=Object.prototype.propertyIsEnumerable,Um=(r,s,e)=>(s in r)?$d(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Xr=(r,s)=>{for(var e in s||(s={}))if(cd.call(s,e))Um(r,e,s[e]);if(Mm){for(var e of Mm(s))if(yd.call(s,e))Um(r,e,s[e])}return r},Md=(r,s)=>Dd(r,Td(s)),P=(r,s,e)=>{return new Promise((l,f)=>{var a=(g)=>{try{m(e.next(g))}catch(k){f(k)}},h=(g)=>{try{m(e.throw(g))}catch(k){f(k)}},m=(g)=>g.done?l(g.value):Promise.resolve(g.value).then(a,h);m((e=e.apply(r,s)).next())})},Ud="3.4.0",vd=class{constructor(r){this.resend=r}create(r){return P(this,arguments,function*(s,e={}){return yield this.resend.post("/api-keys",s,e)})}list(){return P(this,null,function*(){return yield this.resend.get("/api-keys")})}remove(r){return P(this,null,function*(){return yield this.resend.delete(`/api-keys/${r}`)})}},Cd=class{constructor(r){this.resend=r}create(r){return P(this,arguments,function*(s,e={}){return yield this.resend.post("/audiences",s,e)})}list(){return P(this,null,function*(){return yield this.resend.get("/audiences")})}get(r){return P(this,null,function*(){return yield this.resend.get(`/audiences/${r}`)})}remove(r){return P(this,null,function*(){return yield this.resend.delete(`/audiences/${r}`)})}},zd=class{constructor(r){this.resend=r}send(r){return P(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return P(this,arguments,function*(s,e={}){for(let f of s)if(f.react)f.html=yield Js(f.react),delete f.react;return yield this.resend.post("/emails/batch",s,e)})}},Fd=class{constructor(r){this.resend=r}create(r){return P(this,arguments,function*(s,e={}){return yield this.resend.post(`/audiences/${s.audienceId}/contacts`,{unsubscribed:s.unsubscribed,email:s.email,first_name:s.firstName,last_name:s.lastName},e)})}list(r){return P(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts`)})}get(r){return P(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts/${r.id}`)})}update(r){return P(this,null,function*(){return yield this.resend.patch(`/audiences/${r.audienceId}/contacts/${r.id}`,{unsubscribed:r.unsubscribed,first_name:r.firstName,last_name:r.lastName})})}remove(r){return P(this,null,function*(){return yield this.resend.delete(`/audiences/${r.audienceId}/contacts/${(r==null?void 0:r.email)?r==null?void 0:r.email:r==null?void 0:r.id}`)})}},Gd=class{constructor(r){this.resend=r}create(r){return P(this,arguments,function*(s,e={}){return yield this.resend.post("/domains",s,e)})}list(){return P(this,null,function*(){return yield this.resend.get("/domains")})}get(r){return P(this,null,function*(){return yield this.resend.get(`/domains/${r}`)})}update(r){return P(this,null,function*(){return yield this.resend.patch(`/domains/${r.id}`,{click_tracking:r.clickTracking,open_tracking:r.openTracking,tls:r.tls})})}remove(r){return P(this,null,function*(){return yield this.resend.delete(`/domains/${r}`)})}verify(r){return P(this,null,function*(){return yield this.resend.post(`/domains/${r}/verify`)})}},Kd=class{constructor(r){this.resend=r}send(r){return P(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return P(this,arguments,function*(s,e={}){if(s.react)s.html=yield Js(s.react),delete s.react;return yield this.resend.post("/emails",s,e)})}get(r){return P(this,null,function*(){return yield this.resend.get(`/emails/${r}`)})}},vm="https://api.resend.com",Cm=`resend-node:${Ud}`,Wd=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||vm:vm,Vd=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||Cm:Cm,zm=class{constructor(r){if(this.key=r,this.apiKeys=new vd(this),this.audiences=new Cd(this),this.batch=new zd(this),this.contacts=new Fd(this),this.domains=new Gd(this),this.emails=new Kd(this),!r){if(typeof process!=="undefined"&&process.env)this.key=process.env.RESEND_API_KEY;if(!this.key)throw new Error('Missing API key. Pass it to the constructor `new Resend("re_123")`')}this.headers=new Headers({Authorization:`Bearer ${this.key}`,"User-Agent":Vd,"Content-Type":"application/json"})}fetchRequest(r){return P(this,arguments,function*(s,e={}){try{const l=yield fetch(`${Wd}${s}`,e);if(!l.ok)try{const a=yield l.text();return{data:null,error:JSON.parse(a)}}catch(a){if(a instanceof SyntaxError)return{data:null,error:{name:"application_error",message:"Internal server error. We are unable to process your request right now, please try again later."}};const h={message:l.statusText,name:"application_error"};if(a instanceof Error)return{data:null,error:Md(Xr({},h),{message:a.message})};return{data:null,error:h}}return{data:yield l.json(),error:null}}catch(l){return{data:null,error:{name:"application_error",message:"Unable to fetch data. The request could not be resolved."}}}})}post(r,s){return P(this,arguments,function*(e,l,f={}){const a=Xr({method:"POST",headers:this.headers,body:JSON.stringify(l)},f);return this.fetchRequest(e,a)})}get(r){return P(this,arguments,function*(s,e={}){const l=Xr({method:"GET",headers:this.headers},e);return this.fetchRequest(s,l)})}put(r,s){return P(this,arguments,function*(e,l,f={}){const a=Xr({method:"PUT",headers:this.headers,body:JSON.stringify(l)},f);return this.fetchRequest(e,a)})}patch(r,s){return P(this,arguments,function*(e,l,f={}){const a=Xr({method:"PATCH",headers:this.headers,body:JSON.stringify(l)},f);return this.fetchRequest(e,a)})}delete(r,s){return P(this,null,function*(){const e={method:"DELETE",headers:this.headers,body:JSON.stringify(s)};return this.fetchRequest(r,e)})}};class Hs{}class Qs extends Hs{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new zm(this.apiKey),{data:e,error:l}=await s.emails.send({...r});if(l)throw l;if(e)return!0}}class Fm extends Zr{constructor(){super(...arguments)}debug=!0;defaultFrom="";driver=new Qs;boot(){}}class Gm extends Zr{constructor(){super(...arguments)}channels={};boot(){}}export{Em as S3Driver,Qs as ResendDriver,Nm as RateLimiterServiceProvider,Zs as RateLimiterDriver,Xs as InMemoryRateLimiter,Qr as FileSystemDriver,Al as FileStorageServiceProvider,er as FileStorageDriver,Fm as EmailServiceProvider,Hs as EmailDriver,Gm as BroadcastingServiceProvider};export{Al as p,Zr as q,Nm as r,Fm as s,Gm as t};