gemi 0.4.97 → 0.4.99
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/index.js +2 -2
- package/dist/app/index.js.map +1 -1
- package/dist/broadcasting/index.js +1 -1
- package/dist/chunk-0f8949935ef3c862.js +4 -0
- package/dist/{chunk-e78cce2c4522cf91.js.map → chunk-0f8949935ef3c862.js.map} +2 -2
- package/dist/chunk-2214ecbc4b85c724.js +3 -0
- package/dist/chunk-2214ecbc4b85c724.js.map +15 -0
- package/dist/chunk-280cabf2f360003f.js +4 -0
- package/dist/{chunk-53884af8a953deb7.js.map → chunk-280cabf2f360003f.js.map} +7 -7
- package/dist/chunk-28689250fae96e36.js +20 -0
- package/dist/{chunk-ae350f23e76a92c8.js.map → chunk-28689250fae96e36.js.map} +31 -8
- package/dist/chunk-2b3b4a0aa3edf9ec.js +4 -0
- package/dist/{chunk-8cdd9673266b7058.js.map → chunk-2b3b4a0aa3edf9ec.js.map} +2 -2
- package/dist/chunk-2c5231fcdfa1d6f2.js +4 -0
- package/dist/{chunk-99c32e4d937131e0.js.map → chunk-2c5231fcdfa1d6f2.js.map} +1 -1
- package/dist/chunk-44bbc0745a2b4b82.js +4 -0
- package/dist/chunk-44bbc0745a2b4b82.js.map +14 -0
- package/dist/{chunk-23d3df5f8342ecc6.js → chunk-58fb175982676253.js} +3 -3
- package/dist/{chunk-23d3df5f8342ecc6.js.map → chunk-58fb175982676253.js.map} +1 -1
- package/dist/chunk-59b0df586fa6a917.js +5 -0
- package/dist/chunk-59b0df586fa6a917.js.map +64 -0
- package/dist/chunk-6177d9eb9e7bf615.js +4 -0
- package/dist/{chunk-2e57c40ceaac60c2.js.map → chunk-6177d9eb9e7bf615.js.map} +5 -5
- package/dist/{chunk-a32dc07245e51d1d.js → chunk-622a799c82e348e7.js} +2 -2
- package/dist/{chunk-a32dc07245e51d1d.js.map → chunk-622a799c82e348e7.js.map} +1 -1
- package/dist/chunk-7a46d8409a08609d.js +4 -0
- package/dist/{chunk-72261e13831ada52.js.map → chunk-7a46d8409a08609d.js.map} +2 -2
- package/dist/chunk-7afadccff63d6a14.js +4 -0
- package/dist/{chunk-16e332f85eb5447c.js.map → chunk-7afadccff63d6a14.js.map} +6 -6
- package/dist/{chunk-90436b32a64fc784.js → chunk-7ef6dd56fdc9381a.js} +3 -3
- package/dist/{chunk-90436b32a64fc784.js.map → chunk-7ef6dd56fdc9381a.js.map} +1 -1
- package/dist/chunk-874ce9ed3695d6dc.js +4 -0
- package/dist/{chunk-860a94f3e2c4139f.js.map → chunk-874ce9ed3695d6dc.js.map} +2 -2
- package/dist/chunk-8fb697a1aeea8f96.js +4 -0
- package/dist/{chunk-a0c7eacf736f38e3.js.map → chunk-8fb697a1aeea8f96.js.map} +2 -2
- package/dist/chunk-92168dbc9ed3cb8e.js +4 -0
- package/dist/{chunk-2f8cf8372320b622.js.map → chunk-92168dbc9ed3cb8e.js.map} +4 -5
- package/dist/{chunk-2b057d120d3e2288.js → chunk-934537cc925d759e.js} +2 -2
- package/dist/{chunk-2b057d120d3e2288.js.map → chunk-934537cc925d759e.js.map} +1 -1
- package/dist/chunk-9d768d777b1aaf33.js +4 -0
- package/dist/{chunk-797989fd6dd03d3e.js.map → chunk-9d768d777b1aaf33.js.map} +1 -1
- package/dist/{chunk-28ec4c2b20e69deb.js → chunk-9e77cade8671df8d.js} +3 -3
- package/dist/{chunk-28ec4c2b20e69deb.js.map → chunk-9e77cade8671df8d.js.map} +1 -1
- package/dist/{chunk-643529c2ad120db7.js → chunk-a75fda9e77cb626c.js} +3 -3
- package/dist/{chunk-643529c2ad120db7.js.map → chunk-a75fda9e77cb626c.js.map} +1 -1
- package/dist/chunk-af12ac64b60b8669.js +11 -0
- package/dist/{chunk-1fa979880960fe7a.js.map → chunk-af12ac64b60b8669.js.map} +5 -5
- package/dist/chunk-c2eec0de415bd820.js +4 -0
- package/dist/{chunk-31e1d73a34421a5b.js.map → chunk-c2eec0de415bd820.js.map} +2 -2
- package/dist/{chunk-0d97333b6af9fc45.js → chunk-c83dcc500d5fefe3.js} +2 -2
- package/dist/{chunk-0d97333b6af9fc45.js.map → chunk-c83dcc500d5fefe3.js.map} +1 -1
- package/dist/{chunk-53b0fab00d83f47e.js → chunk-df2ecbce6f94352a.js} +2 -2
- package/dist/{chunk-53b0fab00d83f47e.js.map → chunk-df2ecbce6f94352a.js.map} +1 -1
- package/dist/chunk-df507e740b7ba846.js +4 -0
- package/dist/{chunk-ebe083591d3f0e78.js.map → chunk-df507e740b7ba846.js.map} +6 -6
- package/dist/{chunk-a0a73bf4d58b0b0b.js → chunk-e5683d4213970b67.js} +3 -3
- package/dist/{chunk-a0a73bf4d58b0b0b.js.map → chunk-e5683d4213970b67.js.map} +1 -1
- package/dist/chunk-ebd1b8ef83ffde0a.js +8 -0
- package/dist/{chunk-d437e2b6b4671cbb.js.map → chunk-ebd1b8ef83ffde0a.js.map} +2 -2
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -0
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/server/index.js +5 -5
- package/dist/server/index.js.map +4 -3
- package/dist/services/index.js +5 -5
- package/dist/services/index.js.map +4 -5
- package/dist/services/router/ViewRouterServiceContainer.d.ts +1 -1
- package/dist/services/router/ViewRouterServiceContainer.d.ts.map +1 -1
- package/dist/services/router/ViewRouterServiceProvider.d.ts +1 -1
- package/dist/services/router/ViewRouterServiceProvider.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-16e332f85eb5447c.js +0 -4
- package/dist/chunk-1fa979880960fe7a.js +0 -11
- package/dist/chunk-23556f614d648677.js +0 -7
- package/dist/chunk-23556f614d648677.js.map +0 -65
- package/dist/chunk-2e57c40ceaac60c2.js +0 -4
- package/dist/chunk-2f8cf8372320b622.js +0 -4
- package/dist/chunk-31e1d73a34421a5b.js +0 -4
- package/dist/chunk-53884af8a953deb7.js +0 -3
- package/dist/chunk-72261e13831ada52.js +0 -4
- package/dist/chunk-797989fd6dd03d3e.js +0 -4
- package/dist/chunk-860a94f3e2c4139f.js +0 -4
- package/dist/chunk-8cdd9673266b7058.js +0 -4
- package/dist/chunk-99c32e4d937131e0.js +0 -4
- package/dist/chunk-a0c7eacf736f38e3.js +0 -4
- package/dist/chunk-ae350f23e76a92c8.js +0 -18
- package/dist/chunk-b451a72475db69ef.js +0 -4
- package/dist/chunk-b451a72475db69ef.js.map +0 -10
- package/dist/chunk-b9c722a5cdfab5dd.js +0 -4
- package/dist/chunk-b9c722a5cdfab5dd.js.map +0 -33
- package/dist/chunk-d437e2b6b4671cbb.js +0 -8
- package/dist/chunk-e78cce2c4522cf91.js +0 -4
- package/dist/chunk-ebe083591d3f0e78.js +0 -4
package/dist/services/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../chunk-8cdd9673266b7058.js";import{I as B} from"../chunk-99c32e4d937131e0.js";import{J as k} from"../chunk-0d97333b6af9fc45.js";import{P as bf,Q as GA} from"../chunk-23d3df5f8342ecc6.js";import{V as ng} from"../chunk-28ec4c2b20e69deb.js";import{$ as Ig,Aa as rg,Ba as ae,Ca as sg,Da as eg,Ea as Ag,Fa as Rg,W as tr,X as Br,Y as o,Z as Eg,_ as cg,aa as Pg,ba as fr,ca as lr,da as Ke,ea as Ng,fa as Rh,ga as Sh,ha as Eh,ia as ch,ja as Dg,ka as jm,la as im,ma as bm,na as xm,oa as yg,pa as $g,qa as Ih,ra as Tr,sa as Mr,ta as Ug,ua as om,va as nm,wa as Tg,xa as pm,ya as Mg,za as Ws} from"../chunk-ae350f23e76a92c8.js";import{Ga as mg,Ha as gg,Ia as L,Ja as Rs,Ma as er,Na as As,Pa as kg,Qa as TA,Sa as _l,Ta as cr,Ua as wa,Va as Vh,Wa as Ur,Xa as Z,Za as ir,ab as Dr,bb as Jh,cb as yr,db as Bh,eb as js,fb as _r,hb as $f,ib as Qr,jb as Uh,kb as j,lb as Yh,mb as _m,nb as qm,ob as wg,pb as dg,rb as G,tb as Oh,vb as um,wb as tm} from"../chunk-23556f614d648677.js";import{xb as Ew} from"../chunk-a0a73bf4d58b0b0b.js";import{yb as MA,zb as _} from"../chunk-53884af8a953deb7.js";import"../chunk-b451a72475db69ef.js";import{Bb as fg} from"../chunk-1fa979880960fe7a.js";import"../chunk-2b057d120d3e2288.js";class gr{}class rs extends gr{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=`${tr()}.${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 xf extends B{constructor(){super(...arguments)}driver=new rs;boot(){}}function qg(r){return(s)=>async(e)=>{const{request:f}=e;if(L.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 jg={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},of=(r)=>({applyToStack:(s)=>{s.add(qg(r),jg)}});var Gr={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},ss=Gr.WHEN_SUPPORTED,ce={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},es=Gr.WHEN_SUPPORTED,T;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(T||(T={}));var nf;(function(r){r.HEADER="header",r.TRAILER="trailer"})(nf||(nf={}));var{MD5:pf,CRC32:uf}=T;var x;(function(r){r.ENV="env",r.CONFIG="shared config entry"})(x||(x={}));var wr=(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 ig="AWS_REQUEST_CHECKSUM_CALCULATION",bg="request_checksum_calculation",tf={environmentVariableSelector:(r)=>wr(r,ig,Gr,x.ENV),configFileSelector:(r)=>wr(r,bg,Gr,x.CONFIG),default:ss};var xg="AWS_RESPONSE_CHECKSUM_VALIDATION",og="response_checksum_validation",rl={environmentVariableSelector:(r)=>wr(r,xg,ce,x.ENV),configFileSelector:(r)=>wr(r,og,ce,x.CONFIG),default:es};var Fr=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256],sl=[T.CRC32,T.CRC32C,T.SHA1,T.SHA256];var el=(r,{requestChecksumRequired:s,requestAlgorithmMember:e},f)=>{const l=f?uf:pf;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 dr=(r)=>r===T.MD5?"content-md5":`x-amz-checksum-${r.toLowerCase()}`;var fl=(r,s)=>{const e=r.toLowerCase();for(let f of Object.keys(s))if(e===f.toLowerCase())return!0;return!1};var fs=(r)=>typeof ArrayBuffer==="function"&&r instanceof ArrayBuffer||Object.prototype.toString.call(r)==="[object ArrayBuffer]";var Ar=(r)=>r!==void 0&&typeof r!=="string"&&!ArrayBuffer.isView(r)&&!fs(r);var ll=k(ng(),1),{__extends:vR,__assign:HR,__rest:GR,__decorate:FR,__param:zR,__esDecorate:KR,__runInitializers:LR,__propKey:WR,__setFunctionName:QR,__metadata:XR,__awaiter:ls,__generator:as,__exportStar:ZR,__createBinding:VR,__values:hs,__read:JR,__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:rS}=ll.default;import{Buffer as al} from"buffer";var hl=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?al.from(r,s):al.from(r)};var Ie=(r)=>{const s=hl(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 pg(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var pg=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:Ie;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 Pe=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 ls(this,void 0,void 0,function(){return as(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=hs(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^tg[(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 ug=[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],tg=Wr(ug);var Ne=function(){function r(){this.crc32c=new ke}return r.prototype.update=function(s){if(Kr(s))return;this.crc32c.update(zr(s))},r.prototype.digest=function(){return ls(this,void 0,void 0,function(){return as(this,function(s){return[2,Lr(this.crc32c.digest())]})})},r.prototype.reset=function(){this.crc32c=new ke},r}();var ke=function(){function r(){this.checksum=4294967295}return r.prototype.update=function(s){var e,f;try{for(var l=hs(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^sw[(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 rw=[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],sw=Wr(rw);var ms=(r,s)=>({[T.MD5]:s.md5,[T.CRC32]:Pe,[T.CRC32C]:Ne,[T.SHA1]:s.sha1,[T.SHA256]:s.sha256})[r];var ml=k(er(),1),gs=(r,s)=>{const e=new r;return e.update(ml.toUint8Array(s||"")),e.digest()};var gl={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},wl=(r,s)=>(e,f)=>async(l)=>{if(!L.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,D=el(E,{requestChecksumRequired:I,requestAlgorithmMember:P},!!f.isS3ExpressBucket);let U=h,V=m;if(D){const i=dr(D),Hr=ms(D,r);if(Ar(h)){const{getAwsChunkedEncodingStream:Ee,bodyLengthChecker:_g}=r;U=Ee(h,{base64Encoder:g,bodyLengthChecker:_g,checksumLocationName:i,checksumAlgorithmFn:Hr,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(!fl(i,m)){const Ee=await gs(Hr,h);V={...m,[i]:g(Ee)}}}return await e({...l,request:{...a,headers:V,body:U}})};var ws=(r=[])=>{const s=[];for(let e of sl){if(!r.includes(e)||!Fr.includes(e))continue;s.push(e)}return s};var dl=(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 ew} from"stream";function De(r){const s=new ew;return s.push(r),s.push(null),s}var Al=async(r,{streamHasher:s,checksumAlgorithmFn:e,base64Encoder:f})=>{const l=Ar(r)?s(e,r):gs(e,r);return f(await l)};var Rl=async(r,{config:s,responseAlgorithms:e})=>{const f=ws(e),{body:l,headers:a}=r;for(let h of f){const m=dr(h),g=a[m];if(g){const w=ms(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 Sl={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},El=(r,s)=>(e,f)=>async(l)=>{if(!L.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"&&ws(E).every((V)=>{const ur=dr(V),i=m.headers[ur];return!i||dl(i)}))return h;const U=Ar(m.body);if(U)g=await r.streamCollector(m.body),m.body=De(g);if(await Rl(h.response,{config:r,responseAlgorithms:E}),U&&g)m.body=De(g)}return h};var ds=(r,s)=>({applyToStack:(e)=>{e.add(wl(r,s),gl),e.addRelativeTo(El(r,s),Sl)}});var cl=(r)=>({...r,requestChecksumCalculation:o(r.requestChecksumCalculation??ss),responseChecksumValidation:o(r.responseChecksumValidation??es)});function lw(){return(r,s)=>async(e)=>{const{request:f}=e;if(L.isInstance(f)){if(!(fw in f.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof As))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 fw="content-length",aw={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Il=(r)=>({applyToStack:(s)=>{s.add(lw(),aw)}});var Pl=(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}}},kl={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function hw(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 mw={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},Nl=(r)=>({applyToStack:(s)=>{s.add(hw(r),mw),s.addRelativeTo(Pl(r),kl)}});var gw=(r)=>{return(s,e)=>async(f)=>{const l=await s(f),{response:a}=l;if(Rs.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}},ww={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},Dl=(r)=>({applyToStack:(s)=>{s.addRelativeTo(gw(r),ww)}});class Rr{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+Rr.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]}}}}}Rr.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 Er{constructor(r,s=new Rr){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()+Er.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}}}Er.REFRESH_WINDOW_MS=60000;var Vr=k(cr(),1);var pl=k(_l(),1),ys=k(er(),1);var yl="X-Amz-Algorithm",$l="X-Amz-Credential",Ul="X-Amz-Date",Tl="X-Amz-SignedHeaders",Ml="X-Amz-Expires",Cl="X-Amz-Signature",vl="X-Amz-Security-Token";var Hl="authorization",ye="X-Amz-Date".toLowerCase();var Gl=["authorization",ye,"date"],Fl="X-Amz-Signature".toLowerCase(),Xr="x-amz-content-sha256",zl="X-Amz-Security-Token".toLowerCase();var Kl={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},Ll=/^proxy-/,Wl=/^sec-/;var Ss="AWS4-HMAC-SHA256";var Ql="AWS4-HMAC-SHA256-PAYLOAD",Xl="UNSIGNED-PAYLOAD",Zl=50,$e="aws4_request",Vl=604800;var Bl=k(cr(),1),Yl=k(er(),1);var Es={},Ue=[],cs=(r,s,e)=>`${r}/${s}/${e}/${$e}`,Ol=async(r,s,e,f,l)=>{const a=await Jl(r,s.secretAccessKey,s.accessKeyId),h=`${e}:${f}:${l}:${Bl.toHex(a)}:${s.sessionToken}`;if(h in Es)return Es[h];Ue.push(h);while(Ue.length>Zl)delete Es[Ue.shift()];let m=`AWS4${s.secretAccessKey}`;for(let g of[e,f,l,$e])m=await Jl(r,m,g);return Es[h]=m};var Jl=(r,s,e)=>{const f=new r(s);return f.update(Yl.toUint8Array(e)),f.digest()};var Is=({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 Kl||s?.has(a)||Ll.test(a)||Wl.test(a)){if(!e||e&&!e.has(a))continue}f[a]=r[l].trim().replace(/\s+/g," ")}return f};var Ps=k(_l(),1);var Te=({query:r={}})=>{const s=[],e={};for(let f of Object.keys(r)){if(f.toLowerCase()===Fl)continue;const l=Ps.escapeUri(f);s.push(l);const a=r[f];if(typeof a==="string")e[l]=`${l}=${Ps.escapeUri(a)}`;else if(Array.isArray(a))e[l]=a.slice(0).reduce((h,m)=>h.concat([`${l}=${Ps.escapeUri(m)}`]),[]).sort().join("&")}return s.sort().map((f)=>e[f]).filter((f)=>f).join("&")};var ql=k(cr(),1),jl=k(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)||fs(s)){const f=new e;return f.update(jl.toUint8Array(s)),ql.toHex(await f.digest())}return Xl};var ks=k(cr(),1),Me=k(er(),1),bl=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 Ce{format(r){const s=[];for(let l of Object.keys(r)){const a=Me.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=Me.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(ve.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!dw.test(r.value))throw new Error(`Invalid UUID received: ${r.value}`);const E=new Uint8Array(17);return E[0]=9,E.set(ks.fromHex(r.value.replace(/\-/g,"")),1),E}}}var il;(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"})(il||(il={}));var dw=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class ve{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)bl(s);return new ve(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)bl(r);return parseInt(ks.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}var xl=(r,s)=>{r=r.toLowerCase();for(let e of Object.keys(s))if(r===e.toLowerCase())return!0;return!1};var He=(r,s={})=>{const{headers:e,query:f={}}=L.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 Ns=(r)=>{r=L.clone(r);for(let s of Object.keys(r.headers))if(Gl.indexOf(s.toLowerCase())>-1)delete r.headers[s];return r};var ol=(r)=>Aw(r).toISOString().replace(/\.\d{3}Z$/,"Z"),Aw=(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 Ge{constructor({applyChecksum:r,credentials:s,region:e,service:f,sha256:l,uriEscapePath:a=!0}){this.headerFormatter=new Ce,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}=Ds(e);if(f>Vl)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");const D=cs(P,E,g??this.service),U=He(Ns(r),{unhoistableHeaders:a});if(w.sessionToken)U.query[vl]=w.sessionToken;U.query[yl]=Ss,U.query[$l]=`${w.accessKeyId}/${D}`,U.query[Ul]=I,U.query[Ml]=f.toString(10);const V=Is(U,l,h);return U.query[Tl]=nl(V),U.query[Cl]=await this.getSignature(I,D,this.getSigningKey(w,E,P,g),this.createCanonicalRequest(U,V,await Zr(r,this.sha256))),U}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}=Ds(e),w=cs(m,h,a??this.service),E=await Zr({headers:{},body:s},this.sha256),I=new this.sha256;I.update(r);const P=Vr.toHex(await I.digest()),D=[Ql,g,w,f,P,E].join("\n");return this.signString(D,{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}=Ds(s),m=new this.sha256(await this.getSigningKey(l,a,h,f));return m.update(ys.toUint8Array(r)),Vr.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=Ns(r),{longDate:w,shortDate:E}=Ds(s),I=cs(E,m,a??this.service);if(g.headers[ye]=w,h.sessionToken)g.headers[zl]=h.sessionToken;const P=await Zr(g,this.sha256);if(!xl(Xr,g.headers)&&this.applyChecksum)g.headers[Xr]=P;const D=Is(g,f,e),U=await this.getSignature(w,I,this.getSigningKey(h,m,E,a),this.createCanonicalRequest(g,D,P));return g.headers[Hl]=`${Ss} `+`Credential=${h.accessKeyId}/${I}, `+`SignedHeaders=${nl(D)}, `+`Signature=${U}`,g}createCanonicalRequest(r,s,e){const f=Object.keys(s).sort();return`${r.method}
|
|
2
|
+
import"../chunk-2b3b4a0aa3edf9ec.js";import{H as B} from"../chunk-2c5231fcdfa1d6f2.js";import{I as T} from"../chunk-c83dcc500d5fefe3.js";import{O as _f,P as MA} from"../chunk-58fb175982676253.js";import{U as xg} from"../chunk-9e77cade8671df8d.js";import{$ as er,Aa as tm,Ba as rg,Ca as wg,Da as dg,V as rs,W as Rs,X as Rg,Y as Sg,Z as Eg,_ as cg,aa as fr,ba as Ge,ca as Pg,da as hh,ea as mh,fa as gh,ga as wh,ha as kg,ia as jm,ja as im,ka as bm,la as xm,ma as Ng,na as Dg,oa as dh,pa as Tr,qa as Mr,ra as $g,sa as om,ta as nm,ua as yg,va as pm,wa as Ug,xa as Ls,ya as um,za as se} from"../chunk-28689250fae96e36.js";import{$a as Ur,Ea as ag,Fa as hg,Ga as L,Ha as Es,Ia as ls,La as Vr,Ma as Y,Na as Wm,Oa as Ss,Pa as Ig,Qa as Qm,Ra as Xm,Sa as Zm,Ta as cr,Ua as Ym,Va as Om,Wa as Er,Xa as Vm,Ya as ea,Za as fa,_a as Kh,ab as Z,cb as br,fb as Dr,gb as Lh,hb as $r,ib as Wh,jb as qs,kb as qr,mb as Nf,nb as Qr,ob as Ph,pb as i,qb as Qh,rb as _m,sb as qm,tb as mg,ub as gg,wb as G,yb as Xh} from"../chunk-59b0df586fa6a917.js";import{Bb as q,Cb as Jm} from"../chunk-280cabf2f360003f.js";import{Db as Rw} from"../chunk-e5683d4213970b67.js";import{Eb as sg} from"../chunk-af12ac64b60b8669.js";import"../chunk-934537cc925d759e.js";import"../chunk-2214ecbc4b85c724.js";class mr{}class ss 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=`${rs()}.${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 qf extends B{constructor(){super(...arguments)}driver=new ss;boot(){}}function Og(r){return(s)=>async(e)=>{const{request:f}=e;if(L.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 _g={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},jf=(r)=>({applyToStack:(s)=>{s.add(Og(r),_g)}});var Gr={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},es=Gr.WHEN_SUPPORTED,Ae={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},fs=Gr.WHEN_SUPPORTED,U;(function(r){r.MD5="MD5",r.CRC32="CRC32",r.CRC32C="CRC32C",r.SHA1="SHA1",r.SHA256="SHA256"})(U||(U={}));var bf;(function(r){r.HEADER="header",r.TRAILER="trailer"})(bf||(bf={}));var{MD5:xf,CRC32:of}=U;var o;(function(r){r.ENV="env",r.CONFIG="shared config entry"})(o||(o={}));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 qg="AWS_REQUEST_CHECKSUM_CALCULATION",jg="request_checksum_calculation",nf={environmentVariableSelector:(r)=>gr(r,qg,Gr,o.ENV),configFileSelector:(r)=>gr(r,jg,Gr,o.CONFIG),default:es};var ig="AWS_RESPONSE_CHECKSUM_VALIDATION",bg="response_checksum_validation",pf={environmentVariableSelector:(r)=>gr(r,ig,Ae,o.ENV),configFileSelector:(r)=>gr(r,bg,Ae,o.CONFIG),default:fs};var Fr=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256],uf=[U.CRC32,U.CRC32C,U.SHA1,U.SHA256];var tf=(r,{requestChecksumRequired:s,requestAlgorithmMember:e},f)=>{const l=f?of:xf;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 rl=(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)&&!ls(r);var sl=T(xg(),1),{__extends:yR,__assign:UR,__rest:TR,__decorate:MR,__param:CR,__esDecorate:vR,__runInitializers:HR,__propKey:GR,__setFunctionName:FR,__metadata:zR,__awaiter:as,__generator:hs,__exportStar:KR,__createBinding:LR,__values:ms,__read:WR,__spread:QR,__spreadArrays:XR,__spreadArray:ZR,__await:VR,__asyncGenerator:JR,__asyncDelegator:BR,__asyncValues:YR,__makeTemplateObject:OR,__importStar:_R,__importDefault:qR,__classPrivateFieldGet:jR,__classPrivateFieldSet:iR,__classPrivateFieldIn:bR,__addDisposableResource:xR,__disposeResources:oR}=sl.default;import{Buffer as el} from"buffer";var fl=(r,s)=>{if(typeof r!=="string")throw new TypeError(`The "input" argument must be of type string. Received type ${typeof r} (${r})`);return s?el.from(r,s):el.from(r)};var Re=(r)=>{const s=fl(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 og(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(r)}var og=typeof Buffer!=="undefined"&&Buffer.from?function(r){return Buffer.from(r,"utf8")}:Re;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 Se=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 as(this,void 0,void 0,function(){return hs(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=ms(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^pg[(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 ng=[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],pg=Wr(ng);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 as(this,void 0,void 0,function(){return hs(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=ms(s),a=l.next();!a.done;a=l.next()){var h=a.value;this.checksum=this.checksum>>>8^tg[(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 ug=[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],tg=Wr(ug);var gs=(r,s)=>({[U.MD5]:s.md5,[U.CRC32]:Se,[U.CRC32C]:ce,[U.SHA1]:s.sha1,[U.SHA256]:s.sha256})[r];var ws=(r,s)=>{const e=new r;return e.update(Y(s||"")),e.digest()};var ll={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},al=(r,s)=>(e,f)=>async(l)=>{if(!L.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=tf(E,{requestChecksumRequired:I,requestAlgorithmMember:P},!!f.isS3ExpressBucket);let y=h,V=m;if(N){const b=wr(N),Hr=gs(N,r);if(dr(h)){const{getAwsChunkedEncodingStream:de,bodyLengthChecker:Yg}=r;y=de(h,{base64Encoder:g,bodyLengthChecker:Yg,checksumLocationName:b,checksumAlgorithmFn:Hr,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":b},delete V["content-length"]}else if(!rl(b,m)){const de=await ws(Hr,h);V={...m,[b]:g(de)}}}return await e({...l,request:{...a,headers:V,body:y}})};var ds=(r=[])=>{const s=[];for(let e of uf){if(!r.includes(e)||!Fr.includes(e))continue;s.push(e)}return s};var hl=(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 rw} from"stream";function Ie(r){const s=new rw;return s.push(r),s.push(null),s}var ml=async(r,{streamHasher:s,checksumAlgorithmFn:e,base64Encoder:f})=>{const l=dr(r)?s(e,r):ws(e,r);return f(await l)};var gl=async(r,{config:s,responseAlgorithms:e})=>{const f=ds(e),{body:l,headers:a}=r;for(let h of f){const m=wr(h),g=a[m];if(g){const w=gs(h,s),{streamHasher:E,base64Encoder:I}=s,P=await ml(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 wl={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},dl=(r,s)=>(e,f)=>async(l)=>{if(!L.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"&&ds(E).every((V)=>{const tr=wr(V),b=m.headers[tr];return!b||hl(b)}))return h;const y=dr(m.body);if(y)g=await r.streamCollector(m.body),m.body=Ie(g);if(await gl(h.response,{config:r,responseAlgorithms:E}),y&&g)m.body=Ie(g)}return h};var As=(r,s)=>({applyToStack:(e)=>{e.add(al(r,s),ll),e.addRelativeTo(dl(r,s),wl)}});var Pe=T(Rs(),1);var Al=(r)=>({...r,requestChecksumCalculation:Pe.normalizeProvider(r.requestChecksumCalculation??es),responseChecksumValidation:Pe.normalizeProvider(r.responseChecksumValidation??fs)});function ew(){return(r,s)=>async(e)=>{const{request:f}=e;if(L.isInstance(f)){if(!(sw in f.headers))if(typeof s?.logger?.warn==="function"&&!(s.logger instanceof Ss))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 sw="content-length",fw={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Rl=(r)=>({applyToStack:(s)=>{s.add(ew(),fw)}});var Sl=(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}}},El={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"};function lw(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 aw={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0},cl=(r)=>({applyToStack:(s)=>{s.add(lw(r),aw),s.addRelativeTo(Sl(r),El)}});var hw=(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}},mw={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},Il=(r)=>({applyToStack:(s)=>{s.addRelativeTo(hw(r),mw)}});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 Rr{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 Sr{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 Rr(this.getIdentity(e))).identity;if((a.expiration?.getTime()??0)<Date.now()+Sr.REFRESH_WINDOW_MS&&!l.isRefreshing)l.isRefreshing=!0,this.getIdentity(e).then((g)=>{f.set(e,new Rr(Promise.resolve(g)))});return a});return f.set(e,new Rr(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}}}Sr.REFRESH_WINDOW_MS=60000;var Jr=T(Er(),1),Me=T(Rs(),1);var Pl="X-Amz-Algorithm",kl="X-Amz-Credential",Nl="X-Amz-Date",Dl="X-Amz-SignedHeaders",$l="X-Amz-Expires",yl="X-Amz-Signature",Ul="X-Amz-Security-Token";var Tl="authorization",ke="X-Amz-Date".toLowerCase();var Ml=["authorization",ke,"date"],Cl="X-Amz-Signature".toLowerCase(),Xr="x-amz-content-sha256",vl="X-Amz-Security-Token".toLowerCase();var Hl={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},Gl=/^proxy-/,Fl=/^sec-/;var cs="AWS4-HMAC-SHA256";var zl="AWS4-HMAC-SHA256-PAYLOAD",Kl="UNSIGNED-PAYLOAD",Ll=50,Ne="aws4_request",Wl=604800;var Xl=T(Er(),1);var Is={},De=[],Ps=(r,s,e)=>`${r}/${s}/${e}/${Ne}`,Zl=async(r,s,e,f,l)=>{const a=await Ql(r,s.secretAccessKey,s.accessKeyId),h=`${e}:${f}:${l}:${Xl.toHex(a)}:${s.sessionToken}`;if(h in Is)return Is[h];De.push(h);while(De.length>Ll)delete Is[De.shift()];let m=`AWS4${s.secretAccessKey}`;for(let g of[e,f,l,Ne])m=await Ql(r,m,g);return Is[h]=m};var Ql=(r,s,e)=>{const f=new r(s);return f.update(Y(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 Hl||s?.has(a)||Gl.test(a)||Fl.test(a)){if(!e||e&&!e.has(a))continue}f[a]=r[l].trim().replace(/\s+/g," ")}return f};var $e=({query:r={}})=>{const s=[],e={};for(let f of Object.keys(r)){if(f.toLowerCase()===Cl)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 Vl=T(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)||ls(s)){const f=new e;return f.update(Y(s)),Vl.toHex(await f.digest())}return Kl};var Ns=T(Er(),1);var Bl=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 ye{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(Ue.fromNumber(r.value.valueOf()).bytes,1),w;case"uuid":if(!gw.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 Jl;(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"})(Jl||(Jl={}));var gw=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class Ue{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)Bl(s);return new Ue(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)Bl(r);return parseInt(Ns.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}var Yl=(r,s)=>{r=r.toLowerCase();for(let e of Object.keys(s))if(r===e.toLowerCase())return!0;return!1};var Te=(r,s={})=>{const{headers:e,query:f={}}=L.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=L.clone(r);for(let s of Object.keys(r.headers))if(Ml.indexOf(s.toLowerCase())>-1)delete r.headers[s];return r};var Ol=(r)=>ww(r).toISOString().replace(/\.\d{3}Z$/,"Z"),ww=(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 Ce{constructor({applyChecksum:r,credentials:s,region:e,service:f,sha256:l,uriEscapePath:a=!0}){this.headerFormatter=new ye,this.service=f,this.sha256=l,this.uriEscapePath=a,this.applyChecksum=typeof r==="boolean"?r:!0,this.regionProvider=Me.normalizeProvider(e),this.credentialProvider=Me.normalizeProvider(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>Wl)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=Te(Ds(r),{unhoistableHeaders:a});if(w.sessionToken)y.query[Ul]=w.sessionToken;y.query[Pl]=cs,y.query[kl]=`${w.accessKeyId}/${N}`,y.query[Nl]=I,y.query[$l]=f.toString(10);const V=ks(y,l,h);return y.query[Dl]=_l(V),y.query[yl]=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=[zl,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(Y(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[ke]=w,h.sessionToken)g.headers[vl]=h.sessionToken;const P=await Zr(g,this.sha256);if(!Yl(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[Tl]=`${cs} `+`Credential=${h.accessKeyId}/${I}, `+`SignedHeaders=${_l(N)}, `+`Signature=${y}`,g}createCanonicalRequest(r,s,e){const f=Object.keys(s).sort();return`${r.method}
|
|
3
3
|
${this.getCanonicalPath(r)}
|
|
4
|
-
${
|
|
4
|
+
${$e(r)}
|
|
5
5
|
${f.map((l)=>`${l}:${s[l]}`).join("\n")}
|
|
6
6
|
|
|
7
7
|
${f.join(";")}
|
|
8
|
-
${e}`}async createStringToSign(r,s,e){const f=new this.sha256;f.update(
|
|
8
|
+
${e}`}async createStringToSign(r,s,e){const f=new this.sha256;f.update(Y(e));const l=await f.digest();return`${cs}
|
|
9
9
|
${r}
|
|
10
10
|
${s}
|
|
11
|
-
${Vr.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 pl.escapeUri(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(ys.toUint8Array(l)),Vr.toHex(await a.digest())}getSigningKey(r,s,e,f){return Ol(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 Ds=(r)=>{const s=ol(r).replace(/[\-:]/g,"");return{longDate:s,shortDate:s.slice(0,8)}},nl=(r)=>Object.keys(r).sort().join(";");var ul="Directory",tl="S3Express",ra="sigv4-s3express",$s="X-Amz-S3session-Token",Jr=$s.toLowerCase(),Rw="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Sw="s3_disable_express_session_auth",Fe={environmentVariableSelector:(r)=>fr(r,Rw,lr.ENV),configFileSelector:(r)=>fr(r,Sw,lr.CONFIG),default:!1};var sa=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},ea=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 Ge{async signWithCredentials(r,s,e){const f=sa(s);r.headers[Jr]=s.sessionToken;const l=this;return ea(l,f),l.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const f=sa(s);return delete r.headers[Jr],r.headers[$s]=s.sessionToken,r.query=r.query??{},r.query[$s]=s.sessionToken,ea(this,f),this.presign(r,e)}}var fa=(r)=>{return(s,e)=>async(f)=>{if(e.endpointV2){const l=e.endpointV2,a=l.properties?.authSchemes?.[0]?.name===ra;if(l.properties?.backend===tl||l.properties?.bucketType===ul)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,L.isInstance(f.request)&&g.sessionToken)f.request.headers[Jr]=g.sessionToken}}}return s(f)}},la={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},ze=(r)=>({applyToStack:(s)=>{s.add(fa(r),la)}});var ha=k(Ke(),1);var cw=k(Ew(),1);var aa=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 Iw=(r)=>(s)=>{throw s},Pw=(r,s)=>{};var ma=(r)=>(s,e)=>async(f)=>{if(!L.isInstance(f.request))return s(f);const a=Br(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 aa(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||Iw)(h));return(g.successHandler||Pw)(E.response,h),E},Le=(r)=>({applyToStack:(s)=>{s.addRelativeTo(ma(r),ha.httpSigningMiddlewareOptions)}});var ga=(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 Er(async(l)=>e().send(new f({Bucket:l,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var Ts=k(wa(),1),kw={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Nw=3000,Dw=(r)=>(s,e)=>async(f)=>{const l=await s(f),{response:a}=l;if(!Rs.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 Ts.splitStream(m);a.body=E;const I=await yw(w,{streamCollector:async(D)=>{return Ts.headStream(D,Nw)}});if(typeof w?.destroy==="function")w.destroy();const P=r.utf8Encoder(I.subarray(I.length-16));if(I.length===0&&kw[e.commandName]){const D=new Error("S3 aborted request");throw D.name="InternalError",D}if(P&&P.endsWith("</Error>"))a.statusCode=400;return l},yw=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},$w={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},Ms=(r)=>({applyToStack:(s)=>{s.addRelativeTo(Dw(r),$w)}});var We=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function da(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 Aa={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function Uw({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:f}}=e;if(!r&&typeof f==="string"&&!We(f)&&f.indexOf("/")>=0){const l=new Error(`Bucket name shouldn't contain '/', received '${f}'`);throw l.name="InvalidBucketName",l}return s({...e})}}var Tw={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},Ra=(r)=>({applyToStack:(s)=>{s.add(Uw(r),Tw),s.addRelativeTo(da(r),Aa)}});var vr=k(Ke(),1);var Sa=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var Qs=k(Ws(),1);var Cs={CrtSignerV4:null};class Qe{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=Cs.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"},Yr={["required"]:!1,["type"]:"Boolean"},O={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},$={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},y={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},C={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},lh={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},Ea={["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]},"aws-cn"]},zs={["fn"]:"isSet",["argv"]:[{["ref"]:"Bucket"}]},Q={["ref"]:"Bucket"},W={["fn"]:"parseURL",["argv"]:[{["ref"]:"Endpoint"}],["assign"]:"url"},Fs={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[{["ref"]:"url"},"isIp"]},!0]},ah={["ref"]:"url"},hh={["fn"]:"uriEncode",["argv"]:[Q],["assign"]:"uri_encoded_bucket"},b={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},d={},mh={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!1]},Xe={["error"]:"S3Express bucket name is not a valid virtual hostable name.",["type"]:"error"},Ks={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4-s3express",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},ca={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},Ia={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},A={["fn"]:"not",["argv"]:[C]},Pa={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},ka={["fn"]:"not",["argv"]:[zs]},Na={["ref"]:"hardwareType"},Da={["conditions"]:[A],["error"]:"Expected a endpoint to be specified but no endpoint was found",["type"]:"error"},vs={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{Region}"}]},Ze={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},Mw={["ref"]:"ForcePathStyle"},M={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},H={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},F={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},c={["fn"]:"not",["argv"]:[H]},z={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},ya={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},v={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},K={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},$a={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},R={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Ua={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ta={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ve={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[ah,"isIp"]},!1]},Je={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:v,["headers"]:{}},af={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:v,["headers"]:{}},Ma={["endpoint"]:af,["type"]:"endpoint"},Be={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ca={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Hs={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},J={["ref"]:"bucketArn"},gh={["ref"]:"arnType"},Ye={["fn"]:"getAttr",["argv"]:[J,"service"]},hf={["ref"]:"accessPointName"},va={["conditions"]:[y],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},Ha={["conditions"]:[O],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},Ga={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},Oe={["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"},wh={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},dh={["fn"]:"getAttr",["argv"]:[J,"accountId"]},_e={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},Fa={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},qe={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},je={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},ie={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},za={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},Ka={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},Or={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},La={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},Wa={["fn"]:"aws.parseArn",["argv"]:[Q]},Qa={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Xa={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Za={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},be={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Va={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Ja={["ref"]:"UseObjectLambdaEndpoint"},xe={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},Ba={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Ya={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Oa={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},oe={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:v,["headers"]:{}},_a={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},ne=[{["ref"]:"Region"}],Cw=[{["ref"]:"Endpoint"}],vw=[Q],pe=[y],Gs=[O],ar=[C,W],qa=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],ja=[Fs],ue=[hh],te=[mh],kr=[$],ia=[{["fn"]:"substring",["argv"]:[Q,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],ba=[{["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"}],xa=[{["fn"]:"substring",["argv"]:[Q,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],oa=[{["conditions"]:[$],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:Ks,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:Ks,["headers"]:{}},["type"]:"endpoint"}],Hw=[zs],na=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],pa=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],Gw=["*"],n=[lh],ua=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],p=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],rf=[{["fn"]:"stringEquals",["argv"]:[gh,"accesspoint"]}],ta=[{["fn"]:"getAttr",["argv"]:[J,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[hf,""]}]}],Fw=[J,"resourceId[1]"],sf=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},""]}]}],rh=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[2]"]}]}]}],zw=[J,"resourceId[2]"],ef=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]}],["assign"]:"bucketPartition"}],sh=[{["fn"]:"stringEquals",["argv"]:[wh,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],ff=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},!0]}],lf=[{["fn"]:"isValidHostLabel",["argv"]:[dh,!1]}],eh=[{["fn"]:"isValidHostLabel",["argv"]:[hf,!1]}],fh=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],Kw={version:"1.0",parameters:{Bucket:Ir,Region:Ir,UseFIPS:Pr,UseDualStack:Pr,Endpoint:Ir,ForcePathStyle:Pr,Accelerate:Pr,UseGlobalEndpoint:Pr,UseObjectLambdaEndpoint:Yr,Key:Ir,Prefix:Ir,CopySource:Ir,DisableAccessPoints:Yr,DisableMultiRegionAccessPoints:Pr,UseArnRegion:Yr,UseS3ExpressControlEndpoint:Yr,DisableS3ExpressSessionAuth:Yr},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:ne}],rules:[{["conditions"]:[O,$],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[y,C],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[C,$],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[C,O],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[$,lh,Ea],error:"Partition does not support FIPS",["type"]:"error"},{["conditions"]:[zs,{["fn"]:"substring",["argv"]:[Q,0,6,!0],["assign"]:"bucketSuffix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketSuffix"},"--x-s3"]}],rules:[{["conditions"]:pe,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:Gs,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:ar,rules:[{["conditions"]:qa,rules:[{["conditions"]:ja,rules:[{["conditions"]:ue,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:b,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:te,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:b,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Xe],["type"]:"tree"},{["conditions"]:ja,rules:[{["conditions"]:ue,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:Ks,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:te,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:Ks,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Xe],["type"]:"tree"},{["conditions"]:[ca,Ia],rules:[{["conditions"]:[hh,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"]:te,rules:[{["conditions"]:qa,rules:[{["conditions"]:ia,rules:ba,["type"]:"tree"},{["conditions"]:xa,rules:ba,["type"]:"tree"},Pa],["type"]:"tree"},{["conditions"]:ia,rules:oa,["type"]:"tree"},{["conditions"]:xa,rules:oa,["type"]:"tree"},Pa],["type"]:"tree"},Xe],["type"]:"tree"},{["conditions"]:[ka,ca,Ia],rules:[{["conditions"]:ar,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"]:[zs,{["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"]:ne,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:na,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Na,"e"]}],rules:[{["conditions"]:pa,rules:[Da,{["conditions"]:ar,endpoint:{["url"]:"https://{Bucket}.ec2.{url#authority}",["properties"]:vs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:vs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Na,"o"]}],rules:[{["conditions"]:pa,rules:[Da,{["conditions"]:ar,endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.{url#authority}",["properties"]:vs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},{endpoint:{["url"]:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",["properties"]:vs,["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"]:Hw,rules:[{["conditions"]:[C,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:Cw}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[Ze,mh],rules:[{["conditions"]:n,rules:[{["conditions"]:ua,rules:[{["conditions"]:[O,Ea],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[y,$,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,$,M,A,c,z],rules:[{endpoint:ya,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,$,M,A,c,K],endpoint:ya,["type"]:"endpoint"},{["conditions"]:[S,$,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,$,M,A,c,z],rules:[{endpoint:$a,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,$,M,A,c,K],endpoint:$a,["type"]:"endpoint"},{["conditions"]:[y,R,O,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,R,O,A,c,z],rules:[{endpoint:Ua,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,R,O,A,c,K],endpoint:Ua,["type"]:"endpoint"},{["conditions"]:[y,R,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,R,M,A,c,z],rules:[{endpoint:Ta,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,R,M,A,c,K],endpoint:Ta,["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Fs,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Ve,H],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Fs,c,z],rules:[{["conditions"]:p,endpoint:Je,["type"]:"endpoint"},{endpoint:Je,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,M,C,W,Ve,c,z],rules:[{["conditions"]:p,endpoint:af,["type"]:"endpoint"},Ma],["type"]:"tree"},{["conditions"]:[S,R,M,C,W,Fs,c,K],endpoint:Je,["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Ve,c,K],endpoint:af,["type"]:"endpoint"},{["conditions"]:[S,R,O,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,O,A,c,z],rules:[{["conditions"]:p,endpoint:Be,["type"]:"endpoint"},{endpoint:Be,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,O,A,c,K],endpoint:Be,["type"]:"endpoint"},{["conditions"]:[S,R,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,A,c,z],rules:[{["conditions"]:p,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:Ca,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,M,A,c,K],endpoint:Ca,["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[C,W,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[ah,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!0]},Ze,R,S,M],rules:[{["conditions"]:n,rules:[{["conditions"]:ua,rules:[Ma],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Ze,{["fn"]:"aws.parseArn",["argv"]:vw,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[gh,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ye,"s3-object-lambda"]}],rules:[{["conditions"]:rf,rules:[{["conditions"]:ta,rules:[va,Ha,{["conditions"]:sf,rules:[Ga,{["conditions"]:rh,rules:[Oe,{["conditions"]:ef,rules:[{["conditions"]:n,rules:[{["conditions"]:sh,rules:[{["conditions"]:ff,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[dh,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:lf,rules:[{["conditions"]:eh,rules:[{["conditions"]:ar,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:_e,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Fa],["type"]:"tree"},qe],["type"]:"tree"},je],["type"]:"tree"},ie],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},za],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},Ka],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:rf,rules:[{["conditions"]:ta,rules:[{["conditions"]:sf,rules:[{["conditions"]:rf,rules:[{["conditions"]:sf,rules:[Ga,{["conditions"]:rh,rules:[Oe,{["conditions"]:ef,rules:[{["conditions"]:n,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[wh,"{partitionResult#name}"]}],rules:[{["conditions"]:ff,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ye,"s3"]}],rules:[{["conditions"]:lf,rules:[{["conditions"]:eh,rules:[{["conditions"]:Gs,error:"Access Points do not support S3 Accelerate",["type"]:"error"},{["conditions"]:[$,y],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,S],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,y],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,C,W],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Fa],["type"]:"tree"},qe],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},je],["type"]:"tree"},ie],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},za],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[hf,!0]}],rules:[{["conditions"]:pe,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:kr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:Gs,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"]:ne,["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"]:Gw}]},["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"},Ka],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ye,"s3-outposts"]}],rules:[{["conditions"]:pe,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:kr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:Gs,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"]:Fw,["assign"]:"outpostId"}],rules:[{["conditions"]:na,rules:[Oe,{["conditions"]:ef,rules:[{["conditions"]:n,rules:[{["conditions"]:sh,rules:[{["conditions"]:ff,rules:[{["conditions"]:lf,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:zw,["assign"]:"outpostType"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[3]"],["assign"]:"accessPointName"}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"outpostType"},"accesspoint"]}],rules:[{["conditions"]:ar,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",["properties"]:La,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:La,["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"},qe],["type"]:"tree"},je],["type"]:"tree"},ie],["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"]:[Wa]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[Mw,!0]},Wa],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:ue,rules:[{["conditions"]:n,rules:[{["conditions"]:[M],rules:[{["conditions"]:[y,A,$,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,A,$,c,z],rules:[{endpoint:Qa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,A,$,c,K],endpoint:Qa,["type"]:"endpoint"},{["conditions"]:[S,A,$,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,A,$,c,z],rules:[{endpoint:Xa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,$,c,K],endpoint:Xa,["type"]:"endpoint"},{["conditions"]:[y,A,R,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[y,A,R,c,z],rules:[{endpoint:Za,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[y,A,R,c,K],endpoint:Za,["type"]:"endpoint"},{["conditions"]:[S,C,W,R,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,C,W,R,c,z],rules:[{["conditions"]:p,endpoint:be,["type"]:"endpoint"},{endpoint:be,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,C,W,R,c,K],endpoint:be,["type"]:"endpoint"},{["conditions"]:[S,A,R,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,A,R,c,z],rules:[{["conditions"]:p,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:Va,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,R,c,K],endpoint:Va,["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"]:[Ja]},{["fn"]:"booleanEquals",["argv"]:[Ja,!0]}],rules:[{["conditions"]:n,rules:[{["conditions"]:fh,rules:[va,Ha,{["conditions"]:ar,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:xe,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:xe,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:xe,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[ka],rules:[{["conditions"]:n,rules:[{["conditions"]:fh,rules:[{["conditions"]:[$,y,A,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,y,A,c,z],rules:[{endpoint:Ba,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,y,A,c,K],endpoint:Ba,["type"]:"endpoint"},{["conditions"]:[$,S,A,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,S,A,c,z],rules:[{endpoint:Ya,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,S,A,c,K],endpoint:Ya,["type"]:"endpoint"},{["conditions"]:[R,y,A,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,y,A,c,z],rules:[{endpoint:Oa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,y,A,c,K],endpoint:Oa,["type"]:"endpoint"},{["conditions"]:[R,S,C,W,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,C,W,c,z],rules:[{["conditions"]:p,endpoint:oe,["type"]:"endpoint"},{endpoint:oe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,C,W,c,K],endpoint:oe,["type"]:"endpoint"},{["conditions"]:[R,S,A,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,A,c,z],rules:[{["conditions"]:p,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:_a,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,A,c,K],endpoint:_a,["type"]:"endpoint"}],["type"]:"tree"},Hs],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},Ah=Kw;var Lw=new Rh({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),Ls=(r,s={})=>{return Lw.get(r,()=>Eh(Ah,{endpointParams:r,logger:s.logger}))};Sh.aws=ch;var kh=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Nh=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Ww=(r)=>async(s,e,f)=>{if(!f)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const l=await r(s,e,f),a=Br(e)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw new Error(`getEndpointParameterInstructions() is not defined on \`${e.commandName}\``);const h=await Ih(f,{getEndpointParameterInstructions:a},s);return Object.assign(l,h)},Qw=async(r,s,e)=>{return{operation:Br(s).operation,region:await o(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Ph=Ww(Qw),Xw=(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 D;if(P==="sigv4a"){D="aws.auth#sigv4a";const ur=h.find((i)=>{const Hr=i.name.toLowerCase();return Hr!=="sigv4a"&&Hr.startsWith("sigv4")});if(!Cs.CrtSignerV4&&ur)continue}else if(P.startsWith("sigv4"))D="aws.auth#sigv4";else throw new Error(`Unknown HttpAuthScheme found in \`@smithy.rules#endpointRuleSet\`: \`${P}\``);const U=e[D];if(!U)throw new Error(`Could not find HttpAuthOption create function for \`${D}\``);const V=U(l);V.schemeId=D,V.signingProperties={...V.signingProperties||{},...I,...E},m.push(V)}return m}},Zw=(r)=>{const s=[];switch(r.operation){default:s.push(kh(r)),s.push(Nh(r))}return s},Dh=Xw(Ls,Zw,{"aws.auth#sigv4":kh,"aws.auth#sigv4a":Nh}),yh=(r)=>{const s=Qs.resolveAwsSdkSigV4Config(r);return{...Qs.resolveAwsSdkSigV4AConfig(s)}};var $h=(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 Uh{constructor(r){super(r);Object.setPrototypeOf(this,X.prototype)}}class Xs extends X{constructor(r){super({name:"NoSuchUpload",$fault:"client",...r});this.name="NoSuchUpload",this.$fault="client",Object.setPrototypeOf(this,Xs.prototype)}}class Zs extends X{constructor(r){super({name:"ObjectNotInActiveTierError",$fault:"client",...r});this.name="ObjectNotInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,Zs.prototype)}}class Vs extends X{constructor(r){super({name:"BucketAlreadyExists",$fault:"client",...r});this.name="BucketAlreadyExists",this.$fault="client",Object.setPrototypeOf(this,Vs.prototype)}}class Js extends X{constructor(r){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...r});this.name="BucketAlreadyOwnedByYou",this.$fault="client",Object.setPrototypeOf(this,Js.prototype)}}class Bs extends X{constructor(r){super({name:"NoSuchBucket",$fault:"client",...r});this.name="NoSuchBucket",this.$fault="client",Object.setPrototypeOf(this,Bs.prototype)}}var mf;(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])}})(mf||(mf={}));var gf;(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])}})(gf||(gf={}));var wf;(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])}})(wf||(wf={}));var df;(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])}})(df||(df={}));class Ys extends X{constructor(r){super({name:"InvalidObjectState",$fault:"client",...r});this.name="InvalidObjectState",this.$fault="client",Object.setPrototypeOf(this,Ys.prototype),this.StorageClass=r.StorageClass,this.AccessTier=r.AccessTier}}class Os extends X{constructor(r){super({name:"NoSuchKey",$fault:"client",...r});this.name="NoSuchKey",this.$fault="client",Object.setPrototypeOf(this,Os.prototype)}}class _s extends X{constructor(r){super({name:"NotFound",$fault:"client",...r});this.name="NotFound",this.$fault="client",Object.setPrototypeOf(this,_s.prototype)}}var Vw=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:Z},...r.SessionToken&&{SessionToken:Z}}),Th=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z},...r.Credentials&&{Credentials:Vw(r.Credentials)}}),Mh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var Ch=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z}}),vh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z}});var $r=k(Ws(),1);var is=k(Ke(),1);class qs extends X{constructor(r){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...r});this.name="ObjectAlreadyInActiveTierError",this.$fault="client",Object.setPrototypeOf(this,qs.prototype)}}var Hh;(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])}})(Hh||(Hh={}));var Gh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}}),Fh=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z},...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var _h=async(r,s)=>{const e=is.requestBuilder(r,s),f=G({},q,{[jd]:r[Ud],[or]:r[br],[nr]:r[xr],[ns]:r[os],[u]:[()=>q(r[hr]),()=>r[hr].toString()]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const l=G({[Yd]:[,""]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var qh=async(r,s)=>{const e=is.requestBuilder(r,s),f=G({},q,{[Fd]:r[wd],[zd]:[()=>q(r[zh]),()=>_r(r[zh]).toString()],[cm]:r[em],[Kd]:[()=>q(r[Kh]),()=>_r(r[Kh]).toString()],[Wd]:r[Ed],[ps]:r[bs],[Um]:r[mm],[us]:r[xs],[ym]:r[hm],[Pm]:r[rm],[qd]:r[rd]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=G({[Cm]:[,"GetObject"],[Qd]:[,r[cd]],[Xd]:[,r[Id]],[Zd]:[,r[Pd]],[Vd]:[,r[kd]],[Jd]:[,r[Nd]],[Bd]:[()=>r.ResponseExpires!==void 0,()=>_r(r[Dd]).toString()],[Od]:[,r[Hf]],[Ld]:[()=>r.PartNumber!==void 0,()=>r[Sd].toString()]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var jh=async(r,s)=>{const e=is.requestBuilder(r,s),f=G({},q,{[Sm]:r[th]||"application/octet-stream",[_d]:r[pw],[wm]:r[oh],[dm]:r[nh],[Am]:r[ph],[Rm]:r[uh],[Nf]:[()=>q(r[If]),()=>r[If].toString()],[vd]:r[sd],[ud]:r[tw],[Gf]:r[Tf],[Ff]:r[Mf],[zf]:r[Cf],[Kf]:r[vf],[Df]:[()=>q(r[Pf]),()=>_r(r[Pf]).toString()],[cm]:r[em],[id]:r[ad],[bd]:r[hd],[xd]:r[md],[od]:r[gd],[or]:r[br],[$m]:r[jr],[Mm]:r[gm],[ps]:r[bs],[Um]:r[mm],[us]:r[xs],[nr]:r[xr],[ns]:r[os],[u]:[()=>q(r[hr]),()=>r[hr].toString()],[ym]:r[hm],[td]:r[Td],[Nm]:r[lm],[yf]:[()=>q(r[kf]),()=>Oh(r[kf]).toString()],[km]:r[fm],[Pm]:r[rm],...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=G({[Cm]:[,"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 ih=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Uf(r,s);const e=G({$metadata:Y(r),[br]:[,r.headers[or]],[xr]:[,r.headers[nr]],[os]:[,r.headers[ns]],[hr]:[()=>r.headers[u]!==void 0,()=>ir(r.headers[u])]}),f=Dr(Jh(await $r.parseXmlBody(r.body,s)),"body");if(f[Sf]!=null)e[Sf]=nw(f[Sf],s);return e};var bh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Uf(r,s);const e=G({$metadata:Y(r),[fd]:[()=>r.headers[Wh]!==void 0,()=>ir(r.headers[Wh])],[uw]:[,r.headers[Cd]],[qr]:[,r.headers[Im]],[$d]:[,r.headers[nd]],[dd]:[()=>r.headers[Lh]!==void 0,()=>Dr(Qr(r.headers[Lh]))],[If]:[()=>r.headers[Nf]!==void 0,()=>Bh(r.headers[Nf])],[sm]:[,r.headers[Em]],[Tf]:[,r.headers[Gf]],[Mf]:[,r.headers[Ff]],[Cf]:[,r.headers[zf]],[vf]:[,r.headers[Kf]],[Ad]:[()=>r.headers[Qh]!==void 0,()=>js(r.headers[Qh])],[Hf]:[,r.headers[Tm]],[oh]:[,r.headers[wm]],[nh]:[,r.headers[dm]],[ph]:[,r.headers[Am]],[uh]:[,r.headers[Rm]],[ed]:[,r.headers[Hd]],[th]:[,r.headers[Sm]],[Pf]:[()=>r.headers[Df]!==void 0,()=>Dr(Qr(r.headers[Df]))],[ld]:[,r.headers[Gd]],[gm]:[,r.headers[Mm]],[br]:[,r.headers[or]],[bs]:[,r.headers[ps]],[xs]:[,r.headers[us]],[xr]:[,r.headers[nr]],[hr]:[()=>r.headers[u]!==void 0,()=>ir(r.headers[u])],[jr]:[,r.headers[$m]],[am]:[,r.headers[Dm]],[yd]:[,r.headers[pd]],[Rd]:[()=>r.headers[Xh]!==void 0,()=>js(r.headers[Xh])],[Md]:[()=>r.headers[Zh]!==void 0,()=>js(r.headers[Zh])],[lm]:[,r.headers[Nm]],[kf]:[()=>r.headers[yf]!==void 0,()=>Dr($f(r.headers[yf]))],[fm]:[,r.headers[km]],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 xh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Uf(r,s);const e=G({$metadata:Y(r),[qr]:[,r.headers[Im]],[sm]:[,r.headers[Em]],[Tf]:[,r.headers[Gf]],[Mf]:[,r.headers[Ff]],[Cf]:[,r.headers[zf]],[vf]:[,r.headers[Kf]],[br]:[,r.headers[or]],[Hf]:[,r.headers[Tm]],[bs]:[,r.headers[ps]],[xs]:[,r.headers[us]],[xr]:[,r.headers[nr]],[os]:[,r.headers[ns]],[hr]:[()=>r.headers[u]!==void 0,()=>ir(r.headers[u])],[am]:[,r.headers[Dm]]});return await Vh(r.body,s),e};var Uf=async(r,s)=>{const e={...r,body:await $r.parseXmlErrorBody(r.body,s)},f=$r.loadRestXmlErrorCode(r,e.body);switch(f){case"NoSuchUpload":case"com.amazonaws.s3#NoSuchUpload":throw await iw(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await ow(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await Yw(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await Ow(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await qw(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await _w(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await jw(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await bw(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await xw(e,s);default:const l=e.body;return Bw({output:r,parsedBody:l,errorCode:f})}},Bw=Yh(X),Yw=async(r,s)=>{const e=G({}),f=r.body,l=new Vs({$metadata:Y(r),...e});return j(l,r.body)},Ow=async(r,s)=>{const e=G({}),f=r.body,l=new Js({$metadata:Y(r),...e});return j(l,r.body)},_w=async(r,s)=>{const e=G({}),f=r.body;if(f[Rf]!=null)e[Rf]=yr(f[Rf]);if(f[jr]!=null)e[jr]=yr(f[jr]);const l=new Ys({$metadata:Y(r),...e});return j(l,r.body)},qw=async(r,s)=>{const e=G({}),f=r.body,l=new Bs({$metadata:Y(r),...e});return j(l,r.body)},jw=async(r,s)=>{const e=G({}),f=r.body,l=new Os({$metadata:Y(r),...e});return j(l,r.body)},iw=async(r,s)=>{const e=G({}),f=r.body,l=new Xs({$metadata:Y(r),...e});return j(l,r.body)},bw=async(r,s)=>{const e=G({}),f=r.body,l=new _s({$metadata:Y(r),...e});return j(l,r.body)},xw=async(r,s)=>{const e=G({}),f=r.body,l=new qs({$metadata:Y(r),...e});return j(l,r.body)},ow=async(r,s)=>{const e=G({}),f=r.body,l=new Zs({$metadata:Y(r),...e});return j(l,r.body)};var nw=(r,s)=>{const e={};if(r[Af]!=null)e[Af]=yr(r[Af]);if(r[Ef]!=null)e[Ef]=yr(r[Ef]);if(r[cf]!=null)e[cf]=yr(r[cf]);if(r[qr]!=null)e[qr]=Dr($f(r[qr]));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 pw="ACL";var Af="AccessKeyId";var uw="AcceptRanges";var Rf="AccessTier";var hr="BucketKeyEnabled";var Sf="Credentials",tw="ChecksumAlgorithm";var oh="CacheControl",Tf="ChecksumCRC32",Mf="ChecksumCRC32C",nh="ContentDisposition";var ph="ContentEncoding";var uh="ContentLanguage",If="ContentLength",rd="ChecksumMode",sd="ContentMD5";var ed="ContentRange";var Cf="ChecksumSHA1",vf="ChecksumSHA256";var th="ContentType";var fd="DeleteMarker";var Pf="Expires";var rm="ExpectedBucketOwner";var ld="ExpiresString";var sm="ETag";var qr="Expiration";var ad="GrantFullControl";var hd="GrantRead",md="GrantReadACP";var gd="GrantWriteACP";var wd="IfMatch",zh="IfModifiedSince",em="IfNoneMatch";var Kh="IfUnmodifiedSince";var dd="LastModified";var Ad="MissingMeta";var fm="ObjectLockLegalHoldStatus",lm="ObjectLockMode";var kf="ObjectLockRetainUntilDate";var Rd="PartsCount";var Sd="PartNumber";var Ed="Range";var am="RequestCharged",cd="ResponseCacheControl",Id="ResponseContentDisposition",Pd="ResponseContentEncoding",kd="ResponseContentLanguage",Nd="ResponseContentType";var Dd="ResponseExpires";var hm="RequestPayer";var yd="ReplicationStatus";var $d="Restore";var Ef="SecretAccessKey";var jr="StorageClass";var Ud="SessionMode";var br="ServerSideEncryption";var bs="SSECustomerAlgorithm",mm="SSECustomerKey",xs="SSECustomerKeyMD5";var os="SSEKMSEncryptionContext",xr="SSEKMSKeyId";var cf="SessionToken";var Td="Tagging";var Md="TagCount";var Hf="VersionId";var gm="WebsiteRedirectLocation";var Cd="accept-ranges";var wm="cache-control",dm="content-disposition",Am="content-encoding",Rm="content-language",Nf="content-length",vd="content-md5",Hd="content-range",Sm="content-type";var Df="expires";var Em="etag",Gd="expiresstring";var Fd="if-match",zd="if-modified-since";var cm="if-none-match";var Kd="if-unmodified-since";var Lh="last-modified";var Ld="partNumber";var Wd="range",Qd="response-cache-control",Xd="response-content-disposition",Zd="response-content-encoding",Vd="response-content-language",Jd="response-content-type",Bd="response-expires";var Yd="session";var Od="versionId";var _d="x-amz-acl";var Gf="x-amz-checksum-crc32",Ff="x-amz-checksum-crc32c",qd="x-amz-checksum-mode";var zf="x-amz-checksum-sha1",Kf="x-amz-checksum-sha256";var jd="x-amz-create-session-mode";var Wh="x-amz-delete-marker",Im="x-amz-expiration",Pm="x-amz-expected-bucket-owner";var id="x-amz-grant-full-control",bd="x-amz-grant-read",xd="x-amz-grant-read-acp";var od="x-amz-grant-write-acp";var Qh="x-amz-missing-meta";var Xh="x-amz-mp-parts-count";var km="x-amz-object-lock-legal-hold",Nm="x-amz-object-lock-mode",yf="x-amz-object-lock-retain-until-date";var nd="x-amz-restore",Dm="x-amz-request-charged";var ym="x-amz-request-payer";var pd="x-amz-replication-status";var $m="x-amz-storage-class",ud="x-amz-sdk-checksum-algorithm";var or="x-amz-server-side-encryption",nr="x-amz-server-side-encryption-aws-kms-key-id",u="x-amz-server-side-encryption-bucket-key-enabled",ns="x-amz-server-side-encryption-context",ps="x-amz-server-side-encryption-customer-algorithm",Um="x-amz-server-side-encryption-customer-key",us="x-amz-server-side-encryption-customer-key-md5",td="x-amz-tagging",Zh="x-amz-tagging-count";var Tm="x-amz-version-id",Mm="x-amz-website-redirect-location",Cm="x-id";class Lf 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()),Ms(e)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").f(Mh,Th).ser(_h).de(ih).build(){}var vm={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 he=k(Ws(),1);var sA="AWS_S3_USE_ARN_REGION",eA="s3_use_arn_region",Hm={environmentVariableSelector:(r)=>fr(r,sA,lr.ENV),configFileSelector:(r)=>fr(r,eA,lr.CONFIG),default:!1};var t=k(cr(),1);var Fm=k(cr(),1),Gm=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)Gm(s);return new Cr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)Gm(r);return parseInt(Fm.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class Wf{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(!DA.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:Km,value:!0};break;case 1:s[l]={type:Km,value:!1};break;case 2:s[l]={type:RA,value:r.getInt8(e++)};break;case 3:s[l]={type:SA,value:r.getInt16(e,!1)},e+=2;break;case 4:s[l]={type:EA,value:r.getInt32(e,!1)},e+=4;break;case 5:s[l]={type:cA,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:IA,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:PA,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[l]={type:kA,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:NA,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 zm;(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"})(zm||(zm={}));var Km="boolean",RA="byte",SA="short",EA="integer",cA="long",IA="binary",PA="string",kA="timestamp",NA="uuid",DA=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function Wm({byteLength:r,byteOffset:s,buffer:e}){if(r<yA)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(Lm,!1),h=f.getUint32(rr,!1),m=f.getUint32(r-mr,!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+mr))),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+mr,a),body:new Uint8Array(e,s+rr+mr+a,l-a-(rr+mr+mr))}}var Lm=4,rr=Lm*2,mr=4,yA=rr+mr*2;class Qf{constructor(r,s){this.headerMarshaller=new Wf(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}=Wm(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class Xf{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 Zf{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 Vf{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 Jf{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 Qm(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 D=E-I;if(!l)l=new Uint8Array(4);const U=Math.min(4-e,D);if(l.set(g.slice(I,I+U),e),e+=U,I+=U,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 Xm(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 ts{constructor({utf8Encoder:r,utf8Decoder:s}){this.eventStreamCodec=new Qf(r,s),this.utfEncoder=r}deserialize(r,s){const e=Qm(r);return new Vf({messageStream:new Xf({inputStream:e,decoder:this.eventStreamCodec}),deserializer:Xm(s,this.utfEncoder)})}serialize(r,s){return new Zf({messageStream:new Jf({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as $A} from"stream";async function*Zm(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 Bf{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new ts({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:Zm(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return $A.from(this.universalMarshaller.serialize(r,s))}}var Vm=(r)=>new Bf(r);var Jm=k(er(),1);import{Writable as UA} from"stream";class re extends UA{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(Jm.toUint8Array(r))}catch(f){return e(f)}e()}}var Bm=(r,s)=>{if(s.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");const e=new r,f=new re(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 se=k(Ws(),1);var Ym=k(MA(),1),ee=k(TA(),1),fe=k(wa(),1),le=k(er(),1);var Om=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??ee.fromBase64,base64Encoder:r?.base64Encoder??ee.toBase64,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??Ls,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??fe.getAwsChunkedEncodingStream,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Dh,httpAuthSchemes:r?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4"),signer:new se.AwsSdkSigV4Signer},{schemeId:"aws.auth#sigv4a",identityProvider:(s)=>s.getIdentityProvider("aws.auth#sigv4a"),signer:new se.AwsSdkSigV4ASigner}],logger:r?.logger??new As,sdkStreamMixin:r?.sdkStreamMixin??fe.sdkStreamMixin,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??Qe,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??Ym.parseUrl,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??le.fromUtf8,utf8Encoder:r?.utf8Encoder??le.toUtf8}};var lg=(r)=>{qm(process.version);const s=eg(r),e=()=>s().then(_m),f=Om(r);return he.emitWarningIfUnsupportedVersion(process.version),{...f,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??sg,credentialDefaultProvider:r?.credentialDefaultProvider??fg,defaultUserAgentProvider:r?.defaultUserAgentProvider??rg({serviceId:f.serviceId,clientVersion:vm.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??_(Fe),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??Vm,maxAttempts:r?.maxAttempts??_(nm),md5:r?.md5??ae.bind(null,"md5"),region:r?.region??_(bm,xm),requestChecksumCalculation:r?.requestChecksumCalculation??_(tf),requestHandler:um.create(r?.requestHandler??e),responseChecksumValidation:r?.responseChecksumValidation??_(rl),retryMode:r?.retryMode??_({...pm,default:async()=>(await e()).retryMode||om}),sha1:r?.sha1??ae.bind(null,"sha1"),sha256:r?.sha256??ae.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??_(he.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??tm,streamHasher:r?.streamHasher??Bm,useArnRegion:r?.useArnRegion??_(Hm),useDualstackEndpoint:r?.useDualstackEndpoint??_(jm),useFipsEndpoint:r?.useFipsEndpoint??_(im)}};var ag=(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}}},hg=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var me=(r)=>r,Sg=(r,s)=>{const e={...me(Ag(r)),...me(wg(r)),...me(mg(r)),...me(ag(r))};return s.forEach((f)=>f.configure(e)),{...r,...Rg(e),...dg(e),...gg(e),...hg(e)}};class Yf extends kg{constructor(...[r]){const s=lg(r||{}),e=$h(s),f=Ng(e),l=cl(f),a=Tg(l),h=yg(a),m=Eg(h),g=Ug(m),w=Sa(g),E=yh(w),I=ga(E,{session:[()=>this,Lf]}),P=Sg(I,r?.extensions||[]);super(P);this.config=P,this.middlewareStack.use(Dg(this.config)),this.middlewareStack.use(Mg(this.config)),this.middlewareStack.use($g(this.config)),this.middlewareStack.use(cg(this.config)),this.middlewareStack.use(Ig(this.config)),this.middlewareStack.use(Pg(this.config)),this.middlewareStack.use(vr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Ph,identityProviderConfigProvider:async(D)=>new vr.DefaultIdentityProviderConfig({"aws.auth#sigv4":D.credentials,"aws.auth#sigv4a":D.credentials})})),this.middlewareStack.use(vr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(Ra(this.config)),this.middlewareStack.use(of(this.config)),this.middlewareStack.use(Nl(this.config)),this.middlewareStack.use(ze(this.config)),this.middlewareStack.use(Le(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(HA(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 HA(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 vA={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},ge=(r)=>({applyToStack:(s)=>{s.add(CA(r),vA)}});class Of 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()),ds(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),ge(e),Dl(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f(vh,Ch).ser(qh).de(bh).build(){}class _f 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()),ds(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Il(e),Ms(e),ge(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(Fh,Gh).ser(jh).de(xh).build(){}import{Buffer as Cg} from"buffer";class vg extends gr{client;constructor(...r){super();this.client=new Yf(...r)}async put(r){let s,e,f,l=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,f=`${tr()}.${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 Cg?s:Cg.from(await s.arrayBuffer());return await this.client.send(new _f({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 Of({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 we{}class de extends we{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 Hg extends B{constructor(){super(...arguments)}driver=new de;boot(){}}import*as LA from"react-dom/server";var Lg=k(GA(),1);import{Writable as ZA} from"stream";var{defineProperty:FA,getOwnPropertySymbols:Gg}=Object,zA=Object.prototype.hasOwnProperty,KA=Object.prototype.propertyIsEnumerable,Fg=(r,s,e)=>(s in r)?FA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,qf=(r,s)=>{for(var e in s||(s={}))if(zA.call(s,e))Fg(r,e,s[e]);if(Gg){for(var e of Gg(s))if(KA.call(s,e))Fg(r,e,s[e])}return r},jf=(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())})},WA={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},QA=(r,s={})=>{return Lg.default.html(r,qf(qf({},WA),s))},XA=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var zg=new TextDecoder("utf-8"),Kg=(r)=>jf(void 0,null,function*(){let s="";if("pipeTo"in r){const e=new WritableStream({write(f){s+=zg.decode(f)}});yield r.pipeTo(e)}else{const e=new ZA({write(f,l,a){s+=zg.decode(f),a()}});return r.pipe(e),new Promise((f,l)=>{e.on("error",l),e.on("close",()=>{f(s)})})}return s}),Ae=(r,s)=>jf(void 0,null,function*(){const{default:e}=yield import("react-dom/server");let f;if(Object.hasOwn(e,"renderToReadableStream"))f=yield Kg(yield e.renderToReadableStream(r));else yield new Promise((h,m)=>{const g=e.renderToPipeableStream(r,{onAllReady(){return jf(this,null,function*(){f=yield Kg(g),h()})},onError(w){m(w)}})});if(s==null?void 0:s.plainText)return bf(f,qf({selectors:XA},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 QA(a);return a});var{defineProperty:VA,defineProperties:JA,getOwnPropertyDescriptors:BA,getOwnPropertySymbols:Wg}=Object,YA=Object.prototype.hasOwnProperty,OA=Object.prototype.propertyIsEnumerable,Qg=(r,s,e)=>(s in r)?VA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,pr=(r,s)=>{for(var e in s||(s={}))if(YA.call(s,e))Qg(r,e,s[e]);if(Wg){for(var e of Wg(s))if(OA.call(s,e))Qg(r,e,s[e])}return r},_A=(r,s)=>JA(r,BA(s)),N=(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())})},qA="3.5.0",jA=class{constructor(r){this.resend=r}create(r){return N(this,arguments,function*(s,e={}){return yield this.resend.post("/api-keys",s,e)})}list(){return N(this,null,function*(){return yield this.resend.get("/api-keys")})}remove(r){return N(this,null,function*(){return yield this.resend.delete(`/api-keys/${r}`)})}},iA=class{constructor(r){this.resend=r}create(r){return N(this,arguments,function*(s,e={}){return yield this.resend.post("/audiences",s,e)})}list(){return N(this,null,function*(){return yield this.resend.get("/audiences")})}get(r){return N(this,null,function*(){return yield this.resend.get(`/audiences/${r}`)})}remove(r){return N(this,null,function*(){return yield this.resend.delete(`/audiences/${r}`)})}},bA=class{constructor(r){this.resend=r}send(r){return N(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return N(this,arguments,function*(s,e={}){for(let l of s)if(l.react)l.html=yield Ae(l.react),delete l.react;return yield this.resend.post("/emails/batch",s,e)})}},xA=class{constructor(r){this.resend=r}create(r){return N(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 N(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts`)})}get(r){return N(this,null,function*(){return yield this.resend.get(`/audiences/${r.audienceId}/contacts/${r.id}`)})}update(r){return N(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 N(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}`)})}},oA=class{constructor(r){this.resend=r}create(r){return N(this,arguments,function*(s,e={}){return yield this.resend.post("/domains",s,e)})}list(){return N(this,null,function*(){return yield this.resend.get("/domains")})}get(r){return N(this,null,function*(){return yield this.resend.get(`/domains/${r}`)})}update(r){return N(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 N(this,null,function*(){return yield this.resend.delete(`/domains/${r}`)})}verify(r){return N(this,null,function*(){return yield this.resend.post(`/domains/${r}/verify`)})}},nA=class{constructor(r){this.resend=r}send(r){return N(this,arguments,function*(s,e={}){return this.create(s,e)})}create(r){return N(this,arguments,function*(s,e={}){if(s.react)s.html=yield Ae(s.react),delete s.react;return yield this.resend.post("/emails",s,e)})}get(r){return N(this,null,function*(){return yield this.resend.get(`/emails/${r}`)})}},Xg="https://api.resend.com",Zg=`resend-node:${qA}`,pA=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||Xg:Xg,uA=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||Zg:Zg,Vg=class{constructor(r){if(this.key=r,this.apiKeys=new jA(this),this.audiences=new iA(this),this.batch=new bA(this),this.contacts=new xA(this),this.domains=new oA(this),this.emails=new nA(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":uA,"Content-Type":"application/json"})}fetchRequest(r){return N(this,arguments,function*(s,e={}){try{const f=yield fetch(`${pA}${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:_A(pr({},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 N(this,arguments,function*(e,f,l={}){const a=pr({method:"POST",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}get(r){return N(this,arguments,function*(s,e={}){const f=pr({method:"GET",headers:this.headers},e);return this.fetchRequest(s,f)})}put(r,s){return N(this,arguments,function*(e,f,l={}){const a=pr({method:"PUT",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}patch(r,s){return N(this,arguments,function*(e,f,l={}){const a=pr({method:"PATCH",headers:this.headers,body:JSON.stringify(f)},l);return this.fetchRequest(e,a)})}delete(r,s){return N(this,null,function*(){const e={method:"DELETE",headers:this.headers,body:JSON.stringify(s)};return this.fetchRequest(r,e)})}};class Re{}class Se extends Re{r;constructor(r=process.env.RESEND_API_KEY){super();this.apiKey=r}async send(r){const s=new Vg(this.apiKey),{data:e,error:f}=await s.emails.send({...r});if(f)throw f;if(e)return!0}}class Jg extends B{constructor(){super(...arguments)}debug=!0;defaultFrom="";driver=new Se;boot(){}}class Bg extends B{constructor(){super(...arguments)}channels={};boot(){}}class Yg extends B{constructor(){super(...arguments)}rootLayout;rootRouter;boot(){}}class Og extends B{constructor(){super(...arguments)}rootRouter;boot(){return"Origin"}}export{Yg as ViewRouterServiceProvider,vg as S3Driver,Se as ResendDriver,Hg as RateLimiterServiceProvider,we as RateLimiterDriver,de as InMemoryRateLimiter,rs as FileSystemDriver,xf as FileStorageServiceProvider,gr as FileStorageDriver,Jg as EmailServiceProvider,Re as EmailDriver,Bg as BroadcastingServiceProvider,Og as ApiRouterServiceProvider};export{xf as x,Og as y,Hg as z,Jg as A,Bg as B,Yg as C};
|
|
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(Y(l)),Jr.toHex(await a.digest())}getSigningKey(r,s,e,f){return Zl(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=Ol(r).replace(/[\-:]/g,"");return{longDate:s,shortDate:s.slice(0,8)}},_l=(r)=>Object.keys(r).sort().join(";");var ql="Directory",jl="S3Express",il="sigv4-s3express",ys="X-Amz-S3session-Token",Br=ys.toLowerCase(),dw="AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",Aw="s3_disable_express_session_auth",ve={environmentVariableSelector:(r)=>er(r,dw,fr.ENV),configFileSelector:(r)=>er(r,Aw,fr.CONFIG),default:!1};var bl=function(r){return{accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,expiration:r.expiration}},xl=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 Ce{async signWithCredentials(r,s,e){const f=bl(s);r.headers[Br]=s.sessionToken;const l=this;return xl(l,f),l.signRequest(r,e??{})}async presignWithCredentials(r,s,e){const f=bl(s);return delete r.headers[Br],r.headers[ys]=s.sessionToken,r.query=r.query??{},r.query[ys]=s.sessionToken,xl(this,f),this.presign(r,e)}}var ol=(r)=>{return(s,e)=>async(f)=>{if(e.endpointV2){const l=e.endpointV2,a=l.properties?.authSchemes?.[0]?.name===il;if(l.properties?.backend===jl||l.properties?.bucketType===ql)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,L.isInstance(f.request)&&g.sessionToken)f.request.headers[Br]=g.sessionToken}}}return s(f)}},nl={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},He=(r)=>({applyToStack:(s)=>{s.add(ol(r),nl)}});var ul=T(Ge(),1);var Sw=T(Rw(),1),tl=T(Rs(),1);var pl=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 Ew=(r)=>(s)=>{throw s},cw=(r,s)=>{};var ra=(r)=>(s,e)=>async(f)=>{if(!L.isInstance(f.request))return s(f);const a=tl.getSmithyContext(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 pl(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||Ew)(h));return(g.successHandler||cw)(E.response,h),E},Fe=(r)=>({applyToStack:(s)=>{s.addRelativeTo(ra(r),ul.httpSigningMiddlewareOptions)}});var sa=(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 Sr(async(l)=>e().send(new f({Bucket:l,SessionMode:"ReadWrite"}))),bucketEndpoint:r.bucketEndpoint??!1}};var Iw={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},Pw=3000,kw=(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 ea(m);a.body=E;const I=await Nw(w,{streamCollector:async(N)=>{return fa(N,Pw)}});if(typeof w?.destroy==="function")w.destroy();const P=r.utf8Encoder(I.subarray(I.length-16));if(I.length===0&&Iw[e.commandName]){const N=new Error("S3 aborted request");throw N.name="InternalError",N}if(P&&P.endsWith("</Error>"))a.statusCode=400;return l},Nw=(r=new Uint8Array,s)=>{if(r instanceof Uint8Array)return Promise.resolve(r);return s.streamCollector(r)||Promise.resolve(new Uint8Array)},Dw={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},Ts=(r)=>({applyToStack:(s)=>{s.addRelativeTo(kw(r),Dw)}});var ze=(r)=>typeof r==="string"&&r.indexOf("arn:")===0&&r.split(":").length>=6;function la(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 aa={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"};function $w({bucketEndpoint:r}){return(s)=>async(e)=>{const{input:{Bucket:f}}=e;if(!r&&typeof f==="string"&&!ze(f)&&f.indexOf("/")>=0){const l=new Error(`Bucket name shouldn't contain '/', received '${f}'`);throw l.name="InvalidBucketName",l}return s({...e})}}var yw={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},ha=(r)=>({applyToStack:(s)=>{s.add($w(r),yw),s.addRelativeTo(la(r),aa)}});var vr=T(Ge(),1);var ma=(r)=>({...r,eventStreamMarshaller:r.eventStreamSerdeProvider(r)});var Ws=T(Ls(),1);var Ms={CrtSignerV4:null};class Ke{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 _r=T(Rs(),1);var Ir={["required"]:!1,["type"]:"String"},Pr={["required"]:!0,default:!1,["type"]:"Boolean"},Yr={["required"]:!1,["type"]:"Boolean"},_={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!0]},$={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!0]},D={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!0]},C={["fn"]:"isSet",["argv"]:[{["ref"]:"Endpoint"}]},ua={["fn"]:"aws.partition",["argv"]:[{["ref"]:"Region"}],["assign"]:"partitionResult"},ga={["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]},ta={["ref"]:"url"},rh={["fn"]:"uriEncode",["argv"]:[Q],["assign"]:"uri_encoded_bucket"},x={["backend"]:"S3Express",["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3express",["signingRegion"]:"{Region}"}]},d={},sh={["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!1]},Le={["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}"}]},wa={["fn"]:"isSet",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"}]},da={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseS3ExpressControlEndpoint"},!0]},A={["fn"]:"not",["argv"]:[C]},Aa={["error"]:"Unrecognized S3Express bucket name format.",["type"]:"error"},Ra={["fn"]:"not",["argv"]:[Fs]},Sa={["ref"]:"hardwareType"},Ea={["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}"}]},We={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"ForcePathStyle"},!1]},Uw={["ref"]:"ForcePathStyle"},M={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"Accelerate"},!1]},H={["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"aws-global"]},F={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"us-east-1"}]},c={["fn"]:"not",["argv"]:[H]},z={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!0]},ca={["url"]:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:{["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},["headers"]:{}},v={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{Region}"}]},K={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseGlobalEndpoint"},!1]},S={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseDualStack"},!1]},Ia={["url"]:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},R={["fn"]:"booleanEquals",["argv"]:[{["ref"]:"UseFIPS"},!1]},Pa={["url"]:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},ka={["url"]:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Qe={["fn"]:"booleanEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[ta,"isIp"]},!1]},Xe={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:v,["headers"]:{}},ef={["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:v,["headers"]:{}},Na={["endpoint"]:ef,["type"]:"endpoint"},Ze={["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Da={["url"]:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},vs={["error"]:"Invalid region: region was not a valid DNS name.",["type"]:"error"},J={["ref"]:"bucketArn"},eh={["ref"]:"arnType"},Ve={["fn"]:"getAttr",["argv"]:[J,"service"]},ff={["ref"]:"accessPointName"},$a={["conditions"]:[D],["error"]:"S3 Object Lambda does not support Dual-stack",["type"]:"error"},ya={["conditions"]:[_],["error"]:"S3 Object Lambda does not support S3 Accelerate",["type"]:"error"},Ua={["conditions"]:[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableAccessPoints"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableAccessPoints"},!0]}],["error"]:"Access points are not supported for this operation",["type"]:"error"},Je={["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"},fh={["fn"]:"getAttr",["argv"]:[{["ref"]:"bucketPartition"},"name"]},lh={["fn"]:"getAttr",["argv"]:[J,"accountId"]},Be={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{bucketArn#region}"}]},Ta={["error"]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",["type"]:"error"},Ye={["error"]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",["type"]:"error"},Oe={["error"]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",["type"]:"error"},_e={["error"]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",["type"]:"error"},Ma={["error"]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",["type"]:"error"},Ca={["error"]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",["type"]:"error"},Or={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3",["signingRegion"]:"{bucketArn#region}"}]},va={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4a",["signingName"]:"s3-outposts",["signingRegionSet"]:["*"]},{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-outposts",["signingRegion"]:"{bucketArn#region}"}]},Ha={["fn"]:"aws.parseArn",["argv"]:[Q]},Ga={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Fa={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},za={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},qe={["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},Ka={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:{}},La={["ref"]:"UseObjectLambdaEndpoint"},je={["authSchemes"]:[{["disableDoubleEncoding"]:!0,["name"]:"sigv4",["signingName"]:"s3-object-lambda",["signingRegion"]:"{Region}"}]},Wa={["url"]:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Qa={["url"]:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},Xa={["url"]:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},ie={["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:v,["headers"]:{}},Za={["url"]:"https://s3.{Region}.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:{}},be=[{["ref"]:"Region"}],Tw=[{["ref"]:"Endpoint"}],Mw=[Q],xe=[D],Hs=[_],lr=[C,W],Va=[{["fn"]:"isSet",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"}]},{["fn"]:"booleanEquals",["argv"]:[{["ref"]:"DisableS3ExpressSessionAuth"},!0]}],Ja=[Gs],oe=[rh],ne=[sh],kr=[$],Ba=[{["fn"]:"substring",["argv"]:[Q,6,14,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,14,16,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],Ya=[{["conditions"]:[$],["endpoint"]:{["url"]:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:x,["headers"]:{}},["type"]:"endpoint"},{["endpoint"]:{["url"]:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",["properties"]:x,["headers"]:{}},["type"]:"endpoint"}],Oa=[{["fn"]:"substring",["argv"]:[Q,6,15,!0],["assign"]:"s3expressAvailabilityZoneId"},{["fn"]:"substring",["argv"]:[Q,15,17,!0],["assign"]:"s3expressAvailabilityZoneDelim"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"s3expressAvailabilityZoneDelim"},"--"]}],_a=[{["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"}],Cw=[Fs],qa=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"outpostId"},!1]}],ja=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"regionPrefix"},"beta"]}],vw=["*"],n=[ua],ia=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!1]}],p=[{["fn"]:"stringEquals",["argv"]:[{["ref"]:"Region"},"us-east-1"]}],pe=[{["fn"]:"stringEquals",["argv"]:[eh,"accesspoint"]}],ba=[{["fn"]:"getAttr",["argv"]:[J,"resourceId[1]"],["assign"]:"accessPointName"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[ff,""]}]}],Hw=[J,"resourceId[1]"],ue=[{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},""]}]}],xa=[{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[2]"]}]}]}],Gw=[J,"resourceId[2]"],te=[{["fn"]:"aws.partition",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]}],["assign"]:"bucketPartition"}],oa=[{["fn"]:"stringEquals",["argv"]:[fh,{["fn"]:"getAttr",["argv"]:[{["ref"]:"partitionResult"},"name"]}]}],rf=[{["fn"]:"isValidHostLabel",["argv"]:[{["fn"]:"getAttr",["argv"]:[J,"region"]},!0]}],sf=[{["fn"]:"isValidHostLabel",["argv"]:[lh,!1]}],na=[{["fn"]:"isValidHostLabel",["argv"]:[ff,!1]}],pa=[{["fn"]:"isValidHostLabel",["argv"]:[{["ref"]:"Region"},!0]}],Fw={version:"1.0",parameters:{Bucket:Ir,Region:Ir,UseFIPS:Pr,UseDualStack:Pr,Endpoint:Ir,ForcePathStyle:Pr,Accelerate:Pr,UseGlobalEndpoint:Pr,UseObjectLambdaEndpoint:Yr,Key:Ir,Prefix:Ir,CopySource:Ir,DisableAccessPoints:Yr,DisableMultiRegionAccessPoints:Pr,UseArnRegion:Yr,UseS3ExpressControlEndpoint:Yr,DisableS3ExpressSessionAuth:Yr},rules:[{["conditions"]:[{["fn"]:"isSet",["argv"]:be}],rules:[{["conditions"]:[_,$],error:"Accelerate cannot be used with FIPS",["type"]:"error"},{["conditions"]:[D,C],error:"Cannot set dual-stack in combination with a custom endpoint.",["type"]:"error"},{["conditions"]:[C,$],error:"A custom endpoint cannot be combined with FIPS",["type"]:"error"},{["conditions"]:[C,_],error:"A custom endpoint cannot be combined with S3 Accelerate",["type"]:"error"},{["conditions"]:[$,ua,ga],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"]:xe,error:"S3Express does not support Dual-stack.",["type"]:"error"},{["conditions"]:Hs,error:"S3Express does not support S3 Accelerate.",["type"]:"error"},{["conditions"]:lr,rules:[{["conditions"]:Va,rules:[{["conditions"]:Ja,rules:[{["conditions"]:oe,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:x,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:ne,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:x,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Le],["type"]:"tree"},{["conditions"]:Ja,rules:[{["conditions"]:oe,rules:[{endpoint:{["url"]:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",["properties"]:zs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:ne,rules:[{endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:zs,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Le],["type"]:"tree"},{["conditions"]:[wa,da],rules:[{["conditions"]:[rh,A],rules:[{["conditions"]:kr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:x,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",["properties"]:x,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:ne,rules:[{["conditions"]:Va,rules:[{["conditions"]:Ba,rules:Ya,["type"]:"tree"},{["conditions"]:Oa,rules:Ya,["type"]:"tree"},Aa],["type"]:"tree"},{["conditions"]:Ba,rules:_a,["type"]:"tree"},{["conditions"]:Oa,rules:_a,["type"]:"tree"},Aa],["type"]:"tree"},Le],["type"]:"tree"},{["conditions"]:[Ra,wa,da],rules:[{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:x,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://s3express-control-fips.{Region}.amazonaws.com",["properties"]:x,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3express-control.{Region}.amazonaws.com",["properties"]:x,["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"]:be,["assign"]:"regionPartition"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"bucketAliasSuffix"},"--op-s3"]}],rules:[{["conditions"]:qa,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Sa,"e"]}],rules:[{["conditions"]:ja,rules:[Ea,{["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"]:[Sa,"o"]}],rules:[{["conditions"]:ja,rules:[Ea,{["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"]:Cw,rules:[{["conditions"]:[C,{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[{["fn"]:"parseURL",["argv"]:Tw}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",["type"]:"error"},{["conditions"]:[We,sh],rules:[{["conditions"]:n,rules:[{["conditions"]:ia,rules:[{["conditions"]:[_,ga],error:"S3 Accelerate cannot be used in this region",["type"]:"error"},{["conditions"]:[D,$,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,$,M,A,c,z],rules:[{endpoint:ca,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,$,M,A,c,K],endpoint:ca,["type"]:"endpoint"},{["conditions"]:[S,$,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,$,M,A,c,z],rules:[{endpoint:Ia,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,$,M,A,c,K],endpoint:Ia,["type"]:"endpoint"},{["conditions"]:[D,R,_,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,R,_,A,c,z],rules:[{endpoint:Pa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,R,_,A,c,K],endpoint:Pa,["type"]:"endpoint"},{["conditions"]:[D,R,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,R,M,A,c,z],rules:[{endpoint:ka,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,R,M,A,c,K],endpoint:ka,["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Gs,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Qe,H],endpoint:{["url"]:"{url#scheme}://{Bucket}.{url#authority}{url#path}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Gs,c,z],rules:[{["conditions"]:p,endpoint:Xe,["type"]:"endpoint"},{endpoint:Xe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,M,C,W,Qe,c,z],rules:[{["conditions"]:p,endpoint:ef,["type"]:"endpoint"},Na],["type"]:"tree"},{["conditions"]:[S,R,M,C,W,Gs,c,K],endpoint:Xe,["type"]:"endpoint"},{["conditions"]:[S,R,M,C,W,Qe,c,K],endpoint:ef,["type"]:"endpoint"},{["conditions"]:[S,R,_,A,H],endpoint:{["url"]:"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,_,A,c,z],rules:[{["conditions"]:p,endpoint:Ze,["type"]:"endpoint"},{endpoint:Ze,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,_,A,c,K],endpoint:Ze,["type"]:"endpoint"},{["conditions"]:[S,R,M,A,H],endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,R,M,A,c,z],rules:[{["conditions"]:p,endpoint:{["url"]:"https://{Bucket}.s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:Da,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,R,M,A,c,K],endpoint:Da,["type"]:"endpoint"}],["type"]:"tree"},vs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[C,W,{["fn"]:"stringEquals",["argv"]:[{["fn"]:"getAttr",["argv"]:[ta,"scheme"]},"http"]},{["fn"]:"aws.isVirtualHostableS3Bucket",["argv"]:[Q,!0]},We,R,S,M],rules:[{["conditions"]:n,rules:[{["conditions"]:ia,rules:[Na],["type"]:"tree"},vs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[We,{["fn"]:"aws.parseArn",["argv"]:Mw,["assign"]:"bucketArn"}],rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:[J,"resourceId[0]"],["assign"]:"arnType"},{["fn"]:"not",["argv"]:[{["fn"]:"stringEquals",["argv"]:[eh,""]}]}],rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ve,"s3-object-lambda"]}],rules:[{["conditions"]:pe,rules:[{["conditions"]:ba,rules:[$a,ya,{["conditions"]:ue,rules:[Ua,{["conditions"]:xa,rules:[Je,{["conditions"]:te,rules:[{["conditions"]:n,rules:[{["conditions"]:oa,rules:[{["conditions"]:rf,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[lh,""]}],error:"Invalid ARN: Missing account id",["type"]:"error"},{["conditions"]:sf,rules:[{["conditions"]:na,rules:[{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Be,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Be,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Be,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Ta],["type"]:"tree"},Ye],["type"]:"tree"},Oe],["type"]:"tree"},_e],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},Ma],["type"]:"tree"},{error:"Invalid ARN: bucket ARN is missing a region",["type"]:"error"}],["type"]:"tree"},Ca],["type"]:"tree"},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",["type"]:"error"}],["type"]:"tree"},{["conditions"]:pe,rules:[{["conditions"]:ba,rules:[{["conditions"]:ue,rules:[{["conditions"]:pe,rules:[{["conditions"]:ue,rules:[Ua,{["conditions"]:xa,rules:[Je,{["conditions"]:te,rules:[{["conditions"]:n,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[fh,"{partitionResult#name}"]}],rules:[{["conditions"]:rf,rules:[{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ve,"s3"]}],rules:[{["conditions"]:sf,rules:[{["conditions"]:na,rules:[{["conditions"]:Hs,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"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,S],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,D],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,C,W],endpoint:{["url"]:"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S],endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:Or,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},Ta],["type"]:"tree"},Ye],["type"]:"tree"},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",["type"]:"error"}],["type"]:"tree"},Oe],["type"]:"tree"},_e],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},Ma],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"isValidHostLabel",["argv"]:[ff,!0]}],rules:[{["conditions"]:xe,error:"S3 MRAP does not support dual-stack",["type"]:"error"},{["conditions"]:kr,error:"S3 MRAP does not support FIPS",["type"]:"error"},{["conditions"]:Hs,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"]:be,["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"]:vw}]},["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"},Ca],["type"]:"tree"},{["conditions"]:[{["fn"]:"stringEquals",["argv"]:[Ve,"s3-outposts"]}],rules:[{["conditions"]:xe,error:"S3 Outposts does not support Dual-stack",["type"]:"error"},{["conditions"]:kr,error:"S3 Outposts does not support FIPS",["type"]:"error"},{["conditions"]:Hs,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"]:Hw,["assign"]:"outpostId"}],rules:[{["conditions"]:qa,rules:[Je,{["conditions"]:te,rules:[{["conditions"]:n,rules:[{["conditions"]:oa,rules:[{["conditions"]:rf,rules:[{["conditions"]:sf,rules:[{["conditions"]:[{["fn"]:"getAttr",["argv"]:Gw,["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"]:va,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",["properties"]:va,["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"},Ye],["type"]:"tree"},Oe],["type"]:"tree"},_e],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: The Outpost Id was not set",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",["type"]:"error"}],["type"]:"tree"},{error:"Invalid ARN: No ARN type specified",["type"]:"error"}],["type"]:"tree"},{["conditions"]:[{["fn"]:"substring",["argv"]:[Q,0,4,!1],["assign"]:"arnPrefix"},{["fn"]:"stringEquals",["argv"]:[{["ref"]:"arnPrefix"},"arn:"]},{["fn"]:"not",["argv"]:[{["fn"]:"isSet",["argv"]:[Ha]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",["type"]:"error"},{["conditions"]:[{["fn"]:"booleanEquals",["argv"]:[Uw,!0]},Ha],error:"Path-style addressing cannot be used with ARN buckets",["type"]:"error"},{["conditions"]:oe,rules:[{["conditions"]:n,rules:[{["conditions"]:[M],rules:[{["conditions"]:[D,A,$,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,A,$,c,z],rules:[{endpoint:Ga,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,A,$,c,K],endpoint:Ga,["type"]:"endpoint"},{["conditions"]:[S,A,$,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,A,$,c,z],rules:[{endpoint:Fa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,$,c,K],endpoint:Fa,["type"]:"endpoint"},{["conditions"]:[D,A,R,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[D,A,R,c,z],rules:[{endpoint:za,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[D,A,R,c,K],endpoint:za,["type"]:"endpoint"},{["conditions"]:[S,C,W,R,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,C,W,R,c,z],rules:[{["conditions"]:p,endpoint:qe,["type"]:"endpoint"},{endpoint:qe,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,C,W,R,c,K],endpoint:qe,["type"]:"endpoint"},{["conditions"]:[S,A,R,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[S,A,R,c,z],rules:[{["conditions"]:p,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:Ka,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[S,A,R,c,K],endpoint:Ka,["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"]:[La]},{["fn"]:"booleanEquals",["argv"]:[La,!0]}],rules:[{["conditions"]:n,rules:[{["conditions"]:pa,rules:[$a,ya,{["conditions"]:lr,endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:je,["headers"]:d},["type"]:"endpoint"},{["conditions"]:kr,endpoint:{["url"]:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",["properties"]:je,["headers"]:d},["type"]:"endpoint"},{endpoint:{["url"]:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",["properties"]:je,["headers"]:d},["type"]:"endpoint"}],["type"]:"tree"},vs],["type"]:"tree"}],["type"]:"tree"},{["conditions"]:[Ra],rules:[{["conditions"]:n,rules:[{["conditions"]:pa,rules:[{["conditions"]:[$,D,A,H],endpoint:{["url"]:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,D,A,c,z],rules:[{endpoint:Wa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,D,A,c,K],endpoint:Wa,["type"]:"endpoint"},{["conditions"]:[$,S,A,H],endpoint:{["url"]:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[$,S,A,c,z],rules:[{endpoint:Qa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[$,S,A,c,K],endpoint:Qa,["type"]:"endpoint"},{["conditions"]:[R,D,A,H],endpoint:{["url"]:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,D,A,c,z],rules:[{endpoint:Xa,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,D,A,c,K],endpoint:Xa,["type"]:"endpoint"},{["conditions"]:[R,S,C,W,H],endpoint:{["url"]:"{url#scheme}://{url#authority}{url#path}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,C,W,c,z],rules:[{["conditions"]:p,endpoint:ie,["type"]:"endpoint"},{endpoint:ie,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,C,W,c,K],endpoint:ie,["type"]:"endpoint"},{["conditions"]:[R,S,A,H],endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:F,["headers"]:d},["type"]:"endpoint"},{["conditions"]:[R,S,A,c,z],rules:[{["conditions"]:p,endpoint:{["url"]:"https://s3.{partitionResult#dnsSuffix}",["properties"]:v,["headers"]:d},["type"]:"endpoint"},{endpoint:Za,["type"]:"endpoint"}],["type"]:"tree"},{["conditions"]:[R,S,A,c,K],endpoint:Za,["type"]:"endpoint"}],["type"]:"tree"},vs],["type"]:"tree"}],["type"]:"tree"}],["type"]:"tree"},{error:"A region must be set when sending requests to S3.",["type"]:"error"}]},ah=Fw;var zw=new hh({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),Ks=(r,s={})=>{return zw.get(r,()=>gh(ah,{endpointParams:r,logger:s.logger}))};mh.aws=wh;var Rh=function(r){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Sh=function(r){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:r.region},propertiesExtractor:(s,e)=>({signingProperties:{config:s,context:e}})}},Kw=(r)=>async(s,e,f)=>{if(!f)throw new Error("Could not find \`input\` for \`defaultEndpointRuleSetHttpAuthSchemeParametersProvider\`");const l=await r(s,e,f),a=_r.getSmithyContext(e)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw new Error(`getEndpointParameterInstructions() is not defined on \`${e.commandName}\``);const h=await dh(f,{getEndpointParameterInstructions:a},s);return Object.assign(l,h)},Lw=async(r,s,e)=>{return{operation:_r.getSmithyContext(s).operation,region:await _r.normalizeProvider(r.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()}},Ah=Kw(Lw),Ww=(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 tr=h.find((b)=>{const Hr=b.name.toLowerCase();return Hr!=="sigv4a"&&Hr.startsWith("sigv4")});if(!Ms.CrtSignerV4&&tr)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}},Qw=(r)=>{const s=[];switch(r.operation){default:s.push(Rh(r)),s.push(Sh(r))}return s},Eh=Ww(Ks,Qw,{"aws.auth#sigv4":Rh,"aws.auth#sigv4a":Sh}),ch=(r)=>{const s=Ws.resolveAwsSdkSigV4Config(r);return{...Ws.resolveAwsSdkSigV4AConfig(s)}};var Ih=(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 Ph{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 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.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.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])}})(af||(af={}));var hf;(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])}})(hf||(hf={}));var mf;(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])}})(mf||(mf={}));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 Xw=(r)=>({...r,...r.SecretAccessKey&&{SecretAccessKey:Z},...r.SessionToken&&{SessionToken:Z}}),kh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z},...r.Credentials&&{Credentials:Xw(r.Credentials)}}),Nh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var Dh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z}}),$h=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z}});var yr=T(Ls(),1);var js=T(Ge(),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 yh;(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])}})(yh||(yh={}));var Uh=(r)=>({...r,...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}}),Th=(r)=>({...r,...r.SSECustomerKey&&{SSECustomerKey:Z},...r.SSEKMSKeyId&&{SSEKMSKeyId:Z},...r.SSEKMSEncryptionContext&&{SSEKMSEncryptionContext:Z}});var Zh=async(r,s)=>{const e=js.requestBuilder(r,s),f=G({},j,{[_d]:r[$d],[nr]:r[xr],[pr]:r[or],[os]:r[xs],[u]:[()=>j(r[ar]),()=>r[ar].toString()]});e.bp("/"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1);const l=G({[Jd]:[,""]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var Vh=async(r,s)=>{const e=js.requestBuilder(r,s),f=G({},j,{[Hd]:r[md],[Gd]:[()=>j(r[Mh]),()=>qr(r[Mh]).toString()],[wm]:r[nh],[Fd]:[()=>j(r[Ch]),()=>qr(r[Ch]).toString()],[Kd]:r[Rd],[ns]:r[is],[Pm]:r[sm],[ps]:r[bs],[cm]:r[rm],[Am]:r[xh],[Od]:r[uw]});e.bp("/{Key+}"),e.p("Bucket",()=>r.Bucket,"{Bucket}",!1),e.p("Key",()=>r.Key,"{Key+}",!0);const l=G({[Dm]:[,"GetObject"],[Ld]:[,r[Sd]],[Wd]:[,r[Ed]],[Qd]:[,r[cd]],[Xd]:[,r[Id]],[Zd]:[,r[Pd]],[Vd]:[()=>r.ResponseExpires!==void 0,()=>qr(r[kd]).toString()],[Bd]:[,r[Mf]],[zd]:[()=>r.PartNumber!==void 0,()=>r[Ad].toString()]});let a;return e.m("GET").h(f).q(l).b(a),e.build()};var Jh=async(r,s)=>{const e=js.requestBuilder(r,s),f=G({},j,{[mm]:r[bh]||"application/octet-stream",[Yd]:r[ow],[fm]:r[_h],[lm]:r[qh],[am]:r[jh],[hm]:r[ih],[If]:[()=>j(r[Sf]),()=>r[Sf].toString()],[Md]:r[tw],[nd]:r[pw],[Cf]:r[$f],[vf]:r[yf],[Hf]:r[Uf],[Gf]:r[Tf],[Pf]:[()=>j(r[Ef]),()=>qr(r[Ef]).toString()],[wm]:r[nh],[qd]:r[fd],[jd]:r[ld],[id]:r[ad],[bd]:r[hd],[nr]:r[xr],[Im]:r[ir],[Nm]:r[em],[ns]:r[is],[Pm]:r[sm],[ps]:r[bs],[pr]:r[or],[os]:r[xs],[u]:[()=>j(r[ar]),()=>r[ar].toString()],[cm]:r[rm],[pd]:r[yd],[Sm]:r[uh],[kf]:[()=>j(r[cf]),()=>Xh(r[cf]).toString()],[Rm]:r[ph],[Am]:r[xh],...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=G({[Dm]:[,"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 Bh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Df(r,s);const e=G({$metadata:O(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(Lh(await yr.parseXmlBody(r.body,s)),"body");if(f[df]!=null)e[df]=xw(f[df],s);return e};var Yh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Df(r,s);const e=G({$metadata:O(r),[sd]:[()=>r.headers[Hh]!==void 0,()=>br(r.headers[Hh])],[nw]:[,r.headers[Td]],[jr]:[,r.headers[dm]],[Dd]:[,r.headers[xd]],[gd]:[()=>r.headers[vh]!==void 0,()=>Dr(Qr(r.headers[vh]))],[Sf]:[()=>r.headers[If]!==void 0,()=>Wh(r.headers[If])],[oh]:[,r.headers[gm]],[$f]:[,r.headers[Cf]],[yf]:[,r.headers[vf]],[Uf]:[,r.headers[Hf]],[Tf]:[,r.headers[Gf]],[wd]:[()=>r.headers[Gh]!==void 0,()=>qs(r.headers[Gh])],[Mf]:[,r.headers[km]],[_h]:[,r.headers[fm]],[qh]:[,r.headers[lm]],[jh]:[,r.headers[am]],[ih]:[,r.headers[hm]],[rd]:[,r.headers[Cd]],[bh]:[,r.headers[mm]],[Ef]:[()=>r.headers[Pf]!==void 0,()=>Dr(Qr(r.headers[Pf]))],[ed]:[,r.headers[vd]],[em]:[,r.headers[Nm]],[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[Im]],[th]:[,r.headers[Em]],[Nd]:[,r.headers[od]],[dd]:[()=>r.headers[Fh]!==void 0,()=>qs(r.headers[Fh])],[Ud]:[()=>r.headers[zh]!==void 0,()=>qs(r.headers[zh])],[uh]:[,r.headers[Sm]],[cf]:[()=>r.headers[kf]!==void 0,()=>Dr(Nf(r.headers[kf]))],[ph]:[,r.headers[Rm]],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 Oh=async(r,s)=>{if(r.statusCode!==200&&r.statusCode>=300)return Df(r,s);const e=G({$metadata:O(r),[jr]:[,r.headers[dm]],[oh]:[,r.headers[gm]],[$f]:[,r.headers[Cf]],[yf]:[,r.headers[vf]],[Uf]:[,r.headers[Hf]],[Tf]:[,r.headers[Gf]],[xr]:[,r.headers[nr]],[Mf]:[,r.headers[km]],[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])],[th]:[,r.headers[Em]]});return await Kh(r.body,s),e};var Df=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 qw(e,s);case"ObjectNotInActiveTierError":case"com.amazonaws.s3#ObjectNotInActiveTierError":throw await bw(e,s);case"BucketAlreadyExists":case"com.amazonaws.s3#BucketAlreadyExists":throw await Jw(e,s);case"BucketAlreadyOwnedByYou":case"com.amazonaws.s3#BucketAlreadyOwnedByYou":throw await Bw(e,s);case"NoSuchBucket":case"com.amazonaws.s3#NoSuchBucket":throw await Ow(e,s);case"InvalidObjectState":case"com.amazonaws.s3#InvalidObjectState":throw await Yw(e,s);case"NoSuchKey":case"com.amazonaws.s3#NoSuchKey":throw await _w(e,s);case"NotFound":case"com.amazonaws.s3#NotFound":throw await jw(e,s);case"ObjectAlreadyInActiveTierError":case"com.amazonaws.s3#ObjectAlreadyInActiveTierError":throw await iw(e,s);default:const l=e.body;return Vw({output:r,parsedBody:l,errorCode:f})}},Vw=Qh(X),Jw=async(r,s)=>{const e=G({}),f=r.body,l=new Zs({$metadata:O(r),...e});return i(l,r.body)},Bw=async(r,s)=>{const e=G({}),f=r.body,l=new Vs({$metadata:O(r),...e});return i(l,r.body)},Yw=async(r,s)=>{const e=G({}),f=r.body;if(f[wf]!=null)e[wf]=$r(f[wf]);if(f[ir]!=null)e[ir]=$r(f[ir]);const l=new Bs({$metadata:O(r),...e});return i(l,r.body)},Ow=async(r,s)=>{const e=G({}),f=r.body,l=new Js({$metadata:O(r),...e});return i(l,r.body)},_w=async(r,s)=>{const e=G({}),f=r.body,l=new Ys({$metadata:O(r),...e});return i(l,r.body)},qw=async(r,s)=>{const e=G({}),f=r.body,l=new Qs({$metadata:O(r),...e});return i(l,r.body)},jw=async(r,s)=>{const e=G({}),f=r.body,l=new Os({$metadata:O(r),...e});return i(l,r.body)},iw=async(r,s)=>{const e=G({}),f=r.body,l=new _s({$metadata:O(r),...e});return i(l,r.body)},bw=async(r,s)=>{const e=G({}),f=r.body,l=new Xs({$metadata:O(r),...e});return i(l,r.body)};var xw=(r,s)=>{const e={};if(r[gf]!=null)e[gf]=$r(r[gf]);if(r[Af]!=null)e[Af]=$r(r[Af]);if(r[Rf]!=null)e[Rf]=$r(r[Rf]);if(r[jr]!=null)e[jr]=Dr(Nf(r[jr]));return e};var O=(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 ow="ACL";var gf="AccessKeyId";var nw="AcceptRanges";var wf="AccessTier";var ar="BucketKeyEnabled";var df="Credentials",pw="ChecksumAlgorithm";var _h="CacheControl",$f="ChecksumCRC32",yf="ChecksumCRC32C",qh="ContentDisposition";var jh="ContentEncoding";var ih="ContentLanguage",Sf="ContentLength",uw="ChecksumMode",tw="ContentMD5";var rd="ContentRange";var Uf="ChecksumSHA1",Tf="ChecksumSHA256";var bh="ContentType";var sd="DeleteMarker";var Ef="Expires";var xh="ExpectedBucketOwner";var ed="ExpiresString";var oh="ETag";var jr="Expiration";var fd="GrantFullControl";var ld="GrantRead",ad="GrantReadACP";var hd="GrantWriteACP";var md="IfMatch",Mh="IfModifiedSince",nh="IfNoneMatch";var Ch="IfUnmodifiedSince";var gd="LastModified";var wd="MissingMeta";var ph="ObjectLockLegalHoldStatus",uh="ObjectLockMode";var cf="ObjectLockRetainUntilDate";var dd="PartsCount";var Ad="PartNumber";var Rd="Range";var th="RequestCharged",Sd="ResponseCacheControl",Ed="ResponseContentDisposition",cd="ResponseContentEncoding",Id="ResponseContentLanguage",Pd="ResponseContentType";var kd="ResponseExpires";var rm="RequestPayer";var Nd="ReplicationStatus";var Dd="Restore";var Af="SecretAccessKey";var ir="StorageClass";var $d="SessionMode";var xr="ServerSideEncryption";var is="SSECustomerAlgorithm",sm="SSECustomerKey",bs="SSECustomerKeyMD5";var xs="SSEKMSEncryptionContext",or="SSEKMSKeyId";var Rf="SessionToken";var yd="Tagging";var Ud="TagCount";var Mf="VersionId";var em="WebsiteRedirectLocation";var Td="accept-ranges";var fm="cache-control",lm="content-disposition",am="content-encoding",hm="content-language",If="content-length",Md="content-md5",Cd="content-range",mm="content-type";var Pf="expires";var gm="etag",vd="expiresstring";var Hd="if-match",Gd="if-modified-since";var wm="if-none-match";var Fd="if-unmodified-since";var vh="last-modified";var zd="partNumber";var Kd="range",Ld="response-cache-control",Wd="response-content-disposition",Qd="response-content-encoding",Xd="response-content-language",Zd="response-content-type",Vd="response-expires";var Jd="session";var Bd="versionId";var Yd="x-amz-acl";var Cf="x-amz-checksum-crc32",vf="x-amz-checksum-crc32c",Od="x-amz-checksum-mode";var Hf="x-amz-checksum-sha1",Gf="x-amz-checksum-sha256";var _d="x-amz-create-session-mode";var Hh="x-amz-delete-marker",dm="x-amz-expiration",Am="x-amz-expected-bucket-owner";var qd="x-amz-grant-full-control",jd="x-amz-grant-read",id="x-amz-grant-read-acp";var bd="x-amz-grant-write-acp";var Gh="x-amz-missing-meta";var Fh="x-amz-mp-parts-count";var Rm="x-amz-object-lock-legal-hold",Sm="x-amz-object-lock-mode",kf="x-amz-object-lock-retain-until-date";var xd="x-amz-restore",Em="x-amz-request-charged";var cm="x-amz-request-payer";var od="x-amz-replication-status";var Im="x-amz-storage-class",nd="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",Pm="x-amz-server-side-encryption-customer-key",ps="x-amz-server-side-encryption-customer-key-md5",pd="x-amz-tagging",zh="x-amz-tagging-count";var km="x-amz-version-id",Nm="x-amz-website-redirect-location",Dm="x-id";class Ff 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(Nh,kh).ser(Zh).de(Bh).build(){}var $m={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=T(Ls(),1);var td="AWS_S3_USE_ARN_REGION",rA="s3_use_arn_region",ym={environmentVariableSelector:(r)=>er(r,td,fr.ENV),configFileSelector:(r)=>er(r,rA,fr.CONFIG),default:!1};var t=T(Er(),1);var Tm=T(Er(),1),Um=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)Um(s);return new Cr(s)}valueOf(){const r=this.bytes.slice(0),s=r[0]&128;if(s)Um(r);return parseInt(Tm.toHex(r),16)*(s?-1:1)}toString(){return String(this.valueOf())}}class zf{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(!kA.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:Cm,value:!0};break;case 1:s[l]={type:Cm,value:!1};break;case 2:s[l]={type:dA,value:r.getInt8(e++)};break;case 3:s[l]={type:AA,value:r.getInt16(e,!1)},e+=2;break;case 4:s[l]={type:RA,value:r.getInt32(e,!1)},e+=4;break;case 5:s[l]={type:SA,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:EA,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:cA,value:this.toUtf8(new Uint8Array(r.buffer,r.byteOffset+e,h))},e+=h;break;case 8:s[l]={type:IA,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:PA,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 Mm;(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"})(Mm||(Mm={}));var Cm="boolean",dA="byte",AA="short",RA="integer",SA="long",EA="binary",cA="string",IA="timestamp",PA="uuid",kA=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;function Hm({byteLength:r,byteOffset:s,buffer:e}){if(r<NA)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(vm,!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 vm=4,rr=vm*2,hr=4,NA=rr+hr*2;class Kf{constructor(r,s){this.headerMarshaller=new zf(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}=Hm(r);return{headers:this.headerMarshaller.parse(s),body:e}}formatHeaders(r){return this.headerMarshaller.format(r)}}class Lf{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 Wf{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 Qf{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 Xf{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 Gm(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 Fm(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 Kf(r,s),this.utfEncoder=r}deserialize(r,s){const e=Gm(r);return new Qf({messageStream:new Lf({inputStream:e,decoder:this.eventStreamCodec}),deserializer:Fm(s,this.utfEncoder)})}serialize(r,s){return new Wf({messageStream:new Xf({inputStream:r,serializer:s}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}import{Readable as DA} from"stream";async function*zm(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 Zf{constructor({utf8Encoder:r,utf8Decoder:s}){this.universalMarshaller=new us({utf8Decoder:s,utf8Encoder:r})}deserialize(r,s){const e=typeof r[Symbol.asyncIterator]==="function"?r:zm(r);return this.universalMarshaller.deserialize(e,s)}serialize(r,s){return DA.from(this.universalMarshaller.serialize(r,s))}}var Km=(r)=>new Zf(r);import{Writable as $A} from"stream";class ts extends $A{constructor(r,s){super(s);this.hash=r}_write(r,s,e){try{this.hash.update(Y(r))}catch(f){return e(f)}e()}}var Lm=(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=T(Ls(),1);var Bm=(r)=>{return{apiVersion:"2006-03-01",base64Decoder:r?.base64Decoder??Qm,base64Encoder:r?.base64Encoder??Xm,disableHostPrefix:r?.disableHostPrefix??!1,endpointProvider:r?.endpointProvider??Ks,extensions:r?.extensions??[],getAwsChunkedEncodingStream:r?.getAwsChunkedEncodingStream??Zm,httpAuthSchemeProvider:r?.httpAuthSchemeProvider??Eh,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 Ss,sdkStreamMixin:r?.sdkStreamMixin??Vm,serviceId:r?.serviceId??"S3",signerConstructor:r?.signerConstructor??Ke,signingEscapePath:r?.signingEscapePath??!1,urlParser:r?.urlParser??Jm,useArnRegion:r?.useArnRegion??!1,utf8Decoder:r?.utf8Decoder??Vr,utf8Encoder:r?.utf8Encoder??Wm}};var eg=(r)=>{qm(process.version);const s=rg(r),e=()=>s().then(_m),f=Bm(r);return ee.emitWarningIfUnsupportedVersion(process.version),{...f,...r,runtime:"node",defaultsMode:s,bodyLengthChecker:r?.bodyLengthChecker??tm,credentialDefaultProvider:r?.credentialDefaultProvider??sg,defaultUserAgentProvider:r?.defaultUserAgentProvider??um({serviceId:f.serviceId,clientVersion:$m.version}),disableS3ExpressSessionAuth:r?.disableS3ExpressSessionAuth??q(ve),eventStreamSerdeProvider:r?.eventStreamSerdeProvider??Km,maxAttempts:r?.maxAttempts??q(nm),md5:r?.md5??se.bind(null,"md5"),region:r?.region??q(bm,xm),requestChecksumCalculation:r?.requestChecksumCalculation??q(nf),requestHandler:Ym.create(r?.requestHandler??e),responseChecksumValidation:r?.responseChecksumValidation??q(pf),retryMode:r?.retryMode??q({...pm,default:async()=>(await e()).retryMode||om}),sha1:r?.sha1??se.bind(null,"sha1"),sha256:r?.sha256??se.bind(null,"sha256"),sigv4aSigningRegionSet:r?.sigv4aSigningRegionSet??q(ee.NODE_SIGV4A_CONFIG_OPTIONS),streamCollector:r?.streamCollector??Om,streamHasher:r?.streamHasher??Lm,useArnRegion:r?.useArnRegion??q(ym),useDualstackEndpoint:r?.useDualstackEndpoint??q(jm),useFipsEndpoint:r?.useFipsEndpoint??q(im)}};var fg=(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}}},lg=(r)=>{return{httpAuthSchemes:r.httpAuthSchemes(),httpAuthSchemeProvider:r.httpAuthSchemeProvider(),credentials:r.credentials()}};var fe=(r)=>r,Ag=(r,s)=>{const e={...fe(wg(r)),...fe(mg(r)),...fe(ag(r)),...fe(fg(r))};return s.forEach((f)=>f.configure(e)),{...r,...dg(e),...gg(e),...hg(e),...lg(e)}};class Vf extends Ig{constructor(...[r]){const s=eg(r||{}),e=Ih(s),f=Pg(e),l=Al(f),a=yg(l),h=Ng(a),m=Rg(h),g=$g(m),w=ma(g),E=ch(w),I=sa(E,{session:[()=>this,Ff]}),P=Ag(I,r?.extensions||[]);super(P);this.config=P,this.middlewareStack.use(kg(this.config)),this.middlewareStack.use(Ug(this.config)),this.middlewareStack.use(Dg(this.config)),this.middlewareStack.use(Sg(this.config)),this.middlewareStack.use(Eg(this.config)),this.middlewareStack.use(cg(this.config)),this.middlewareStack.use(vr.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:Ah,identityProviderConfigProvider:async(N)=>new vr.DefaultIdentityProviderConfig({"aws.auth#sigv4":N.credentials,"aws.auth#sigv4a":N.credentials})})),this.middlewareStack.use(vr.getHttpSigningPlugin(this.config)),this.middlewareStack.use(ha(this.config)),this.middlewareStack.use(jf(this.config)),this.middlewareStack.use(cl(this.config)),this.middlewareStack.use(He(this.config)),this.middlewareStack.use(Fe(this.config))}destroy(){super.destroy()}}function yA(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(TA(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 TA(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 UA={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},le=(r)=>({applyToStack:(s)=>{s.add(yA(r),UA)}});class Jf 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()),As(e,{input:this.input,requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC32","CRC32C","SHA256","SHA1"]}),le(e),Il(e)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").f($h,Dh).ser(Vh).de(Yh).build(){}class Bf 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()),As(e,{input:this.input,requestAlgorithmMember:"ChecksumAlgorithm",requestChecksumRequired:!1}),Rl(e),Ts(e),le(e)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").f(Th,Uh).ser(Jh).de(Oh).build(){}import{Buffer as Tg} from"buffer";class Mg extends mr{client;constructor(...r){super();this.client=new Vf(...r)}async put(r){let s,e,f,l=process.env.BUCKET_NAME;if(r instanceof Blob)s=r,f=`${rs()}.${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 Tg?s:Tg.from(await s.arrayBuffer());return await this.client.send(new Bf({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 Jf({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 Cg extends B{constructor(){super(...arguments)}driver=new he;boot(){}}import*as GA from"react-dom/server";var zg=T(MA(),1);import{Writable as LA} from"stream";var{defineProperty:CA,getOwnPropertySymbols:vg}=Object,vA=Object.prototype.hasOwnProperty,HA=Object.prototype.propertyIsEnumerable,Hg=(r,s,e)=>(s in r)?CA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,Yf=(r,s)=>{for(var e in s||(s={}))if(vA.call(s,e))Hg(r,e,s[e]);if(vg){for(var e of vg(s))if(HA.call(s,e))Hg(r,e,s[e])}return r},Of=(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())})},FA={unformatted:["code","pre","em","strong","span"],indent_inner_html:!0,indent_char:" ",indent_size:2,sep:"\n"},zA=(r,s={})=>{return zg.default.html(r,Yf(Yf({},FA),s))},KA=[{selector:"img",format:"skip"},{selector:"#__react-email-preview",format:"skip"},{selector:"a",options:{linkBrackets:!1}}];var Gg=new TextDecoder("utf-8"),Fg=(r)=>Of(void 0,null,function*(){let s="";if("pipeTo"in r){const e=new WritableStream({write(f){s+=Gg.decode(f)}});yield r.pipeTo(e)}else{const e=new LA({write(f,l,a){s+=Gg.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)=>Of(void 0,null,function*(){const{default:e}=yield import("react-dom/server");let f;if(Object.hasOwn(e,"renderToReadableStream"))f=yield Fg(yield e.renderToReadableStream(r));else yield new Promise((h,m)=>{const g=e.renderToPipeableStream(r,{onAllReady(){return Of(this,null,function*(){f=yield Fg(g),h()})},onError(w){m(w)}})});if(s==null?void 0:s.plainText)return _f(f,Yf({selectors:KA},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 zA(a);return a});var{defineProperty:WA,defineProperties:QA,getOwnPropertyDescriptors:XA,getOwnPropertySymbols:Kg}=Object,ZA=Object.prototype.hasOwnProperty,VA=Object.prototype.propertyIsEnumerable,Lg=(r,s,e)=>(s in r)?WA(r,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[s]=e,ur=(r,s)=>{for(var e in s||(s={}))if(ZA.call(s,e))Lg(r,e,s[e]);if(Kg){for(var e of Kg(s))if(VA.call(s,e))Lg(r,e,s[e])}return r},JA=(r,s)=>QA(r,XA(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())})},BA="3.5.0",YA=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}`)})}},OA=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}`)})}},_A=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)})}},qA=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}`)})}},jA=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`)})}},iA=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}`)})}},Wg="https://api.resend.com",Qg=`resend-node:${BA}`,bA=typeof process!=="undefined"&&process.env?process.env.RESEND_BASE_URL||Wg:Wg,xA=typeof process!=="undefined"&&process.env?process.env.RESEND_USER_AGENT||Qg:Qg,Xg=class{constructor(r){if(this.key=r,this.apiKeys=new YA(this),this.audiences=new OA(this),this.batch=new _A(this),this.contacts=new qA(this),this.domains=new jA(this),this.emails=new iA(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":xA,"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:JA(ur({},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=ur({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=ur({method:"GET",headers:this.headers},e);return this.fetchRequest(s,f)})}put(r,s){return k(this,arguments,function*(e,f,l={}){const a=ur({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=ur({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 Xg(this.apiKey),{data:e,error:f}=await s.emails.send({...r});if(f)throw f;if(e)return!0}}class Zg extends B{constructor(){super(...arguments)}debug=!0;defaultFrom="";driver=new we;boot(){}}class Vg extends B{constructor(){super(...arguments)}channels={};boot(){}}class Jg extends B{constructor(){super(...arguments)}root;rootRouter;boot(){}}class Bg extends B{constructor(){super(...arguments)}rootRouter;boot(){return"Origin"}}export{Jg as ViewRouterServiceProvider,Mg as S3Driver,we as ResendDriver,Cg as RateLimiterServiceProvider,ae as RateLimiterDriver,he as InMemoryRateLimiter,ss as FileSystemDriver,qf as FileStorageServiceProvider,mr as FileStorageDriver,Zg as EmailServiceProvider,ge as EmailDriver,Vg as BroadcastingServiceProvider,Bg as ApiRouterServiceProvider};export{qf as w,Bg as x,Cg as y,Zg as z,Vg as A,Jg as B};
|
|
12
12
|
|
|
13
|
-
//# debugId=
|
|
13
|
+
//# debugId=78FEC20A09E749DA64756e2164756e21
|