gemi 0.4.86 → 0.4.88
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/App.d.ts +1 -0
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/index.js +1 -141
- package/dist/app/prismaExtension.d.ts +1 -5
- package/dist/app/prismaExtension.d.ts.map +1 -1
- package/dist/bin/index.js +132 -77
- package/dist/chunk-0441dc8e5b215b75.js +2 -0
- package/dist/chunk-08bf87c7e29141d3.js +9 -0
- package/dist/chunk-23b1faa7791ca31d.js +2 -0
- package/dist/chunk-28694e5e949df0ff.js +2 -0
- package/dist/chunk-332553172e3ab961.js +2 -0
- package/dist/chunk-36d595d02662f2fa.js +2 -0
- package/dist/chunk-3d4e6fdf131bae97.js +2 -0
- package/dist/chunk-43b1a27bc037bc09.js +2 -0
- package/dist/chunk-6e20f463543eec5f.js +2 -0
- package/dist/chunk-75aa5e5e2f565737.js +18 -0
- package/dist/{chunk-6a97611e6bd65152.js → chunk-79f9130d266efc8b.js} +1 -1
- package/dist/chunk-82b3f93a5aac2b2e.js +6 -0
- package/dist/chunk-8ee09f1f74206a04.js +1 -1
- package/dist/chunk-8f575468b4e4754d.js +2 -0
- package/dist/chunk-92b7f08b6396b0fc.js +2 -0
- package/dist/chunk-a4330a47c3806ff1.js +3 -0
- package/dist/chunk-b35e7bc78a8a613f.js +2 -0
- package/dist/chunk-bd0308763754bf7b.js +2 -0
- package/dist/chunk-d5d491184ec17042.js +2 -0
- package/dist/chunk-dc3eae4932658400.js +2 -0
- package/dist/chunk-e5db92db378843ab.js +2 -0
- package/dist/client/index.js +10 -10
- package/dist/facades/index.js +1 -1
- package/dist/kernel/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/services/index.js +10 -1
- package/dist/vite/{index-BDp-rm3S.mjs → index-CePL3kqT.mjs} +15 -11
- package/dist/vite/index.mjs +1 -1
- package/dist/vite/{typescript-x31i_8Ji.mjs → typescript-CaGEH4-o.mjs} +45 -23
- package/package.json +1 -1
- package/dist/chunk-053cb1dc15795bf6.js +0 -2
- package/dist/chunk-11fb3a27cf688340.js +0 -2
- package/dist/chunk-226c55043768b2e1.js +0 -18
- package/dist/chunk-2786cd9024d0d164.js +0 -2
- package/dist/chunk-405c6731d3acd2cf.js +0 -1
- package/dist/chunk-455e54a6493c2080.js +0 -2
- package/dist/chunk-528ef084b2c9a2ba.js +0 -2
- package/dist/chunk-6f25a013d533d94d.js +0 -2
- package/dist/chunk-7f6a8fc2d4d89153.js +0 -2
- package/dist/chunk-80e3ea835f0d9a37.js +0 -1
- package/dist/chunk-84f49317085b7263.js +0 -3
- package/dist/chunk-97235ad8ffab193d.js +0 -6
- package/dist/chunk-a690c0c26e034681.js +0 -2
- package/dist/chunk-e62074b446091212.js +0 -2
- package/dist/chunk-e826a8ad5ae18bb0.js +0 -2
- package/dist/chunk-ec612fe5cb5758ab.js +0 -2
- package/dist/chunk-f769e8cd95090a9d.js +0 -9
- package/dist/chunk-f9f264ce0c8e9699.js +0 -2
- package/dist/chunk-ff8cd8fd047cfee5.js +0 -2
package/dist/services/index.js
CHANGED
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-a690c0c26e034681.js";import{B as Q} from"../chunk-24a86f8f5ddc0cbd.js";import{G as dl,H as Sd} from"../chunk-0ba2cc302113ab40.js";import{M as _w} from"../chunk-ff8cd8fd047cfee5.js";import{$ as Xf,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 Ys,W as yr,X as Jf,Y as oh,Z as Lf,_ as Zf,aa as nh,ba as yh,ca as Mh,da as Uh,ea as vh,fa as ph,ga as uh,ha as Hf,ia as kr,ja as Pr,ka as th,la as Ch,ma as zh,na as rm,oa as Fh,pa as sm,qa as tr,ra as Gh,sa as Us,ta as Kh,ua as Wh,va as Yh,wa as Oh} from"../chunk-226c55043768b2e1.js";import{$a as ma,Aa as Yr,Ba as Br,Ca as xh,Da as gm,Ga as Sh,Ha as Rh,Ia as cs,Ja as Ah,Ka as kh,La as Ph,Ma as $h,Na as Dh,Oa as lh,Pa as o,Qa as Ih,Ra as Gl,Sa as Kl,Ta as ha,Ua as Ar,Va as Y,Xa as Ss,_a as dr,ab as Sr,bb as ga,cb as ds,db as vr,fb as Ke,gb as Tr,hb as jf,ib as O,jb as wa,kb as Th,lb as ch,mb as Qh,nb as Bh,pb as v,rb as da,xa as Jh,ya as Hh,za as L} from"../chunk-84f49317085b7263.js";import{tb as qm} from"../chunk-6a97611e6bd65152.js";import{ub as i,vb as Eh} from"../chunk-ec612fe5cb5758ab.js";import"../chunk-80e3ea835f0d9a37.js";import{Cb as Vh} from"../chunk-f769e8cd95090a9d.js";import"../chunk-405c6731d3acd2cf.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 Sl{driver=new Qr}function Wm(r){return(s)=>async(e)=>{const{request:l}=e;if(L.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},Rl=(r)=>({applyToStack:(s)=>{s.add(Wm(r),Vm)}});function Zm(){return(r,s)=>async(e)=>{const{request:l}=e;if(L.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},Al=(r)=>({applyToStack:(s)=>{s.add(Zm(),Xm)}});var kl=(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}}},Pl={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},Il=(r)=>({applyToStack:(s)=>{s.add(Jm(r),Hm),s.addRelativeTo(kl(r),Pl)}});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"},El=(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 yl=Q(_m(),1);var Nl="Directory",$l="S3Express",Dl="sigv4-s3express",Or="X-Amz-S3session-Token",cr=Or.toLowerCase(),Ym="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Om="s3_disable_express_session_auth",Qs={environmentVariableSelector:(r)=>p(r,Ym,u.ENV),configFileSelector:(r)=>p(r,Om,u.CONFIG),default:!1};var Tl=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},cl=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 yl.SignatureV4{async signWithCredentials(r,s,e){const l=Tl(s);r.headers[cr]=s.sessionToken;const f=this;return cl(f,l),f.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const l=Tl(s);return delete r.headers[cr],r.headers[Or]=s.sessionToken,r.query=r.query??{},r.query[Or]=s.sessionToken,cl(this,l),this.presign(r,e)}}var Ml=(r)=>{return(s,e)=>async(l)=>{if(e.endpointV2){const f=e.endpointV2,a=f.properties?.authSchemes?.[0]?.name===Dl;if(f.properties?.backend===$l||f.properties?.bucketType===Nl)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,L.isInstance(l.request)&&g.sessionToken)l.request.headers[cr]=g.sessionToken}}}return s(l)}},Ul={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},Bs=(r)=>({applyToStack:(s)=>{s.add(Ml(r),Ul)}});var Cl=Q(Ys(),1);var jm=Q(qm(),1);var vl=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 im=(r)=>(s)=>{throw s},bm=(r,s)=>{};var zl=(r)=>(s,e)=>async(l)=>{if(!L.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 vl(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||im)(h));return(g.successHandler||bm)(N.response,h),N},Os=(r)=>({applyToStack:(s)=>{s.addRelativeTo(zl(r),Cl.httpSigningMiddlewareOptions)}});var Fl=(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 xm={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},om=3000,nm=(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 Gl(m);a.body=k;const N=await pm(g,{streamCollector:async($)=>{return Kl($,om)}});if(typeof g?.destroy==="function")g.destroy();const D=r.utf8Encoder(N.subarray(N.length-16));if(N.length===0&&xm[e.commandName]){const $=new Error("S3 aborted request");throw $.name="InternalError",$}if(D&&D.endsWith("</Error>"))a.statusCode=400;return f},pm=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},um={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},qr=(r)=>({applyToStack:(s)=>{s.addRelativeTo(nm(r),um)}});var _s=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function Wl(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 Vl={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function tm({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:l}}=e;if(!r&&typeof l==="string"&&!_s(l)&&l.indexOf("/")>=0){const f=new Error(`Bucket name shouldn't contain '/', received '${l}'`);throw f.name="InvalidBucketName",f}return s({...e})}}var rg={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},Ll=(r)=>({applyToStack:(s)=>{s.add(tm(r),rg),s.addRelativeTo(Wl(r),Vl)}});var Er=Q(Ys(),1);var Zl=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var rs=Q(tr(),1);var jr={CrtSignerV4:null};class qs{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=jr.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"}]},vf={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Xl={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},nr={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},K={["ref"]:"Bucket"},G={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},or={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},Cf={["ref"]:"url"},zf={["fn"]:"uriEncode",["argv"]:[K],["assign"]:"uri_encoded_bucket"},q={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},w={},Ff={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[K,!1]},js={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},pr={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},Jl={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Hl={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},d={["fn"]:"not",["argv"]:[y]},Ql={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},Bl={["fn"]:"not",["argv"]:[nr]},Yl={["ref"]:"hardwareType"},Ol={["conditions"]:[d],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},ir={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},is={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},sg={["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]},_l={["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]},ql={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},jl={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},il={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},bs={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[Cf,"isIp"]},!1]},xs={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:M,["headers"]:{}},ke={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:M,["headers"]:{}},bl={["endpoint"]:ke,["type"]:"endpoint"},os={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},xl={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},br={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},V={["ref"]:"bucketArn"},Gf={["ref"]:"arnType"},ns={["fn"]:"getAttr",["argv"]:[V,"service"]},Pe={["ref"]:"accessPointName"},ol={["conditions"]:[I],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},nl={["conditions"]:[B],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},pl={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},ps={["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"},Kf={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},Wf={["fn"]:"getAttr",["argv"]:[V,"accountId"]},us={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},ul={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},ts={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},re={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},se={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},tl={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},rf={["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}"}]},sf={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},ef={["fn"]:"aws.parseArn",["argv"]:[K]},lf={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},ff={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},af={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},ee={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},hf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:M,["headers"]:{}},mf={["ref"]:"UseObjectLambdaEndpoint"},le={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},gf={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},wf={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},df={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},fe={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:M,["headers"]:{}},Sf={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:M,["headers"]:{}},ae=[{["ref"]:"Region"}],eg=[{["ref"]:"Endpoint"}],lg=[K],he=[I],xr=[B],t=[y,G],Rf=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],Af=[or],me=[zf],ge=[Ff],gr=[E],kf=[{["fn"]:"substring",["argv"]:[K,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[K,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Pf=[{["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"}],If=[{["fn"]:"substring",["argv"]:[K,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[K,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Ef=[{["conditions"]:[E],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:pr,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:pr,["headers"]:{}},["type"]:"endpoint"}],fg=[nr],Nf=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],$f=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],ag=["*"],b=[vf],Df=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],x=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],we=[{["fn"]:"stringEquals",["argv"]:[Gf,"accesspoint"]}],Tf=[{["fn"]:"getAttr",["argv"]:[V,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Pe,""]}]}],hg=[V,"resourceId[1]"],de=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},""]}]}],cf=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[2]"]}]}]}],mg=[V,"resourceId[2]"],Se=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]}],["assign"]:"bucketPartition"}],yf=[{["fn"]:"stringEquals",["argv"]:[Kf,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],Re=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[V,"region"]},!0]}],Ae=[{["fn"]:"isValidHostLabel",["argv"]:[Wf,!1]}],Mf=[{["fn"]:"isValidHostLabel",["argv"]:[Pe,!1]}],Uf=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],gg={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"]:ae}],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,vf,Xl],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[nr,{["fn"]:"substring",["argv"]:[K,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"]:xr,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:t,rules:[{["conditions"]:Rf,rules:[{["conditions"]:Af,rules:[{["conditions"]:me,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:q,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:ge,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:q,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},js],["type"]:"tree"},{["conditions"]:Af,rules:[{["conditions"]:me,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:pr,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:ge,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:pr,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},js],["type"]:"tree"},{["conditions"]:[Jl,Hl],rules:[{["conditions"]:[zf,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"]:ge,rules:[{["conditions"]:Rf,rules:[{["conditions"]:kf,rules:Pf,["type"]:"tree"},{["conditions"]:If,rules:Pf,["type"]:"tree"},Ql],["type"]:"tree"},{["conditions"]:kf,rules:Ef,["type"]:"tree"},{["conditions"]:If,rules:Ef,["type"]:"tree"},Ql],["type"]:"tree"},js],["type"]:"tree"},{["conditions"]:[Bl,Jl,Hl],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"]:[nr,{["fn"]:"substring",["argv"]:[K,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[K,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[K,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[K,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:ae,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:Nf,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Yl,"e"]}],rules:[{["conditions"]:$f,rules:[Ol,{["conditions"]:t,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:ir,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:ir,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Yl,"o"]}],rules:[{["conditions"]:$f,rules:[Ol,{["conditions"]:t,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:ir,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:ir,["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"]:fg,rules:[{["conditions"]:[y,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:eg}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[is,Ff],rules:[{["conditions"]:b,rules:[{["conditions"]:Df,rules:[{["conditions"]:[B,Xl],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:_l,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,E,c,d,A,F],endpoint:_l,["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:ql,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,E,c,d,A,F],endpoint:ql,["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:jl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,S,B,d,A,F],endpoint:jl,["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:il,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,S,c,d,A,F],endpoint:il,["type"]:"endpoint"},{["conditions"]:[R,S,c,y,G,or,U],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,S,c,y,G,bs,U],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,S,c,y,G,or,A,z],rules:[{["conditions"]:x,endpoint:xs,["type"]:"endpoint"},{endpoint:xs,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,c,y,G,bs,A,z],rules:[{["conditions"]:x,endpoint:ke,["type"]:"endpoint"},bl],["type"]:"tree"},{["conditions"]:[R,S,c,y,G,or,A,F],endpoint:xs,["type"]:"endpoint"},{["conditions"]:[R,S,c,y,G,bs,A,F],endpoint:ke,["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:os,["type"]:"endpoint"},{endpoint:os,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,B,d,A,F],endpoint:os,["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:xl,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,c,d,A,F],endpoint:xl,["type"]:"endpoint"}],["type"]:"tree"},br],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[y,G,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[Cf,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[K,!0]},is,S,R,c],rules:[{["conditions"]:b,rules:[{["conditions"]:Df,rules:[bl],["type"]:"tree"},br],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[is,{["fn"]:"aws.parseArn",["argv"]:lg,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[V,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[Gf,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ns,"s3-object-lambda"]}],rules:[{["conditions"]:we,rules:[{["conditions"]:Tf,rules:[ol,nl,{["conditions"]:de,rules:[pl,{["conditions"]:cf,rules:[ps,{["conditions"]:Se,rules:[{["conditions"]:b,rules:[{["conditions"]:yf,rules:[{["conditions"]:Re,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Wf,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:Ae,rules:[{["conditions"]:Mf,rules:[{["conditions"]:t,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:us,["headers"]:w},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:us,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:us,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},ul],["type"]:"tree"},ts],["type"]:"tree"},re],["type"]:"tree"},se],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},tl],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},rf],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:we,rules:[{["conditions"]:Tf,rules:[{["conditions"]:de,rules:[{["conditions"]:we,rules:[{["conditions"]:de,rules:[pl,{["conditions"]:cf,rules:[ps,{["conditions"]:Se,rules:[{["conditions"]:b,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Kf,"{partitionResult#name}"]}],rules:[{["conditions"]:Re,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ns,"s3"]}],rules:[{["conditions"]:Ae,rules:[{["conditions"]:Mf,rules:[{["conditions"]:xr,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,G],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"},ul],["type"]:"tree"},ts],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},re],["type"]:"tree"},se],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},tl],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[Pe,!0]}],rules:[{["conditions"]:he,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:gr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:xr,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"]:ae,["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"]:ag}]},["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"},rf],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[ns,"s3-outposts"]}],rules:[{["conditions"]:he,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:gr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:xr,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"]:hg,["assign"]:"outpostId"}],rules:[{["conditions"]:Nf,rules:[ps,{["conditions"]:Se,rules:[{["conditions"]:b,rules:[{["conditions"]:yf,rules:[{["conditions"]:Re,rules:[{["conditions"]:Ae,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:mg,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[V,"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"]:sf,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:sf,["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"},ts],["type"]:"tree"},re],["type"]:"tree"},se],["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"]:[K,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[ef]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[sg,!0]},ef],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:me,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:lf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,d,E,A,F],endpoint:lf,["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:ff,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,d,E,A,F],endpoint:ff,["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:af,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[I,d,S,A,F],endpoint:af,["type"]:"endpoint"},{["conditions"]:[R,y,G,S,U],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[R,y,G,S,A,z],rules:[{["conditions"]:x,endpoint:ee,["type"]:"endpoint"},{endpoint:ee,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,y,G,S,A,F],endpoint:ee,["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:hf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,d,S,A,F],endpoint:hf,["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"]:[mf]},{["fn"]:"booleanEquals",["argv"]:[mf,!0]}],rules:[{["conditions"]:b,rules:[{["conditions"]:Uf,rules:[ol,nl,{["conditions"]:t,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:le,["headers"]:w},["type"]:"endpoint"},{["conditions"]:gr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:le,["headers"]:w},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:le,["headers"]:w},["type"]:"endpoint"}],["type"]:"tree"},br],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Bl],rules:[{["conditions"]:b,rules:[{["conditions"]:Uf,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:gf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[E,I,d,A,F],endpoint:gf,["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:wf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[E,R,d,A,F],endpoint:wf,["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:df,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,I,d,A,F],endpoint:df,["type"]:"endpoint"},{["conditions"]:[S,R,y,G,U],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:C,["headers"]:w},["type"]:"endpoint"},{["conditions"]:[S,R,y,G,A,z],rules:[{["conditions"]:x,endpoint:fe,["type"]:"endpoint"},{endpoint:fe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,y,G,A,F],endpoint:fe,["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:Sf,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,d,A,F],endpoint:Sf,["type"]:"endpoint"}],["type"]:"tree"},br],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},Vf=gg;var ur=(r,s={})=>{return Zf(Vf,{endpointParams:r,logger:s.logger})};Lf.aws=Xf;var Bf=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Yf=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},wg=(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 Hf(l,{getEndpointParameterInstructions:a},s);return Object.assign(f,h)},dg=async(r,s,e)=>{return{operation:yr(s).operation,region:await Jf(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Qf=wg(dg),Sg=(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 Z;if($==="sigv4a"){Z="aws.auth#sigv4a";const Jr=h.find((_)=>{const Dr=_.name.toLowerCase();return Dr!=="sigv4a"&&Dr.startsWith("sigv4")});if(!jr.CrtSignerV4&&Jr)continue}else if($.startsWith("sigv4"))Z="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${$}\``);const X=e[Z];if(!X)throw new Error(`Could not find HttpAuthOption create function for \`${Z}\``);const H=X(f);H.schemeId=Z,H.signingProperties={...H.signingProperties||{},...D,...N},m.push(H)}return m}},Rg=(r)=>{const s=[];switch(r.operation){default:s.push(Bf(r)),s.push(Yf(r))}return s},Of=Sg(ur,Rg,{"aws.auth#sigv4":Bf,"aws.auth#sigv4a":Yf}),_f=(r)=>{const s=rs.resolveAwsSdkSigV4Config(r);return{...rs.resolveAwsSdkSigV4AConfig(s)}};var qf=(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 W extends jf{constructor(r){super(r);Object.setPrototypeOf(this,W.prototype)}}class ss extends W{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,ss.prototype)}}class es extends W{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,es.prototype)}}class ls extends W{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,ls.prototype)}}class fs extends W{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,fs.prototype)}}class as extends W{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,as.prototype)}}var Ie;(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])}})(Ie||(Ie={}));var Ee;(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])}})(Ee||(Ee={}));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.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])}})(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.And!==void 0)return e.And(s.And);return e._(s.$unknown[0],s.$unknown[1])}})($e||($e={}));class hs extends W{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,hs.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class ms extends W{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,ms.prototype)}}class gs extends W{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,gs.prototype)}}var Ag=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:Y},...r.SessionToken&&{SessionToken:Y}}),bf=(r)=>({...r,...r.Credentials&&{Credentials:Ag(r.Credentials)}});var xf=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Y}}),of=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Y}});var Rr=Q(tr(),1);var As=Q(Ys(),1);class ws extends W{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,ws.prototype)}}var nf;(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])}})(nf||(nf={}));var pf=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Y},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Y}}),uf=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Y},...r.SSEKMSKeyId&&{SSEKMSKeyId:Y},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Y}});var Sa=async(r,s)=>{const e=As.requestBuilder(r,s),l=v({},j,{[cw]:r[tg]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const f=v({[Nw]:[,""]});let a;return e.m("GET").h(l).q(f).b(a),e.build()};var Ra=async(r,s)=>{const e=As.requestBuilder(r,s),l=v({},j,{[hw]:r[Hg],[mw]:[()=>j(r[tf]),()=>vr(r[tf]).toString()],[gw]:r[Qg],[ww]:[()=>j(r[ra]),()=>vr(r[ra]).toString()],[Sw]:r[qg],[Is]:r[ks],[ja]:r[za],[Es]:r[Ps],[Oa]:r[Ca],[Ha]:r[ca],[Tw]:r[Fg]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const f=v({[xa]:[,"GetObject"],[Rw]:[,r[jg]],[Aw]:[,r[ig]],[kw]:[,r[bg]],[Pw]:[,r[xg]],[Iw]:[,r[og]],[Ew]:[()=>r.ResponseExpires!==void 0,()=>vr(r[ng]).toString()],[$w]:[,r[Qe]],[dw]:[()=>r.PartNumber!==void 0,()=>r[_g].toString()]});let a;return e.m("GET").h(l).q(f).b(a),e.build()};var Aa=async(r,s)=>{const e=As.requestBuilder(r,s),l=v({},j,{[Za]:r[Ta]||"application/octet-stream",[Dw]:r[vg],[Ka]:r[Ea],[Wa]:r[Na],[Va]:r[$a],[La]:r[Da],[ze]:[()=>j(r[Ue]),()=>r[Ue].toString()],[lw]:r[Gg],[Fw]:r[zg],[Be]:r[Ve],[Ye]:r[Le],[Oe]:r[Ze],[_e]:r[Xe],[Fe]:[()=>j(r[ve]),()=>vr(r[ve]).toString()],[yw]:r[Lg],[Mw]:r[Zg],[Uw]:r[Xg],[vw]:r[Jg],[qe]:r[Je],[_a]:r[zr],[ba]:r[Ga],[Is]:r[ks],[ja]:r[za],[Es]:r[Ps],[je]:r[He],[qa]:r[Fa],[Fr]:[()=>j(r[Rs]),()=>r[Rs].toString()],[Oa]:r[Ca],[Gw]:r[rw],[Ba]:r[Ua],[Ge]:[()=>j(r[Ce]),()=>da(r[Ce]).toString()],[Qa]:r[Ma],[Ha]:r[ca],...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({[xa]:[,"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 ka=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return We(r,s);const e=v({$metadata:J(r)}),l=dr(ma(await Rr.parseXmlBody(r.body,s)),"body");if(l[ce]!=null)e[ce]=Ug(l[ce],s);return e};var Pa=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return We(r,s);const e=v({$metadata:J(r),[Wg]:[()=>r.headers[ea]!==void 0,()=>Ss(r.headers[ea])],[Cg]:[,r.headers[ew]],[Cr]:[,r.headers[Ja]],[ug]:[,r.headers[Cw]],[Bg]:[()=>r.headers[sa]!==void 0,()=>dr(Tr(r.headers[sa]))],[Ue]:[()=>r.headers[ze]!==void 0,()=>ga(r.headers[ze])],[ya]:[,r.headers[Xa]],[Ve]:[,r.headers[Be]],[Le]:[,r.headers[Ye]],[Ze]:[,r.headers[Oe]],[Xe]:[,r.headers[_e]],[Yg]:[()=>r.headers[la]!==void 0,()=>ds(r.headers[la])],[Qe]:[,r.headers[ia]],[Ea]:[,r.headers[Ka]],[Na]:[,r.headers[Wa]],[$a]:[,r.headers[Va]],[Da]:[,r.headers[La]],[Kg]:[,r.headers[fw]],[Ta]:[,r.headers[Za]],[ve]:[()=>r.headers[Fe]!==void 0,()=>dr(Tr(r.headers[Fe]))],[Vg]:[,r.headers[aw]],[Ga]:[,r.headers[ba]],[Je]:[,r.headers[qe]],[ks]:[,r.headers[Is]],[Ps]:[,r.headers[Es]],[He]:[,r.headers[je]],[Rs]:[()=>r.headers[Fr]!==void 0,()=>Ss(r.headers[Fr])],[zr]:[,r.headers[_a]],[va]:[,r.headers[Ya]],[pg]:[,r.headers[zw]],[Og]:[()=>r.headers[fa]!==void 0,()=>ds(r.headers[fa])],[sw]:[()=>r.headers[aa]!==void 0,()=>ds(r.headers[aa])],[Ua]:[,r.headers[Ba]],[Ce]:[()=>r.headers[Ge]!==void 0,()=>dr(Ke(r.headers[Ge]))],[Ma]:[,r.headers[Qa]],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 Ia=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return We(r,s);const e=v({$metadata:J(r),[Cr]:[,r.headers[Ja]],[ya]:[,r.headers[Xa]],[Ve]:[,r.headers[Be]],[Le]:[,r.headers[Ye]],[Ze]:[,r.headers[Oe]],[Xe]:[,r.headers[_e]],[Je]:[,r.headers[qe]],[Qe]:[,r.headers[ia]],[ks]:[,r.headers[Is]],[Ps]:[,r.headers[Es]],[He]:[,r.headers[je]],[Fa]:[,r.headers[qa]],[Rs]:[()=>r.headers[Fr]!==void 0,()=>Ss(r.headers[Fr])],[va]:[,r.headers[Ya]]});return await ha(r.body,s),e};var We=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 Tg(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await Mg(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await Ig(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await Eg(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await $g(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await Ng(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await Dg(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await cg(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await yg(e,s);default:const f=e.body;return Pg({output:r,parsedBody:f,errorCode:l})}},Pg=wa(W),Ig=async(r,s)=>{const e=v({}),l=r.body,f=new ls({$metadata:J(r),...e});return O(f,r.body)},Eg=async(r,s)=>{const e=v({}),l=r.body,f=new fs({$metadata:J(r),...e});return O(f,r.body)},Ng=async(r,s)=>{const e=v({}),l=r.body;if(l[Te]!=null)e[Te]=Sr(l[Te]);if(l[zr]!=null)e[zr]=Sr(l[zr]);const f=new hs({$metadata:J(r),...e});return O(f,r.body)},$g=async(r,s)=>{const e=v({}),l=r.body,f=new as({$metadata:J(r),...e});return O(f,r.body)},Dg=async(r,s)=>{const e=v({}),l=r.body,f=new ms({$metadata:J(r),...e});return O(f,r.body)},Tg=async(r,s)=>{const e=v({}),l=r.body,f=new ss({$metadata:J(r),...e});return O(f,r.body)},cg=async(r,s)=>{const e=v({}),l=r.body,f=new gs({$metadata:J(r),...e});return O(f,r.body)},yg=async(r,s)=>{const e=v({}),l=r.body,f=new ws({$metadata:J(r),...e});return O(f,r.body)},Mg=async(r,s)=>{const e=v({}),l=r.body,f=new es({$metadata:J(r),...e});return O(f,r.body)};var Ug=(r,s)=>{const e={};if(r[De]!=null)e[De]=Sr(r[De]);if(r[ye]!=null)e[ye]=Sr(r[ye]);if(r[Me]!=null)e[Me]=Sr(r[Me]);if(r[Cr]!=null)e[Cr]=dr(Ke(r[Cr]));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 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 vg="ACL";var De="AccessKeyId";var Cg="AcceptRanges";var Te="AccessTier";var Rs="BucketKeyEnabled";var ce="Credentials",zg="ChecksumAlgorithm";var Ea="CacheControl",Ve="ChecksumCRC32",Le="ChecksumCRC32C",Na="ContentDisposition";var $a="ContentEncoding";var Da="ContentLanguage",Ue="ContentLength",Fg="ChecksumMode",Gg="ContentMD5";var Kg="ContentRange";var Ze="ChecksumSHA1",Xe="ChecksumSHA256";var Ta="ContentType";var Wg="DeleteMarker";var ve="Expires";var ca="ExpectedBucketOwner";var Vg="ExpiresString";var ya="ETag";var Cr="Expiration";var Lg="GrantFullControl";var Zg="GrantRead",Xg="GrantReadACP";var Jg="GrantWriteACP";var Hg="IfMatch",tf="IfModifiedSince",Qg="IfNoneMatch";var ra="IfUnmodifiedSince";var Bg="LastModified";var Yg="MissingMeta";var Ma="ObjectLockLegalHoldStatus",Ua="ObjectLockMode";var Ce="ObjectLockRetainUntilDate";var Og="PartsCount";var _g="PartNumber";var qg="Range";var va="RequestCharged",jg="ResponseCacheControl",ig="ResponseContentDisposition",bg="ResponseContentEncoding",xg="ResponseContentLanguage",og="ResponseContentType";var ng="ResponseExpires";var Ca="RequestPayer";var pg="ReplicationStatus";var ug="Restore";var ye="SecretAccessKey";var zr="StorageClass";var tg="SessionMode";var Je="ServerSideEncryption";var ks="SSECustomerAlgorithm",za="SSECustomerKey",Ps="SSECustomerKeyMD5";var Fa="SSEKMSEncryptionContext",He="SSEKMSKeyId";var Me="SessionToken";var rw="Tagging";var sw="TagCount";var Qe="VersionId";var Ga="WebsiteRedirectLocation";var ew="accept-ranges";var Ka="cache-control",Wa="content-disposition",Va="content-encoding",La="content-language",ze="content-length",lw="content-md5",fw="content-range",Za="content-type";var Fe="expires";var Xa="etag",aw="expiresstring";var hw="if-match",mw="if-modified-since";var gw="if-none-match";var ww="if-unmodified-since";var sa="last-modified";var dw="partNumber";var Sw="range",Rw="response-cache-control",Aw="response-content-disposition",kw="response-content-encoding",Pw="response-content-language",Iw="response-content-type",Ew="response-expires";var Nw="session";var $w="versionId";var Dw="x-amz-acl";var Be="x-amz-checksum-crc32",Ye="x-amz-checksum-crc32c",Tw="x-amz-checksum-mode";var Oe="x-amz-checksum-sha1",_e="x-amz-checksum-sha256";var cw="x-amz-create-session-mode";var ea="x-amz-delete-marker",Ja="x-amz-expiration",Ha="x-amz-expected-bucket-owner";var yw="x-amz-grant-full-control",Mw="x-amz-grant-read",Uw="x-amz-grant-read-acp";var vw="x-amz-grant-write-acp";var la="x-amz-missing-meta";var fa="x-amz-mp-parts-count";var Qa="x-amz-object-lock-legal-hold",Ba="x-amz-object-lock-mode",Ge="x-amz-object-lock-retain-until-date";var Cw="x-amz-restore",Ya="x-amz-request-charged";var Oa="x-amz-request-payer";var zw="x-amz-replication-status";var _a="x-amz-storage-class",Fw="x-amz-sdk-checksum-algorithm";var qe="x-amz-server-side-encryption",je="x-amz-server-side-encryption-aws-kms-key-id",Fr="x-amz-server-side-encryption-bucket-key-enabled",qa="x-amz-server-side-encryption-context",Is="x-amz-server-side-encryption-customer-algorithm",ja="x-amz-server-side-encryption-customer-key",Es="x-amz-server-side-encryption-customer-key-md5",Gw="x-amz-tagging",aa="x-amz-tagging-count";var ia="x-amz-version-id",ba="x-amz-website-redirect-location",xa="x-id";class ie 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()),qr(e)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(void 0,bf).ser(Sa).de(ka).build(){}var oa={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 vs=Q(tr(),1);var Ww="AWS_S3_USE_ARN_REGION",Vw="s3_use_arn_region",na={environmentVariableSelector:(r)=>p(r,Ww,u.ENV),configFileSelector:(r)=>p(r,Vw,u.CONFIG),default:!1};var pa=Q(_w(),1),{__extends:CR,__assign:zR,__rest:FR,__decorate:GR,__param:KR,__esDecorate:WR,__runInitializers:VR,__propKey:LR,__setFunctionName:ZR,__metadata:XR,__awaiter:Ns,__generator:$s,__exportStar:JR,__createBinding:HR,__values:Ds,__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}=pa.default;import{Buffer as ua} from"buffer";var ta=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?ua.from(r,s):ua.from(r)};var be=(r)=>{const s=ta(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 qw(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var qw=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:be;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 xe=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 Ns(this,void 0,void 0,function(){return $s(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=Ds(s),a=f.next();!a.done;a=f.next()){var h=a.value;this.checksum=this.checksum>>>8^iw[(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 jw=[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],iw=Vr(jw);var rh=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)rh(s);return new Ir(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)rh(r);return parseInt(o(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class oe{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(!sd.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const N=new Uint8Array(17);return N[0]=9,N.set(lh(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:eh,value:!0};break;case 1:s[f]={type:eh,value:!1};break;case 2:s[f]={type:bw,value:r.getInt8(e++)};break;case 3:s[f]={type:xw,value:r.getInt16(e,!1)},e+=2;break;case 4:s[f]={type:ow,value:r.getInt32(e,!1)},e+=4;break;case 5:s[f]={type:nw,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:pw,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:uw,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[f]={type:tw,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:rd,value:`${o(m.subarray(0,4))}-${o(m.subarray(4,6))}-${o(m.subarray(6,8))}-${o(m.subarray(8,10))}-${o(m.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var sh;(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"})(sh||(sh={}));var eh="boolean",bw="byte",xw="short",ow="integer",nw="long",pw="binary",uw="string",tw="timestamp",rd="uuid",sd=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function ah({byteLength:r,byteOffset:s,buffer:e}){if(r<ed)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(fh,!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 fh=4,n=fh*2,sr=4,ed=n+sr*2;class ne{constructor(r,s){this.headerMarshaller=new oe(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}=ah(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class pe{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 ue{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 te{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 rl{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 hh(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 Z=N-D;if(!f)f=new Uint8Array(4);const X=Math.min(4-e,Z);if(f.set(g.slice(D,D+X),e),e+=X,D+=X,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 mh(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 Ts{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new ne(r,s),this.utfEncoder=r}deserialize(r,s){const e=hh(r);return new te({messageStream:new pe({inputStream:e,decoder:this.eventStreamCodec}),deserializer:mh(s,this.utfEncoder)})}serialize(r,s){return new ue({messageStream:new rl({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as ld} from"stream";async function*gh(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 sl{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new Ts({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:gh(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return ld.from(this.universalMarshaller.serialize(r,s))}}var wh=(r)=>new sl(r);import{Writable as fd} from"stream";class ys extends fd{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(cs(r))}catch(l){return e(l)}e()}}var dh=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const e=new r,l=new ys(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 Ms=Q(tr(),1);var Nh=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??Sh,base64Encoder:r?.base64Encoder??kh,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??ur,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??Ph,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Of,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new Ms.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new Ms.AwsSdkSigV4ASigner}],logger:r?.logger??new Br,sdkStreamMixin:r?.sdkStreamMixin??Ih,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??qs,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??Eh,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Rh,utf8Encoder:r?.utf8Encoder??Ah}};var Lh=(r)=>{ch(process.version);const s=Wh(r),e=()=>s().then(Th),l=Nh(r);return vs.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:oa.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??i(Qs),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??wh,maxAttempts:r?.maxAttempts??i(zh),md5:r?.md5??Us.bind(null,"md5"),region:r?.region??i(Uh,vh),requestHandler:$h.create(r?.requestHandler??e),retryMode:r?.retryMode??i({...Fh,default:async()=>(await e()).retryMode||Ch}),sha1:r?.sha1??Us.bind(null,"sha1"),sha256:r?.sha256??Us.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??i(vs.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Dh,streamHasher:r?.streamHasher??dh,useArnRegion:r?.useArnRegion??i(na),useDualstackEndpoint:r?.useDualstackEndpoint??i(yh),useFipsEndpoint:r?.useFipsEndpoint??i(Mh)}};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 Cs=(r)=>r,_h=(r,s)=>{const e={...Cs(Yh(r)),...Cs(Qh(r)),...Cs(Jh(r)),...Cs(Zh(r))};return s.forEach((l)=>l.configure(e)),{...r,...Oh(e),...Bh(e),...Hh(e),...Xh(e)}};class el extends xh{constructor(...[r]){const s=Lh(r||{}),e=qf(s),l=oh(e),f=rm(l),a=ph(f),h=qh(a),m=th(h),g=Zl(m),k=_f(g),N=Fl(k,{session:[()=>this,ie]}),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:Qf,identityProviderConfigProvider:async($)=>new Er.DefaultIdentityProviderConfig({"aws.auth#sigv4":$.credentials,"aws.auth#sigv4a":$.credentials})})),this.middlewareStack.use(Er.getHttpSigningPlugin(this.config)),this.middlewareStack.use(Ll(this.config)),this.middlewareStack.use(Rl(this.config)),this.middlewareStack.use(Il(this.config)),this.middlewareStack.use(Bs(this.config)),this.middlewareStack.use(Os(this.config))}destroy(){super.destroy()}}function ad(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(md(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 md(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 hd={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},zs=(r)=>({applyToStack:(s)=>{s.add(ad(r),hd)}});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 fl=function(){function r(){this.crc32c=new ll}return r.prototype.update=function(s){if(Kr(s))return;this.crc32c.update(Gr(s))},r.prototype.digest=function(){return Ns(this,void 0,void 0,function(){return $s(this,function(s){return[2,Wr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new ll},r}();var ll=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,l;try{for(var f=Ds(s),a=f.next();!a.done;a=f.next()){var h=a.value;this.checksum=this.checksum>>>8^wd[(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 gd=[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],wd=Vr(gd);var Fs=(r,s)=>({[T.MD5]:s.md5,[T.CRC32]:xe,[T.CRC32C]:fl,[T.SHA1]:s.sha1,[T.SHA256]:s.sha256})[r];var Gs=(r,s)=>{const e=new r;return e.update(cs(s||"")),e.digest()};var wm={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},dm=(r,s)=>(e,l)=>async(f)=>{if(!L.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,Z=hm(N,{requestChecksumRequired:D,requestAlgorithmMember:$},!!l.isS3ExpressBucket);let X=h,H=m;if(Z){const _=Nr(Z),Dr=Fs(Z,r);if($r(h)){const{getAwsChunkedEncodingStream:Hs,bodyLengthChecker:Km}=r;X=Hs(h,{base64Encoder:g,bodyLengthChecker:Km,checksumLocationName:_,checksumAlgorithmFn:Dr,streamHasher:k}),H={...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 H["content-length"]}else if(!mm(_,m)){const Hs=await Gs(Dr,h);H={...m,[_]:g(Hs)}}}return await e({...f,request:{...a,headers:H,body:X}})};var Ks=(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 dd} from"stream";function al(r){const s=new dd;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):Gs(e,r);return l(await f)};var Am=async(r,{config:s,responseAlgorithms:e})=>{const l=Ks(e),{body:f,headers:a}=r;for(let h of l){const m=Nr(h),g=a[m];if(g){const k=Fs(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(!L.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"&&Ks(N).every((H)=>{const Jr=Nr(H),_=m.headers[Jr];return!_||Sm(_)}))return h;const X=$r(m.body);if(X)g=await r.streamCollector(m.body),m.body=al(g);if(await Am(h.response,{config:r,responseAlgorithms:N}),X&&g)m.body=al(g)}return h};var Ws=(r,s)=>({applyToStack:(e)=>{e.add(dm(r,s),wm),e.addRelativeTo(Pm(r,s),km)}});class hl 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()),Ws(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),zs(e),El(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(of,xf).ser(Ra).de(Pa).build(){}class ml 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()),Ws(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Al(e),qr(e),zs(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(uf,pf).ser(Aa).de(Ia).build(){}import{Buffer as Im} from"buffer";class Em extends er{client;constructor(...r){super();this.client=new el(...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 ml({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 hl({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 Vs{}class Ls extends Vs{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 Ls}class Zr{}import*as Id from"react-dom/server";var ym=Q(Sd(),1);var{defineProperty:Rd,getOwnPropertySymbols:$m}=Object,Ad=Object.prototype.hasOwnProperty,kd=Object.prototype.propertyIsEnumerable,Dm=(r,s,e)=>(s in r)?Rd(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,gl=(r,s)=>{for(var e in s||(s={}))if(Ad.call(s,e))Dm(r,e,s[e]);if($m){for(var e of $m(s))if(kd.call(s,e))Dm(r,e,s[e])}return r},Pd=((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')}),wl=(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())})},Ed={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},Nd=(r,s={})=>{return ym.default.html(r,gl(gl({},Ed),s))},$d=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Tm=new TextDecoder("utf-8"),cm=(r)=>wl(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}=Pd("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}),Zs=(r,s)=>wl(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 wl(this,null,function*(){l=yield cm(g),h()})},onError(k){m(k)}})});if(s==null?void 0:s.plainText)return dl(l,gl({selectors:$d},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 Nd(a);return a});var{defineProperty:Dd,defineProperties:Td,getOwnPropertyDescriptors:cd,getOwnPropertySymbols:Mm}=Object,yd=Object.prototype.hasOwnProperty,Md=Object.prototype.propertyIsEnumerable,Um=(r,s,e)=>(s in r)?Dd(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Xr=(r,s)=>{for(var e in s||(s={}))if(yd.call(s,e))Um(r,e,s[e]);if(Mm){for(var e of Mm(s))if(Md.call(s,e))Um(r,e,s[e])}return r},Ud=(r,s)=>Td(r,cd(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())})},vd="3.4.0",Cd=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}`)})}},zd=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}`)})}},Fd=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 Zs(f.react),delete f.react;return yield this.resend.post("/emails/batch",s,e)})}},Gd=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}`)})}},Kd=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`)})}},Wd=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 Zs(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:${vd}`,Vd=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||vm:vm,Ld=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||Cm:Cm,zm=class{constructor(r){if(this.key=r,this.apiKeys=new Cd(this),this.audiences=new zd(this),this.batch=new Fd(this),this.contacts=new Gd(this),this.domains=new Kd(this),this.emails=new Wd(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":Ld,"Content-Type":"application/json"})}fetchRequest(r){return P(this,arguments,function*(s,e={}){try{const l=yield fetch(`${Vd}${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:Ud(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 Xs{}class Js extends Xs{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 Js;boot(){}}class Gm extends Zr{constructor(){super(...arguments)}channels={};boot(){}}export{Em as S3Driver,Js as ResendDriver,Nm as RateLimiterServiceProvider,Vs as RateLimiterDriver,Ls as InMemoryRateLimiter,Qr as FileSystemDriver,Sl as FileStorageServiceProvider,er as FileStorageDriver,Fm as EmailServiceProvider,Xs as EmailDriver,Gm as BroadcastingServiceProvider};export{Sl as p,Zr as q,Nm as r,Fm as s,Gm as t};
|
|
2
|
+
import"../chunk-8f575468b4e4754d.js";import{B as L} from"../chunk-24a86f8f5ddc0cbd.js";import{G as Yf,H as kA} from"../chunk-0ba2cc302113ab40.js";import{M as _g} from"../chunk-28694e5e949df0ff.js";import{$ as hh,N as ss,O as Yr,P as o,Q as wg,R as dg,S as Ag,T as Sg,U as er,V as fr,W as He,X as Eg,Y as fh,Z as lh,_ as ah,aa as cg,ba as Om,ca as _m,da as qm,ea as jm,fa as Ig,ga as Pg,ha as mh,ia as Tr,ja as Mr,ka as kg,la as im,ma as bm,na as Ng,oa as xm,pa as Dg,qa as Ls,ra as om,sa as se,ta as nm,ua as pm,va as hg,wa as mg} from"../chunk-75aa5e5e2f565737.js";import{$a as tl,Ba as K,Bb as Lh,Ca as Es,Da as as,Ga as Vr,Ha as B,Ia as zm,Ja as Rs,Ka as Rg,La as Km,Ma as Lm,Na as Wm,Oa as cr,Pa as Vm,Qa as Jm,Za as Er,_a as Qm,ab as ra,bb as Gh,cb as Ur,db as Z,fb as br,ib as Dr,jb as Fh,kb as $r,lb as zh,mb as qs,nb as qr,pb as Pf,qb as Qr,rb as Eh,sb as j,tb as Kh,ub as Bm,vb as Ym,wb as lg,xa as eg,xb as ag,ya as fg,zb as v} from"../chunk-a4330a47c3806ff1.js";import"../chunk-79f9130d266efc8b.js";import{Eb as um} from"../chunk-08bf87c7e29141d3.js";import{Gb as _,Hb as Xm} from"../chunk-36d595d02662f2fa.js";import"../chunk-92b7f08b6396b0fc.js";import"../chunk-bd0308763754bf7b.js";class mr{}class es extends mr{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=`${ss()}.${r.type.split("/")[1].split(";")[0]}`;else s=r.body,e=r.name;const f=s instanceof Buffer?s:Buffer.from(await s.arrayBuffer()),l=`${this.folderPath}/${e}`;return await Bun.write(l,f),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 f=`${this.folderPath}/${e}`,l=Bun.file(f),a=Bun.file(f).stream(),h=new Date(l.lastModified).toUTCString();return new Response(a,{headers:{"Content-Type":l.type,"Content-Length":String(l.size),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":h}})}}class Of{driver=new es}function Zg(r){return(s)=>async(e)=>{const{request:f}=e;if(K.isInstance(f)&&f.body&&r.runtime==="node"){if(r.requestHandler?.constructor?.name!=="FetchHttpHandler")f.headers={...f.headers,Expect:"100-continue"}}return s({...e,request:f})}}var Vg={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},_f=(r)=>({applyToStack:(s)=>{s.add(Zg(r),Vg)}});var Gr={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},fs=Gr.WHEN_SUPPORTED,Ae={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},ls=Gr.WHEN_SUPPORTED,U;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(U||(U={}));var qf;(function(r){r.HEADER="header",r.TRAILER="trailer"})(qf||(qf={}));var{MD5:jf,CRC32:bf}=U;var x;(function(r){r.ENV="env",r.CONFIG="shared config entry"})(x||(x={}));var gr=(r,s,e,f)=>{if(!(s in r))return;const l=r[s].toUpperCase();if(!Object.values(e).includes(l))throw new TypeError(`Cannot load ${f} '${s}'. Expected one of ${Object.values(e)}, got '${r[s]}'.`);return l};var Jg="AWS_REQUEST_CHECKSUM_CALCULATION",Bg="request_checksum_calculation",xf={environmentVariableSelector:(r)=>gr(r,Jg,Gr,x.ENV),configFileSelector:(r)=>gr(r,Bg,Gr,x.CONFIG),default:fs};var Yg="AWS_RESPONSE_CHECKSUM_VALIDATION",Og="response_checksum_validation",of={environmentVariableSelector:(r)=>gr(r,Yg,Ae,x.ENV),configFileSelector:(r)=>gr(r,Og,Ae,x.CONFIG),default:ls};var Fr=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256],nf=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256];var pf=(r,{requestChecksumRequired:s,requestAlgorithmMember:e},f)=>{const l=f?bf:jf;if(!e||!r[e])return s?l:void 0;const a=r[e];if(!Fr.includes(a))throw new Error(`The checksum algorithm "${a}" is not supported by the client.`+` Select one of ${Fr}.`);return a};var wr=(r)=>r===U.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var uf=(r,s)=>{const e=r.toLowerCase();for(let f of Object.keys(s))if(e===f.toLowerCase())return!0;return!1};var dr=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!as(r);var tf=L(_g(),1),{__extends:ES,__assign:cS,__rest:IS,__decorate:PS,__param:kS,__esDecorate:NS,__runInitializers:DS,__propKey:$S,__setFunctionName:yS,__metadata:US,__awaiter:hs,__generator:ms,__exportStar:TS,__createBinding:MS,__values:gs,__read:CS,__spread:HS,__spreadArrays:vS,__spreadArray:GS,__await:FS,__asyncGenerator:zS,__asyncDelegator:KS,__asyncValues:LS,__makeTemplateObject:WS,__importStar:QS,__importDefault:XS,__classPrivateFieldGet:ZS,__classPrivateFieldSet:VS,__classPrivateFieldIn:JS,__addDisposableResource:BS,__disposeResources:YS}=tf.default;import{Buffer as rl} from"buffer";var sl=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?rl.from(r,s):rl.from(r)};var Se=(r)=>{const s=sl(r,"utf8");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function zr(r){if(r instanceof Uint8Array)return r;if(typeof r==="string")return qg(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var qg=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:Se;function Kr(r){if(typeof r==="string")return r.length===0;return r.byteLength===0}function Lr(r){return new Uint8Array([(r&4278190080)>>24,(r&16711680)>>16,(r&65280)>>8,r&255])}function Wr(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 Re=function(){function r(){this.crc32=new sr}return r.prototype.update=function(s){if(Kr(s))return;this.crc32.update(zr(s))},r.prototype.digest=function(){return hs(this,void 0,void 0,function(){return ms(this,function(s){return[2,Lr(this.crc32.digest())]})})},r.prototype.reset=function(){this.crc32=new sr},r}();var sr=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,f;try{for(var l=gs(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^ig[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(a&&!a.done&&(f=l.return))f.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var jg=[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],ig=Wr(jg);var ce=function(){function r(){this.crc32c=new Ee}return r.prototype.update=function(s){if(Kr(s))return;this.crc32c.update(zr(s))},r.prototype.digest=function(){return hs(this,void 0,void 0,function(){return ms(this,function(s){return[2,Lr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new Ee},r}();var Ee=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,f;try{for(var l=gs(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^xg[(this.checksum^h)&255]}}catch(m){e={error:m}}finally{try{if(a&&!a.done&&(f=l.return))f.call(l)}finally{if(e)throw e.error}}return this},r.prototype.digest=function(){return(this.checksum^4294967295)>>>0},r}();var bg=[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],xg=Wr(bg);var ws=(r,s)=>({[U.MD5]:s.md5,[U.CRC32]:Re,[U.CRC32C]:ce,[U.SHA1]:s.sha1,[U.SHA256]:s.sha256})[r];var ds=(r,s)=>{const e=new r;return e.update(B(s||"")),e.digest()};var el={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},fl=(r,s)=>(e,f)=>async(l)=>{if(!K.isInstance(l.request))return e(l);const{request:a}=l,{body:h,headers:m}=a,{base64Encoder:g,streamHasher:w}=r,{input:E,requestChecksumRequired:I,requestAlgorithmMember:P}=s,N=pf(E,{requestChecksumRequired:I,requestAlgorithmMember:P},!!f.isS3ExpressBucket);let y=h,V=m;if(N){const i=wr(N),vr=ws(N,r);if(dr(h)){const{getAwsChunkedEncodingStream:de,bodyLengthChecker:Xg}=r;y=de(h,{base64Encoder:g,bodyLengthChecker:Xg,checksumLocationName:i,checksumAlgorithmFn:vr,streamHasher:w}),V={...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":i},delete V["content-length"]}else if(!uf(i,m)){const de=await ds(vr,h);V={...m,[i]:g(de)}}}return await e({...l,request:{...a,headers:V,body:y}})};var As=(r=[])=>{const s=[];for(let e of nf){if(!r.includes(e)||!Fr.includes(e))continue;s.push(e)}return s};var ll=(r)=>{const s=r.lastIndexOf("-");if(s!==-1){const e=r.slice(s+1);if(!e.startsWith("0")){const f=parseInt(e,10);if(!isNaN(f)&&f>=1&&f<=1e4)return!0}}return!1};import{Transform as og} from"stream";function Ie(r){const s=new og;return s.push(r),s.push(null),s}var al=async(r,{streamHasher:s,checksumAlgorithmFn:e,base64Encoder:f})=>{const l=dr(r)?s(e,r):ds(e,r);return f(await l)};var hl=async(r,{config:s,responseAlgorithms:e})=>{const f=As(e),{body:l,headers:a}=r;for(let h of f){const m=wr(h),g=a[m];if(g){const w=ws(h,s),{streamHasher:E,base64Encoder:I}=s,P=await al(l,{streamHasher:E,checksumAlgorithmFn:w,base64Encoder:I});if(P===g)break;throw new Error(`Checksum mismatch: expected "${P}" but received "${g}"`+` in response header "${m}".`)}}};var ml={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},gl=(r,s)=>(e,f)=>async(l)=>{if(!K.isInstance(l.request))return e(l);const a=l.input,h=await e(l),m=h.response;let g=void 0;const{requestValidationModeMember:w,responseAlgorithms:E}=s;if(w&&a[w]==="ENABLED"){const{clientName:I,commandName:P}=f;if(I==="S3Client"&&P==="GetObjectCommand"&&As(E).every((V)=>{const rs=wr(V),i=m.headers[rs];return!i||ll(i)}))return h;const y=dr(m.body);if(y)g=await r.streamCollector(m.body),m.body=Ie(g);if(await hl(h.response,{config:r,responseAlgorithms:E}),y&&g)m.body=Ie(g)}return h};var Ss=(r,s)=>({applyToStack:(e)=>{e.add(fl(r,s),el),e.addRelativeTo(gl(r,s),ml)}});var wl=(r)=>({...r,requestChecksumCalculation:o(r.requestChecksumCalculation??fs),responseChecksumValidation:o(r.responseChecksumValidation??ls)});function pg(){return(r,s)=>async(e)=>{const{request:f}=e;if(K.isInstance(f)){if(!(ng in f.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof Rs))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 ng="content-length",ug={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},dl=(r)=>({applyToStack:(s)=>{s.add(pg(),ug)}});var Al=(r)=>{return(s,e)=>async(f)=>{const l=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(f);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}}},Sl={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function tg(r){return(s,e)=>async(f)=>{try{return await s(f)}catch(l){if(r.followRegionRedirects&&l?.$metadata?.httpStatusCode===301){try{const a=l.$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(f)}else throw l}}}var rw={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},Rl=(r)=>({applyToStack:(s)=>{s.add(tg(r),rw),s.addRelativeTo(Al(r),Sl)}});var sw=(r)=>{return(s,e)=>async(f)=>{const l=await s(f),{response:a}=l;if(Es.isInstance(a)){if(a.headers.expires){a.headers.expiresstring=a.headers.expires;try{Qr(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 l}},ew={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},El=(r)=>({applyToStack:(s)=>{s.addRelativeTo(sw(r),ew)}});class Ar{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+Ar.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>r)return;for(let s in this.data){const e=this.data[s];if(!e.isRefreshing){const f=await e.identity;if(f.expiration){if(f.expiration.getTime()<r)delete this.data[s]}}}}}Ar.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=30000;class Sr{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 Rr{constructor(r,s=new Ar){this.createSessionFn=r,this.cache=s}async getS3ExpressIdentity(r,s){const e=s.Bucket,{cache:f}=this,l=f.get(e);if(l)return l.identity.then((a)=>{if((a.expiration?.getTime()??0)<Date.now())return f.set(e,new Sr(this.getIdentity(e))).identity;if((a.expiration?.getTime()??0)<Date.now()+Rr.REFRESH_WINDOW_MS&&!l.isRefreshing)l.isRefreshing=!0,this.getIdentity(e).then((g)=>{f.set(e,new Sr(Promise.resolve(g)))});return a});return f.set(e,new Sr(this.getIdentity(e))).identity}async getIdentity(r){await this.cache.purgeExpired().catch((f)=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+f)});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}}}Rr.REFRESH_WINDOW_MS=60000;var Jr=L(Er(),1);var cl="X-Amz-Algorithm",Il="X-Amz-Credential",Pl="X-Amz-Date",kl="X-Amz-SignedHeaders",Nl="X-Amz-Expires",Dl="X-Amz-Signature",$l="X-Amz-Security-Token";var yl="authorization",Pe="X-Amz-Date".toLowerCase();var Ul=["authorization",Pe,"date"],Tl="X-Amz-Signature".toLowerCase(),Xr="x-amz-content-sha256",Ml="X-Amz-Security-Token".toLowerCase();var Cl={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},Hl=/^proxy-/,vl=/^sec-/;var cs="AWS4-HMAC-SHA256";var Gl="AWS4-HMAC-SHA256-PAYLOAD",Fl="UNSIGNED-PAYLOAD",zl=50,ke="aws4_request",Kl=604800;var Wl=L(Er(),1);var Is={},Ne=[],Ps=(r,s,e)=>`${r}/${s}/${e}/${ke}`,Ql=async(r,s,e,f,l)=>{const a=await Ll(r,s.secretAccessKey,s.accessKeyId),h=`${e}:${f}:${l}:${Wl.toHex(a)}:${s.sessionToken}`;if(h in Is)return Is[h];Ne.push(h);while(Ne.length>zl)delete Is[Ne.shift()];let m=`AWS4${s.secretAccessKey}`;for(let g of[e,f,l,ke])m=await Ll(r,m,g);return Is[h]=m};var Ll=(r,s,e)=>{const f=new r(s);return f.update(B(e)),f.digest()};var ks=({headers:r},s,e)=>{const f={};for(let l of Object.keys(r).sort()){if(r[l]==null)continue;const a=l.toLowerCase();if(a in Cl||s?.has(a)||Hl.test(a)||vl.test(a)){if(!e||e&&!e.has(a))continue}f[a]=r[l].trim().replace(/\s+/g," ")}return f};var De=({query:r={}})=>{const s=[],e={};for(let f of Object.keys(r)){if(f.toLowerCase()===Tl)continue;const l=cr(f);s.push(l);const a=r[f];if(typeof a==="string")e[l]=`${l}=${cr(a)}`;else if(Array.isArray(a))e[l]=a.slice(0).reduce((h,m)=>h.concat([`${l}=${cr(m)}`]),[]).sort().join("&")}return s.sort().map((f)=>e[f]).filter((f)=>f).join("&")};var Xl=L(Er(),1);var Zr=async({headers:r,body:s},e)=>{for(let f of Object.keys(r))if(f.toLowerCase()===Xr)return r[f];if(s==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";else if(typeof s==="string"||ArrayBuffer.isView(s)||as(s)){const f=new e;return f.update(B(s)),Xl.toHex(await f.digest())}return Fl};var Ns=L(Er(),1);var Vl=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 $e{format(r){const s=[];for(let l of Object.keys(r)){const a=Vr(l);s.push(Uint8Array.from([a.byteLength]),a,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,a)=>l+a.byteLength,0));let f=0;for(let l of s)e.set(l,f),f+=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 f=new Uint8Array(9);return f[0]=5,f.set(r.value.bytes,1),f;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const a=new Uint8Array(l.buffer);return a.set(r.value,3),a;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(ye.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!fw.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const E=new Uint8Array(17);return E[0]=9,E.set(Ns.fromHex(r.value.replace(/\-/g,"")),1),E}}}var Zl;(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"})(Zl||(Zl={}));var fw=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class ye{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,f=Math.abs(Math.round(r));e>-1&&f>0;e--,f/=256)s[e]=f;if(r<0)Vl(s);return new ye(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)Vl(r);return parseInt(Ns.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}var Jl=(r,s)=>{r=r.toLowerCase();for(let e of Object.keys(s))if(r===e.toLowerCase())return!0;return!1};var Ue=(r,s={})=>{const{headers:e,query:f={}}=K.clone(r);for(let l of Object.keys(e)){const a=l.toLowerCase();if(a.slice(0,6)==="x-amz-"&&!s.unhoistableHeaders?.has(a))f[l]=e[l],delete e[l]}return{...r,headers:e,query:f}};var Ds=(r)=>{r=K.clone(r);for(let s of Object.keys(r.headers))if(Ul.indexOf(s.toLowerCase())>-1)delete r.headers[s];return r};var Bl=(r)=>lw(r).toISOString().replace(/\.\d{3}Z$/,"Z"),lw=(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 Te{constructor({applyChecksum:r,credentials:s,region:e,service:f,sha256:l,uriEscapePath:a=!0}){this.headerFormatter=new $e,this.service=f,this.sha256=l,this.uriEscapePath=a,this.applyChecksum=typeof r==="boolean"?r:!0,this.regionProvider=o(e),this.credentialProvider=o(s)}async presign(r,s={}){const{signingDate:e=new Date,expiresIn:f=3600,unsignableHeaders:l,unhoistableHeaders:a,signableHeaders:h,signingRegion:m,signingService:g}=s,w=await this.credentialProvider();this.validateResolvedCredentials(w);const E=m??await this.regionProvider(),{longDate:I,shortDate:P}=$s(e);if(f>Kl)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const N=Ps(P,E,g??this.service),y=Ue(Ds(r),{unhoistableHeaders:a});if(w.sessionToken)y.query[$l]=w.sessionToken;y.query[cl]=cs,y.query[Il]=`${w.accessKeyId}/${N}`,y.query[Pl]=I,y.query[Nl]=f.toString(10);const V=ks(y,l,h);return y.query[kl]=Yl(V),y.query[Dl]=await this.getSignature(I,N,this.getSigningKey(w,E,P,g),this.createCanonicalRequest(y,V,await Zr(r,this.sha256))),y}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:f,signingRegion:l,signingService:a}){const h=l??await this.regionProvider(),{shortDate:m,longDate:g}=$s(e),w=Ps(m,h,a??this.service),E=await Zr({headers:{},body:s},this.sha256),I=new this.sha256;I.update(r);const P=Jr.toHex(await I.digest()),N=[Gl,g,w,f,P,E].join("\n");return this.signString(N,{signingDate:e,signingRegion:h,signingService:a})}async signMessage(r,{signingDate:s=new Date,signingRegion:e,signingService:f}){return this.signEvent({headers:this.headerFormatter.format(r.message.headers),payload:r.message.body},{signingDate:s,signingRegion:e,signingService:f,priorSignature:r.priorSignature}).then((a)=>{return{message:r.message,signature:a}})}async signString(r,{signingDate:s=new Date,signingRegion:e,signingService:f}={}){const l=await this.credentialProvider();this.validateResolvedCredentials(l);const a=e??await this.regionProvider(),{shortDate:h}=$s(s),m=new this.sha256(await this.getSigningKey(l,a,h,f));return m.update(B(r)),Jr.toHex(await m.digest())}async signRequest(r,{signingDate:s=new Date,signableHeaders:e,unsignableHeaders:f,signingRegion:l,signingService:a}={}){const h=await this.credentialProvider();this.validateResolvedCredentials(h);const m=l??await this.regionProvider(),g=Ds(r),{longDate:w,shortDate:E}=$s(s),I=Ps(E,m,a??this.service);if(g.headers[Pe]=w,h.sessionToken)g.headers[Ml]=h.sessionToken;const P=await Zr(g,this.sha256);if(!Jl(Xr,g.headers)&&this.applyChecksum)g.headers[Xr]=P;const N=ks(g,f,e),y=await this.getSignature(w,I,this.getSigningKey(h,m,E,a),this.createCanonicalRequest(g,N,P));return g.headers[yl]=`${cs} `+`Credential=${h.accessKeyId}/${I}, `+`SignedHeaders=${Yl(N)}, `+`Signature=${y}`,g}createCanonicalRequest(r,s,e){const f=Object.keys(s).sort();return`${r.method}
|
|
3
|
+
${this.getCanonicalPath(r)}
|
|
4
|
+
${De(r)}
|
|
5
|
+
${f.map((l)=>`${l}:${s[l]}`).join("\n")}
|
|
6
|
+
|
|
7
|
+
${f.join(";")}
|
|
8
|
+
${e}`}async createStringToSign(r,s,e){const f=new this.sha256;f.update(B(e));const l=await f.digest();return`${cs}
|
|
9
|
+
${r}
|
|
10
|
+
${s}
|
|
11
|
+
${Jr.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 cr(e).replace(/%2F/g,"/")}return r}async getSignature(r,s,e,f){const l=await this.createStringToSign(r,s,f),a=new this.sha256(await e);return a.update(B(l)),Jr.toHex(await a.digest())}getSigningKey(r,s,e,f){return Ql(this.sha256,r,e,s,f||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 $s=(r)=>{const s=Bl(r).replace(/[\-:]/g,"");return{longDate:s,shortDate:s.slice(0,8)}},Yl=(r)=>Object.keys(r).sort().join(";");var Ol="Directory",_l="S3Express",ql="sigv4-s3express",ys="X-Amz-S3session-Token",Br=ys.toLowerCase(),aw="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",hw="s3_disable_express_session_auth",Me={environmentVariableSelector:(r)=>er(r,aw,fr.ENV),configFileSelector:(r)=>er(r,hw,fr.CONFIG),default:!1};var jl=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},il=function(r,s){const e=setTimeout(()=>{throw new Error("SignatureV4S3Express credential override was created but not called.")},10),f=r.credentialProvider,l=()=>{return clearTimeout(e),r.credentialProvider=f,Promise.resolve(s)};r.credentialProvider=l};class Us extends Te{async signWithCredentials(r,s,e){const f=jl(s);r.headers[Br]=s.sessionToken;const l=this;return il(l,f),l.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const f=jl(s);return delete r.headers[Br],r.headers[ys]=s.sessionToken,r.query=r.query??{},r.query[ys]=s.sessionToken,il(this,f),this.presign(r,e)}}var bl=(r)=>{return(s,e)=>async(f)=>{if(e.endpointV2){const l=e.endpointV2,a=l.properties?.authSchemes?.[0]?.name===ql;if(l.properties?.backend===_l||l.properties?.bucketType===Ol)e.isS3ExpressBucket=!0;if(a){const m=f.input.Bucket;if(m){const g=await r.s3ExpressIdentityProvider.getS3ExpressIdentity(await r.credentials(),{Bucket:m});if(e.s3ExpressIdentity=g,K.isInstance(f.request)&&g.sessionToken)f.request.headers[Br]=g.sessionToken}}}return s(f)}},xl={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},Ce=(r)=>({applyToStack:(s)=>{s.add(bl(r),xl)}});var nl=L(He(),1);var ol=async(r,s,e,f)=>{const l=await f.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 mw=(r)=>(s)=>{throw s},gw=(r,s)=>{};var pl=(r)=>(s,e)=>async(f)=>{if(!K.isInstance(f.request))return s(f);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 w;if(e.s3ExpressIdentity)w=await ol(e.s3ExpressIdentity,h,f.request,await r.signer());else w=await g.sign(f.request,m,h);const E=await s({...f,request:w}).catch((g.errorHandler||mw)(h));return(g.successHandler||gw)(E.response,h),E},ve=(r)=>({applyToStack:(s)=>{s.addRelativeTo(pl(r),nl.httpSigningMiddlewareOptions)}});var ul=(r,{session:s})=>{const[e,f]=s;return{...r,forcePathStyle:r.forcePathStyle??!1,useAccelerateEndpoint:r.useAccelerateEndpoint??!1,disableMultiregionAccessPoints:r.disableMultiregionAccessPoints??!1,followRegionRedirects:r.followRegionRedirects??!1,s3ExpressIdentityProvider:r.s3ExpressIdentityProvider??new Rr(async(l)=>e().send(new f({Bucket:l,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var ww={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},dw=3000,Aw=(r)=>(s,e)=>async(f)=>{const l=await s(f),{response:a}=l;if(!Es.isInstance(a))return l;const{statusCode:h,body:m}=a;if(h<200||h>=300)return l;if(!(typeof m?.stream==="function"||typeof m?.pipe==="function"||typeof m?.tee==="function"))return l;let w=m,E=m;if(m&&typeof m==="object"&&!(m instanceof Uint8Array))[w,E]=await tl(m);a.body=E;const I=await Sw(w,{streamCollector:async(N)=>{return ra(N,dw)}});if(typeof w?.destroy==="function")w.destroy();const P=r.utf8Encoder(I.subarray(I.length-16));if(I.length===0&&ww[e.commandName]){const N=new Error("S3 aborted request");throw N.name="InternalError",N}if(P&&P.endsWith("</Error>"))a.statusCode=400;return l},Sw=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},Rw={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},Ts=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Aw(r),Rw)}});var Ge=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function sa(r){return(s,e)=>async(f)=>{if(r.bucketEndpoint){const l=e.endpointV2;if(l){const a=f.input.Bucket;if(typeof a==="string")try{const h=new URL(a);e.endpointV2={...l,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(f)}}var ea={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function Ew({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:f}}=e;if(!r&&typeof f==="string"&&!Ge(f)&&f.indexOf("/")>=0){const l=new Error(`Bucket name shouldn't contain '/', received '${f}'`);throw l.name="InvalidBucketName",l}return s({...e})}}var cw={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},fa=(r)=>({applyToStack:(s)=>{s.add(Ew(r),cw),s.addRelativeTo(sa(r),ea)}});var Hr=L(He(),1);var la=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var Ws=L(Ls(),1);var Ms={CrtSignerV4:null};class Fe{constructor(r){this.sigv4Signer=new Us(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=Ms.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 Ir={["required"]:!1,["type"]:"String"},Pr={["required"]:!0,default:!1,["type"]:"Boolean"},Or={["required"]:!1,["type"]:"Boolean"},O={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},$={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},D={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},M={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},oa={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},aa={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},Fs={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},Q={["ref"]:"Bucket"},W={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},Gs={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},na={["ref"]:"url"},pa={["fn"]:"uriEncode",["argv"]:[Q],["assign"]:"uri_encoded_bucket"},b={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},d={},ua={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!1]},ze={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},zs={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},ha={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},ma={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},A={["fn"]:"not",["argv"]:[M]},ga={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},wa={["fn"]:"not",["argv"]:[Fs]},da={["ref"]:"hardwareType"},Aa={["conditions"]:[A],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},Cs={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},Ke={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},Iw={["ref"]:"ForcePathStyle"},T={["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"}]},c={["fn"]:"not",["argv"]:[H]},F={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},Sa={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},C={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},z={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},R={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},Ra={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Ea={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},ca={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Le={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[na,"isIp"]},!1]},We={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:C,["headers"]:{}},rf={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:C,["headers"]:{}},Ia={["endpoint"]:rf,["type"]:"endpoint"},Qe={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Pa={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Hs={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},J={["ref"]:"bucketArn"},ta={["ref"]:"arnType"},Xe={["fn"]:"getAttr",["argv"]:[J,"service"]},sf={["ref"]:"accessPointName"},ka={["conditions"]:[D],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},Na={["conditions"]:[O],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},Da={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},Ze={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"UseArnRegion"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseArnRegion"},!1]},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},"{Region}"]}]}],["error"]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",["type"]:"error"},rh={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},sh={["fn"]:"getAttr",["argv"]:[J,"accountId"]},Ve={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},$a={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},Je={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},Be={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},Ye={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},ya={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},Ua={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},_r={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},Ta={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},Ma={["fn"]:"aws.parseArn",["argv"]:[Q]},Ca={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},Ha={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},va={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},Oe={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},Ga={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:{}},Fa={["ref"]:"UseObjectLambdaEndpoint"},_e={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},za={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},Ka={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},La={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},qe={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:C,["headers"]:{}},Wa={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:{}},je=[{["ref"]:"Region"}],Pw=[{["ref"]:"Endpoint"}],kw=[Q],ie=[D],vs=[O],lr=[M,W],Qa=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],Xa=[Gs],be=[pa],xe=[ua],kr=[$],Za=[{["fn"]:"substring",["argv"]:[Q,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Va=[{["conditions"]:[$],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:b,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:b,["headers"]:{}},["type"]:"endpoint"}],Ja=[{["fn"]:"substring",["argv"]:[Q,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Ba=[{["conditions"]:[$],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:zs,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:zs,["headers"]:{}},["type"]:"endpoint"}],Nw=[Fs],Ya=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],Oa=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],Dw=["*"],n=[oa],_a=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],p=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],oe=[{["fn"]:"stringEquals",["argv"]:[ta,"accesspoint"]}],qa=[{["fn"]:"getAttr",["argv"]:[J,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[sf,""]}]}],$w=[J,"resourceId[1]"],ne=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},""]}]}],ja=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[2]"]}]}]}],yw=[J,"resourceId[2]"],pe=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]}],["assign"]:"bucketPartition"}],ia=[{["fn"]:"stringEquals",["argv"]:[rh,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],ue=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},!0]}],te=[{["fn"]:"isValidHostLabel",["argv"]:[sh,!1]}],ba=[{["fn"]:"isValidHostLabel",["argv"]:[sf,!1]}],xa=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],Uw={version:"1.0",parameters:{Bucket:Ir,Region:Ir,UseFIPS:Pr,UseDualStack:Pr,Endpoint:Ir,ForcePathStyle:Pr,Accelerate:Pr,UseGlobalEndpoint:Pr,UseObjectLambdaEndpoint:Or,Key:Ir,Prefix:Ir,CopySource:Ir,DisableAccessPoints:Or,DisableMultiRegionAccessPoints:Pr,UseArnRegion:Or,UseS3ExpressControlEndpoint:Or,DisableS3ExpressSessionAuth:Or},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:je}],rules:[{["conditions"]:[O,$],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[D,M],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[M,$],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[M,O],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[$,oa,aa],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[Fs,{["fn"]:"substring",["argv"]:[Q,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:ie,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:vs,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:lr,rules:[{["conditions"]:Qa,rules:[{["conditions"]:Xa,rules:[{["conditions"]:be,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:b,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:xe,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:b,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},ze],["type"]:"tree"},{["conditions"]:Xa,rules:[{["conditions"]:be,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:zs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:xe,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:zs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},ze],["type"]:"tree"},{["conditions"]:[ha,ma],rules:[{["conditions"]:[pa,A],rules:[{["conditions"]:kr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:b,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:b,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:xe,rules:[{["conditions"]:Qa,rules:[{["conditions"]:Za,rules:Va,["type"]:"tree"},{["conditions"]:Ja,rules:Va,["type"]:"tree"},ga],["type"]:"tree"},{["conditions"]:Za,rules:Ba,["type"]:"tree"},{["conditions"]:Ja,rules:Ba,["type"]:"tree"},ga],["type"]:"tree"},ze],["type"]:"tree"},{["conditions"]:[wa,ha,ma],rules:[{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:b,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:b,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:b,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[Fs,{["fn"]:"substring",["argv"]:[Q,49,50,!0],["assign"]:"hardwareType"},{["fn"]:"substring",["argv"]:[Q,8,12,!0],["assign"]:"regionPrefix"},{["fn"]:"substring",["argv"]:[Q,0,7,!0],["assign"]:"bucketAliasSuffix"},{["fn"]:"substring",["argv"]:[Q,32,49,!0],["assign"]:"outpostId"},{["fn"]:"aws.partition",["argv"]:je,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:Ya,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[da,"e"]}],rules:[{["conditions"]:Oa,rules:[Aa,{["conditions"]:lr,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:Cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[da,"o"]}],rules:[{["conditions"]:Oa,rules:[Aa,{["conditions"]:lr,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:Cs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:Cs,["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"]:Nw,rules:[{["conditions"]:[M,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:Pw}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[Ke,ua],rules:[{["conditions"]:n,rules:[{["conditions"]:_a,rules:[{["conditions"]:[O,aa],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[D,$,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,$,T,A,c,F],rules:[{endpoint:Sa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,$,T,A,c,z],endpoint:Sa,["type"]:"endpoint"},{["conditions"]:[R,$,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,$,T,A,c,F],rules:[{endpoint:Ra,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,$,T,A,c,z],endpoint:Ra,["type"]:"endpoint"},{["conditions"]:[D,S,O,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,S,O,A,c,F],rules:[{endpoint:Ea,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,S,O,A,c,z],endpoint:Ea,["type"]:"endpoint"},{["conditions"]:[D,S,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,S,T,A,c,F],rules:[{endpoint:ca,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,S,T,A,c,z],endpoint:ca,["type"]:"endpoint"},{["conditions"]:[R,S,T,M,W,Gs,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,T,M,W,Le,H],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,T,M,W,Gs,c,F],rules:[{["conditions"]:p,endpoint:We,["type"]:"endpoint"},{endpoint:We,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,T,M,W,Le,c,F],rules:[{["conditions"]:p,endpoint:rf,["type"]:"endpoint"},Ia],["type"]:"tree"},{["conditions"]:[R,S,T,M,W,Gs,c,z],endpoint:We,["type"]:"endpoint"},{["conditions"]:[R,S,T,M,W,Le,c,z],endpoint:rf,["type"]:"endpoint"},{["conditions"]:[R,S,O,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,O,A,c,F],rules:[{["conditions"]:p,endpoint:Qe,["type"]:"endpoint"},{endpoint:Qe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,O,A,c,z],endpoint:Qe,["type"]:"endpoint"},{["conditions"]:[R,S,T,A,H],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,T,A,c,F],rules:[{["conditions"]:p,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:d},["type"]:"endpoint"},{endpoint:Pa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,T,A,c,z],endpoint:Pa,["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[M,W,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[na,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!0]},Ke,S,R,T],rules:[{["conditions"]:n,rules:[{["conditions"]:_a,rules:[Ia],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Ke,{["fn"]:"aws.parseArn",["argv"]:kw,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[ta,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Xe,"s3-object-lambda"]}],rules:[{["conditions"]:oe,rules:[{["conditions"]:qa,rules:[ka,Na,{["conditions"]:ne,rules:[Da,{["conditions"]:ja,rules:[Ze,{["conditions"]:pe,rules:[{["conditions"]:n,rules:[{["conditions"]:ia,rules:[{["conditions"]:ue,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[sh,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:te,rules:[{["conditions"]:ba,rules:[{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Ve,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ve,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ve,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},$a],["type"]:"tree"},Je],["type"]:"tree"},Be],["type"]:"tree"},Ye],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},ya],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},Ua],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:oe,rules:[{["conditions"]:qa,rules:[{["conditions"]:ne,rules:[{["conditions"]:oe,rules:[{["conditions"]:ne,rules:[Da,{["conditions"]:ja,rules:[Ze,{["conditions"]:pe,rules:[{["conditions"]:n,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[rh,"{partitionResult#name}"]}],rules:[{["conditions"]:ue,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Xe,"s3"]}],rules:[{["conditions"]:te,rules:[{["conditions"]:ba,rules:[{["conditions"]:vs,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[$,D],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:_r,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:_r,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,D],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:_r,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,W],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:_r,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:_r,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},$a],["type"]:"tree"},Je],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},Be],["type"]:"tree"},Ye],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},ya],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[sf,!0]}],rules:[{["conditions"]:ie,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:kr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:vs,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"]:je,["assign"]:"mrapPartition"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"mrapPartition"},"name"]},{["fn"]:"getAttr",["argv"]:[J,"partition"]}]}],rules:[{endpoint:{["url"]:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,name:"sigv4a",["signingName"]:"s3",["signingRegionSet"]:Dw}]},["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"},Ua],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Xe,"s3-outposts"]}],rules:[{["conditions"]:ie,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:kr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:vs,error:"S3 Outposts does not support S3 Accelerate",["type"]:"error"},{["conditions"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",["type"]:"error"},{["conditions"]:[{["fn"]:"getAttr",["argv"]:$w,["assign"]:"outpostId"}],rules:[{["conditions"]:Ya,rules:[Ze,{["conditions"]:pe,rules:[{["conditions"]:n,rules:[{["conditions"]:ia,rules:[{["conditions"]:ue,rules:[{["conditions"]:te,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:yw,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:lr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:Ta,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Ta,["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"},Je],["type"]:"tree"},Be],["type"]:"tree"},Ye],["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"]:[Q,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[Ma]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[Iw,!0]},Ma],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:be,rules:[{["conditions"]:n,rules:[{["conditions"]:[T],rules:[{["conditions"]:[D,A,$,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,A,$,c,F],rules:[{endpoint:Ca,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,A,$,c,z],endpoint:Ca,["type"]:"endpoint"},{["conditions"]:[R,A,$,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,A,$,c,F],rules:[{endpoint:Ha,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,A,$,c,z],endpoint:Ha,["type"]:"endpoint"},{["conditions"]:[D,A,S,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,A,S,c,F],rules:[{endpoint:va,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,A,S,c,z],endpoint:va,["type"]:"endpoint"},{["conditions"]:[R,M,W,S,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,M,W,S,c,F],rules:[{["conditions"]:p,endpoint:Oe,["type"]:"endpoint"},{endpoint:Oe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,M,W,S,c,z],endpoint:Oe,["type"]:"endpoint"},{["conditions"]:[R,A,S,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,A,S,c,F],rules:[{["conditions"]:p,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:C,["headers"]:d},["type"]:"endpoint"},{endpoint:Ga,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,A,S,c,z],endpoint:Ga,["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"]:[Fa]},{["fn"]:"booleanEquals",["argv"]:[Fa,!0]}],rules:[{["conditions"]:n,rules:[{["conditions"]:xa,rules:[ka,Na,{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[wa],rules:[{["conditions"]:n,rules:[{["conditions"]:xa,rules:[{["conditions"]:[$,D,A,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,D,A,c,F],rules:[{endpoint:za,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,D,A,c,z],endpoint:za,["type"]:"endpoint"},{["conditions"]:[$,R,A,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,R,A,c,F],rules:[{endpoint:Ka,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,R,A,c,z],endpoint:Ka,["type"]:"endpoint"},{["conditions"]:[S,D,A,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,D,A,c,F],rules:[{endpoint:La,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,D,A,c,z],endpoint:La,["type"]:"endpoint"},{["conditions"]:[S,R,M,W,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,W,c,F],rules:[{["conditions"]:p,endpoint:qe,["type"]:"endpoint"},{endpoint:qe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,M,W,c,z],endpoint:qe,["type"]:"endpoint"},{["conditions"]:[S,R,A,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:G,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,A,c,F],rules:[{["conditions"]:p,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:C,["headers"]:d},["type"]:"endpoint"},{endpoint:Wa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,A,c,z],endpoint:Wa,["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},eh=Uw;var Tw=new fh({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),Ks=(r,s={})=>{return Tw.get(r,()=>ah(eh,{endpointParams:r,logger:s.logger}))};lh.aws=hh;var wh=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},dh=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Mw=(r)=>async(s,e,f)=>{if(!f)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const l=await r(s,e,f),a=Yr(e)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw new Error(`getEndpointParameterInstructions() is not defined on \`${e.commandName}\``);const h=await mh(f,{getEndpointParameterInstructions:a},s);return Object.assign(l,h)},Cw=async(r,s,e)=>{return{operation:Yr(s).operation,region:await o(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},gh=Mw(Cw),Hw=(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:E={},...I}=g,P=w.toLowerCase();if(w!==P)console.warn(`HttpAuthScheme has been normalized with lowercasing: \`${w}\` to \`${P}\``);let N;if(P==="sigv4a"){N="aws.auth#sigv4a";const rs=h.find((i)=>{const vr=i.name.toLowerCase();return vr!=="sigv4a"&&vr.startsWith("sigv4")});if(!Ms.CrtSignerV4&&rs)continue}else if(P.startsWith("sigv4"))N="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${P}\``);const y=e[N];if(!y)throw new Error(`Could not find HttpAuthOption create function for \`${N}\``);const V=y(l);V.schemeId=N,V.signingProperties={...V.signingProperties||{},...I,...E},m.push(V)}return m}},vw=(r)=>{const s=[];switch(r.operation){default:s.push(wh(r)),s.push(dh(r))}return s},Ah=Hw(Ks,vw,{"aws.auth#sigv4":wh,"aws.auth#sigv4a":dh}),Sh=(r)=>{const s=Ws.resolveAwsSdkSigV4Config(r);return{...Ws.resolveAwsSdkSigV4AConfig(s)}};var Rh=(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"}},Nr={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 X extends Eh{constructor(r){super(r);Object.setPrototypeOf(this,X.prototype)}}class Qs extends X{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Qs.prototype)}}class Xs extends X{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Xs.prototype)}}class Zs extends X{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,Zs.prototype)}}class Vs extends X{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,Vs.prototype)}}class Js extends X{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,Js.prototype)}}var ef;(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])}})(ef||(ef={}));var ff;(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])}})(ff||(ff={}));var lf;(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])}})(lf||(lf={}));var af;(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])}})(af||(af={}));class Bs extends X{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,Bs.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class Ys extends X{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,Ys.prototype)}}class Os extends X{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,Os.prototype)}}var Gw=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:Z},...r.SessionToken&&{SessionToken:Z}}),ch=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z},...r.Credentials&&{Credentials:Gw(r.Credentials)}}),Ih=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var Ph=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z}}),kh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z}});var yr=L(Ls(),1);var js=L(He(),1);class _s extends X{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,_s.prototype)}}var Nh;(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])}})(Nh||(Nh={}));var Dh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}}),$h=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z},...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var Wh=async(r,s)=>{const e=js.requestBuilder(r,s),f=v({},q,{[Xd]:r[Ed],[nr]:r[xr],[pr]:r[or],[os]:r[xs],[u]:[()=>q(r[ar]),()=>r[ar].toString()]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const l=v({[Kd]:[,""]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var Qh=async(r,s)=>{const e=js.requestBuilder(r,s),f=v({},q,{[$d]:r[rd],[yd]:[()=>q(r[yh]),()=>qr(r[yh]).toString()],[hm]:r[bh],[Ud]:[()=>q(r[Uh]),()=>qr(r[Uh]).toString()],[Md]:r[ad],[ns]:r[is],[Em]:r[uh],[ps]:r[bs],[Sm]:r[ph],[gm]:r[jh],[Qd]:r[jw]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=v({[Pm]:[,"GetObject"],[Cd]:[,r[hd]],[Hd]:[,r[md]],[vd]:[,r[gd]],[Gd]:[,r[wd]],[Fd]:[,r[dd]],[zd]:[()=>r.ResponseExpires!==void 0,()=>qr(r[Ad]).toString()],[Ld]:[,r[Uf]],[Td]:[()=>r.PartNumber!==void 0,()=>r[ld].toString()]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var Xh=async(r,s)=>{const e=js.requestBuilder(r,s),f=v({},q,{[lm]:r[qh]||"application/octet-stream",[Wd]:r[Ow],[rm]:r[Bh],[sm]:r[Yh],[em]:r[Oh],[fm]:r[_h],[Ef]:[()=>q(r[Af]),()=>r[Af].toString()],[kd]:r[iw],[_d]:r[qw],[Tf]:r[Nf],[Mf]:r[Df],[Cf]:r[$f],[Hf]:r[yf],[cf]:[()=>q(r[Sf]),()=>qr(r[Sf]).toString()],[hm]:r[bh],[Zd]:r[nw],[Vd]:r[pw],[Jd]:r[uw],[Bd]:r[tw],[nr]:r[xr],[Rm]:r[ir],[Im]:r[th],[ns]:r[is],[Em]:r[uh],[ps]:r[bs],[pr]:r[or],[os]:r[xs],[u]:[()=>q(r[ar]),()=>r[ar].toString()],[Sm]:r[ph],[qd]:r[cd],[dm]:r[oh],[If]:[()=>q(r[Rf]),()=>Lh(r[Rf]).toString()],[wm]:r[xh],[gm]:r[jh],...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=v({[Pm]:[,"PutObject"]});let a,h;if(r.Body!==void 0)h=r.Body,a=h;return e.m("PUT").h(f).q(l).b(a),e.build()};var Zh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return kf(r,s);const e=v({$metadata:Y(r),[xr]:[,r.headers[nr]],[or]:[,r.headers[pr]],[xs]:[,r.headers[os]],[ar]:[()=>r.headers[u]!==void 0,()=>br(r.headers[u])]}),f=Dr(Fh(await yr.parseXmlBody(r.body,s)),"body");if(f[gf]!=null)e[gf]=Yw(f[gf],s);return e};var Vh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return kf(r,s);const e=v({$metadata:Y(r),[xw]:[()=>r.headers[Mh]!==void 0,()=>br(r.headers[Mh])],[_w]:[,r.headers[Pd]],[jr]:[,r.headers[mm]],[Rd]:[,r.headers[Yd]],[sd]:[()=>r.headers[Th]!==void 0,()=>Dr(Qr(r.headers[Th]))],[Af]:[()=>r.headers[Ef]!==void 0,()=>zh(r.headers[Ef])],[ih]:[,r.headers[am]],[Nf]:[,r.headers[Tf]],[Df]:[,r.headers[Mf]],[$f]:[,r.headers[Cf]],[yf]:[,r.headers[Hf]],[ed]:[()=>r.headers[Ch]!==void 0,()=>qs(r.headers[Ch])],[Uf]:[,r.headers[cm]],[Bh]:[,r.headers[rm]],[Yh]:[,r.headers[sm]],[Oh]:[,r.headers[em]],[_h]:[,r.headers[fm]],[bw]:[,r.headers[Nd]],[qh]:[,r.headers[lm]],[Sf]:[()=>r.headers[cf]!==void 0,()=>Dr(Qr(r.headers[cf]))],[ow]:[,r.headers[Dd]],[th]:[,r.headers[Im]],[xr]:[,r.headers[nr]],[is]:[,r.headers[ns]],[bs]:[,r.headers[ps]],[or]:[,r.headers[pr]],[ar]:[()=>r.headers[u]!==void 0,()=>br(r.headers[u])],[ir]:[,r.headers[Rm]],[nh]:[,r.headers[Am]],[Sd]:[,r.headers[Od]],[fd]:[()=>r.headers[Hh]!==void 0,()=>qs(r.headers[Hh])],[Id]:[()=>r.headers[vh]!==void 0,()=>qs(r.headers[vh])],[oh]:[,r.headers[dm]],[Rf]:[()=>r.headers[If]!==void 0,()=>Dr(Pf(r.headers[If]))],[xh]:[,r.headers[wm]],Metadata:[,Object.keys(r.headers).filter((l)=>l.startsWith("x-amz-meta-")).reduce((l,a)=>{return l[a.substring(11)]=r.headers[a],l},{})]}),f=r.body;return s.sdkStreamMixin(f),e.Body=f,e};var Jh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return kf(r,s);const e=v({$metadata:Y(r),[jr]:[,r.headers[mm]],[ih]:[,r.headers[am]],[Nf]:[,r.headers[Tf]],[Df]:[,r.headers[Mf]],[$f]:[,r.headers[Cf]],[yf]:[,r.headers[Hf]],[xr]:[,r.headers[nr]],[Uf]:[,r.headers[cm]],[is]:[,r.headers[ns]],[bs]:[,r.headers[ps]],[or]:[,r.headers[pr]],[xs]:[,r.headers[os]],[ar]:[()=>r.headers[u]!==void 0,()=>br(r.headers[u])],[nh]:[,r.headers[Am]]});return await Gh(r.body,s),e};var kf=async(r,s)=>{const e={...r,body:await yr.parseXmlErrorBody(r.body,s)},f=yr.loadRestXmlErrorCode(r,e.body);switch(f){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await Zw(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await Bw(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await Kw(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await Lw(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await Qw(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await Ww(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await Xw(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await Vw(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await Jw(e,s);default:const l=e.body;return zw({output:r,parsedBody:l,errorCode:f})}},zw=Kh(X),Kw=async(r,s)=>{const e=v({}),f=r.body,l=new Zs({$metadata:Y(r),...e});return j(l,r.body)},Lw=async(r,s)=>{const e=v({}),f=r.body,l=new Vs({$metadata:Y(r),...e});return j(l,r.body)},Ww=async(r,s)=>{const e=v({}),f=r.body;if(f[mf]!=null)e[mf]=$r(f[mf]);if(f[ir]!=null)e[ir]=$r(f[ir]);const l=new Bs({$metadata:Y(r),...e});return j(l,r.body)},Qw=async(r,s)=>{const e=v({}),f=r.body,l=new Js({$metadata:Y(r),...e});return j(l,r.body)},Xw=async(r,s)=>{const e=v({}),f=r.body,l=new Ys({$metadata:Y(r),...e});return j(l,r.body)},Zw=async(r,s)=>{const e=v({}),f=r.body,l=new Qs({$metadata:Y(r),...e});return j(l,r.body)},Vw=async(r,s)=>{const e=v({}),f=r.body,l=new Os({$metadata:Y(r),...e});return j(l,r.body)},Jw=async(r,s)=>{const e=v({}),f=r.body,l=new _s({$metadata:Y(r),...e});return j(l,r.body)},Bw=async(r,s)=>{const e=v({}),f=r.body,l=new Xs({$metadata:Y(r),...e});return j(l,r.body)};var Yw=(r,s)=>{const e={};if(r[hf]!=null)e[hf]=$r(r[hf]);if(r[wf]!=null)e[wf]=$r(r[wf]);if(r[df]!=null)e[df]=$r(r[df]);if(r[jr]!=null)e[jr]=Dr(Pf(r[jr]));return e};var Y=(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 q=(r)=>r!==void 0&&r!==null&&r!==""&&(!Object.getOwnPropertyNames(r).includes("length")||r.length!=0)&&(!Object.getOwnPropertyNames(r).includes("size")||r.size!=0);var Ow="ACL";var hf="AccessKeyId";var _w="AcceptRanges";var mf="AccessTier";var ar="BucketKeyEnabled";var gf="Credentials",qw="ChecksumAlgorithm";var Bh="CacheControl",Nf="ChecksumCRC32",Df="ChecksumCRC32C",Yh="ContentDisposition";var Oh="ContentEncoding";var _h="ContentLanguage",Af="ContentLength",jw="ChecksumMode",iw="ContentMD5";var bw="ContentRange";var $f="ChecksumSHA1",yf="ChecksumSHA256";var qh="ContentType";var xw="DeleteMarker";var Sf="Expires";var jh="ExpectedBucketOwner";var ow="ExpiresString";var ih="ETag";var jr="Expiration";var nw="GrantFullControl";var pw="GrantRead",uw="GrantReadACP";var tw="GrantWriteACP";var rd="IfMatch",yh="IfModifiedSince",bh="IfNoneMatch";var Uh="IfUnmodifiedSince";var sd="LastModified";var ed="MissingMeta";var xh="ObjectLockLegalHoldStatus",oh="ObjectLockMode";var Rf="ObjectLockRetainUntilDate";var fd="PartsCount";var ld="PartNumber";var ad="Range";var nh="RequestCharged",hd="ResponseCacheControl",md="ResponseContentDisposition",gd="ResponseContentEncoding",wd="ResponseContentLanguage",dd="ResponseContentType";var Ad="ResponseExpires";var ph="RequestPayer";var Sd="ReplicationStatus";var Rd="Restore";var wf="SecretAccessKey";var ir="StorageClass";var Ed="SessionMode";var xr="ServerSideEncryption";var is="SSECustomerAlgorithm",uh="SSECustomerKey",bs="SSECustomerKeyMD5";var xs="SSEKMSEncryptionContext",or="SSEKMSKeyId";var df="SessionToken";var cd="Tagging";var Id="TagCount";var Uf="VersionId";var th="WebsiteRedirectLocation";var Pd="accept-ranges";var rm="cache-control",sm="content-disposition",em="content-encoding",fm="content-language",Ef="content-length",kd="content-md5",Nd="content-range",lm="content-type";var cf="expires";var am="etag",Dd="expiresstring";var $d="if-match",yd="if-modified-since";var hm="if-none-match";var Ud="if-unmodified-since";var Th="last-modified";var Td="partNumber";var Md="range",Cd="response-cache-control",Hd="response-content-disposition",vd="response-content-encoding",Gd="response-content-language",Fd="response-content-type",zd="response-expires";var Kd="session";var Ld="versionId";var Wd="x-amz-acl";var Tf="x-amz-checksum-crc32",Mf="x-amz-checksum-crc32c",Qd="x-amz-checksum-mode";var Cf="x-amz-checksum-sha1",Hf="x-amz-checksum-sha256";var Xd="x-amz-create-session-mode";var Mh="x-amz-delete-marker",mm="x-amz-expiration",gm="x-amz-expected-bucket-owner";var Zd="x-amz-grant-full-control",Vd="x-amz-grant-read",Jd="x-amz-grant-read-acp";var Bd="x-amz-grant-write-acp";var Ch="x-amz-missing-meta";var Hh="x-amz-mp-parts-count";var wm="x-amz-object-lock-legal-hold",dm="x-amz-object-lock-mode",If="x-amz-object-lock-retain-until-date";var Yd="x-amz-restore",Am="x-amz-request-charged";var Sm="x-amz-request-payer";var Od="x-amz-replication-status";var Rm="x-amz-storage-class",_d="x-amz-sdk-checksum-algorithm";var nr="x-amz-server-side-encryption",pr="x-amz-server-side-encryption-aws-kms-key-id",u="x-amz-server-side-encryption-bucket-key-enabled",os="x-amz-server-side-encryption-context",ns="x-amz-server-side-encryption-customer-algorithm",Em="x-amz-server-side-encryption-customer-key",ps="x-amz-server-side-encryption-customer-key-md5",qd="x-amz-tagging",vh="x-amz-tagging-count";var cm="x-amz-version-id",Im="x-amz-website-redirect-location",Pm="x-id";class vf extends Ur.classBuilder().ep({...Nr,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(r,s,e,f){return[Tr(e,this.serialize,this.deserialize),Mr(e,r.getEndpointParameterInstructions()),Ts(e)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(Ih,ch).ser(Wh).de(Zh).build(){}var km={name:"@aws-sdk/client-s3",description:"AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",version:"3.654.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.654.0","@aws-sdk/client-sts":"3.654.0","@aws-sdk/core":"3.654.0","@aws-sdk/credential-provider-node":"3.654.0","@aws-sdk/middleware-bucket-endpoint":"3.654.0","@aws-sdk/middleware-expect-continue":"3.654.0","@aws-sdk/middleware-flexible-checksums":"3.654.0","@aws-sdk/middleware-host-header":"3.654.0","@aws-sdk/middleware-location-constraint":"3.654.0","@aws-sdk/middleware-logger":"3.654.0","@aws-sdk/middleware-recursion-detection":"3.654.0","@aws-sdk/middleware-sdk-s3":"3.654.0","@aws-sdk/middleware-ssec":"3.654.0","@aws-sdk/middleware-user-agent":"3.654.0","@aws-sdk/region-config-resolver":"3.654.0","@aws-sdk/signature-v4-multi-region":"3.654.0","@aws-sdk/types":"3.654.0","@aws-sdk/util-endpoints":"3.654.0","@aws-sdk/util-user-agent-browser":"3.654.0","@aws-sdk/util-user-agent-node":"3.654.0","@aws-sdk/xml-builder":"3.654.0","@smithy/config-resolver":"^3.0.8","@smithy/core":"^2.4.3","@smithy/eventstream-serde-browser":"^3.0.9","@smithy/eventstream-serde-config-resolver":"^3.0.6","@smithy/eventstream-serde-node":"^3.0.8","@smithy/fetch-http-handler":"^3.2.7","@smithy/hash-blob-browser":"^3.1.5","@smithy/hash-node":"^3.0.6","@smithy/hash-stream-node":"^3.1.5","@smithy/invalid-dependency":"^3.0.6","@smithy/md5-js":"^3.0.6","@smithy/middleware-content-length":"^3.0.8","@smithy/middleware-endpoint":"^3.1.3","@smithy/middleware-retry":"^3.0.18","@smithy/middleware-serde":"^3.0.6","@smithy/middleware-stack":"^3.0.6","@smithy/node-config-provider":"^3.1.7","@smithy/node-http-handler":"^3.2.2","@smithy/protocol-http":"^4.1.3","@smithy/smithy-client":"^3.3.2","@smithy/types":"^3.4.2","@smithy/url-parser":"^3.0.6","@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.18","@smithy/util-defaults-mode-node":"^3.0.18","@smithy/util-endpoints":"^2.1.2","@smithy/util-middleware":"^3.0.6","@smithy/util-retry":"^3.0.6","@smithy/util-stream":"^3.1.6","@smithy/util-utf8":"^3.0.0","@smithy/util-waiter":"^3.1.5",tslib:"^2.6.2"},devDependencies:{"@aws-sdk/signature-v4-crt":"3.654.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 ee=L(Ls(),1);var id="AWS_S3_USE_ARN_REGION",bd="s3_use_arn_region",Nm={environmentVariableSelector:(r)=>er(r,id,fr.ENV),configFileSelector:(r)=>er(r,bd,fr.CONFIG),default:!1};var t=L(Er(),1);var $m=L(Er(),1),Dm=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 Cr{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,f=Math.abs(Math.round(r));e>-1&&f>0;e--,f/=256)s[e]=f;if(r<0)Dm(s);return new Cr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)Dm(r);return parseInt($m.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class Gf{constructor(r,s){this.toUtf8=r,this.fromUtf8=s}format(r){const s=[];for(let l of Object.keys(r)){const a=this.fromUtf8(l);s.push(Uint8Array.from([a.byteLength]),a,this.formatHeaderValue(r[l]))}const e=new Uint8Array(s.reduce((l,a)=>l+a.byteLength,0));let f=0;for(let l of s)e.set(l,f),f+=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 f=new Uint8Array(9);return f[0]=5,f.set(r.value.bytes,1),f;case"binary":const l=new DataView(new ArrayBuffer(3+r.value.byteLength));l.setUint8(0,6),l.setUint16(1,r.value.byteLength,!1);const a=new Uint8Array(l.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 w=new Uint8Array(9);return w[0]=8,w.set(Cr.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!AA.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const E=new Uint8Array(17);return E[0]=9,E.set(t.fromHex(r.value.replace(/\-/g,"")),1),E}}parse(r){const s={};let e=0;while(e<r.byteLength){const f=r.getUint8(e++),l=this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,f));switch(e+=f,r.getUint8(e++)){case 0:s[l]={type:Um,value:!0};break;case 1:s[l]={type:Um,value:!1};break;case 2:s[l]={type:fA,value:r.getInt8(e++)};break;case 3:s[l]={type:lA,value:r.getInt16(e,!1)},e+=2;break;case 4:s[l]={type:aA,value:r.getInt32(e,!1)},e+=4;break;case 5:s[l]={type:hA,value:new Cr(new Uint8Array(r.buffer,r.byteOffset+e,8))},e+=8;break;case 6:const a=r.getUint16(e,!1);e+=2,s[l]={type:mA,value:new Uint8Array(r.buffer,r.byteOffset+e,a)},e+=a;break;case 7:const h=r.getUint16(e,!1);e+=2,s[l]={type:gA,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[l]={type:wA,value:new Date(new Cr(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:dA,value:`${t.toHex(m.subarray(0,4))}-${t.toHex(m.subarray(4,6))}-${t.toHex(m.subarray(6,8))}-${t.toHex(m.subarray(8,10))}-${t.toHex(m.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return s}}var ym;(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"})(ym||(ym={}));var Um="boolean",fA="byte",lA="short",aA="integer",hA="long",mA="binary",gA="string",wA="timestamp",dA="uuid",AA=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function Mm({byteLength:r,byteOffset:s,buffer:e}){if(r<SA)throw new Error("Provided message too short to accommodate event stream message overhead");const f=new DataView(e,s,r),l=f.getUint32(0,!1);if(r!==l)throw new Error("Reported message length does not match received message length");const a=f.getUint32(Tm,!1),h=f.getUint32(rr,!1),m=f.getUint32(r-hr,!1),g=new sr().update(new Uint8Array(e,s,rr));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+rr,r-(rr+hr))),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+rr+hr,a),body:new Uint8Array(e,s+rr+hr+a,l-a-(rr+hr+hr))}}var Tm=4,rr=Tm*2,hr=4,SA=rr+hr*2;class Ff{constructor(r,s){this.headerMarshaller=new Gf(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),f=e.byteLength+s.byteLength+16,l=new Uint8Array(f),a=new DataView(l.buffer,l.byteOffset,l.byteLength),h=new sr;return a.setUint32(0,f,!1),a.setUint32(4,e.byteLength,!1),a.setUint32(8,h.update(l.subarray(0,8)).digest(),!1),l.set(e,12),l.set(s,e.byteLength+12),a.setUint32(f-4,h.update(l.subarray(8,f-4)).digest(),!1),l}decode(r){const{headers:s,body:e}=Mm(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class zf{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 Kf{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 Lf{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 Wf{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 Cm(r){let s=0,e=0,f=null,l=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,f=new Uint8Array(m),new DataView(f.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 f;else throw new Error("Truncated event message received.");return}const E=g.length;let I=0;while(I<E){if(!f){const N=E-I;if(!l)l=new Uint8Array(4);const y=Math.min(4-e,N);if(l.set(g.slice(I,I+y),e),e+=y,I+=y,e<4)break;a(new DataView(l.buffer).getUint32(0,!1)),l=null}const P=Math.min(s-e,E-I);if(f.set(g.slice(I,I+P),e),e+=P,I+=P,s&&s===e)yield f,f=null,s=0,e=0}}};return{[Symbol.asyncIterator]:h}}function Hm(r,s){return async function(e){const{value:f}=e.headers[":message-type"];if(f==="error"){const l=new Error(e.headers[":error-message"].value||"UnknownError");throw l.name=e.headers[":error-code"].value,l}else if(f==="exception"){const l=e.headers[":exception-type"].value,a={[l]:e},h=await r(a);if(h.$unknown){const m=new Error(s(e.body));throw m.name=l,m}throw h[l]}else if(f==="event"){const l={[e.headers[":event-type"].value]:e},a=await r(l);if(a.$unknown)return;return a}else throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)}}class us{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new Ff(r,s),this.utfEncoder=r}deserialize(r,s){const e=Cm(r);return new Lf({messageStream:new zf({inputStream:e,decoder:this.eventStreamCodec}),deserializer:Hm(s,this.utfEncoder)})}serialize(r,s){return new Kf({messageStream:new Wf({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as RA} from"stream";async function*vm(r){let s=!1,e=!1;const f=new Array;r.on("error",(l)=>{if(!s)s=!0;if(l)throw l}),r.on("data",(l)=>{f.push(l)}),r.on("end",()=>{s=!0});while(!e){const l=await new Promise((a)=>setTimeout(()=>a(f.shift()),0));if(l)yield l;e=s&&f.length===0}}class Qf{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new us({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:vm(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return RA.from(this.universalMarshaller.serialize(r,s))}}var Gm=(r)=>new Qf(r);import{Writable as EA} from"stream";class ts extends EA{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(B(r))}catch(f){return e(f)}e()}}var Fm=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const e=new r,f=new ts(e);return s.pipe(f),new Promise((l,a)=>{s.on("error",(h)=>{f.end(),a(h)}),f.on("error",a),f.on("finish",()=>{e.digest().then(l).catch(a)})})};var re=L(Ls(),1);var Zm=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??Km,base64Encoder:r?.base64Encoder??Lm,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??Ks,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??Wm,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Ah,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new re.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new re.AwsSdkSigV4ASigner}],logger:r?.logger??new Rs,sdkStreamMixin:r?.sdkStreamMixin??Qm,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??Fe,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??Xm,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Vr,utf8Encoder:r?.utf8Encoder??zm}};var tm=(r)=>{Ym(process.version);const s=pm(r),e=()=>s().then(Bm),f=Zm(r);return ee.emitWarningIfUnsupportedVersion(process.version),{...f,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??nm,credentialDefaultProvider:r?.credentialDefaultProvider??um,defaultUserAgentProvider:r?.defaultUserAgentProvider??om({serviceId:f.serviceId,clientVersion:km.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??_(Me),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??Gm,maxAttempts:r?.maxAttempts??_(bm),md5:r?.md5??se.bind(null,"md5"),region:r?.region??_(qm,jm),requestChecksumCalculation:r?.requestChecksumCalculation??_(xf),requestHandler:Vm.create(r?.requestHandler??e),responseChecksumValidation:r?.responseChecksumValidation??_(of),retryMode:r?.retryMode??_({...xm,default:async()=>(await e()).retryMode||im}),sha1:r?.sha1??se.bind(null,"sha1"),sha256:r?.sha256??se.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??_(ee.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Jm,streamHasher:r?.streamHasher??Fm,useArnRegion:r?.useArnRegion??_(Nm),useDualstackEndpoint:r?.useDualstackEndpoint??_(Om),useFipsEndpoint:r?.useFipsEndpoint??_(_m)}};var rg=(r)=>{const s=r.httpAuthSchemes;let{httpAuthSchemeProvider:e,credentials:f}=r;return{setHttpAuthScheme(l){const a=s.findIndex((h)=>h.schemeId===l.schemeId);if(a===-1)s.push(l);else s.splice(a,1,l)},httpAuthSchemes(){return s},setHttpAuthSchemeProvider(l){e=l},httpAuthSchemeProvider(){return e},setCredentials(l){f=l},credentials(){return f}}},sg=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var fe=(r)=>r,gg=(r,s)=>{const e={...fe(hg(r)),...fe(lg(r)),...fe(eg(r)),...fe(rg(r))};return s.forEach((f)=>f.configure(e)),{...r,...mg(e),...ag(e),...fg(e),...sg(e)}};class Xf extends Rg{constructor(...[r]){const s=tm(r||{}),e=Rh(s),f=Eg(e),l=wl(f),a=Ng(l),h=Ig(a),m=wg(h),g=kg(m),w=la(g),E=Sh(w),I=ul(E,{session:[()=>this,vf]}),P=gg(I,r?.extensions||[]);super(P);this.config=P,this.middlewareStack.use(cg(this.config)),this.middlewareStack.use(Dg(this.config)),this.middlewareStack.use(Pg(this.config)),this.middlewareStack.use(dg(this.config)),this.middlewareStack.use(Ag(this.config)),this.middlewareStack.use(Sg(this.config)),this.middlewareStack.use(Hr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:gh,identityProviderConfigProvider:async(N)=>new Hr.DefaultIdentityProviderConfig({"aws.auth#sigv4":N.credentials,"aws.auth#sigv4a":N.credentials})})),this.middlewareStack.use(Hr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(fa(this.config)),this.middlewareStack.use(_f(this.config)),this.middlewareStack.use(Rl(this.config)),this.middlewareStack.use(Ce(this.config)),this.middlewareStack.use(ve(this.config))}destroy(){super.destroy()}}function cA(r){return(s)=>async(e)=>{const f={...e.input},l=[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}];for(let a of l){const h=f[a.target];if(h){let m;if(typeof h==="string")if(PA(h,r))m=r.base64Decoder(h);else m=r.utf8Decoder(h),f[a.target]=r.base64Encoder(m);else m=ArrayBuffer.isView(h)?new Uint8Array(h.buffer,h.byteOffset,h.byteLength):new Uint8Array(h),f[a.target]=r.base64Encoder(m);const g=new r.md5;g.update(m),f[a.hash]=r.base64Encoder(await g.digest())}}return s({...e,input:f})}}function PA(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 IA={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},le=(r)=>({applyToStack:(s)=>{s.add(cA(r),IA)}});class Zf extends Ur.classBuilder().ep({...Nr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,f){return[Tr(e,this.serialize,this.deserialize),Mr(e,r.getEndpointParameterInstructions()),Ss(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),le(e),El(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(kh,Ph).ser(Qh).de(Vh).build(){}class Vf extends Ur.classBuilder().ep({...Nr,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(r,s,e,f){return[Tr(e,this.serialize,this.deserialize),Mr(e,r.getEndpointParameterInstructions()),Ss(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),dl(e),Ts(e),le(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f($h,Dh).ser(Xh).de(Jh).build(){}import{Buffer as $g} from"buffer";class yg extends mr{client;constructor(...r){super();this.client=new Xf(...r)}async put(r){let s,e,f,l=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,f=`${ss()}.${r.type.split("/")[1].split(";")[0]}`,e=r.type;else s=r.body,f=r.name,e=r.contentType;e=s instanceof Blob||s instanceof File?s.type:void 0;const a=s instanceof $g?s:$g.from(await s.arrayBuffer());return await this.client.send(new Vf({Bucket:l,Key:f,Body:a,ContentType:e})),f}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 f=await this.client.send(new Zf({Bucket:s,Key:e}));return new Response(f.Body.transformToWebStream(),{headers:{"Content-Type":f.ContentType,"Content-Length":f.ContentLength.toString(),"Cache-Control":"private, max-age=12000, must-revalidate","Last-Modified":f.LastModified?.toUTCString()||"",ETag:f.ETag||""}})}}class ae{}class he extends ae{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),f=Date.now();if(f-e.date>=60000)this.requests.set(r,{date:f,count:1});else this.requests.set(r,{date:e.date,count:e.count+1})}return this.requests.get(r).count}}class Ug{driver=new he}class ur{}import*as yA from"react-dom/server";var vg=L(kA(),1);import{Writable as CA} from"stream";var{defineProperty:NA,getOwnPropertySymbols:Tg}=Object,DA=Object.prototype.hasOwnProperty,$A=Object.prototype.propertyIsEnumerable,Mg=(r,s,e)=>(s in r)?NA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Jf=(r,s)=>{for(var e in s||(s={}))if(DA.call(s,e))Mg(r,e,s[e]);if(Tg){for(var e of Tg(s))if($A.call(s,e))Mg(r,e,s[e])}return r},Bf=(r,s,e)=>{return new Promise((f,l)=>{var a=(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?f(g.value):Promise.resolve(g.value).then(a,h);m((e=e.apply(r,s)).next())})},UA={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},TA=(r,s={})=>{return vg.default.html(r,Jf(Jf({},UA),s))},MA=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Cg=new TextDecoder("utf-8"),Hg=(r)=>Bf(void 0,null,function*(){let s="";if("pipeTo"in r){const e=new WritableStream({write(f){s+=Cg.decode(f)}});yield r.pipeTo(e)}else{const e=new CA({write(f,l,a){s+=Cg.decode(f),a()}});return r.pipe(e),new Promise((f,l)=>{e.on("error",l),e.on("close",()=>{f(s)})})}return s}),me=(r,s)=>Bf(void 0,null,function*(){const{default:e}=yield import("react-dom/server");let f;if(Object.hasOwn(e,"renderToReadableStream"))f=yield Hg(yield e.renderToReadableStream(r));else yield new Promise((h,m)=>{const g=e.renderToPipeableStream(r,{onAllReady(){return Bf(this,null,function*(){f=yield Hg(g),h()})},onError(w){m(w)}})});if(s==null?void 0:s.plainText)return Yf(f,Jf({selectors:MA},s.htmlToTextOptions));const a=`${'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'}${f.replace(/<!DOCTYPE.*?>/,"")}`;if(s==null?void 0:s.pretty)return TA(a);return a});var{defineProperty:HA,defineProperties:vA,getOwnPropertyDescriptors:GA,getOwnPropertySymbols:Gg}=Object,FA=Object.prototype.hasOwnProperty,zA=Object.prototype.propertyIsEnumerable,Fg=(r,s,e)=>(s in r)?HA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,tr=(r,s)=>{for(var e in s||(s={}))if(FA.call(s,e))Fg(r,e,s[e]);if(Gg){for(var e of Gg(s))if(zA.call(s,e))Fg(r,e,s[e])}return r},KA=(r,s)=>vA(r,GA(s)),k=(r,s,e)=>{return new Promise((f,l)=>{var a=(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?f(g.value):Promise.resolve(g.value).then(a,h);m((e=e.apply(r,s)).next())})},LA="3.5.0",WA=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}`)})}},QA=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}`)})}},XA=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 me(l.react),delete l.react;return yield this.resend.post("/emails/batch",s,e)})}},ZA=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}`)})}},VA=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`)})}},JA=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 me(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}`)})}},zg="https://api.resend.com",Kg=`resend-node:${LA}`,BA=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||zg:zg,YA=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||Kg:Kg,Lg=class{constructor(r){if(this.key=r,this.apiKeys=new WA(this),this.audiences=new QA(this),this.batch=new XA(this),this.contacts=new ZA(this),this.domains=new VA(this),this.emails=new JA(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":YA,"Content-Type":"application/json"})}fetchRequest(r){return k(this,arguments,function*(s,e={}){try{const f=yield fetch(`${BA}${s}`,e);if(!f.ok)try{const a=yield f.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:f.statusText,name:"application_error"};if(a instanceof Error)return{data:null,error:KA(tr({},h),{message:a.message})};return{data:null,error:h}}return{data:yield f.json(),error:null}}catch(f){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,f,l={}){const a=tr({method:"POST",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}get(r){return k(this,arguments,function*(s,e={}){const f=tr({method:"GET",headers:this.headers},e);return this.fetchRequest(s,f)})}put(r,s){return k(this,arguments,function*(e,f,l={}){const a=tr({method:"PUT",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}patch(r,s){return k(this,arguments,function*(e,f,l={}){const a=tr({method:"PATCH",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}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 ge{}class we extends ge{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new Lg(this.apiKey),{data:e,error:f}=await s.emails.send({...r});if(f)throw f;if(e)return!0}}class Wg extends ur{constructor(){super(...arguments)}debug=!0;defaultFrom="";driver=new we;boot(){}}class Qg extends ur{constructor(){super(...arguments)}channels={};boot(){}}export{yg as S3Driver,we as ResendDriver,Ug as RateLimiterServiceProvider,ae as RateLimiterDriver,he as InMemoryRateLimiter,es as FileSystemDriver,Of as FileStorageServiceProvider,mr as FileStorageDriver,Wg as EmailServiceProvider,ge as EmailDriver,Qg as BroadcastingServiceProvider};export{Of as p,ur as q,Ug as r,Wg as s,Qg as t};
|