@shumai-one/shumai 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/bin/chunk-01052ssf.js +32 -0
  2. package/bin/{chunk-w4ydfy9d.js → chunk-02fvcrej.js} +4 -4
  3. package/bin/chunk-0bj887zm.js +2 -0
  4. package/bin/chunk-167z646e.js +2 -0
  5. package/bin/chunk-1ktk6764.js +10 -0
  6. package/bin/{chunk-p1ed0pa6.js → chunk-1nvd90g2.js} +1 -1
  7. package/bin/{chunk-kywdke0y.js → chunk-1wfg56z3.js} +5 -5
  8. package/bin/{chunk-ahgq10a7.js → chunk-257dcd2f.js} +2 -2
  9. package/bin/chunk-26qn7fek.js +2 -0
  10. package/bin/chunk-2cdxm1cp.js +55 -0
  11. package/bin/chunk-2jj4j8cn.js +3 -0
  12. package/bin/chunk-2ne2b54t.js +2 -0
  13. package/bin/{chunk-qqj2m1b1.js → chunk-2nhgdqdg.js} +2 -2
  14. package/bin/chunk-2vbeqczj.js +1 -0
  15. package/bin/chunk-37p6bcx2.js +1 -0
  16. package/bin/chunk-3ckkwdjx.js +13 -0
  17. package/bin/chunk-3knfx6dm.js +1 -0
  18. package/bin/chunk-3z85zxkn.js +1 -0
  19. package/bin/chunk-4mws03es.js +5 -0
  20. package/bin/chunk-54tbfvya.js +2 -0
  21. package/bin/chunk-55h9ze53.js +2 -0
  22. package/bin/chunk-56kh5fxc.js +1 -0
  23. package/bin/chunk-576nj64j.js +2 -0
  24. package/bin/{chunk-dfecgpce.js → chunk-5wapd171.js} +13 -13
  25. package/bin/chunk-6cnqjngz.js +1 -0
  26. package/bin/chunk-73yncv54.js +2 -0
  27. package/bin/chunk-7g46e1wy.js +3 -0
  28. package/bin/{chunk-jq3pq545.js → chunk-7naa7tpn.js} +2 -2
  29. package/bin/{chunk-am6dg0a5.js → chunk-7sgrtxbt.js} +2 -2
  30. package/bin/{chunk-3me1v3z5.js → chunk-7v7mypc6.js} +2 -2
  31. package/bin/chunk-82tps5n1.js +2 -0
  32. package/bin/chunk-84x8p7v5.js +1 -0
  33. package/bin/{chunk-fxtzy5f5.js → chunk-88jg9dq5.js} +2 -2
  34. package/bin/chunk-8cjet7pp.js +12 -0
  35. package/bin/chunk-8fyg9dy4.js +2 -0
  36. package/bin/chunk-8gtfgkrn.js +2 -0
  37. package/bin/chunk-8mqbztj8.js +2 -0
  38. package/bin/chunk-8xb6yz11.js +2 -0
  39. package/bin/chunk-8yjsmr7g.js +2 -0
  40. package/bin/chunk-91rb0jpb.js +2 -0
  41. package/bin/chunk-96qpjght.js +2 -0
  42. package/bin/chunk-9f1xk1nt.js +1 -0
  43. package/bin/chunk-9mk9cvbk.js +1 -0
  44. package/bin/{chunk-r5g84kj4.js → chunk-9n1w5dw1.js} +3 -3
  45. package/bin/chunk-9nw5w8vh.js +1 -0
  46. package/bin/{chunk-3j82q2gj.js → chunk-9t3p4xp6.js} +1 -1
  47. package/bin/chunk-9xhjy897.js +11 -0
  48. package/bin/chunk-9zsv6d2f.js +1 -0
  49. package/bin/chunk-a411xhmm.js +7 -0
  50. package/bin/{chunk-s01p4w8d.js → chunk-a74g6h8a.js} +2 -2
  51. package/bin/chunk-ah8fjb6f.js +2 -0
  52. package/bin/chunk-atfz7g7e.js +2 -0
  53. package/bin/{chunk-swz6v48q.js → chunk-b5rhvzv9.js} +2 -2
  54. package/bin/{chunk-bg6waaf9.js → chunk-b7bnp021.js} +2 -2
  55. package/bin/chunk-cf5axr8c.js +1 -0
  56. package/bin/chunk-cgmebxx6.js +2 -0
  57. package/bin/chunk-cwat1jwx.js +3 -0
  58. package/bin/chunk-cz13a82m.js +3 -0
  59. package/bin/chunk-dk42gf7v.js +2 -0
  60. package/bin/chunk-e4f56spj.js +4 -0
  61. package/bin/chunk-e4yscwen.js +18 -0
  62. package/bin/chunk-eb7mzbfm.js +1 -0
  63. package/bin/chunk-er14d498.js +3 -0
  64. package/bin/{chunk-bs6saf4d.js → chunk-eyjfhdp9.js} +2 -2
  65. package/bin/chunk-f25fe9th.js +393 -0
  66. package/bin/chunk-f6avg5qe.js +129 -0
  67. package/bin/chunk-fatmqnp1.js +2 -0
  68. package/bin/chunk-fvx9k1dc.js +2 -0
  69. package/bin/{chunk-h6f2gyt5.js → chunk-g22wmpk1.js} +2 -2
  70. package/bin/chunk-g6sdezec.js +2 -0
  71. package/bin/chunk-gtf19jc1.js +2 -0
  72. package/bin/chunk-gxepkvt2.js +2 -0
  73. package/bin/chunk-h1n7jqnw.js +1 -0
  74. package/bin/chunk-hfm82066.js +2 -0
  75. package/bin/chunk-hnkcgvcj.js +3 -0
  76. package/bin/{chunk-agcnbjxk.js → chunk-hpbn0k9n.js} +2 -2
  77. package/bin/{chunk-d4hk62q2.js → chunk-hpwv4am3.js} +4 -4
  78. package/bin/{chunk-acmr8v0d.js → chunk-hw6czrya.js} +1 -1
  79. package/bin/{chunk-r9gp9yqw.js → chunk-hzkjgcre.js} +1 -1
  80. package/bin/chunk-j2s311yc.js +3 -0
  81. package/bin/{chunk-6hzktewz.js → chunk-jt02kpfc.js} +2 -2
  82. package/bin/{chunk-c60j1b4w.js → chunk-jt0ykktx.js} +1 -1
  83. package/bin/{chunk-sd6w0z6a.js → chunk-jzgbxqdg.js} +2 -2
  84. package/bin/chunk-kj6h5j5a.js +4 -0
  85. package/bin/chunk-km4gn6b6.js +1 -0
  86. package/bin/chunk-knj2s8mg.js +16 -0
  87. package/bin/{chunk-1eqw2dpx.js → chunk-kvhf12b4.js} +2 -2
  88. package/bin/chunk-m0q2cgfg.js +2 -0
  89. package/bin/chunk-m82tkhaa.js +11 -0
  90. package/bin/chunk-m9adtgzk.js +2 -0
  91. package/bin/{chunk-0tvnfy4k.js → chunk-mcj1xpcc.js} +2 -2
  92. package/bin/chunk-mcw198kg.js +13 -0
  93. package/bin/{chunk-9s0k533c.js → chunk-mwktrwtx.js} +1 -1
  94. package/bin/{chunk-wsprap60.js → chunk-mzsw9var.js} +2 -2
  95. package/bin/chunk-ns33grgx.js +2 -0
  96. package/bin/{chunk-xsfy8hz3.js → chunk-ny1kbmxt.js} +2 -2
  97. package/bin/{chunk-16n160h1.js → chunk-p3f5aevs.js} +1 -1
  98. package/bin/chunk-p3j6ydk1.js +1 -0
  99. package/bin/chunk-p4s95471.js +2 -0
  100. package/bin/chunk-pk406dgy.js +2 -0
  101. package/bin/chunk-q2bew2vc.js +2 -0
  102. package/bin/chunk-q5vkxee3.js +5 -0
  103. package/bin/{chunk-hzv1mhr5.js → chunk-q83h0hkx.js} +2 -2
  104. package/bin/{chunk-fre31bhw.js → chunk-q8w4mbw4.js} +2 -2
  105. package/bin/{chunk-b7qs7hxg.js → chunk-qwpkcp8d.js} +2 -2
  106. package/bin/chunk-r1xer8gn.js +5 -0
  107. package/bin/chunk-s1e4qy3q.js +14 -0
  108. package/bin/{chunk-b9d8xdhb.js → chunk-s9ksftq2.js} +1 -1
  109. package/bin/chunk-srxp5jav.js +42 -0
  110. package/bin/chunk-swtwaaqe.js +1 -0
  111. package/bin/chunk-tagdrg7p.js +1 -0
  112. package/bin/{chunk-d18v5vmp.js → chunk-tekwpkjf.js} +2 -2
  113. package/bin/chunk-twtxnzbv.js +2 -0
  114. package/bin/{chunk-c6f8x05m.js → chunk-v05rrxp5.js} +2 -2
  115. package/bin/{chunk-ht5rht98.js → chunk-v5cn90cf.js} +2 -2
  116. package/bin/chunk-v5mcjwxy.js +2 -0
  117. package/bin/{chunk-jb8vbeb0.js → chunk-vcrmjtcz.js} +2 -2
  118. package/bin/chunk-vkzasgxw.js +2 -0
  119. package/bin/chunk-vp3czaeh.js +7 -0
  120. package/bin/chunk-x03jwaga.js +8 -0
  121. package/bin/chunk-x342vzdx.js +2 -0
  122. package/bin/chunk-x8mjh387.js +5 -0
  123. package/bin/chunk-xc54vhfz.js +2 -0
  124. package/bin/chunk-xvkwbczx.js +3 -0
  125. package/bin/chunk-y241cxff.js +1 -0
  126. package/bin/chunk-yk12hydf.js +7 -0
  127. package/bin/chunk-ympbfzz4.js +2 -0
  128. package/bin/{chunk-n412a1hp.js → chunk-yq32evnn.js} +6 -6
  129. package/bin/chunk-z1p13dnc.js +2 -0
  130. package/bin/chunk-zarz3sqn.js +211 -0
  131. package/bin/chunk-zezje74z.js +4 -0
  132. package/bin/chunk-zrszykjf.js +3 -0
  133. package/bin/shumai-app.html +1 -1
  134. package/bin/shumai-app.js +942 -1015
  135. package/package.json +7 -7
  136. package/prisma/migrations/20261026024507_hash_api_tokens/migration.sql +28 -0
  137. package/prisma/migrations/20261026031904_add_audit_log_via/migration.sql +2 -0
  138. package/prisma/migrations/20261029024626_add_oauth_and_jwks/migration.sql +205 -0
  139. package/prisma/migrations/20261029030321_default_empty_arrays_oauth/migration.sql +25 -0
  140. package/prisma/schema.prisma +186 -1
  141. package/bin/chunk-0502p2k7.js +0 -3
  142. package/bin/chunk-0b0t6y8h.js +0 -11
  143. package/bin/chunk-1vt9ss7d.js +0 -2
  144. package/bin/chunk-23780yj6.js +0 -3
  145. package/bin/chunk-2cpsfc87.js +0 -1
  146. package/bin/chunk-2w0d9veg.js +0 -2
  147. package/bin/chunk-2xp9prpq.js +0 -1
  148. package/bin/chunk-3gqs15zq.js +0 -2
  149. package/bin/chunk-3pw7z25v.js +0 -3
  150. package/bin/chunk-3tx9v8kj.js +0 -2
  151. package/bin/chunk-3wdtp4ht.js +0 -1
  152. package/bin/chunk-57axjy7y.js +0 -1
  153. package/bin/chunk-5aqthcm6.js +0 -5
  154. package/bin/chunk-5gq4q1bb.js +0 -2
  155. package/bin/chunk-5r1br11d.js +0 -2
  156. package/bin/chunk-61hrdg0g.js +0 -1
  157. package/bin/chunk-6aa4xmnw.js +0 -2
  158. package/bin/chunk-6mrgtn78.js +0 -18
  159. package/bin/chunk-6s55r0z9.js +0 -1
  160. package/bin/chunk-6vkfzzvt.js +0 -5
  161. package/bin/chunk-7dprpnm6.js +0 -2
  162. package/bin/chunk-7rycq6wb.js +0 -129
  163. package/bin/chunk-895gzdtp.js +0 -7
  164. package/bin/chunk-8d1p8qpv.js +0 -1
  165. package/bin/chunk-8r3k84dh.js +0 -2
  166. package/bin/chunk-99sarrvt.js +0 -3
  167. package/bin/chunk-b21z62fj.js +0 -1
  168. package/bin/chunk-bv589v2m.js +0 -3
  169. package/bin/chunk-c8kjpmfe.js +0 -2
  170. package/bin/chunk-c9xyejnk.js +0 -2
  171. package/bin/chunk-cb9peqy5.js +0 -2
  172. package/bin/chunk-ckczqmrz.js +0 -5
  173. package/bin/chunk-cr33cs6j.js +0 -2
  174. package/bin/chunk-cxet91kt.js +0 -2
  175. package/bin/chunk-d7e351jd.js +0 -6
  176. package/bin/chunk-ebcfbn00.js +0 -2
  177. package/bin/chunk-f0b4a9y3.js +0 -2
  178. package/bin/chunk-fkn6f4qt.js +0 -4
  179. package/bin/chunk-g78vapcm.js +0 -2
  180. package/bin/chunk-gdpfwxea.js +0 -4
  181. package/bin/chunk-gwqqq0b1.js +0 -32
  182. package/bin/chunk-h3cwf9aw.js +0 -2
  183. package/bin/chunk-h4ty530v.js +0 -16
  184. package/bin/chunk-h58yfx7w.js +0 -2
  185. package/bin/chunk-h9ngpxyd.js +0 -1
  186. package/bin/chunk-hbr17jvr.js +0 -13
  187. package/bin/chunk-hc0xbmtt.js +0 -5
  188. package/bin/chunk-j9t7tvt5.js +0 -2
  189. package/bin/chunk-jvt8q0eg.js +0 -2
  190. package/bin/chunk-jzgtthsj.js +0 -3
  191. package/bin/chunk-jzjhg7ng.js +0 -1
  192. package/bin/chunk-k547syp2.js +0 -2
  193. package/bin/chunk-k7sjpke6.js +0 -2
  194. package/bin/chunk-k8ct1qgv.js +0 -3
  195. package/bin/chunk-k9q4nn8b.js +0 -11
  196. package/bin/chunk-keetdtxb.js +0 -2
  197. package/bin/chunk-kjjw8mbg.js +0 -1
  198. package/bin/chunk-mey80kv9.js +0 -54
  199. package/bin/chunk-nfncawpm.js +0 -12
  200. package/bin/chunk-nvwt8atc.js +0 -1
  201. package/bin/chunk-p1d500sf.js +0 -211
  202. package/bin/chunk-q0vs124k.js +0 -2
  203. package/bin/chunk-q5795f3s.js +0 -2
  204. package/bin/chunk-q5j3b0h5.js +0 -3
  205. package/bin/chunk-qd7pvaxb.js +0 -2
  206. package/bin/chunk-qhpt7170.js +0 -2
  207. package/bin/chunk-qt78vs3g.js +0 -2
  208. package/bin/chunk-ra6mdjr0.js +0 -1
  209. package/bin/chunk-ryfvaz6v.js +0 -3
  210. package/bin/chunk-s22eapcc.js +0 -2
  211. package/bin/chunk-sbg86tch.js +0 -2
  212. package/bin/chunk-sbqy6m8t.js +0 -1
  213. package/bin/chunk-sdp9w627.js +0 -14
  214. package/bin/chunk-sn0nypvd.js +0 -42
  215. package/bin/chunk-sv92vkyh.js +0 -2
  216. package/bin/chunk-t6cn018t.js +0 -3
  217. package/bin/chunk-ts4d1mxf.js +0 -2
  218. package/bin/chunk-wkdkc12e.js +0 -4
  219. package/bin/chunk-xgnvktq6.js +0 -10
  220. package/bin/chunk-xjw3mpvx.js +0 -1
  221. package/bin/chunk-xznq2axj.js +0 -1
  222. package/bin/chunk-y4v08wq7.js +0 -1
  223. package/bin/chunk-yncvy335.js +0 -3
  224. package/bin/chunk-ytzddcj2.js +0 -1
  225. package/bin/chunk-zxqasmvz.js +0 -2
@@ -1,32 +0,0 @@
1
- // @bun
2
- import{H,w,V}from"./chunk-t6cn018t.js";var bi=w(function(zp,ki){function Ae(e,t){if(typeof t==="boolean")t={forever:t};if(this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}ki.exports=Ae;Ae.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Ae.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);if(this._timer)clearTimeout(this._timer);this._timeouts=[],this._cachedTimeouts=null};Ae.prototype.retry=function(e){if(this._timeout)clearTimeout(this._timeout);if(!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;if(this._timer=setTimeout(function(){if(n._attempts++,n._operationTimeoutCb){if(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref)n._timeout.unref()}n._fn(n._attempts)},r),this._options.unref)this._timer.unref();return!0};Ae.prototype.attempt=function(e,t){if(this._fn=e,t){if(t.timeout)this._operationTimeout=t.timeout;if(t.cb)this._operationTimeoutCb=t.cb}var r=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};Ae.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};Ae.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};Ae.prototype.start=Ae.prototype.try;Ae.prototype.errors=function(){return this._errors};Ae.prototype.attempts=function(){return this._attempts};Ae.prototype.mainError=function(){if(this._errors.length===0)return null;var e={},t=null,r=0;for(var n=0;n<this._errors.length;n++){var i=this._errors[n],s=i.message,u=(e[s]||0)+1;if(e[s]=u,u>=r)t=i,r=u}return t}});var xi=w(function(sn){var Ml=bi();sn.operation=function(e){var t=sn.timeouts(e);return new Ml(t,{forever:e&&(e.forever||e.retries===1/0),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};sn.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var r in e)t[r]=e[r];if(t.minTimeout>t.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var n=[];for(var i=0;i<t.retries;i++)n.push(this.createTimeout(i,t));if(e&&e.forever&&!n.length)n.push(this.createTimeout(i,t));return n.sort(function(s,u){return s-u}),n};sn.createTimeout=function(e,t){var r=t.randomize?Math.random()+1:1,n=Math.round(r*Math.max(t.minTimeout,1)*Math.pow(t.factor,e));return n=Math.min(n,t.maxTimeout),n};sn.wrap=function(e,t,r){if(t instanceof Array)r=t,t=null;if(!r){r=[];for(var n in e)if(typeof e[n]==="function")r.push(n)}for(var i=0;i<r.length;i++){var s=r[i],u=e[s];e[s]=function(m){var S=sn.operation(t),A=Array.prototype.slice.call(arguments,1),k=A.pop();A.push(function(N){if(S.retry(N))return;if(N)arguments[0]=S.mainError();k.apply(this,arguments)}),S.attempt(function(){m.apply(e,A)})}.bind(e,u),e[s].options=t}}});var Ru=w(function(Zp,Zt){var Ni=xi(),Hl=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class on extends Error{constructor(e){super();if(e instanceof Error)this.originalError=e,{message:e}=e;else this.originalError=Error(e),this.originalError.stack=this.stack;this.name="AbortError",this.message=e}}var $l=(e,t,r)=>{let n=r.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=n,e},Kl=(e)=>Hl.includes(e),Pi=(e,t)=>new Promise((r,n)=>{t={onFailedAttempt:()=>{},retries:10,...t};let i=Ni.operation(t);i.attempt(async(s)=>{try{r(await e(s))}catch(u){if(!(u instanceof Error)){n(TypeError(`Non-error was thrown: "${u}". You should only throw errors.`));return}if(u instanceof on)i.stop(),n(u.originalError);else if(u instanceof TypeError&&!Kl(u.message))i.stop(),n(u);else{$l(u,s,t);try{await t.onFailedAttempt(u)}catch(h){n(h);return}if(!i.retry(u))n(i.mainError())}}})});Zt.exports=Pi;Zt.exports.default=Pi;Zt.exports.AbortError=on});var an=w(function(eg,Li){var er=Object.prototype.hasOwnProperty,Mi=Object.prototype.toString,{defineProperty:Ii,getOwnPropertyDescriptor:Di}=Object,Ui=function(t){if(typeof Array.isArray==="function")return Array.isArray(t);return Mi.call(t)==="[object Array]"},ji=function(t){if(!t||Mi.call(t)!=="[object Object]")return!1;var r=er.call(t,"constructor"),n=t.constructor&&t.constructor.prototype&&er.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!r&&!n)return!1;var i;for(i in t);return typeof i>"u"||er.call(t,i)},qi=function(t,r){if(Ii&&r.name==="__proto__")Ii(t,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0});else t[r.name]=r.newValue},Fi=function(t,r){if(r==="__proto__"){if(!er.call(t,r))return;else if(Di)return Di(t,r).value}return t[r]};Li.exports=function e(){var t,r,n,i,s,u,h=arguments[0],m=1,S=arguments.length,A=!1;if(typeof h==="boolean")A=h,h=arguments[1]||{},m=2;if(h==null||typeof h!=="object"&&typeof h!=="function")h={};for(;m<S;++m)if(t=arguments[m],t!=null){for(r in t)if(n=Fi(h,r),i=Fi(t,r),h!==i){if(A&&i&&(ji(i)||(s=Ui(i)))){if(s)s=!1,u=n&&Ui(n)?n:[];else u=n&&ji(n)?n:{};qi(h,{name:r,newValue:e(A,u,i)})}else if(typeof i<"u")qi(h,{name:r,newValue:i})}}return h}});var Gi=w(function(tg,Jl){Jl.exports={name:"gaxios",version:"7.3.1",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:{type:"git",directory:"core/packages/gaxios",url:"https://github.com/googleapis/google-cloud-node.git"},keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","@types/tmp":"^0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.1.3",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.0",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"14.0.5","null-loader":"^4.0.1","pack-n-play":"^4.0.0",puppeteer:"^24.0.0",sinon:"21.0.3","stream-browserify":"^3.0.0",tmp:"0.2.7","ts-loader":"^9.5.2",typescript:"5.8.3","undici-types":"^7.24.1",webpack:"^5.97.1","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"},homepage:"https://github.com/googleapis/google-cloud-node/tree/main/core/packages/gaxios"}});var Hi=w(function(rg,Bi){var Vl=Gi();Bi.exports={pkg:Vl}});var ln=w(function(ve){var Ki=ve&&ve.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ve,"__esModule",{value:!0});ve.GaxiosError=ve.GAXIOS_ERROR_SYMBOL=void 0;ve.defaultErrorRedactor=Ji;var $i=Ki(an()),Wl=Ki(Hi()),cn=Wl.default.pkg;ve.GAXIOS_ERROR_SYMBOL=Symbol.for(`${cn.name}-gaxios-error`);class un extends Error{config;response;code;status;error;[ve.GAXIOS_ERROR_SYMBOL]=cn.version;static[Symbol.hasInstance](e){if(e&&typeof e==="object"&&ve.GAXIOS_ERROR_SYMBOL in e&&e[ve.GAXIOS_ERROR_SYMBOL]===cn.version)return!0;return Function.prototype[Symbol.hasInstance].call(un,e)}constructor(e,t,r,n){super(e,{cause:n});if(this.config=t,this.response=r,this.error=n instanceof Error?n:void 0,this.config=(0,$i.default)(!0,{},t),this.response)this.response.config=(0,$i.default)(!0,{},this.response.config);if(this.response){try{this.response.data=Yl(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}if(n instanceof DOMException)this.code=n.name;else if(n&&typeof n==="object"&&"code"in n&&(typeof n.code==="string"||typeof n.code==="number"))this.code=n.code}static extractAPIErrorFromResponse(e,t="The request failed"){let r=t;if(typeof e.data==="string")r=e.data;if(e.data&&typeof e.data==="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error==="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error==="object"){r="message"in e.data.error&&typeof e.data.error.message==="string"?e.data.error.message:r;let n="status"in e.data.error&&typeof e.data.error.status==="string"?e.data.error.status:e.statusText,i="code"in e.data.error&&typeof e.data.error.code==="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let s=[];for(let u of e.data.error.errors)if(typeof u==="object"&&"message"in u&&typeof u.message==="string")s.push(u.message);return Object.assign({message:s.join(`
3
- `)||r,code:i,status:n},e.data.error)}return Object.assign({message:r,code:i,status:n},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}}ve.GaxiosError=un;function Yl(e,t){switch(e){case"stream":return t;case"json":return JSON.parse(JSON.stringify(t));case"arraybuffer":return JSON.parse(Buffer.from(t).toString("utf8"));case"blob":return JSON.parse(t.text());default:return t}}function Ji(e){function r(s){if(!s)return;s.forEach((u,h)=>{if(/^authentication$/i.test(h)||/^authorization$/i.test(h)||/secret/i.test(h))s.set(h,"<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.")})}function n(s,u){if(typeof s==="object"&&s!==null&&typeof s[u]==="string"){let h=s[u];if(/grant_type=/i.test(h)||/assertion=/i.test(h)||/secret/i.test(h))s[u]="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>."}}function i(s){if(!s||typeof s!=="object")return;else if(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s)s.forEach((u,h)=>{if(["grant_type","assertion"].includes(h)||/secret/.test(h))s.set(h,"<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.")});else{if("grant_type"in s)s.grant_type="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";if("assertion"in s)s.assertion="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";if("client_secret"in s)s.client_secret="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>."}}if(e.config){if(r(e.config.headers),n(e.config,"data"),i(e.config.data),n(e.config,"body"),i(e.config.body),e.config.url.searchParams.has("token"))e.config.url.searchParams.set("token","<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.");if(e.config.url.searchParams.has("client_secret"))e.config.url.searchParams.set("client_secret","<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.")}if(e.response){if(Ji({config:e.response.config}),r(e.response.headers),e.response.bodyUsed)n(e.response,"data"),i(e.response.data)}return e}});var Yi=w(function(Wi){Object.defineProperty(Wi,"__esModule",{value:!0});Wi.getRetryConfig=Xl;async function Xl(e){let t=Vi(e);if(!e||!e.config||!t&&!e.config.retry)return{shouldRetry:!1};t=t||{},t.currentRetryAttempt=t.currentRetryAttempt||0,t.retry=t.retry===void 0||t.retry===null?3:t.retry,t.httpMethodsToRetry=t.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],t.noResponseRetries=t.noResponseRetries===void 0||t.noResponseRetries===null?2:t.noResponseRetries,t.retryDelayMultiplier=t.retryDelayMultiplier?t.retryDelayMultiplier:2,t.timeOfFirstRequest=t.timeOfFirstRequest?t.timeOfFirstRequest:Date.now(),t.totalTimeout=t.totalTimeout?t.totalTimeout:Number.MAX_SAFE_INTEGER,t.maxRetryDelay=t.maxRetryDelay?t.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(t.statusCodesToRetry=t.statusCodesToRetry||r,e.config.retryConfig=t,!await(t.shouldRetry||zl)(e))return{shouldRetry:!1,config:e.config};let i=Ql(t);e.config.retryConfig.currentRetryAttempt+=1;let s=t.retryBackoff?t.retryBackoff(e,i):new Promise((u)=>{setTimeout(u,i)});if(t.onRetryAttempt)await t.onRetryAttempt(e);return await s,{shouldRetry:!0,config:e.config}}function zl(e){let t=Vi(e);if(e.config.signal?.aborted&&e.code!=="TimeoutError"||e.code==="AbortError")return!1;if(!t||t.retry===0)return!1;if(!e.response&&(t.currentRetryAttempt||0)>=t.noResponseRetries)return!1;if(!t.httpMethodsToRetry||!t.httpMethodsToRetry.includes(e.config.method?.toUpperCase()||"GET"))return!1;if(e.response&&e.response.status){let r=!1;for(let[n,i]of t.statusCodesToRetry){let s=e.response.status;if(s>=n&&s<=i){r=!0;break}}if(!r)return!1}if(t.currentRetryAttempt=t.currentRetryAttempt||0,t.currentRetryAttempt>=t.retry)return!1;return!0}function Vi(e){if(e&&e.config&&e.config.retryConfig)return e.config.retryConfig;return}function Ql(e){let r=(e.currentRetryAttempt?0:e.retryDelay??100)+(Math.pow(e.retryDelayMultiplier,e.currentRetryAttempt)-1)/2*1000,n=e.totalTimeout-(Date.now()-e.timeOfFirstRequest);return Math.min(r,n,e.maxRetryDelay)}});var hn=w(function(zi){Object.defineProperty(zi,"__esModule",{value:!0});zi.GaxiosInterceptorManager=void 0;class Xi extends Set{}zi.GaxiosInterceptorManager=Xi});var ts=w(function(mt){var eh=mt&&mt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},yt;Object.defineProperty(mt,"__esModule",{value:!0});mt.Gaxios=void 0;var th=eh(an()),Zi=V("https"),ge=ln(),es=Yi(),tr=V("stream"),rr=hn(),rh=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),nh=204;class fn{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new rr.GaxiosInterceptorManager,response:new rr.GaxiosInterceptorManager}}fetch(...e){let t=e[0],r=e[1],n=void 0,i=new Headers;if(typeof t==="string")n=new URL(t);else if(t instanceof URL)n=t;else if(t&&t.url)n=new URL(t.url);if(t&&typeof t==="object"&&"headers"in t)yt.mergeHeaders(i,t.headers);if(r)yt.mergeHeaders(i,new Headers(r.headers));if(typeof t==="object"&&!(t instanceof URL))return this.request({...r,...t,headers:i,url:n});else return this.request({...r,headers:i,url:n})}async request(e={}){let t=await this.#n(e);return t=await this.#t(t),this.#r(this._request(t))}async _defaultAdapter(e){let t=e.fetchImplementation||this.defaults.fetchImplementation||await yt.#c(),r={...e};delete r.data;let n=await t(e.url,r),i=await this.getResponseData(e,n);if(!Object.getOwnPropertyDescriptor(n,"data")?.configurable)Object.defineProperties(n,{data:{configurable:!0,writable:!0,enumerable:!0,value:i}});return Object.assign(n,{config:e,data:i})}async _request(e){try{let t;if(e.adapter)t=await e.adapter(e,this._defaultAdapter.bind(this));else t=await this._defaultAdapter(e);if(!e.validateStatus(t.status)){if(e.responseType==="stream"){let n=[];for await(let i of t.data)n.push(i);t.data=Buffer.concat(n.map((i)=>typeof i==="string"?Buffer.from(i):i)).toString("utf8")}let r=ge.GaxiosError.extractAPIErrorFromResponse(t,`Request failed with status code ${t.status}`);throw new ge.GaxiosError(r?.message,e,t,r)}return t}catch(t){let r;if(t instanceof ge.GaxiosError)r=t;else if(t instanceof Error)r=new ge.GaxiosError(t.message,e,void 0,t);else r=new ge.GaxiosError("Unexpected Gaxios Error",e,void 0,t);let{shouldRetry:n,config:i}=await es.getRetryConfig(r);if(n&&i)return r.config.retryConfig.currentRetryAttempt=i.retryConfig.currentRetryAttempt,e.retryConfig=r.config?.retryConfig,this.#i(e),this._request(e);if(e.errorRedactor)e.errorRedactor(r);throw r}}async getResponseData(e,t){if(t.status===nh)return"";if(e.maxContentLength&&t.headers.has("content-length")&&e.maxContentLength<Number.parseInt(t.headers?.get("content-length")||""))throw new ge.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(t,{config:e}));switch(e.responseType){case"stream":return t.body;case"json":{let r=await t.text();try{return JSON.parse(r)}catch{return r}}case"arraybuffer":return t.arrayBuffer();case"blob":return t.blob();case"text":return t.text();default:return this.getResponseDataFromContentType(t)}}#e(e,t=[]){let r=new URL(e),n=[...t],i=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let s of i)n.push(s.trim());for(let s of n)if(s instanceof RegExp){if(s.test(r.toString()))return!1}else if(s instanceof URL){if(s.origin===r.origin)return!1}else if(s.startsWith("*.")||s.startsWith(".")){let u=s.replace(/^\*\./,".");if(r.hostname.endsWith(u))return!1}else if(s===r.origin||s===r.hostname||s===r.href)return!1;return!0}async#t(e){let t=Promise.resolve(e);for(let r of this.interceptors.request.values())if(r)t=t.then(r.resolved,r.rejected);return t}async#r(e){let t=Promise.resolve(e);for(let r of this.interceptors.response.values())if(r)t=t.then(r.resolved,r.rejected);return t}async#n(e){let t=new Headers(this.defaults.headers);yt.mergeHeaders(t,e.headers);let r=(0,th.default)(!0,{},this.defaults,e);if(!r.url)throw Error("URL is required.");if(r.baseURL)r.url=new URL(r.url,r.baseURL);if(r.url=new URL(r.url),r.params)if(r.paramsSerializer){let s=r.paramsSerializer(r.params);if(s.startsWith("?"))s=s.slice(1);let u=r.url.toString().includes("?")?"&":"?";r.url=r.url+u+s}else{let s=r.url instanceof URL?r.url:new URL(r.url);for(let[u,h]of new URLSearchParams(r.params))s.searchParams.append(u,h);r.url=s}if(typeof e.maxContentLength==="number")r.size=e.maxContentLength;if(typeof e.maxRedirects==="number")r.follow=e.maxRedirects;let n=typeof r.data==="string"||r.data instanceof ArrayBuffer||r.data instanceof Blob||globalThis.File&&r.data instanceof File||r.data instanceof FormData||r.data instanceof tr.Readable||r.data instanceof ReadableStream||r.data instanceof String||r.data instanceof URLSearchParams||ArrayBuffer.isView(r.data)||["Blob","File","FormData"].includes(r.data?.constructor?.name||"");if(r.multipart?.length){let s=await rh();t.set("content-type",`multipart/related; boundary=${s}`),r.body=tr.Readable.from(this.getMultipartRequest(r.multipart,s))}else if(n)r.body=r.data;else if(typeof r.data==="object")if(t.get("Content-Type")==="application/x-www-form-urlencoded")r.body=r.paramsSerializer?r.paramsSerializer(r.data):new URLSearchParams(r.data);else{if(!t.has("content-type"))t.set("content-type","application/json");r.body=JSON.stringify(r.data)}else if(r.data)r.body=r.data;if(r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!t.has("accept")&&r.responseType==="json")t.set("accept","application/json");let i=r.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(r.agent);else if(i&&this.#e(r.url,r.noProxy)){let s=await yt.#a();if(this.agentCache.has(i))r.agent=this.agentCache.get(i);else r.agent=new s(i,{cert:r.cert,key:r.key}),this.agentCache.set(i,r.agent)}else if(r.cert&&r.key)if(this.agentCache.has(r.key))r.agent=this.agentCache.get(r.key);else r.agent=new Zi.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent);if(typeof r.errorRedactor!=="function"&&r.errorRedactor!==!1)r.errorRedactor=ge.defaultErrorRedactor;if(r.body&&!("duplex"in r))r.duplex="half";return this.#i(r),Object.assign(r,{headers:t,url:r.url instanceof URL?r.url:new URL(r.url)})}#i(e){if(e.timeout){let t=AbortSignal.timeout(e.timeout);if(e.signal&&!e.signal.aborted)e.signal=AbortSignal.any([e.signal,t]);else e.signal=t}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let t=e.headers.get("Content-Type");if(t===null)return e.text();if(t=t.toLowerCase(),t.includes("application/json")){let r=await e.text();try{r=JSON.parse(r)}catch{}return r}else if(t.match(/^text\//))return e.text();else return e.blob()}async*getMultipartRequest(e,t){let r=`--${t}--`;for(let n of e){let i=n.headers.get("Content-Type")||"application/octet-stream";if(yield`--${t}\r
4
- Content-Type: ${i}\r
5
- \r
6
- `,typeof n.content==="string")yield n.content;else yield*n.content;yield`\r
7
- `}yield r}static#s;static#o;static async#a(){return this.#s||=(await import("./chunk-hbr17jvr.js").then((m)=>H(m.default))).HttpsProxyAgent,this.#s}static async#c(){let e=typeof window<"u"&&!!window;return this.#o||=e?window.fetch:(await import("node-fetch")).default,this.#o}static mergeHeaders(e,...t){e=e instanceof Headers?e:new Headers(e);for(let r of t)(r instanceof Headers?r:new Headers(r)).forEach((i,s)=>{s==="set-cookie"?e.append(s,i):e.set(s,i)});return e}}mt.Gaxios=fn;yt=fn});var ce=w(function(de){var ih=de&&de.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),sh=de&&de.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))ih(t,e,r)};Object.defineProperty(de,"__esModule",{value:!0});de.instance=de.Gaxios=de.GaxiosError=void 0;de.request=ah;var nr=ts();Object.defineProperty(de,"Gaxios",{enumerable:!0,get:function(){return nr.Gaxios}});var oh=ln();Object.defineProperty(de,"GaxiosError",{enumerable:!0,get:function(){return oh.GaxiosError}});sh(hn(),de);de.instance=new nr.Gaxios;async function ah(e){return de.instance.request(e)}});var dn=w(function(rs,ir){(function(e){var t,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,{ceil:n,floor:i}=Math,s="[BigNumber Error] ",u=s+"Number primitive has more than 15 significant digits: ",h=100000000000000,m=14,S=9007199254740991,A=[1,10,100,1000,1e4,1e5,1e6,1e7,1e8,1e9,10000000000,100000000000,1000000000000,10000000000000],k=1e7,N=1e9;function F(j){var U,G,Z,C=v.prototype={constructor:v,toString:null,valueOf:null},se=new v(1),ee=20,te=4,pe=-7,me=21,lt=-1e7,Ie=1e7,ht=!1,jt=1,ze=0,Qr={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},ft="0123456789abcdefghijklmnopqrstuvwxyz",Zr=!0;function v(o,a){var c,y,f,p,E,l,d,_,g=this;if(!(g instanceof v))return new v(o,a);if(a==null){if(o&&o._isBigNumber===!0){if(g.s=o.s,!o.c||o.e>Ie)g.c=g.e=null;else if(o.e<lt)g.c=[g.e=0];else g.e=o.e,g.c=o.c.slice();return}if((l=typeof o=="number")&&o*0==0){if(g.s=1/o<0?(o=-o,-1):1,o===~~o){for(p=0,E=o;E>=10;E/=10,p++);if(p>Ie)g.c=g.e=null;else g.e=p,g.c=[o];return}_=String(o)}else{if(!r.test(_=String(o)))return Z(g,_,l);g.s=_.charCodeAt(0)==45?(_=_.slice(1),-1):1}if((p=_.indexOf("."))>-1)_=_.replace(".","");if((E=_.search(/e/i))>0){if(p<0)p=E;p+=+_.slice(E+1),_=_.substring(0,E)}else if(p<0)p=_.length}else{if(b(a,2,ft.length,"Base"),a==10&&Zr)return g=new v(o),we(g,ee+g.e+1,te);if(_=String(o),l=typeof o=="number"){if(o*0!=0)return Z(g,_,l,a);if(g.s=1/o<0?(_=_.slice(1),-1):1,v.DEBUG&&_.replace(/^0\.0*|\./,"").length>15)throw Error(u+o)}else g.s=_.charCodeAt(0)===45?(_=_.slice(1),-1):1;c=ft.slice(0,a),p=E=0;for(d=_.length;E<d;E++)if(c.indexOf(y=_.charAt(E))<0){if(y=="."){if(E>p){p=d;continue}}else if(!f){if(_==_.toUpperCase()&&(_=_.toLowerCase())||_==_.toLowerCase()&&(_=_.toUpperCase())){f=!0,E=-1,p=0;continue}}return Z(g,String(o),l,a)}if(l=!1,_=G(_,a,10,g.s),(p=_.indexOf("."))>-1)_=_.replace(".","");else p=_.length}for(E=0;_.charCodeAt(E)===48;E++);for(d=_.length;_.charCodeAt(--d)===48;);if(_=_.slice(E,++d)){if(d-=E,l&&v.DEBUG&&d>15&&(o>S||o!==i(o)))throw Error(u+g.s*o);if((p=p-E-1)>Ie)g.c=g.e=null;else if(p<lt)g.c=[g.e=0];else{if(g.e=p,g.c=[],E=(p+1)%m,p<0)E+=m;if(E<d){if(E)g.c.push(+_.slice(0,E));for(d-=m;E<d;)g.c.push(+_.slice(E,E+=m));E=m-(_=_.slice(E)).length}else E-=d;for(;E--;_+="0");g.c.push(+_)}}else g.c=[g.e=0]}v.clone=F,v.ROUND_UP=0,v.ROUND_DOWN=1,v.ROUND_CEIL=2,v.ROUND_FLOOR=3,v.ROUND_HALF_UP=4,v.ROUND_HALF_DOWN=5,v.ROUND_HALF_EVEN=6,v.ROUND_HALF_CEIL=7,v.ROUND_HALF_FLOOR=8,v.EUCLID=9,v.config=v.set=function(o){var a,c;if(o!=null)if(typeof o=="object"){if(o.hasOwnProperty(a="DECIMAL_PLACES"))c=o[a],b(c,0,N,a),ee=c;if(o.hasOwnProperty(a="ROUNDING_MODE"))c=o[a],b(c,0,8,a),te=c;if(o.hasOwnProperty(a="EXPONENTIAL_AT"))if(c=o[a],c&&c.pop)b(c[0],-N,0,a),b(c[1],0,N,a),pe=c[0],me=c[1];else b(c,-N,N,a),pe=-(me=c<0?-c:c);if(o.hasOwnProperty(a="RANGE"))if(c=o[a],c&&c.pop)b(c[0],-N,-1,a),b(c[1],1,N,a),lt=c[0],Ie=c[1];else if(b(c,-N,N,a),c)lt=-(Ie=c<0?-c:c);else throw Error(s+a+" cannot be zero: "+c);if(o.hasOwnProperty(a="CRYPTO"))if(c=o[a],c===!!c)if(c)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ht=c;else throw ht=!c,Error(s+"crypto unavailable");else ht=c;else throw Error(s+a+" not true or false: "+c);if(o.hasOwnProperty(a="MODULO_MODE"))c=o[a],b(c,0,9,a),jt=c;if(o.hasOwnProperty(a="POW_PRECISION"))c=o[a],b(c,0,N,a),ze=c;if(o.hasOwnProperty(a="FORMAT"))if(c=o[a],typeof c=="object")Qr=c;else throw Error(s+a+" not an object: "+c);if(o.hasOwnProperty(a="ALPHABET"))if(c=o[a],typeof c=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(c))Zr=c.slice(0,10)=="0123456789",ft=c;else throw Error(s+a+" invalid: "+c)}else throw Error(s+"Object expected: "+o);return{DECIMAL_PLACES:ee,ROUNDING_MODE:te,EXPONENTIAL_AT:[pe,me],RANGE:[lt,Ie],CRYPTO:ht,MODULO_MODE:jt,POW_PRECISION:ze,FORMAT:Qr,ALPHABET:ft}},v.isBigNumber=function(o){if(!o||o._isBigNumber!==!0)return!1;if(!v.DEBUG)return!0;var a,c,{c:y,e:f,s:p}=o;e:if({}.toString.call(y)=="[object Array]"){if((p===1||p===-1)&&f>=-N&&f<=N&&f===i(f)){if(y[0]===0){if(f===0&&y.length===1)return!0;break e}if(a=(f+1)%m,a<1)a+=m;if(String(y[0]).length==a){for(a=0;a<y.length;a++)if(c=y[a],c<0||c>=h||c!==i(c))break e;if(c!==0)return!0}}}else if(y===null&&f===null&&(p===null||p===1||p===-1))return!0;throw Error(s+"Invalid BigNumber: "+o)},v.maximum=v.max=function(){return Oi(arguments,-1)},v.minimum=v.min=function(){return Oi(arguments,1)},v.random=function(){var o=9007199254740992,a=Math.random()*o&2097151?function(){return i(Math.random()*o)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(c){var y,f,p,E,l,d=0,_=[],g=new v(se);if(c==null)c=ee;else b(c,0,N);if(E=n(c/m),ht)if(crypto.getRandomValues){y=crypto.getRandomValues(new Uint32Array(E*=2));for(;d<E;)if(l=y[d]*131072+(y[d+1]>>>11),l>=9000000000000000)f=crypto.getRandomValues(new Uint32Array(2)),y[d]=f[0],y[d+1]=f[1];else _.push(l%100000000000000),d+=2;d=E/2}else if(crypto.randomBytes){y=crypto.randomBytes(E*=7);for(;d<E;)if(l=(y[d]&31)*281474976710656+y[d+1]*1099511627776+y[d+2]*4294967296+y[d+3]*16777216+(y[d+4]<<16)+(y[d+5]<<8)+y[d+6],l>=9000000000000000)crypto.randomBytes(7).copy(y,d);else _.push(l%100000000000000),d+=7;d=E/7}else throw ht=!1,Error(s+"crypto unavailable");if(!ht){for(;d<E;)if(l=a(),l<9000000000000000)_[d++]=l%100000000000000}if(E=_[--d],c%=m,E&&c)l=A[m-c],_[d]=i(E/l)*l;for(;_[d]===0;_.pop(),d--);if(d<0)_=[p=0];else{for(p=-1;_[0]===0;_.splice(0,1),p-=m);for(d=1,l=_[0];l>=10;l/=10,d++);if(d<m)p-=m-d}return g.e=p,g.c=_,g}}(),v.sum=function(){var o=1,a=arguments,c=new v(a[0]);for(;o<a.length;)c=c.plus(a[o++]);return c},G=function(){var o="0123456789";function a(c,y,f,p){var E,l=[0],d,_=0,g=c.length;for(;_<g;){for(d=l.length;d--;l[d]*=y);l[0]+=p.indexOf(c.charAt(_++));for(E=0;E<l.length;E++)if(l[E]>f-1){if(l[E+1]==null)l[E+1]=0;l[E+1]+=l[E]/f|0,l[E]%=f}}return l.reverse()}return function(c,y,f,p,E){var l,d,_,g,T,x,P,L,re=c.indexOf("."),oe=ee,M=te;if(re>=0)g=ze,ze=0,c=c.replace(".",""),L=new v(y),x=L.pow(c.length-re),ze=g,L.c=a(he(R(x.c),x.e,"0"),10,f,o),L.e=L.c.length;P=a(c,y,f,E?(l=ft,o):(l=o,ft)),_=g=P.length;for(;P[--g]==0;P.pop());if(!P[0])return l.charAt(0);if(re<0)--_;else x.c=P,x.e=_,x.s=p,x=U(x,L,oe,M,f),P=x.c,T=x.r,_=x.e;if(d=_+oe+1,re=P[d],g=f/2,T=T||d<0||P[d+1]!=null,T=M<4?(re!=null||T)&&(M==0||M==(x.s<0?3:2)):re>g||re==g&&(M==4||T||M==6&&P[d-1]&1||M==(x.s<0?8:7)),d<1||!P[0])c=T?he(l.charAt(1),-oe,l.charAt(0)):l.charAt(0);else{if(P.length=d,T){for(--f;++P[--d]>f;)if(P[d]=0,!d)++_,P=[1].concat(P)}for(g=P.length;!P[--g];);for(re=0,c="";re<=g;c+=l.charAt(P[re++]));c=he(c,_,l.charAt(0))}return c}}(),U=function(){function o(y,f,p){var E,l,d,_,g=0,T=y.length,x=f%k,P=f/k|0;for(y=y.slice();T--;)d=y[T]%k,_=y[T]/k|0,E=P*d+_*x,l=x*d+E%k*k+g,g=(l/p|0)+(E/k|0)+P*_,y[T]=l%p;if(g)y=[g].concat(y);return y}function a(y,f,p,E){var l,d;if(p!=E)d=p>E?1:-1;else for(l=d=0;l<p;l++)if(y[l]!=f[l]){d=y[l]>f[l]?1:-1;break}return d}function c(y,f,p,E){var l=0;for(;p--;)y[p]-=l,l=y[p]<f[p]?1:0,y[p]=l*E+y[p]-f[p];for(;!y[0]&&y.length>1;y.splice(0,1));}return function(y,f,p,E,l){var d,_,g,T,x,P,L,re,oe,M,K,le,Qt,rn,nn,Me,qt,Te=y.s==f.s?1:-1,fe=y.c,ne=f.c;if(!fe||!fe[0]||!ne||!ne[0])return new v(!y.s||!f.s||(fe?ne&&fe[0]==ne[0]:!ne)?NaN:fe&&fe[0]==0||!ne?Te*0:Te/0);if(re=new v(Te),oe=re.c=[],_=y.e-f.e,Te=p+_+1,!l)l=h,_=W(y.e/m)-W(f.e/m),Te=Te/m|0;for(g=0;ne[g]==(fe[g]||0);g++);if(ne[g]>(fe[g]||0))_--;if(Te<0)oe.push(1),T=!0;else{if(rn=fe.length,Me=ne.length,g=0,Te+=2,x=i(l/(ne[0]+1)),x>1)ne=o(ne,x,l),fe=o(fe,x,l),Me=ne.length,rn=fe.length;Qt=Me,M=fe.slice(0,Me),K=M.length;for(;K<Me;M[K++]=0);if(qt=ne.slice(),qt=[0].concat(qt),nn=ne[0],ne[1]>=l/2)nn++;do{if(x=0,d=a(ne,M,Me,K),d<0){if(le=M[0],Me!=K)le=le*l+(M[1]||0);if(x=i(le/nn),x>1){if(x>=l)x=l-1;P=o(ne,x,l),L=P.length,K=M.length;while(a(P,M,L,K)==1)x--,c(P,Me<L?qt:ne,L,l),L=P.length,d=1}else{if(x==0)d=x=1;P=ne.slice(),L=P.length}if(L<K)P=[0].concat(P);if(c(M,P,K,l),K=M.length,d==-1)while(a(ne,M,Me,K)<1)x++,c(M,Me<K?qt:ne,K,l),K=M.length}else if(d===0)x++,M=[0];if(oe[g++]=x,M[0])M[K++]=fe[Qt]||0;else M=[fe[Qt]],K=1}while((Qt++<rn||M[0]!=null)&&Te--);if(T=M[0]!=null,!oe[0])oe.splice(0,1)}if(l==h){for(g=1,Te=oe[0];Te>=10;Te/=10,g++);we(re,p+(re.e=g+_*m-1)+1,E,T)}else re.e=_,re.r=+T;return re}}();function en(o,a,c,y){var f,p,E,l,d;if(c==null)c=te;else b(c,0,8);if(!o.c)return o.toString();if(f=o.c[0],E=o.e,a==null)d=R(o.c),d=y==1||y==2&&(E<=pe||E>=me)?ie(d,E):he(d,E,"0");else if(o=we(new v(o),a,c),p=o.e,d=R(o.c),l=d.length,y==1||y==2&&(a<=p||p<=pe)){for(;l<a;d+="0",l++);d=ie(d,p)}else if(a-=E+(y===2&&p>E),d=he(d,p,"0"),p+1>l){if(--a>0)for(d+=".";a--;d+="0");}else if(a+=p-l,a>0){if(p+1==l)d+=".";for(;a--;d+="0");}return o.s<0&&f?"-"+d:d}function Oi(o,a){var c,y,f=1,p=new v(o[0]);for(;f<o.length;f++)if(y=new v(o[f]),!y.s||(c=D(p,y))===a||c===0&&p.s===a)p=y;return p}function tn(o,a,c){var y=1,f=a.length;for(;!a[--f];a.pop());for(f=a[0];f>=10;f/=10,y++);if((c=y+c*m-1)>Ie)o.c=o.e=null;else if(c<lt)o.c=[o.e=0];else o.e=c,o.c=a;return o}Z=function(){var o=/^(-?)0([xbo])(?=\w[\w.]*$)/i,a=/^([^.]+)\.$/,c=/^\.([^.]+)$/,y=/^-?(Infinity|NaN)$/,f=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(p,E,l,d){var _,g=l?E:E.replace(f,"");if(y.test(g))p.s=isNaN(g)?null:g<0?-1:1;else{if(!l){if(g=g.replace(o,function(T,x,P){return _=(P=P.toLowerCase())=="x"?16:P=="b"?2:8,!d||d==_?x:T}),d)_=d,g=g.replace(a,"$1").replace(c,"0.$1");if(E!=g)return new v(g,_)}if(v.DEBUG)throw Error(s+"Not a"+(d?" base "+d:"")+" number: "+E);p.s=null}p.c=p.e=null}}();function we(o,a,c,y){var f,p,E,l,d,_,g,T=o.c,x=A;if(T){e:{for(f=1,l=T[0];l>=10;l/=10,f++);if(p=a-f,p<0)p+=m,E=a,d=T[_=0],g=i(d/x[f-E-1]%10);else if(_=n((p+1)/m),_>=T.length)if(y){for(;T.length<=_;T.push(0));d=g=0,f=1,p%=m,E=p-m+1}else break e;else{d=l=T[_];for(f=1;l>=10;l/=10,f++);p%=m,E=p-m+f,g=E<0?0:i(d/x[f-E-1]%10)}if(y=y||a<0||T[_+1]!=null||(E<0?d:d%x[f-E-1]),y=c<4?(g||y)&&(c==0||c==(o.s<0?3:2)):g>5||g==5&&(c==4||y||c==6&&(p>0?E>0?d/x[f-E]:0:T[_-1])%10&1||c==(o.s<0?8:7)),a<1||!T[0]){if(T.length=0,y)a-=o.e+1,T[0]=x[(m-a%m)%m],o.e=-a||0;else T[0]=o.e=0;return o}if(p==0)T.length=_,l=1,_--;else T.length=_+1,l=x[m-p],T[_]=E>0?i(d/x[f-E]%x[E])*l:0;if(y)for(;;)if(_==0){for(p=1,E=T[0];E>=10;E/=10,p++);E=T[0]+=l;for(l=1;E>=10;E/=10,l++);if(p!=l){if(o.e++,T[0]==h)T[0]=1}break}else{if(T[_]+=l,T[_]!=h)break;T[_--]=0,l=1}for(p=T.length;T[--p]===0;T.pop());}if(o.e>Ie)o.c=o.e=null;else if(o.e<lt)o.c=[o.e=0]}return o}function Je(o){var a,c=o.e;if(c===null)return o.toString();return a=R(o.c),a=c<=pe||c>=me?ie(a,c):he(a,c,"0"),o.s<0?"-"+a:a}if(C.absoluteValue=C.abs=function(){var o=new v(this);if(o.s<0)o.s=1;return o},C.comparedTo=function(o,a){return D(this,new v(o,a))},C.decimalPlaces=C.dp=function(o,a){var c,y,f,p=this;if(o!=null){if(b(o,0,N),a==null)a=te;else b(a,0,8);return we(new v(p),o+p.e+1,a)}if(!(c=p.c))return null;if(y=((f=c.length-1)-W(this.e/m))*m,f=c[f])for(;f%10==0;f/=10,y--);if(y<0)y=0;return y},C.dividedBy=C.div=function(o,a){return U(this,new v(o,a),ee,te)},C.dividedToIntegerBy=C.idiv=function(o,a){return U(this,new v(o,a),0,1)},C.exponentiatedBy=C.pow=function(o,a){var c,y,f,p,E,l,d,_,g,T=this;if(o=new v(o),o.c&&!o.isInteger())throw Error(s+"Exponent not an integer: "+Je(o));if(a!=null)a=new v(a);if(l=o.e>14,!T.c||!T.c[0]||T.c[0]==1&&!T.e&&T.c.length==1||!o.c||!o.c[0])return g=new v(Math.pow(+Je(T),l?o.s*(2-B(o)):+Je(o))),a?g.mod(a):g;if(d=o.s<0,a){if(a.c?!a.c[0]:!a.s)return new v(NaN);if(y=!d&&T.isInteger()&&a.isInteger(),y)T=T.mod(a)}else if(o.e>9&&(T.e>0||T.e<-1||(T.e==0?T.c[0]>1||l&&T.c[1]>=240000000:T.c[0]<80000000000000||l&&T.c[0]<=99999750000000))){if(p=T.s<0&&B(o)?-0:0,T.e>-1)p=1/p;return new v(d?1/p:p)}else if(ze)p=n(ze/m+2);if(l){if(c=new v(0.5),d)o.s=1;_=B(o)}else f=Math.abs(+Je(o)),_=f%2;g=new v(se);for(;;){if(_){if(g=g.times(T),!g.c)break;if(p){if(g.c.length>p)g.c.length=p}else if(y)g=g.mod(a)}if(f){if(f=i(f/2),f===0)break;_=f%2}else if(o=o.times(c),we(o,o.e+1,1),o.e>14)_=B(o);else{if(f=+Je(o),f===0)break;_=f%2}if(T=T.times(T),p){if(T.c&&T.c.length>p)T.c.length=p}else if(y)T=T.mod(a)}if(y)return g;if(d)g=se.div(g);return a?g.mod(a):p?we(g,ze,te,E):g},C.integerValue=function(o){var a=new v(this);if(o==null)o=te;else b(o,0,8);return we(a,a.e+1,o)},C.isEqualTo=C.eq=function(o,a){return D(this,new v(o,a))===0},C.isFinite=function(){return!!this.c},C.isGreaterThan=C.gt=function(o,a){return D(this,new v(o,a))>0},C.isGreaterThanOrEqualTo=C.gte=function(o,a){return(a=D(this,new v(o,a)))===1||a===0},C.isInteger=function(){return!!this.c&&W(this.e/m)>this.c.length-2},C.isLessThan=C.lt=function(o,a){return D(this,new v(o,a))<0},C.isLessThanOrEqualTo=C.lte=function(o,a){return(a=D(this,new v(o,a)))===-1||a===0},C.isNaN=function(){return!this.s},C.isNegative=function(){return this.s<0},C.isPositive=function(){return this.s>0},C.isZero=function(){return!!this.c&&this.c[0]==0},C.minus=function(o,a){var c,y,f,p,E=this,l=E.s;if(o=new v(o,a),a=o.s,!l||!a)return new v(NaN);if(l!=a)return o.s=-a,E.plus(o);var d=E.e/m,_=o.e/m,g=E.c,T=o.c;if(!d||!_){if(!g||!T)return g?(o.s=-a,o):new v(T?E:NaN);if(!g[0]||!T[0])return T[0]?(o.s=-a,o):new v(g[0]?E:te==3?-0:0)}if(d=W(d),_=W(_),g=g.slice(),l=d-_){if(p=l<0)l=-l,f=g;else _=d,f=T;f.reverse();for(a=l;a--;f.push(0));f.reverse()}else{y=(p=(l=g.length)<(a=T.length))?l:a;for(l=a=0;a<y;a++)if(g[a]!=T[a]){p=g[a]<T[a];break}}if(p)f=g,g=T,T=f,o.s=-o.s;if(a=(y=T.length)-(c=g.length),a>0)for(;a--;g[c++]=0);a=h-1;for(;y>l;){if(g[--y]<T[y]){for(c=y;c&&!g[--c];g[c]=a);--g[c],g[y]+=h}g[y]-=T[y]}for(;g[0]==0;g.splice(0,1),--_);if(!g[0])return o.s=te==3?-1:1,o.c=[o.e=0],o;return tn(o,g,_)},C.modulo=C.mod=function(o,a){var c,y,f=this;if(o=new v(o,a),!f.c||!o.s||o.c&&!o.c[0])return new v(NaN);else if(!o.c||f.c&&!f.c[0])return new v(f);if(jt==9)y=o.s,o.s=1,c=U(f,o,0,3),o.s=y,c.s*=y;else c=U(f,o,0,jt);if(o=f.minus(c.times(o)),!o.c[0]&&jt==1)o.s=f.s;return o},C.multipliedBy=C.times=function(o,a){var c,y,f,p,E,l,d,_,g,T,x,P,L,re,oe,M=this,K=M.c,le=(o=new v(o,a)).c;if(!K||!le||!K[0]||!le[0]){if(!M.s||!o.s||K&&!K[0]&&!le||le&&!le[0]&&!K)o.c=o.e=o.s=null;else if(o.s*=M.s,!K||!le)o.c=o.e=null;else o.c=[0],o.e=0;return o}if(y=W(M.e/m)+W(o.e/m),o.s*=M.s,d=K.length,T=le.length,d<T)L=K,K=le,le=L,f=d,d=T,T=f;for(f=d+T,L=[];f--;L.push(0));re=h,oe=k;for(f=T;--f>=0;){c=0,x=le[f]%oe,P=le[f]/oe|0;for(E=d,p=f+E;p>f;)_=K[--E]%oe,g=K[E]/oe|0,l=P*_+g*x,_=x*_+l%oe*oe+L[p]+c,c=(_/re|0)+(l/oe|0)+P*g,L[p--]=_%re;L[p]=c}if(c)++y;else L.splice(0,1);return tn(o,L,y)},C.negated=function(){var o=new v(this);return o.s=-o.s||null,o},C.plus=function(o,a){var c,y=this,f=y.s;if(o=new v(o,a),a=o.s,!f||!a)return new v(NaN);if(f!=a)return o.s=-a,y.minus(o);var p=y.e/m,E=o.e/m,l=y.c,d=o.c;if(!p||!E){if(!l||!d)return new v(f/0);if(!l[0]||!d[0])return d[0]?o:new v(l[0]?y:f*0)}if(p=W(p),E=W(E),l=l.slice(),f=p-E){if(f>0)E=p,c=d;else f=-f,c=l;c.reverse();for(;f--;c.push(0));c.reverse()}if(f=l.length,a=d.length,f-a<0)c=d,d=l,l=c,a=f;for(f=0;a;)f=(l[--a]=l[a]+d[a]+f)/h|0,l[a]=h===l[a]?0:l[a]%h;if(f)l=[f].concat(l),++E;return tn(o,l,E)},C.precision=C.sd=function(o,a){var c,y,f,p=this;if(o!=null&&o!==!!o){if(b(o,1,N),a==null)a=te;else b(a,0,8);return we(new v(p),o,a)}if(!(c=p.c))return null;if(f=c.length-1,y=f*m+1,f=c[f]){for(;f%10==0;f/=10,y--);for(f=c[0];f>=10;f/=10,y++);}if(o&&p.e+1>y)y=p.e+1;return y},C.shiftedBy=function(o){return b(o,-S,S),this.times("1e"+o)},C.squareRoot=C.sqrt=function(){var o,a,c,y,f,p=this,{c:E,s:l,e:d}=p,_=ee+4,g=new v("0.5");if(l!==1||!E||!E[0])return new v(!l||l<0&&(!E||E[0])?NaN:E?p:1/0);if(l=Math.sqrt(+Je(p)),l==0||l==1/0){if(a=R(E),(a.length+d)%2==0)a+="0";if(l=Math.sqrt(+a),d=W((d+1)/2)-(d<0||d%2),l==1/0)a="5e"+d;else a=l.toExponential(),a=a.slice(0,a.indexOf("e")+1)+d;c=new v(a)}else c=new v(l+"");if(c.c[0]){if(d=c.e,l=d+_,l<3)l=0;for(;;)if(f=c,c=g.times(f.plus(U(p,f,_,1))),R(f.c).slice(0,l)===(a=R(c.c)).slice(0,l)){if(c.e<d)--l;if(a=a.slice(l-3,l+1),a=="9999"||!y&&a=="4999"){if(!y){if(we(f,f.e+ee+2,0),f.times(f).eq(p)){c=f;break}}_+=4,l+=4,y=1}else{if(!+a||!+a.slice(1)&&a.charAt(0)=="5")we(c,c.e+ee+2,1),o=!c.times(c).eq(p);break}}}return we(c,c.e+ee+1,te,o)},C.toExponential=function(o,a){if(o!=null)b(o,0,N),o++;return en(this,o,a,1)},C.toFixed=function(o,a){if(o!=null)b(o,0,N),o=o+this.e+1;return en(this,o,a)},C.toFormat=function(o,a,c){var y,f=this;if(c==null)if(o!=null&&a&&typeof a=="object")c=a,a=null;else if(o&&typeof o=="object")c=o,o=a=null;else c=Qr;else if(typeof c!="object")throw Error(s+"Argument not an object: "+c);if(y=f.toFixed(o,a),f.c){var p,E=y.split("."),l=+c.groupSize,d=+c.secondaryGroupSize,_=c.groupSeparator||"",g=E[0],T=E[1],x=f.s<0,P=x?g.slice(1):g,L=P.length;if(d)p=l,l=d,d=p,L-=p;if(l>0&&L>0){p=L%l||l,g=P.substr(0,p);for(;p<L;p+=l)g+=_+P.substr(p,l);if(d>0)g+=_+P.slice(p);if(x)g="-"+g}y=T?g+(c.decimalSeparator||"")+((d=+c.fractionGroupSize)?T.replace(new RegExp("\\d{"+d+"}\\B","g"),"$&"+(c.fractionGroupSeparator||"")):T):g}return(c.prefix||"")+y+(c.suffix||"")},C.toFraction=function(o){var a,c,y,f,p,E,l,d,_,g,T,x,P=this,L=P.c;if(o!=null){if(l=new v(o),!l.isInteger()&&(l.c||l.s!==1)||l.lt(se))throw Error(s+"Argument "+(l.isInteger()?"out of range: ":"not an integer: ")+Je(l))}if(!L)return new v(P);a=new v(se),_=c=new v(se),y=d=new v(se),x=R(L),p=a.e=x.length-P.e-1,a.c[0]=A[(E=p%m)<0?m+E:E],o=!o||l.comparedTo(a)>0?p>0?a:_:l,E=Ie,Ie=1/0,l=new v(x),d.c[0]=0;for(;;){if(g=U(l,a,0,1),f=c.plus(g.times(y)),f.comparedTo(o)==1)break;c=y,y=f,_=d.plus(g.times(f=_)),d=f,a=l.minus(g.times(f=a)),l=f}return f=U(o.minus(c),y,0,1),d=d.plus(f.times(_)),c=c.plus(f.times(y)),d.s=_.s=P.s,p=p*2,T=U(_,y,p,te).minus(P).abs().comparedTo(U(d,c,p,te).minus(P).abs())<1?[_,y]:[d,c],Ie=E,T},C.toNumber=function(){return+Je(this)},C.toPrecision=function(o,a){if(o!=null)b(o,1,N);return en(this,o,a,2)},C.toString=function(o){var a,c=this,y=c.s,f=c.e;if(f===null)if(y){if(a="Infinity",y<0)a="-"+a}else a="NaN";else{if(o==null)a=f<=pe||f>=me?ie(R(c.c),f):he(R(c.c),f,"0");else if(o===10&&Zr)c=we(new v(c),ee+f+1,te),a=he(R(c.c),c.e,"0");else b(o,2,ft.length,"Base"),a=G(he(R(c.c),f,"0"),10,o,y,!0);if(y<0&&c.c[0])a="-"+a}return a},C.valueOf=C.toJSON=function(){return Je(this)},C._isBigNumber=!0,j!=null)v.set(j);return v}function W(j){var U=j|0;return j>0||j===U?U:U-1}function R(j){var U,G,Z=1,C=j.length,se=j[0]+"";for(;Z<C;){U=j[Z++]+"",G=m-U.length;for(;G--;U="0"+U);se+=U}for(C=se.length;se.charCodeAt(--C)===48;);return se.slice(0,C+1||1)}function D(j,U){var G,Z,C=j.c,se=U.c,ee=j.s,te=U.s,pe=j.e,me=U.e;if(!ee||!te)return null;if(G=C&&!C[0],Z=se&&!se[0],G||Z)return G?Z?0:-te:ee;if(ee!=te)return ee;if(G=ee<0,Z=pe==me,!C||!se)return Z?0:!C^G?1:-1;if(!Z)return pe>me^G?1:-1;te=(pe=C.length)<(me=se.length)?pe:me;for(ee=0;ee<te;ee++)if(C[ee]!=se[ee])return C[ee]>se[ee]^G?1:-1;return pe==me?0:pe>me^G?1:-1}function b(j,U,G,Z){if(j<U||j>G||j!==i(j))throw Error(s+(Z||"Argument")+(typeof j=="number"?j<U||j>G?" out of range: ":" not an integer: ":" not a primitive number: ")+String(j))}function B(j){var U=j.c.length-1;return W(j.e/m)==U&&j.c[U]%2!=0}function ie(j,U){return(j.length>1?j.charAt(0)+"."+j.slice(1):j)+(U<0?"e":"e+")+U}function he(j,U,G){var Z,C;if(U<0){for(C=G+".";++U;C+=G);j=C+j}else if(Z=j.length,++U>Z){for(C=G,U-=Z;--U;C+=G);j+=C}else if(U<Z)j=j.slice(0,U)+"."+j.slice(U);return j}if(t=F(),t.default=t.BigNumber=t,typeof define=="function"&&define.amd)define(function(){return t});else if(typeof ir<"u"&&ir.exports)ir.exports=t;else{if(!e)e=typeof self<"u"&&self?self:window;e.BigNumber=t}})(rs)});var os=w(function(cg,ss){var ns=dn(),is=cg;(function(){function e(S){return S<10?"0"+S:S}var t=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,i,s={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':"\\\"","\\":"\\\\"},u;function h(S){return r.lastIndex=0,r.test(S)?'"'+S.replace(r,function(A){var k=s[A];return typeof k==="string"?k:"\\u"+("0000"+A.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+S+'"'}function m(S,A){var k,N,F,W,R=n,D,b=A[S],B=b!=null&&(b instanceof ns||ns.isBigNumber(b));if(b&&typeof b==="object"&&typeof b.toJSON==="function")b=b.toJSON(S);if(typeof u==="function")b=u.call(A,S,b);switch(typeof b){case"string":if(B)return b;else return h(b);case"number":return isFinite(b)?String(b):"null";case"boolean":case"null":case"bigint":return String(b);case"object":if(!b)return"null";if(n+=i,D=[],Object.prototype.toString.apply(b)==="[object Array]"){W=b.length;for(k=0;k<W;k+=1)D[k]=m(k,b)||"null";return F=D.length===0?"[]":n?`[
8
- `+n+D.join(`,
9
- `+n)+`
10
- `+R+"]":"["+D.join(",")+"]",n=R,F}if(u&&typeof u==="object"){W=u.length;for(k=0;k<W;k+=1)if(typeof u[k]==="string"){if(N=u[k],F=m(N,b),F)D.push(h(N)+(n?": ":":")+F)}}else Object.keys(b).forEach(function(ie){var he=m(ie,b);if(he)D.push(h(ie)+(n?": ":":")+he)});return F=D.length===0?"{}":n?`{
11
- `+n+D.join(`,
12
- `+n)+`
13
- `+R+"}":"{"+D.join(",")+"}",n=R,F}}if(typeof is.stringify!=="function")is.stringify=function(S,A,k){var N;if(n="",i="",typeof k==="number")for(N=0;N<k;N+=1)i+=" ";else if(typeof k==="string")i=k;if(u=A,A&&typeof A!=="function"&&(typeof A!=="object"||typeof A.length!=="number"))throw Error("JSON.stringify");return m("",{"":S})}})()});var cs=w(function(ug,as){var sr=null,ch=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,uh=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,lh=function(e){var t={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(e!==void 0&&e!==null){if(e.strict===!0)t.strict=!0;if(e.storeAsString===!0)t.storeAsString=!0;if(t.alwaysParseAsBig=e.alwaysParseAsBig===!0?e.alwaysParseAsBig:!1,t.useNativeBigInt=e.useNativeBigInt===!0?e.useNativeBigInt:!1,typeof e.constructorAction<"u")if(e.constructorAction==="error"||e.constructorAction==="ignore"||e.constructorAction==="preserve")t.constructorAction=e.constructorAction;else throw Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${e.constructorAction}`);if(typeof e.protoAction<"u")if(e.protoAction==="error"||e.protoAction==="ignore"||e.protoAction==="preserve")t.protoAction=e.protoAction;else throw Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${e.protoAction}`)}var r,n,i={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
14
- `,r:"\r",t:"\t"},s,u=function(R){throw{name:"SyntaxError",message:R,at:r,text:s}},h=function(R){if(R&&R!==n)u("Expected '"+R+"' instead of '"+n+"'");return n=s.charAt(r),r+=1,n},m=function(){var R,D="";if(n==="-")D="-",h("-");while(n>="0"&&n<="9")D+=n,h();if(n==="."){D+=".";while(h()&&n>="0"&&n<="9")D+=n}if(n==="e"||n==="E"){if(D+=n,h(),n==="-"||n==="+")D+=n,h();while(n>="0"&&n<="9")D+=n,h()}if(R=+D,!isFinite(R))u("Bad number");else{if(sr==null)sr=dn();if(D.length>15)return t.storeAsString?D:t.useNativeBigInt?BigInt(D):new sr(D);else return!t.alwaysParseAsBig?R:t.useNativeBigInt?BigInt(R):new sr(R)}},S=function(){var R,D,b="",B;if(n==='"'){var ie=r;while(h()){if(n==='"'){if(r-1>ie)b+=s.substring(ie,r-1);return h(),b}if(n==="\\"){if(r-1>ie)b+=s.substring(ie,r-1);if(h(),n==="u"){B=0;for(D=0;D<4;D+=1){if(R=parseInt(h(),16),!isFinite(R))break;B=B*16+R}b+=String.fromCharCode(B)}else if(typeof i[n]==="string")b+=i[n];else break;ie=r}}}u("Bad string")},A=function(){while(n&&n<=" ")h()},k=function(){switch(n){case"t":return h("t"),h("r"),h("u"),h("e"),!0;case"f":return h("f"),h("a"),h("l"),h("s"),h("e"),!1;case"n":return h("n"),h("u"),h("l"),h("l"),null}u("Unexpected '"+n+"'")},N,F=function(){var R=[];if(n==="["){if(h("["),A(),n==="]")return h("]"),R;while(n){if(R.push(N()),A(),n==="]")return h("]"),R;h(","),A()}}u("Bad array")},W=function(){var R,D=Object.create(null);if(n==="{"){if(h("{"),A(),n==="}")return h("}"),D;while(n){if(R=S(),A(),h(":"),t.strict===!0&&Object.hasOwnProperty.call(D,R))u('Duplicate key "'+R+'"');if(ch.test(R)===!0)if(t.protoAction==="error")u("Object contains forbidden prototype property");else if(t.protoAction==="ignore")N();else D[R]=N();else if(uh.test(R)===!0)if(t.constructorAction==="error")u("Object contains forbidden constructor property");else if(t.constructorAction==="ignore")N();else D[R]=N();else D[R]=N();if(A(),n==="}")return h("}"),D;h(","),A()}}u("Bad object")};return N=function(){switch(A(),n){case"{":return W();case"[":return F();case'"':return S();case"-":return m();default:return n>="0"&&n<="9"?m():k()}},function(R,D){var b;if(s=R+"",r=0,n=" ",b=N(),A(),n)u("Syntax error");return typeof D==="function"?function B(ie,he){var j,U,G=ie[he];if(G&&typeof G==="object")Object.keys(G).forEach(function(Z){if(U=B(G,Z),U!==void 0)G[Z]=U;else delete G[Z]});return D.call(ie,he,G)}({"":b},""):b}};as.exports=lh});var hs=w(function(lg,or){var us=os().stringify,ls=cs();or.exports=function(e){return{parse:ls(e),stringify:us}};or.exports.parse=ls();or.exports.stringify=us});var pn=w(function(ys){Object.defineProperty(ys,"__esModule",{value:!0});ys.GCE_LINUX_BIOS_PATHS=void 0;ys.isGoogleCloudServerless=fs;ys.isGoogleComputeEngineLinux=ds;ys.isGoogleComputeEngineMACAddress=ps;ys.isGoogleComputeEngine=gs;ys.detectGCPResidency=fh;var ar=V("fs"),ur=V("os");ys.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var hh=/^42:01/;function fs(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function ds(){if(ur.platform()!=="linux")return!1;try{ar.statSync(ys.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let e=ar.readFileSync(ys.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(e)}catch{return!1}}function ps(){let e=ur.networkInterfaces();for(let t of Object.values(e)){if(!t)continue;for(let{mac:r}of t)if(hh.test(r))return!0}return!1}function gs(){return ds()||ps()}function fh(){return fs()||gs()}});var Es=w(function(ms){Object.defineProperty(ms,"__esModule",{value:!0});ms.Colours=void 0;class Y{static enabled=!1;static reset="";static bright="";static dim="";static red="";static green="";static yellow="";static blue="";static magenta="";static cyan="";static white="";static grey="";static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth==="function"?e.getColorDepth()>2:!0)}static refresh(){if(Y.enabled=Y.isEnabled(process?.stderr),!this.enabled)Y.reset="",Y.bright="",Y.dim="",Y.red="",Y.green="",Y.yellow="",Y.blue="",Y.magenta="",Y.cyan="",Y.white="",Y.grey="";else Y.reset="\x1B[0m",Y.bright="\x1B[1m",Y.dim="\x1B[2m",Y.red="\x1B[31m",Y.green="\x1B[32m",Y.yellow="\x1B[33m",Y.blue="\x1B[34m",Y.magenta="\x1B[35m",Y.cyan="\x1B[36m",Y.white="\x1B[37m",Y.grey="\x1B[90m"}}ms.Colours=Y;Y.refresh()});var vs=w(function(Ts){Object.defineProperty(Ts,"__esModule",{value:!0});Ts.LogSeverity=void 0;var ws;(function(e){e.DEFAULT="DEFAULT",e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR"})(ws||(Ts.LogSeverity=ws={}))});var Ns=w(function(z){var _h=z&&z.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),Eh=z&&z.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Ss=z&&z.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i))n[n.length]=i;return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null){for(var n=e(t),i=0;i<n.length;i++)if(n[i]!=="default")_h(r,t,n[i])}return Eh(r,t),r}}();Object.defineProperty(z,"__esModule",{value:!0});z.env=z.DebugLogBackendBase=z.placeholder=z.AdhocDebugLogger=void 0;z.getNodeBackend=gn;z.getDebugBackend=wh;z.getStructuredBackend=Th;z.setBackend=Ah;z.log=xs;var Cs=V("events"),Ft=Ss(V("process")),Os=Ss(V("util")),X=Es(),ae=vs();class lr extends Cs.EventEmitter{namespace;upstream;func;constructor(e,t){super();this.namespace=e,this.upstream=t,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,n)=>this.on(r,n)}),this.func.debug=(...r)=>this.invokeSeverity(ae.LogSeverity.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(ae.LogSeverity.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(ae.LogSeverity.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(ae.LogSeverity.ERROR,...r),this.func.sublog=(r)=>xs(r,this.func)}invoke(e,...t){if(this.upstream)try{this.upstream(e,...t)}catch(r){}try{this.emit("log",e,t)}catch(r){}}invokeSeverity(e,...t){this.invoke({severity:e},...t)}}z.AdhocDebugLogger=lr;z.placeholder=new lr("",()=>{}).func;class Mt{cached=new Map;filters=[];filtersSet=!1;constructor(){let e=Ft.env[z.env.nodeEnables]??"*";if(e==="all")e="*";this.filters=e.split(",")}log(e,t,...r){try{if(!this.filtersSet)this.setFilters(),this.filtersSet=!0;let n=this.cached.get(e);if(!n)n=this.makeLogger(e),this.cached.set(e,n);n(t,...r)}catch(n){console.error(n)}}}z.DebugLogBackendBase=Mt;class ks extends Mt{enabledRegexp=/.*/g;isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){if(!this.enabledRegexp.test(e))return()=>{};return(t,...r)=>{let n=`${X.Colours.green}${e}${X.Colours.reset}`,i=`${X.Colours.yellow}${Ft.pid}${X.Colours.reset}`,s;switch(t.severity){case ae.LogSeverity.ERROR:s=`${X.Colours.red}${t.severity}${X.Colours.reset}`;break;case ae.LogSeverity.INFO:s=`${X.Colours.magenta}${t.severity}${X.Colours.reset}`;break;case ae.LogSeverity.WARNING:s=`${X.Colours.yellow}${t.severity}${X.Colours.reset}`;break;default:s=t.severity??ae.LogSeverity.DEFAULT;break}let u=Os.formatWithOptions({colors:X.Colours.enabled},...r),h=Object.assign({},t);delete h.severity;let m=Object.getOwnPropertyNames(h).length?JSON.stringify(h):"",S=m?`${X.Colours.grey}${m}${X.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",i,n,s,u,m?` ${S}`:"")}}setFilters(){let t=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${t}$`,"i")}}function gn(){return new ks}class bs extends Mt{debugPkg;constructor(e){super();this.debugPkg=e}makeLogger(e){let t=this.debugPkg(e);return(r,...n)=>{t(n[0],...n.slice(1))}}setFilters(){let e=Ft.env.NODE_DEBUG??"";Ft.env.NODE_DEBUG=`${e}${e?",":""}${this.filters.join(",")}`}}function wh(e){return new bs(e)}class Rs extends Mt{upstream;constructor(e){super();this.upstream=e??void 0}makeLogger(e){let t=this.upstream?.makeLogger(e);return(r,...n)=>{let i=r.severity??ae.LogSeverity.INFO,s=Object.assign({severity:i,message:Os.format(...n)},r),u=JSON.stringify(s);if(t)t(r,u);else console.log("%s",u)}}setFilters(){this.upstream?.setFilters()}}function Th(e){return new Rs(e)}z.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var yn=new Map,De=void 0;function Ah(e){De=e,yn.clear()}function xs(e,t){if(!De){if(!Ft.env[z.env.nodeEnables])return z.placeholder}if(!e)return z.placeholder;if(t)e=`${t.instance.namespace}:${e}`;let r=yn.get(e);if(r)return r.func;if(De===null)return z.placeholder;else if(De===void 0)De=gn();let n=(()=>{let i=void 0;return new lr(e,(u,...h)=>{if(i!==De){if(De===null)return;else if(De===void 0)De=gn();i=De}De?.log(e,u,...h)})})();return yn.set(e,n),n.func}});var Ps=w(function(dt){var vh=dt&&dt.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),Sh=dt&&dt.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))vh(t,e,r)};Object.defineProperty(dt,"__esModule",{value:!0});Sh(Ns(),dt)});var Gt=w(function(I){var Ds=I&&I.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),Ch=I&&I.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Oh=I&&I.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i))n[n.length]=i;return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null){for(var n=e(t),i=0;i<n.length;i++)if(n[i]!=="default")Ds(r,t,n[i])}return Ch(r,t),r}}(),kh=I&&I.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))Ds(t,e,r)};Object.defineProperty(I,"__esModule",{value:!0});I.gcpResidencyCache=I.METADATA_SERVER_DETECTION=I.HEADERS=I.HEADER_VALUE=I.HEADER_NAME=I.SECONDARY_HOST_ADDRESS=I.HOST_ADDRESS=I.BASE_PATH=void 0;I.instance=Nh;I.project=Ph;I.universe=Ih;I.bulk=Dh;I.isAvailable=jh;I.resetIsAvailableCache=qh;I.getGCPResidency=_n;I.setGCPResidency=qs;I.requestTimeout=Fs;var _t=ce(),Us=hs(),js=pn(),bh=Oh(Ps());I.BASE_PATH="/computeMetadata/v1";I.HOST_ADDRESS="http://169.254.169.254";I.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";I.HEADER_NAME="Metadata-Flavor";I.HEADER_VALUE="Google";I.HEADERS=Object.freeze({[I.HEADER_NAME]:I.HEADER_VALUE});var Is=bh.log("gcp-metadata");I.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function mn(e){if(!e)e=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||I.HOST_ADDRESS;if(!/^https?:\/\//.test(e))e=`http://${e}`;return new URL(I.BASE_PATH,e).href}function Rh(e){Object.keys(e).forEach((t)=>{switch(t){case"params":case"property":case"headers":break;case"qs":throw Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw Error(`'${t}' is not a valid configuration option.`)}})}async function Lt(e,t={},r=3,n=!1){let i=new Headers(I.HEADERS),s="",u={};if(typeof e==="object"){let k=e;new Headers(k.headers).forEach((N,F)=>i.set(F,N)),s=k.metadataKey,u=k.params||u,r=k.noResponseRetries||r,n=k.fastFail||n}else s=e;if(typeof t==="string")s+=`/${t}`;else{if(Rh(t),t.property)s+=`/${t.property}`;new Headers(t.headers).forEach((k,N)=>i.set(N,k)),u=t.params||u}let h=n?xh:_t.request,m={url:`${mn()}/${s}`,headers:i,retryConfig:{noResponseRetries:r},params:u,responseType:"text",timeout:Fs()};Is.info("instance request %j",m);let S=await h(m);Is.info("instance metadata is %s",S.data);let A=S.headers.get(I.HEADER_NAME);if(A!==I.HEADER_VALUE)throw RangeError(`Invalid response from metadata service: incorrect ${I.HEADER_NAME} header. Expected '${I.HEADER_VALUE}', got ${A?`'${A}'`:"no header"}`);if(typeof S.data==="string")try{return Us.parse(S.data)}catch{}return S.data}async function xh(e){let t={...e,url:e.url?.toString().replace(mn(),mn(I.SECONDARY_HOST_ADDRESS))},r=_t.request(e),n=_t.request(t);return Promise.any([r,n])}function Nh(e){return Lt("instance",e)}function Ph(e){return Lt("project",e)}function Ih(e){return Lt("universe",e)}async function Dh(e){let t={};return await Promise.all(e.map((r)=>(async()=>{let n=await Lt(r),i=r.metadataKey;t[i]=n})())),t}function Uh(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var hr;async function jh(){if(process.env.METADATA_SERVER_DETECTION){let e=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(e in I.METADATA_SERVER_DETECTION))throw RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${e}\`, but it should be \`${Object.keys(I.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(e){case"assume-present":return!0;case"none":return!1;case"bios-only":return _n();case"ping-only":}}try{if(hr===void 0)hr=Lt("instance",void 0,Uh(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST));return await hr,!0}catch(e){let t=e;if(process.env.DEBUG_AUTH)console.info(t);if(t.type==="request-timeout")return!1;if(t.response&&t.response.status===404)return!1;else{if(!(t.response&&t.response.status===404)&&(!t.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(t.code.toString()))){let r="UNKNOWN";if(t.code)r=t.code.toString();process.emitWarning(`received unexpected error = ${t.message} code = ${r}`,"MetadataLookupWarning")}return!1}}}function qh(){hr=void 0}I.gcpResidencyCache=null;function _n(){if(I.gcpResidencyCache===null)qs();return I.gcpResidencyCache}function qs(e=null){I.gcpResidencyCache=e!==null?e:js.detectGCPResidency()}function Fs(){return _n()?0:3000}kh(pn(),I)});var Ls=w(function(Kh){Kh.byteLength=Mh;Kh.toByteArray=Gh;Kh.fromByteArray=$h;var Le=[],Se=[],Fh=typeof Uint8Array<"u"?Uint8Array:Array,En="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Qe=0,wn=En.length;Qe<wn;++Qe)Le[Qe]=En[Qe],Se[En.charCodeAt(Qe)]=Qe;var Qe,wn;Se[45]=62;Se[95]=63;function Ms(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");if(r===-1)r=t;var n=r===t?0:4-r%4;return[r,n]}function Mh(e){var t=Ms(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Lh(e,t,r){return(t+r)*3/4-r}function Gh(e){var t,r=Ms(e),n=r[0],i=r[1],s=new Fh(Lh(e,n,i)),u=0,h=i>0?n-4:n,m;for(m=0;m<h;m+=4)t=Se[e.charCodeAt(m)]<<18|Se[e.charCodeAt(m+1)]<<12|Se[e.charCodeAt(m+2)]<<6|Se[e.charCodeAt(m+3)],s[u++]=t>>16&255,s[u++]=t>>8&255,s[u++]=t&255;if(i===2)t=Se[e.charCodeAt(m)]<<2|Se[e.charCodeAt(m+1)]>>4,s[u++]=t&255;if(i===1)t=Se[e.charCodeAt(m)]<<10|Se[e.charCodeAt(m+1)]<<4|Se[e.charCodeAt(m+2)]>>2,s[u++]=t>>8&255,s[u++]=t&255;return s}function Bh(e){return Le[e>>18&63]+Le[e>>12&63]+Le[e>>6&63]+Le[e&63]}function Hh(e,t,r){var n,i=[];for(var s=t;s<r;s+=3)n=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(e[s+2]&255),i.push(Bh(n));return i.join("")}function $h(e){var t,r=e.length,n=r%3,i=[],s=16383;for(var u=0,h=r-n;u<h;u+=s)i.push(Hh(e,u,u+s>h?h:u+s));if(n===1)t=e[r-1],i.push(Le[t>>2]+Le[t<<4&63]+"==");else if(n===2)t=(e[r-2]<<8)+e[r-1],i.push(Le[t>>10]+Le[t>>4&63]+Le[t<<2&63]+"=");return i.join("")}});var Tn=w(function(Gs){Object.defineProperty(Gs,"__esModule",{value:!0});Gs.fromArrayBufferToHex=Yh;function Yh(e){return Array.from(new Uint8Array(e)).map((r)=>r.toString(16).padStart(2,"0")).join("")}});var Ks=w(function(Hs){Object.defineProperty(Hs,"__esModule",{value:!0});Hs.BrowserCrypto=void 0;var Ce=Ls(),Bs=Tn();class fr{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let t=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",t);return Ce.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let t=new Uint8Array(e);return window.crypto.getRandomValues(t),Ce.fromByteArray(t)}static padBase64(e){while(e.length%4!==0)e+="=";return e}async verify(e,t,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},i=new TextEncoder().encode(t),s=Ce.toByteArray(fr.padBase64(r)),u=await window.crypto.subtle.importKey("jwk",e,n,!0,["verify"]);return await window.crypto.subtle.verify(n,u,Buffer.from(s),i)}async sign(e,t){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},n=new TextEncoder().encode(t),i=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),s=await window.crypto.subtle.sign(r,i,n);return Ce.fromByteArray(new Uint8Array(s))}decodeBase64StringUtf8(e){let t=Ce.toByteArray(fr.padBase64(e));return new TextDecoder().decode(t)}encodeBase64StringUtf8(e){let t=new TextEncoder().encode(e);return Ce.fromByteArray(t)}async sha256DigestHex(e){let t=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",t);return Bs.fromArrayBufferToHex(r)}async signWithHmacSha256(e,t){let r=typeof e==="string"?e:String.fromCharCode(...new Uint16Array(e)),n=new TextEncoder,i=await window.crypto.subtle.importKey("raw",n.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",i,n.encode(t))}}Hs.BrowserCrypto=fr});var Ys=w(function(Vs){Object.defineProperty(Vs,"__esModule",{value:!0});Vs.NodeCrypto=void 0;var Oe=V("crypto");class Js{async sha256DigestBase64(e){return Oe.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return Oe.randomBytes(e).toString("base64")}async verify(e,t,r){let n=Oe.createVerify("RSA-SHA256");return n.update(t),n.end(),n.verify(e,r,"base64")}async sign(e,t){let r=Oe.createSign("RSA-SHA256");return r.update(t),r.end(),r.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return Oe.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,t){let r=typeof e==="string"?e:Qh(e);return zh(Oe.createHmac("sha256",r).update(t).digest())}}Vs.NodeCrypto=Js;function zh(e){let t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;n<e.length;++n)r[n]=e[n];return t}function Qh(e){return Buffer.from(e)}});var Bt=w(function(Ve){var Zh=Ve&&Ve.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),ef=Ve&&Ve.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))Zh(t,e,r)};Object.defineProperty(Ve,"__esModule",{value:!0});Ve.createCrypto=tf;Ve.hasBrowserCrypto=Qs;var Xs=Ks(),zs=Ys();ef(Tn(),Ve);function tf(){if(Qs())return new Xs.BrowserCrypto;return new zs.NodeCrypto}function Qs(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var Et=w(function(An,eo){/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var dr=V("buffer"),Ge=dr.Buffer;function Zs(e,t){for(var r in e)t[r]=e[r]}if(Ge.from&&Ge.alloc&&Ge.allocUnsafe&&Ge.allocUnsafeSlow)eo.exports=dr;else Zs(dr,An),An.Buffer=pt;function pt(e,t,r){return Ge(e,t,r)}pt.prototype=Object.create(Ge.prototype);Zs(Ge,pt);pt.from=function(e,t,r){if(typeof e==="number")throw TypeError("Argument must not be a number");return Ge(e,t,r)};pt.alloc=function(e,t,r){if(typeof e!=="number")throw TypeError("Argument must be a number");var n=Ge(e);if(t!==void 0)if(typeof r==="string")n.fill(t,r);else n.fill(t);else n.fill(0);return n};pt.allocUnsafe=function(e){if(typeof e!=="number")throw TypeError("Argument must be a number");return Ge(e)};pt.allocUnsafeSlow=function(e){if(typeof e!=="number")throw TypeError("Argument must be a number");return dr.SlowBuffer(e)}});var ro=w(function(Ag,to){function vn(e){var t=(e/8|0)+(e%8===0?0:1);return t}var rf={ES256:vn(256),ES384:vn(384),ES512:vn(521)};function nf(e){var t=rf[e];if(t)return t;throw Error('Unknown algorithm "'+e+'"')}to.exports=nf});var Sn=w(function(vg,co){var pr=Et().Buffer,io=ro(),gr=128,so=0,sf=32,of=16,af=2,oo=of|sf|so<<6,yr=af|so<<6;function cf(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function ao(e){if(pr.isBuffer(e))return e;else if(typeof e==="string")return pr.from(e,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function uf(e,t){e=ao(e);var r=io(t),n=r+1,i=e.length,s=0;if(e[s++]!==oo)throw Error('Could not find expected "seq"');var u=e[s++];if(u===(gr|1))u=e[s++];if(i-s<u)throw Error('"seq" specified length of "'+u+'", only "'+(i-s)+'" remaining');if(e[s++]!==yr)throw Error('Could not find expected "int" for "r"');var h=e[s++];if(i-s-2<h)throw Error('"r" specified length of "'+h+'", only "'+(i-s-2)+'" available');if(n<h)throw Error('"r" specified length of "'+h+'", max of "'+n+'" is acceptable');var m=s;if(s+=h,e[s++]!==yr)throw Error('Could not find expected "int" for "s"');var S=e[s++];if(i-s!==S)throw Error('"s" specified length of "'+S+'", expected "'+(i-s)+'"');if(n<S)throw Error('"s" specified length of "'+S+'", max of "'+n+'" is acceptable');var A=s;if(s+=S,s!==i)throw Error('Expected to consume entire buffer, but "'+(i-s)+'" bytes remain');var k=r-h,N=r-S,F=pr.allocUnsafe(k+h+N+S);for(s=0;s<k;++s)F[s]=0;e.copy(F,s,m+Math.max(-k,0),m+h),s=r;for(var W=s;s<W+N;++s)F[s]=0;return e.copy(F,s,A+Math.max(-N,0),A+S),F=F.toString("base64"),F=cf(F),F}function no(e,t,r){var n=0;while(t+n<r&&e[t+n]===0)++n;var i=e[t+n]>=gr;if(i)--n;return n}function lf(e,t){e=ao(e);var r=io(t),n=e.length;if(n!==r*2)throw TypeError('"'+t+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var i=no(e,0,r),s=no(e,r,e.length),u=r-i,h=r-s,m=2+u+1+1+h,S=m<gr,A=pr.allocUnsafe((S?2:3)+m),k=0;if(A[k++]=oo,S)A[k++]=m;else A[k++]=gr|1,A[k++]=m&255;if(A[k++]=yr,A[k++]=u,i<0)A[k++]=0,k+=e.copy(A,k,0,r);else k+=e.copy(A,k,i,r);if(A[k++]=yr,A[k++]=h,s<0)A[k++]=0,e.copy(A,k,r);else e.copy(A,k,r+s);return A}co.exports={derToJose:uf,joseToDer:lf}});var Ue=w(function(go){Object.defineProperty(go,"__esModule",{value:!0});go.LRUCache=void 0;go.snakeToCamel=fo;go.originalOrCamelOptions=ff;go.removeUndefinedValuesInObject=df;go.isValidFile=pf;go.getWellKnownCertificateConfigFileLocation=gf;var lo=V("fs"),ho=V("os"),wt=V("path"),hf="certificate_config.json",uo="gcloud";function fo(e){return e.replace(/([_][^_])/g,(t)=>t.slice(1).toUpperCase())}function ff(e){function t(r){let n=e||{};return n[r]??n[fo(r)]}return{get:t}}class po{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,t){this.#e.delete(e),this.#e.set(e,{value:t,lastAccessed:Date.now()})}set(e,t){this.#t(e,t),this.#r()}get(e){let t=this.#e.get(e);if(!t)return;return this.#t(e,t.value),this.#r(),t.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,t=this.#e.entries().next();while(!t.done&&(this.#e.size>this.capacity||t.value[1].lastAccessed<e))this.#e.delete(t.value[0]),t=this.#e.entries().next()}}go.LRUCache=po;function df(e){return Object.entries(e).forEach(([t,r])=>{if(r===void 0||r==="undefined")delete e[t]}),e}async function pf(e){try{return(await lo.promises.lstat(e)).isFile()}catch(t){return!1}}function gf(){let e=process.env.CLOUDSDK_CONFIG||(yf()?wt.join(process.env.APPDATA||"",uo):wt.join(process.env.HOME||"",".config",uo));return wt.join(e,hf)}function yf(){return ho.platform().startsWith("win")}});var Eo=w(function(mo){Object.defineProperty(mo,"__esModule",{value:!0});mo.Colours=void 0;class q{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth==="function"?e.getColorDepth()>2:!0)}static refresh(){if(q.enabled=q.isEnabled(process===null||process===void 0?void 0:process.stderr),!this.enabled)q.reset="",q.bright="",q.dim="",q.red="",q.green="",q.yellow="",q.blue="",q.magenta="",q.cyan="",q.white="",q.grey="";else q.reset="\x1B[0m",q.bright="\x1B[1m",q.dim="\x1B[2m",q.red="\x1B[31m",q.green="\x1B[32m",q.yellow="\x1B[33m",q.blue="\x1B[34m",q.magenta="\x1B[35m",q.cyan="\x1B[36m",q.white="\x1B[37m",q.grey="\x1B[90m"}}mo.Colours=q;q.enabled=!1;q.reset="";q.bright="";q.dim="";q.red="";q.green="";q.yellow="";q.blue="";q.magenta="";q.cyan="";q.white="";q.grey="";q.refresh()});var ko=w(function(J){var Af=J&&J.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),vf=J&&J.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),wo=J&&J.__importStar||function(){var e=function(t){return e=Object.getOwnPropertyNames||function(r){var n=[];for(var i in r)if(Object.prototype.hasOwnProperty.call(r,i))n[n.length]=i;return n},e(t)};return function(t){if(t&&t.__esModule)return t;var r={};if(t!=null){for(var n=e(t),i=0;i<n.length;i++)if(n[i]!=="default")Af(r,t,n[i])}return vf(r,t),r}}();Object.defineProperty(J,"__esModule",{value:!0});J.env=J.DebugLogBackendBase=J.placeholder=J.AdhocDebugLogger=J.LogSeverity=void 0;J.getNodeBackend=Cn;J.getDebugBackend=Sf;J.getStructuredBackend=Cf;J.setBackend=Of;J.log=Oo;var To=V("events"),Ht=wo(V("process")),Ao=wo(V("util")),Q=Eo(),je;(function(e){e.DEFAULT="DEFAULT",e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR"})(je||(J.LogSeverity=je={}));class mr extends To.EventEmitter{constructor(e,t){super();this.namespace=e,this.upstream=t,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,n)=>this.on(r,n)}),this.func.debug=(...r)=>this.invokeSeverity(je.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(je.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(je.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(je.ERROR,...r),this.func.sublog=(r)=>Oo(r,this.func)}invoke(e,...t){if(this.upstream)try{this.upstream(e,...t)}catch(r){}try{this.emit("log",e,t)}catch(r){}}invokeSeverity(e,...t){this.invoke({severity:e},...t)}}J.AdhocDebugLogger=mr;J.placeholder=new mr("",()=>{}).func;class $t{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let t=(e=Ht.env[J.env.nodeEnables])!==null&&e!==void 0?e:"*";if(t==="all")t="*";this.filters=t.split(",")}log(e,t,...r){try{if(!this.filtersSet)this.setFilters(),this.filtersSet=!0;let n=this.cached.get(e);if(!n)n=this.makeLogger(e),this.cached.set(e,n);n(t,...r)}catch(n){console.error(n)}}}J.DebugLogBackendBase=$t;class vo extends $t{constructor(){super(...arguments);this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){if(!this.enabledRegexp.test(e))return()=>{};return(t,...r)=>{var n;let i=`${Q.Colours.green}${e}${Q.Colours.reset}`,s=`${Q.Colours.yellow}${Ht.pid}${Q.Colours.reset}`,u;switch(t.severity){case je.ERROR:u=`${Q.Colours.red}${t.severity}${Q.Colours.reset}`;break;case je.INFO:u=`${Q.Colours.magenta}${t.severity}${Q.Colours.reset}`;break;case je.WARNING:u=`${Q.Colours.yellow}${t.severity}${Q.Colours.reset}`;break;default:u=(n=t.severity)!==null&&n!==void 0?n:je.DEFAULT;break}let h=Ao.formatWithOptions({colors:Q.Colours.enabled},...r),m=Object.assign({},t);delete m.severity;let S=Object.getOwnPropertyNames(m).length?JSON.stringify(m):"",A=S?`${Q.Colours.grey}${S}${Q.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",s,i,u,h,S?` ${A}`:"")}}setFilters(){let t=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${t}$`,"i")}}function Cn(){return new vo}class So extends $t{constructor(e){super();this.debugPkg=e}makeLogger(e){let t=this.debugPkg(e);return(r,...n)=>{t(n[0],...n.slice(1))}}setFilters(){var e;let t=(e=Ht.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Ht.env.NODE_DEBUG=`${t}${t?",":""}${this.filters.join(",")}`}}function Sf(e){return new So(e)}class Co extends $t{constructor(e){var t;super();this.upstream=(t=e)!==null&&t!==void 0?t:void 0}makeLogger(e){var t;let r=(t=this.upstream)===null||t===void 0?void 0:t.makeLogger(e);return(n,...i)=>{var s;let u=(s=n.severity)!==null&&s!==void 0?s:je.INFO,h=Object.assign({severity:u,message:Ao.format(...i)},n),m=JSON.stringify(h);if(r)r(n,m);else console.log("%s",m)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}}function Cf(e){return new Co(e)}J.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var On=new Map,_e=void 0;function Of(e){_e=e,On.clear()}function Oo(e,t){if(!_e){if(!Ht.env[J.env.nodeEnables])return J.placeholder}if(!e)return J.placeholder;if(t)e=`${t.instance.namespace}:${e}`;let r=On.get(e);if(r)return r.func;if(_e===null)return J.placeholder;else if(_e===void 0)_e=Cn();let n=(()=>{let i=void 0;return new mr(e,(u,...h)=>{if(i!==_e){if(_e===null)return;else if(_e===void 0)_e=Cn();i=_e}_e===null||_e===void 0||_e.log(e,u,...h)})})();return On.set(e,n),n.func}});var bo=w(function(gt){var kf=gt&&gt.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),bf=gt&&gt.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))kf(t,e,r)};Object.defineProperty(gt,"__esModule",{value:!0});bf(ko(),gt)});var Ro=w(function(bg,Rf){Rf.exports={name:"google-auth-library",version:"10.9.1",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:{type:"git",directory:"core/packages/google-auth-library-nodejs",url:"https://github.com/googleapis/google-cloud-node.git"},keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.1.4","gcp-metadata":"8.1.2","google-logging-utils":"1.1.3",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","assert-rejects":"^1.0.0",c8:"^10.1.3",codecov:"^3.8.3",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.1",puppeteer:"^24.0.0",sinon:"21.0.3","ts-loader":"^9.5.2",typescript:"5.8.3",webpack:"^5.97.1","webpack-cli":"^6.0.1"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0",homepage:"https://github.com/googleapis/google-cloud-node/tree/main/core/packages/google-auth-library-nodejs"}});var bn=w(function(No){Object.defineProperty(No,"__esModule",{value:!0});No.USER_AGENT=No.PRODUCT_NAME=No.pkg=void 0;var kn=Ro();No.pkg=kn;var xo="google-api-nodejs-client";No.PRODUCT_NAME=xo;var xf=`${xo}/${kn.version}`;No.USER_AGENT=xf});var Ee=w(function(jo){Object.defineProperty(jo,"__esModule",{value:!0});jo.AuthClient=jo.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=jo.DEFAULT_UNIVERSE=void 0;var Io=V("events"),Tt=ce(),Do=Ue(),Uo=bo(),At=bn();jo.DEFAULT_UNIVERSE="googleapis.com";jo.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300000;class ue extends Io.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=jo.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=jo.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let t=Do.originalOrCamelOptions(e);if(this.apiKey=e.apiKey,this.projectId=t.get("project_id")??null,this.quotaProjectId=t.get("quota_project_id"),this.credentials=t.get("credentials")??{},this.universeDomain=t.get("universe_domain")??jo.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Tt.Gaxios(e.transporterOptions),t.get("useAuthRequestParameters")!==!1)this.transporter.interceptors.request.add(ue.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(ue.DEFAULT_RESPONSE_INTERCEPTOR);if(e.eagerRefreshThresholdMillis)this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis;this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let t=e[0],r=e[1],n=void 0,i=new Headers;if(typeof t==="string")n=new URL(t);else if(t instanceof URL)n=t;else if(t&&t.url)n=new URL(t.url);if(t&&typeof t==="object"&&"headers"in t)Tt.Gaxios.mergeHeaders(i,t.headers);if(r)Tt.Gaxios.mergeHeaders(i,new Headers(r.headers));if(typeof t==="object"&&!(t instanceof URL))return this.request({...r,...t,headers:i,url:n});else return this.request({...r,headers:i,url:n})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){if(!e.has("x-goog-user-project")&&this.quotaProjectId)e.set("x-goog-user-project",this.quotaProjectId);return e}addUserProjectAndAuthHeaders(e,t){let r=t.get("x-goog-user-project"),n=t.get("authorization");if(r)e.set("x-goog-user-project",r);if(n)e.set("authorization",n);return e}static log=Uo.log("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async(e)=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let t=e.headers.get("User-Agent");if(!t)e.headers.set("User-Agent",At.USER_AGENT);else if(!t.includes(`${At.PRODUCT_NAME}/`))e.headers.set("User-Agent",`${t} ${At.USER_AGENT}`);try{let r=e,n=r[ue.RequestMethodNameSymbol],i=`${Math.floor(Math.random()*1000)}`;r[ue.RequestLogIdSymbol]=i;let s={url:e.url,headers:e.headers};if(n)ue.log.info("%s [%s] request %j",n,i,s);else ue.log.info("[%s] request %j",i,s)}catch(r){}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async(e)=>{try{let t=e.config,r=t[ue.RequestMethodNameSymbol],n=t[ue.RequestLogIdSymbol];if(r)ue.log.info("%s [%s] response %j",r,n,e.data);else ue.log.info("[%s] response %j",n,e.data)}catch(t){}return e},rejected:async(e)=>{try{let t=e.config,r=t[ue.RequestMethodNameSymbol],n=t[ue.RequestLogIdSymbol];if(r)ue.log.info("%s [%s] error %j",r,n,e.response?.data);else ue.log.error("[%s] error %j",n,e.response?.data)}catch(t){}throw e}};static setMethodName(e,t){try{let r=e;r[ue.RequestMethodNameSymbol]=t}catch(r){}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}}jo.AuthClient=ue});var xn=w(function(Lo){Object.defineProperty(Lo,"__esModule",{value:!0});Lo.LoginTicket=void 0;class Mo{envelope;payload;constructor(e,t){this.envelope=e,this.payload=t}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();if(e&&e.sub)return e.sub;return null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}}Lo.LoginTicket=Mo});var Ze=w(function(Vo){Object.defineProperty(Vo,"__esModule",{value:!0});Vo.OAuth2Client=Vo.ClientAuthentication=Vo.CertificateFormat=Vo.CodeChallengeMethod=void 0;var _r=ce(),Ho=V("querystring"),$o=V("stream"),Ko=Sn(),Er=Ue(),vt=Bt(),be=Ee(),Jo=xn(),Bo;(function(e){e.Plain="plain",e.S256="S256"})(Bo||(Vo.CodeChallengeMethod=Bo={}));var We;(function(e){e.PEM="PEM",e.JWK="JWK"})(We||(Vo.CertificateFormat=We={}));var Kt;(function(e){e.ClientSecretPost="ClientSecretPost",e.ClientSecretBasic="ClientSecretBasic",e.None="None"})(Kt||(Vo.ClientAuthentication=Kt={}));class ke extends be.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=We.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},t,r){super(typeof e==="object"?e:{});if(typeof e!=="object")e={clientId:e,clientSecret:t,redirectUri:r};this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Kt.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw Error("If a code_challenge_method is provided, code_challenge must be included.");if(e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope))e.scope=e.scope.join(" ");return this.endpoints.oauth2AuthBaseUrl.toString()+"?"+Ho.stringify(e)}generateCodeVerifier(){throw Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=vt.createCrypto(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),i=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:i}}getToken(e,t){let r=typeof e==="string"?{code:e}:e;if(t)this.getTokenAsync(r).then((n)=>t(null,n.tokens,n.res),(n)=>t(n,null,n.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let t=this.endpoints.oauth2TokenUrl.toString(),r=new Headers,n={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Kt.ClientSecretBasic){let h=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${h.toString("base64")}`)}if(this.clientAuthentication===Kt.ClientSecretPost)n.client_secret=this._clientSecret;let i={...ke.RETRY_CONFIG,method:"POST",url:t,data:new URLSearchParams(Er.removeUndefinedValuesInObject(n)),headers:r};be.AuthClient.setMethodName(i,"getTokenAsync");let s=await this.transporter.request(i),u=s.data;if(s.data&&s.data.expires_in)u.expiry_date=new Date().getTime()+s.data.expires_in*1000,delete u.expires_in;return this.emit("tokens",u),{tokens:u,res:s}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let t=this.refreshTokenNoCache(e).then((r)=>(this.refreshTokenPromises.delete(e),r),(r)=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,t),t}async refreshTokenNoCache(e){if(!e)throw Error("No refresh token is set.");let t=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},n;try{let s={...ke.RETRY_CONFIG,method:"POST",url:t,data:new URLSearchParams(Er.removeUndefinedValuesInObject(r))};be.AuthClient.setMethodName(s,"refreshTokenNoCache"),n=await this.transporter.request(s)}catch(s){if(s instanceof _r.GaxiosError&&s.message==="invalid_grant"&&s.response?.data&&/ReAuth/i.test(s.response.data.error_description))s.message=JSON.stringify(s.response.data);throw s}let i=n.data;if(n.data&&n.data.expires_in)i.expiry_date=new Date().getTime()+n.data.expires_in*1000,delete i.expires_in;return this.emit("tokens",i),{tokens:i,res:n}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then((t)=>e(null,t.credentials,t.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),t=e.tokens;return t.refresh_token=this.credentials.refresh_token,this.credentials=t,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then((t)=>e(null,t.token,t.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw Error("No refresh token or refresh handler callback is set.");let t=await this.refreshAccessTokenAsync();if(!t.credentials||t.credentials&&!t.credentials.access_token)throw Error("Could not refresh access token.");return{token:t.credentials.access_token,res:t.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let t=this.credentials;if(!t.access_token&&!t.refresh_token&&!this.apiKey&&!this.refreshHandler)throw Error("No access, refresh token, API key or refresh handler callback is set.");if(t.access_token&&!this.isTokenExpiring()){t.token_type=t.token_type||"Bearer";let u=new Headers({authorization:t.token_type+" "+t.access_token});return{headers:this.addSharedMetadataHeaders(u)}}if(this.refreshHandler){let u=await this.processAndValidateRefreshHandler();if(u?.access_token){this.setCredentials(u);let h=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(h)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,n=null;try{r=await this.refreshToken(t.refresh_token),n=r.tokens}catch(u){let h=u;if(h.response&&(h.response.status===403||h.response.status===404))h.message=`Could not refresh access token: ${h.message}`;throw h}let i=this.credentials;i.token_type=i.token_type||"Bearer",n.refresh_token=i.refresh_token,this.credentials=n;let s=new Headers({authorization:i.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(s),res:r.res}}static getRevokeTokenUrl(e){return new ke().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let t=new URL(this.endpoints.oauth2RevokeUrl);return t.searchParams.append("token",e),t}revokeToken(e,t){let r={...ke.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(be.AuthClient.setMethodName(r,"revokeToken"),t)this.transporter.request(r).then((n)=>t(null,n),t);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then((t)=>e(null,t),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);else throw Error("No access token to revoke.")}request(e,t){if(t)this.requestAsync(e).then((r)=>t(null,r),(r)=>t(r,r.response));else return this.requestAsync(e)}async requestAsync(e,t=!1){try{let r=await this.getRequestMetadataAsync();if(e.headers=_r.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey)e.headers.set("X-Goog-Api-Key",this.apiKey);return await this.transporter.request(e)}catch(r){let n=r.response;if(n){let i=n.status,s=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),u=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,h=n.config.data instanceof $o.Readable,m=i===401||i===403;if(!t&&m&&!h&&s)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);else if(!t&&m&&!h&&u){let S=await this.processAndValidateRefreshHandler();if(S?.access_token)this.setCredentials(S);return this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,t){if(t&&typeof t!=="function")throw Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(t)this.verifyIdTokenAsync(e).then((r)=>t(null,r),t);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw Error("The verifyIdToken method requires an ID Token");let t=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,t.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:t}=await this.transporter.request({...ke.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),r=Object.assign({expiry_date:new Date().getTime()+t.expires_in*1000,scopes:t.scope.split(" ")},t);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then((t)=>e(null,t.certs,t.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),t=vt.hasBrowserCrypto()?We.JWK:We.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===t)return{certs:this.certificateCache,format:t};let r,n;switch(t){case We.PEM:n=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case We.JWK:n=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw Error(`Unsupported certificate format ${t}`)}try{let m={...ke.RETRY_CONFIG,url:n};be.AuthClient.setMethodName(m,"getFederatedSignonCertsAsync"),r=await this.transporter.request(m)}catch(m){if(m instanceof Error)m.message=`Failed to retrieve verification certificates: ${m.message}`;throw m}let i=r?.headers.get("cache-control"),s=-1;if(i){let m=/max-age=(?<maxAge>[0-9]+)/.exec(i)?.groups?.maxAge;if(m)s=Number(m)*1000}let u={};switch(t){case We.PEM:u=r.data;break;case We.JWK:for(let m of r.data.keys)u[m.kid]=m;break;default:throw Error(`Unsupported certificate format ${t}`)}let h=new Date;return this.certificateExpiry=s===-1?null:new Date(h.getTime()+s),this.certificateCache=u,this.certificateCacheFormat=t,{certs:u,format:t,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then((t)=>e(null,t.pubkeys,t.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,t=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...ke.RETRY_CONFIG,url:t};be.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){if(r instanceof Error)r.message=`Failed to retrieve verification certificates: ${r.message}`;throw r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,t,r,n,i){let s=vt.createCrypto();if(!i)i=ke.DEFAULT_MAX_TOKEN_LIFETIME_SECS_;let u=e.split(".");if(u.length!==3)throw Error("Wrong number of segments in token: "+e);let h=u[0]+"."+u[1],m=u[2],S,A;try{S=JSON.parse(s.decodeBase64StringUtf8(u[0]))}catch(B){if(B instanceof Error)B.message=`Can't parse token envelope: ${u[0]}': ${B.message}`;throw B}if(!S)throw Error("Can't parse token envelope: "+u[0]);try{A=JSON.parse(s.decodeBase64StringUtf8(u[1]))}catch(B){if(B instanceof Error)B.message=`Can't parse token payload '${u[0]}`;throw B}if(!A)throw Error("Can't parse token payload: "+u[1]);if(!Object.prototype.hasOwnProperty.call(t,S.kid))throw Error("No pem found for envelope: "+JSON.stringify(S));let k=t[S.kid];if(S.alg==="ES256")m=Ko.joseToDer(m,"ES256").toString("base64");if(!await s.verify(k,h,m))throw Error("Invalid token signature: "+e);if(!A.iat)throw Error("No issue time in token: "+JSON.stringify(A));if(!A.exp)throw Error("No expiration time in token: "+JSON.stringify(A));let F=Number(A.iat);if(isNaN(F))throw Error("iat field using invalid format");let W=Number(A.exp);if(isNaN(W))throw Error("exp field using invalid format");let R=new Date().getTime()/1000;if(W>=R+i)throw Error("Expiration time too far in future: "+JSON.stringify(A));let D=F-ke.CLOCK_SKEW_SECS_,b=W+ke.CLOCK_SKEW_SECS_;if(R<D)throw Error("Token used too early, "+R+" < "+D+": "+JSON.stringify(A));if(R>b)throw Error("Token used too late, "+R+" > "+b+": "+JSON.stringify(A));if(n&&n.indexOf(A.iss)<0)throw Error("Invalid issuer, expected one of ["+n+"], but got "+A.iss);if(typeof r<"u"&&r!==null){let B=A.aud,ie=!1;if(r.constructor===Array)ie=r.indexOf(B)>-1;else ie=B===r;if(!ie)throw Error("Wrong recipient, payload audience != requiredAudience")}return new Jo.LoginTicket(S,A)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw Error("No access token is returned by the refreshHandler callback.");return e}return}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}}Vo.OAuth2Client=ke});var Nn=w(function(Qo){Object.defineProperty(Qo,"__esModule",{value:!0});Qo.Compute=void 0;var Yo=ce(),wr=Gt(),Xo=Ze();class zo extends Xo.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e);this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,t;try{let n={property:e};if(this.scopes.length>0)n.params={scopes:this.scopes.join(",")};t=await wr.instance(n)}catch(n){if(n instanceof Yo.GaxiosError)n.message=`Could not refresh access token: ${n.message}`,this.wrapError(n);throw n}let r=t;if(t&&t.expires_in)r.expiry_date=new Date().getTime()+t.expires_in*1000,delete r.expires_in;return this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let t=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{r=await wr.instance({property:t})}catch(n){if(n instanceof Error)n.message=`Could not fetch ID token: ${n.message}`;throw n}return r}wrapError(e){let t=e.response;if(t&&t.status){if(e.status=t.status,t.status===403)e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message;else if(t.status===404)e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message}}}Qo.Compute=zo});var Pn=w(function(ra){Object.defineProperty(ra,"__esModule",{value:!0});ra.IdTokenClient=void 0;var ea=Ze();class ta extends ea.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e);this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let t=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:t,expiry_date:this.getIdTokenExpiryDate(t)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let t=e.split(".")[1];if(t)return JSON.parse(Buffer.from(t,"base64").toString("ascii")).exp*1000}}ra.IdTokenClient=ta});var In=w(function(ia){Object.defineProperty(ia,"__esModule",{value:!0});ia.GCPEnv=void 0;ia.clear=jf;ia.getEnv=qf;var Tr=Gt(),Be;(function(e){e.APP_ENGINE="APP_ENGINE",e.KUBERNETES_ENGINE="KUBERNETES_ENGINE",e.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",e.COMPUTE_ENGINE="COMPUTE_ENGINE",e.CLOUD_RUN="CLOUD_RUN",e.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",e.NONE="NONE"})(Be||(ia.GCPEnv=Be={}));var Jt;function jf(){Jt=void 0}async function qf(){if(Jt)return Jt;return Jt=Ff(),Jt}async function Ff(){let e=Be.NONE;if(Mf())e=Be.APP_ENGINE;else if(Lf())e=Be.CLOUD_FUNCTIONS;else if(await $f())if(await Hf())e=Be.KUBERNETES_ENGINE;else if(Gf())e=Be.CLOUD_RUN;else if(Bf())e=Be.CLOUD_RUN_JOBS;else e=Be.COMPUTE_ENGINE;else e=Be.NONE;return e}function Mf(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function Lf(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function Gf(){return!!process.env.K_CONFIGURATION}function Bf(){return!!process.env.CLOUD_RUN_JOB}async function Hf(){try{return await Tr.instance("attributes/cluster-name"),!0}catch(e){return!1}}async function $f(){return Tr.isAvailable()}});var Dn=w(function(jg,oa){var Ar=Et().Buffer,Vf=V("stream"),Wf=V("util");function vr(e){if(this.buffer=null,this.writable=!0,this.readable=!0,!e)return this.buffer=Ar.alloc(0),this;if(typeof e.pipe==="function")return this.buffer=Ar.alloc(0),e.pipe(this),this;if(e.length||typeof e==="object")return this.buffer=e,this.writable=!1,process.nextTick(function(){this.emit("end",e),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof e+")")}Wf.inherits(vr,Vf);vr.prototype.write=function(t){this.buffer=Ar.concat([this.buffer,Ar.from(t)]),this.emit("data",t)};vr.prototype.end=function(t){if(t)this.write(t);this.emit("end",t),this.emit("close"),this.writable=!1,this.readable=!1};oa.exports=vr});var ca=w(function(qg,aa){var Vt=V("buffer").Buffer,Un=V("buffer").SlowBuffer;aa.exports=Sr;function Sr(e,t){if(!Vt.isBuffer(e)||!Vt.isBuffer(t))return!1;if(e.length!==t.length)return!1;var r=0;for(var n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}Sr.install=function(){Vt.prototype.equal=Un.prototype.equal=function(t){return Sr(this,t)}};var Yf=Vt.prototype.equal,Xf=Un.prototype.equal;Sr.restore=function(){Vt.prototype.equal=Yf,Un.prototype.equal=Xf}});var Mn=w(function(Fg,ma){var Ct=Et().Buffer,Re=V("crypto"),la=Sn(),ua=V("util"),zf=`"%s" is not a valid algorithm.
15
- Supported algorithms are:
16
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Wt="secret must be a string or buffer",St="key must be a string or a buffer",Qf="key must be a string, a buffer or an object",qn=typeof Re.createPublicKey==="function";if(qn)St+=" or a KeyObject",Wt+="or a KeyObject";function ha(e){if(Ct.isBuffer(e))return;if(typeof e==="string")return;if(!qn)throw qe(St);if(typeof e!=="object")throw qe(St);if(typeof e.type!=="string")throw qe(St);if(typeof e.asymmetricKeyType!=="string")throw qe(St);if(typeof e.export!=="function")throw qe(St)}function fa(e){if(Ct.isBuffer(e))return;if(typeof e==="string")return;if(typeof e==="object")return;throw qe(Qf)}function Zf(e){if(Ct.isBuffer(e))return;if(typeof e==="string")return e;if(!qn)throw qe(Wt);if(typeof e!=="object")throw qe(Wt);if(e.type!=="secret")throw qe(Wt);if(typeof e.export!=="function")throw qe(Wt)}function Fn(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function da(e){e=e.toString();var t=4-e.length%4;if(t!==4)for(var r=0;r<t;++r)e+="=";return e.replace(/\-/g,"+").replace(/_/g,"/")}function qe(e){var t=[].slice.call(arguments,1),r=ua.format.bind(ua,e).apply(null,t);return TypeError(r)}function ed(e){return Ct.isBuffer(e)||typeof e==="string"}function Yt(e){if(!ed(e))e=JSON.stringify(e);return e}function pa(e){return function(r,n){Zf(n),r=Yt(r);var i=Re.createHmac("sha"+e,n),s=(i.update(r),i.digest("base64"));return Fn(s)}}var jn,td="timingSafeEqual"in Re?function(t,r){if(t.byteLength!==r.byteLength)return!1;return Re.timingSafeEqual(t,r)}:function(t,r){if(!jn)jn=ca();return jn(t,r)};function rd(e){return function(r,n,i){var s=pa(e)(r,i);return td(Ct.from(n),Ct.from(s))}}function ga(e){return function(r,n){fa(n),r=Yt(r);var i=Re.createSign("RSA-SHA"+e),s=(i.update(r),i.sign(n,"base64"));return Fn(s)}}function ya(e){return function(r,n,i){ha(i),r=Yt(r),n=da(n);var s=Re.createVerify("RSA-SHA"+e);return s.update(r),s.verify(i,n,"base64")}}function nd(e){return function(r,n){fa(n),r=Yt(r);var i=Re.createSign("RSA-SHA"+e),s=(i.update(r),i.sign({key:n,padding:Re.constants.RSA_PKCS1_PSS_PADDING,saltLength:Re.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Fn(s)}}function id(e){return function(r,n,i){ha(i),r=Yt(r),n=da(n);var s=Re.createVerify("RSA-SHA"+e);return s.update(r),s.verify({key:i,padding:Re.constants.RSA_PKCS1_PSS_PADDING,saltLength:Re.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function sd(e){var t=ga(e);return function(){var n=t.apply(null,arguments);return n=la.derToJose(n,"ES"+e),n}}function od(e){var t=ya(e);return function(n,i,s){i=la.joseToDer(i,"ES"+e).toString("base64");var u=t(n,i,s);return u}}function ad(){return function(){return""}}function cd(){return function(t,r){return r===""}}ma.exports=function(t){var r={hs:pa,rs:ga,ps:nd,es:sd,none:ad},n={hs:rd,rs:ya,ps:id,es:od,none:cd},i=t.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!i)throw qe(zf,t);var s=(i[1]||i[3]).toLowerCase(),u=i[2];return{sign:r[s](u),verify:n[s](u)}}});var Ln=w(function(Mg,_a){var ud=V("buffer").Buffer;_a.exports=function(t){if(typeof t==="string")return t;if(typeof t==="number"||ud.isBuffer(t))return t.toString();return JSON.stringify(t)}});var Sa=w(function(Lg,va){var ld=Et().Buffer,Ea=Dn(),hd=Mn(),fd=V("stream"),wa=Ln(),Gn=V("util");function Ta(e,t){return ld.from(e,t).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function dd(e,t,r){r=r||"utf8";var n=Ta(wa(e),"binary"),i=Ta(wa(t),r);return Gn.format("%s.%s",n,i)}function Aa(e){var{header:t,payload:r}=e,n=e.secret||e.privateKey,i=e.encoding,s=hd(t.alg),u=dd(t,r,i),h=s.sign(u,n);return Gn.format("%s.%s",u,h)}function Cr(e){var t=e.secret;if(t=t==null?e.privateKey:t,t=t==null?e.key:t,/^hs/i.test(e.header.alg)===!0&&t==null)throw TypeError("secret must be a string or buffer or a KeyObject");var r=new Ea(t);this.readable=!0,this.header=e.header,this.encoding=e.encoding,this.secret=this.privateKey=this.key=r,this.payload=new Ea(e.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}Gn.inherits(Cr,fd);Cr.prototype.sign=function(){try{var t=Aa({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",t),this.emit("data",t),this.emit("end"),this.readable=!1,t}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};Cr.sign=Aa;va.exports=Cr});var Da=w(function(Gg,Ia){var Oa=Et().Buffer,Ca=Dn(),pd=Mn(),gd=V("stream"),ka=Ln(),yd=V("util"),md=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function _d(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ed(e){if(_d(e))return e;try{return JSON.parse(e)}catch(t){return}}function ba(e){var t=e.split(".",1)[0];return Ed(Oa.from(t,"base64").toString("binary"))}function wd(e){return e.split(".",2).join(".")}function Ra(e){return e.split(".")[2]}function Td(e,t){t=t||"utf8";var r=e.split(".")[1];return Oa.from(r,"base64").toString(t)}function xa(e){return md.test(e)&&!!ba(e)}function Na(e,t,r){if(!t){var n=Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}e=ka(e);var i=Ra(e),s=wd(e),u=pd(t);return u.verify(s,i,r)}function Pa(e,t){if(t=t||{},e=ka(e),!xa(e))return null;var r=ba(e);if(!r)return null;var n=Td(e);if(r.typ==="JWT"||t.json)n=JSON.parse(n,t.encoding);return{header:r,payload:n,signature:Ra(e)}}function Ot(e){e=e||{};var t=e.secret;if(t=t==null?e.publicKey:t,t=t==null?e.key:t,/^hs/i.test(e.algorithm)===!0&&t==null)throw TypeError("secret must be a string or buffer or a KeyObject");var r=new Ca(t);this.readable=!0,this.algorithm=e.algorithm,this.encoding=e.encoding,this.secret=this.publicKey=this.key=r,this.signature=new Ca(e.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}yd.inherits(Ot,gd);Ot.prototype.verify=function(){try{var t=Na(this.signature.buffer,this.algorithm,this.key.buffer),r=Pa(this.signature.buffer,this.encoding);return this.emit("done",t,r),this.emit("data",t),this.emit("end"),this.readable=!1,t}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};Ot.decode=Pa;Ot.isValid=xa;Ot.verify=Na;Ia.exports=Ot});var Bn=w(function(vd){var Ua=Sa(),Or=Da(),Ad=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];vd.ALGORITHMS=Ad;vd.sign=Ua.sign;vd.verify=Or.verify;vd.decode=Or.decode;vd.isValid=Or.isValid;vd.createSign=function(t){return new Ua(t)};vd.createVerify=function(t){return new Or(t)}});var Ma=w(function(Fa){Object.defineProperty(Fa,"__esModule",{value:!0});Fa.buildPayloadForJwsSign=qa;Fa.getJwsSign=Id;var ja=Bn(),Nd="RS256",Pd="https://oauth2.googleapis.com/token";function qa(e){let t=Math.floor(new Date().getTime()/1000);return{iss:e.iss,scope:e.scope,aud:Pd,exp:t+3600,iat:t,sub:e.sub,...e.additionalClaims}}function Id(e){let t=qa(e);return ja.sign({header:{alg:Nd},payload:t,secret:e.key})}});var Ba=w(function(Ga){Object.defineProperty(Ga,"__esModule",{value:!0});Ga.getToken=Md;var La=Ma(),jd="https://oauth2.googleapis.com/token",qd="urn:ietf:params:oauth:grant-type:jwt-bearer",Fd=(e)=>({method:"POST",url:jd,data:new URLSearchParams({grant_type:qd,assertion:La.getJwsSign(e)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function Md(e){if(!e.transporter)throw Error("No transporter set.");try{let t=Fd(e);return(await e.transporter.request(t)).data}catch(t){let r=t,n=r.response?.data;if(n?.error)r.message=`${n.error}: ${n.error_description}`;throw r}}});var Ja=w(function($a){Object.defineProperty($a,"__esModule",{value:!0});$a.ErrorWithCode=void 0;class Ha extends Error{code;constructor(e,t){super(e);this.code=t}}$a.ErrorWithCode=Ha});var Hn=w(function(ec){Object.defineProperty(ec,"__esModule",{value:!0});ec.getCredentials=Gd;var Va=V("path"),kr=V("fs"),Wa=V("util"),tt=Ja(),Ya=kr.readFile?Wa.promisify(kr.readFile):async()=>{throw new tt.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},et;(function(e){e.JSON=".json",e.DER=".der",e.CRT=".crt",e.PEM=".pem",e.P12=".p12",e.PFX=".pfx"})(et||(et={}));class Xa{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await Ya(this.keyFilePath,"utf8"),t;try{t=JSON.parse(e)}catch(i){throw Error(`Invalid JSON key file: ${i.message}`)}let r=t.private_key,n=t.client_email;if(!r||!n)throw new tt.ErrorWithCode("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:r,clientEmail:n}}}class za{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){return{privateKey:await Ya(this.keyFilePath,"utf8")}}}class Qa{async getCredentials(){throw new tt.ErrorWithCode("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE")}}class Za{static create(e){switch(Va.extname(e)){case et.JSON:return new Xa(e);case et.DER:case et.CRT:case et.PEM:return new za(e);case et.P12:case et.PFX:return new Qa;default:throw new tt.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}}async function Gd(e){return Za.create(e).getCredentials()}});var oc=w(function(ic){Object.defineProperty(ic,"__esModule",{value:!0});ic.TokenHandler=void 0;var tc=Ba(),rc=Hn();class nc{token;tokenExpiresAt;inFlightRequest;tokenOptions;constructor(e){this.tokenOptions=e}async processCredentials(){if(!this.tokenOptions.key&&!this.tokenOptions.keyFile)throw Error("No key or keyFile set.");if(!this.tokenOptions.key&&this.tokenOptions.keyFile){let e=await rc.getCredentials(this.tokenOptions.keyFile);this.tokenOptions.key=e.privateKey,this.tokenOptions.email=e.clientEmail}}isTokenExpiring(){if(!this.token||!this.tokenExpiresAt)return!0;let e=new Date().getTime(),t=this.tokenOptions.eagerRefreshThresholdMillis??0;return this.tokenExpiresAt<=e+t}hasExpired(){let e=new Date().getTime();if(this.token&&this.tokenExpiresAt)return new Date().getTime()>=this.tokenExpiresAt;return!0}async getToken(e){if(await this.processCredentials(),this.inFlightRequest&&!e)return this.inFlightRequest;if(this.token&&!this.isTokenExpiring()&&!e)return this.token;try{this.inFlightRequest=tc.getToken(this.tokenOptions);let t=await this.inFlightRequest;return this.token=t,this.tokenExpiresAt=new Date().getTime()+(t.expires_in??0)*1000,t}finally{this.inFlightRequest=void 0}}}ic.TokenHandler=nc});var cc=w(function(ac){Object.defineProperty(ac,"__esModule",{value:!0});ac.revokeToken=Kd;var Hd="https://oauth2.googleapis.com/revoke?token=",$d=!0;async function Kd(e,t){let r=Hd+e;return await t.request({url:r,retry:$d})}});var $n=w(function(fc){Object.defineProperty(fc,"__esModule",{value:!0});fc.GoogleToken=void 0;var uc=ce(),br=oc(),lc=cc();class hc{tokenOptions;tokenHandler;constructor(e){if(this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:(t)=>uc.request(t)},!this.tokenOptions.iss)this.tokenOptions.iss=this.tokenOptions.email;if(typeof this.tokenOptions.scope==="object")this.tokenOptions.scope=this.tokenOptions.scope.join(" ");this.tokenHandler=new br.TokenHandler(this.tokenOptions)}get expiresAt(){return this.tokenHandler.tokenExpiresAt}get accessToken(){return this.tokenHandler.token?.access_token}get idToken(){return this.tokenHandler.token?.id_token}get tokenType(){return this.tokenHandler.token?.token_type}get refreshToken(){return this.tokenHandler.token?.refresh_token}hasExpired(){return this.tokenHandler.hasExpired()}isTokenExpiring(){return this.tokenHandler.isTokenExpiring()}getToken(e,t={forceRefresh:!1}){let r;if(typeof e==="function")r=e;else if(typeof e==="object")t=e;let n=this.tokenHandler.getToken(t.forceRefresh??!1);if(r)n.then((i)=>r(null,i),r);return n}revokeToken(e){if(!this.accessToken)return Promise.reject(Error("No token to revoke."));let t=lc.revokeToken(this.accessToken,this.tokenOptions.transporter);if(e)t.then(()=>e(),e);this.tokenHandler=new br.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}}fc.GoogleToken=hc});var Jn=w(function(mc){Object.defineProperty(mc,"__esModule",{value:!0});mc.JWTAccess=void 0;var gc=Bn(),yc=Ue(),pc={alg:"RS256",typ:"JWT"};class Kn{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new yc.LRUCache({capacity:500,maxAge:3600000});constructor(e,t,r,n){this.email=e,this.key=t,this.keyId=r,this.eagerRefreshThresholdMillis=n??300000}getCachedKey(e,t){let r=e;if(t&&Array.isArray(t)&&t.length)r=e?`${e}_${t.join("_")}`:`${t.join("_")}`;else if(typeof t==="string")r=e?`${e}_${t}`:t;if(!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,t,r){let n=this.getCachedKey(e,r),i=this.cache.get(n),s=Date.now();if(i&&i.expiration-s>this.eagerRefreshThresholdMillis)return new Headers(i.headers);let u=Math.floor(Date.now()/1000),h=Kn.getExpirationTime(u),m;if(Array.isArray(r))r=r.join(" ");if(r)m={iss:this.email,sub:this.email,scope:r,exp:h,iat:u};else m={iss:this.email,sub:this.email,aud:e,exp:h,iat:u};if(t){for(let F in m)if(t[F])throw Error(`The '${F}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let S=this.keyId?{...pc,kid:this.keyId}:pc,A=Object.assign(m,t),k=gc.sign({header:S,payload:A,secret:this.key}),N=new Headers({authorization:`Bearer ${k}`});return this.cache.set(n,{expiration:h*1000,headers:N}),N}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,t){if(t)this.fromStreamAsync(e).then(()=>t(),t);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((t,r)=>{if(!e)r(Error("Must pass in a stream containing the service account auth settings."));let n="";e.setEncoding("utf8").on("data",(i)=>n+=i).on("error",r).on("end",()=>{try{let i=JSON.parse(n);this.fromJSON(i),t()}catch(i){r(i)}})})}}mc.JWTAccess=Kn});var Wn=w(function(Ac){Object.defineProperty(Ac,"__esModule",{value:!0});Ac.JWT=void 0;var Rr=$n(),Ec=Hn(),wc=Jn(),Tc=Ze(),rt=Ee();class Vn extends Tc.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e);this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let t=new Vn(this);return t.scopes=e,t}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let t=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==rt.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==rt.DEFAULT_UNIVERSE)throw RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${rt.DEFAULT_UNIVERSE}`);if(!this.apiKey&&t)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{if(!this.access)this.access=new wc.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis);let r;if(this.hasUserScopes())r=this.scopes;else if(!e)r=this.defaultScopes;let n=this.useJWTAccessWithScope||this.universeDomain!==rt.DEFAULT_UNIVERSE,i=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,n?r:void 0);return{headers:this.addSharedMetadataHeaders(i)}}else if(this.hasAnyScopes()||this.apiKey)return super.getRequestMetadataAsync(e);else return{headers:new Headers}}async fetchIdToken(e){let t=new Rr.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await t.getToken({forceRefresh:!0}),!t.idToken)throw Error("Unknown error: Failed to fetch ID token");return t.idToken}hasUserScopes(){if(!this.scopes)return!1;return this.scopes.length>0}hasAnyScopes(){if(this.scopes&&this.scopes.length>0)return!0;if(this.defaultScopes&&this.defaultScopes.length>0)return!0;return!1}authorize(e){if(e)this.authorizeAsync().then((t)=>e(null,t),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.googleTokenOptions?.key,this.email=this.gtoken.googleTokenOptions?.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",r),{res:null,tokens:r}}createGToken(){if(!this.gtoken)this.gtoken=new Rr.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter});return this.gtoken}fromJSON(e){if(!e)throw Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,t){if(t)this.fromStreamAsync(e).then(()=>t(),t);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((t,r)=>{if(!e)throw Error("Must pass in a stream containing the service account auth settings.");let n="";e.setEncoding("utf8").on("error",r).on("data",(i)=>n+=i).on("end",()=>{try{let i=JSON.parse(n);this.fromJSON(i),t()}catch(i){r(i)}})})}fromAPIKey(e){if(typeof e!=="string")throw Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};else if(this.keyFile){let e=this.createGToken(),t=await Ec.getCredentials(this.keyFile);return{private_key:t.privateKey,client_email:t.clientEmail}}throw Error("A key or a keyFile must be provided to getCredentials.")}}Ac.JWT=Vn});var Yn=w(function(Oc){Object.defineProperty(Oc,"__esModule",{value:!0});Oc.UserRefreshClient=Oc.USER_REFRESH_ACCOUNT_TYPE=void 0;var Sc=Ze(),Cc=Ee();Oc.USER_REFRESH_ACCOUNT_TYPE="authorized_user";class xr extends Sc.OAuth2Client{_refreshToken;constructor(e,t,r,n,i){let s=e&&typeof e==="object"?e:{clientId:e,clientSecret:t,refreshToken:r,eagerRefreshThresholdMillis:n,forceRefreshOnFailure:i};super(s);this._refreshToken=s.refreshToken,this.credentials.refresh_token=s.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let t={...xr.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e}),responseType:"json"};return Cc.AuthClient.setMethodName(t,"fetchIdToken"),(await this.transporter.request(t)).data.id_token}fromJSON(e){if(!e)throw Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,t){if(t)this.fromStreamAsync(e).then(()=>t(),t);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((t,r)=>{if(!e)return r(Error("Must pass in a stream containing the user refresh token."));let n="";e.setEncoding("utf8").on("error",r).on("data",(i)=>n+=i).on("end",()=>{try{let i=JSON.parse(n);return this.fromJSON(i),t()}catch(i){return r(i)}})})}static fromJSON(e){let t=new xr;return t.fromJSON(e),t}}Oc.UserRefreshClient=xr});var Xn=w(function(Nc){Object.defineProperty(Nc,"__esModule",{value:!0});Nc.Impersonated=Nc.IMPERSONATED_ACCOUNT_TYPE=void 0;var Nr=Ze(),bc=ce(),Rc=Ue();Nc.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";class Xt extends Nr.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){super(e);if(this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new Nr.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!Rc.originalOrCamelOptions(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let t=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${t}:signBlob`,n={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...Xt.RETRY_CONFIG,url:r,data:n,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,t=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},n=await this.sourceClient.request({...Xt.RETRY_CONFIG,url:t,data:r,method:"POST"}),i=n.data;return this.credentials.access_token=i.accessToken,this.credentials.expiry_date=Date.parse(i.expireTime),{tokens:this.credentials,res:n}}catch(e){if(!(e instanceof Error))throw e;let t=0,r="";if(e instanceof bc.GaxiosError)t=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message;if(t&&r)throw e.message=`${t}: unable to impersonate: ${r}`,e;else throw e.message=`unable to impersonate: ${e}`,e}}async fetchIdToken(e,t){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:generateIdToken`,i={delegates:this.delegates,audience:e,includeEmail:t?.includeEmail??!0,useEmailAzp:t?.includeEmail??!0};return(await this.sourceClient.request({...Xt.RETRY_CONFIG,url:n,data:i,method:"POST"})).data.token}}Nc.Impersonated=Xt});var zn=w(function(Uc){Object.defineProperty(Uc,"__esModule",{value:!0});Uc.OAuthClientAuthHandler=void 0;Uc.getErrorFromOAuthErrorResponse=Xd;var xe=ce(),Ic=Bt(),Yd=["PUT","POST","PATCH"];class Dc{#e=Ic.createCrypto();#t;transporter;constructor(e){if(e&&"clientId"in e)this.#t=e,this.transporter=new xe.Gaxios;else this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new xe.Gaxios}applyClientAuthenticationOptions(e,t){if(e.headers=xe.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,t),!t)this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,t){if(t)e.headers=xe.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${t}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=xe.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,n=this.#t.clientSecret||"",i=this.#e.encodeBase64StringUtf8(`${r}:${n}`);xe.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${i}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let t=(e.method||"GET").toUpperCase();if(!Yd.includes(t))throw Error(`${t} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let n=new Headers(e.headers).get("content-type");if(n?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let i=new URLSearchParams(e.data??"");i.append("client_id",this.#t.clientId),i.append("client_secret",this.#t.clientSecret||""),e.data=i}else if(n?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw Error(`${n} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}}Uc.OAuthClientAuthHandler=Dc;function Xd(e,t){let{error:r,error_description:n,error_uri:i}=e,s=`Error code ${r}`;if(typeof n<"u")s+=`: ${n}`;if(typeof i<"u")s+=` - ${i}`;let u=Error(s);if(t){let h=Object.keys(t);if(t.stack)h.push("stack");h.forEach((m)=>{if(m!=="message")Object.defineProperty(u,m,{value:t[m],writable:!1,enumerable:!0})})}return u}});var Ir=w(function(Lc){Object.defineProperty(Lc,"__esModule",{value:!0});Lc.StsCredentials=void 0;var qc=ce(),Fc=Ee(),Pr=zn(),Mc=Ue();class Qn extends Pr.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},t){if(typeof e!=="object"||e instanceof URL)e={tokenExchangeEndpoint:e,clientAuthentication:t};super(e);this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,t,r){let n={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:r&&JSON.stringify(r)},i={...Qn.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:t,data:new URLSearchParams(Mc.removeUndefinedValuesInObject(n)),responseType:"json"};Fc.AuthClient.setMethodName(i,"exchangeToken"),this.applyClientAuthenticationOptions(i);try{let s=await this.transporter.request(i),u=s.data;return u.res=s,u}catch(s){if(s instanceof qc.GaxiosError&&s.response)throw Pr.getErrorFromOAuthErrorResponse(s.response.data,s);throw s}}}Lc.StsCredentials=Qn});var nt=w(function(Jc){Object.defineProperty(Jc,"__esModule",{value:!0});Jc.BaseExternalAccountClient=Jc.CLOUD_RESOURCE_MANAGER=Jc.EXTERNAL_ACCOUNT_TYPE=Jc.EXPIRATION_TIME_OFFSET=void 0;var Bc=ce(),Hc=V("stream"),kt=Ee(),$c=Ir(),Dr=Ue(),Kc=bn(),Qd="urn:ietf:params:oauth:grant-type:token-exchange",Zd="urn:ietf:params:oauth:token-type:access_token",Zn="https://www.googleapis.com/auth/cloud-platform",ep=3600;Jc.EXPIRATION_TIME_OFFSET=300000;Jc.EXTERNAL_ACCOUNT_TYPE="external_account";Jc.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var tp="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",rp="https://sts.{universeDomain}/v1/token";class Ur extends kt.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let t=Dr.originalOrCamelOptions(e),r=t.get("type");if(r&&r!==Jc.EXTERNAL_ACCOUNT_TYPE)throw Error(`Expected "${Jc.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let n=t.get("client_id"),i=t.get("client_secret");this.tokenUrl=t.get("token_url")??rp.replace("{universeDomain}",this.universeDomain);let s=t.get("subject_token_type"),u=t.get("workforce_pool_user_project"),h=t.get("service_account_impersonation_url"),m=t.get("service_account_impersonation"),S=Dr.originalOrCamelOptions(m).get("token_lifetime_seconds");if(this.cloudResourceManagerURL=new URL(t.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),n)this.clientAuth={confidentialClientType:"basic",clientId:n,clientSecret:i};this.stsCredential=new $c.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=t.get("scopes")||[Zn],this.cachedAccessToken=null,this.audience=t.get("audience"),this.subjectTokenType=s,this.workforcePoolUserProject=u;let A=new RegExp(tp);if(this.workforcePoolUserProject&&!this.audience.match(A))throw Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");if(this.serviceAccountImpersonationUrl=h,this.serviceAccountImpersonationLifetime=S,this.serviceAccountImpersonationLifetime)this.configLifetimeRequested=!0;else this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=ep;this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){if(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))await this.refreshAccessTokenAsync();return{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),t=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(t)}request(e,t){if(t)this.requestAsync(e).then((r)=>t(null,r),(r)=>t(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;else if(e){let t=await this.getRequestHeaders(),r={...Ur.RETRY_CONFIG,headers:t,url:`${this.cloudResourceManagerURL.toString()}${e}`,responseType:"json"};kt.AuthClient.setMethodName(r,"getProjectId");let n=await this.transporter.request(r);return this.projectId=n.data.projectId,this.projectId}return null}async requestAsync(e,t=!1){let r;try{let n=await this.getRequestHeaders();e.headers=Bc.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n),r=await this.transporter.request(e)}catch(n){let i=n.response;if(i){let s=i.status,u=i.config.data instanceof Hc.Readable;if(!t&&(s===401||s===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw n}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),t={grantType:Qd,audience:this.audience,requestedTokenType:Zd,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Zn]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,n=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),i=await this.stsCredential.exchangeToken(t,n,r);if(this.serviceAccountImpersonationUrl)this.cachedAccessToken=await this.getImpersonatedAccessToken(i.access_token);else if(i.expires_in)this.cachedAccessToken={access_token:i.access_token,expiry_date:new Date().getTime()+i.expires_in*1000,res:i.res};else this.cachedAccessToken={access_token:i.access_token,res:i.res};return this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let t=e.match(/\/projects\/([^/]+)/);if(!t)return null;return t[1]}async getImpersonatedAccessToken(e){let t={...Ur.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"},responseType:"json"};kt.AuthClient.setMethodName(t,"getImpersonatedAccessToken");let r=await this.transporter.request(t),n=r.data;return{access_token:n.accessToken,expiry_date:new Date(n.expireTime).getTime(),res:r}}isExpired(e){let t=new Date().getTime();return e.expiry_date?t>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){if(typeof this.scopes==="string")return[this.scopes];return this.scopes||[Zn]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),t=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${Kc.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${t} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}}Jc.BaseExternalAccountClient=Ur});var zc=w(function(Yc){Object.defineProperty(Yc,"__esModule",{value:!0});Yc.FileSubjectTokenSupplier=void 0;var bt=V("util"),Rt=V("fs"),sp=bt.promisify(Rt.readFile??(()=>{})),op=bt.promisify(Rt.realpath??(()=>{})),ap=bt.promisify(Rt.lstat??(()=>{}));class Wc{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await op(e),!(await ap(e)).isFile())throw Error()}catch(n){if(n instanceof Error)n.message=`The file at ${e} does not exist, or it is not a file. ${n.message}`;throw n}let t,r=await sp(e,{encoding:"utf8"});if(this.formatType==="text")t=r;else if(this.formatType==="json"&&this.subjectTokenFieldName)t=JSON.parse(r)[this.subjectTokenFieldName];if(!t)throw Error("Unable to parse the subject_token from the credential_source file");return t}}Yc.FileSubjectTokenSupplier=Wc});var ru=w(function(eu){Object.defineProperty(eu,"__esModule",{value:!0});eu.UrlSubjectTokenSupplier=void 0;var Qc=Ee();class Zc{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let t={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers,responseType:this.formatType};Qc.AuthClient.setMethodName(t,"getSubjectToken");let r;if(this.formatType==="text")r=(await e.transporter.request(t)).data;else if(this.formatType==="json"&&this.subjectTokenFieldName)r=(await e.transporter.request(t)).data[this.subjectTokenFieldName];if(!r)throw Error("Unable to parse the subject_token from the credential_source URL");return r}}eu.UrlSubjectTokenSupplier=Zc});var au=w(function(su){Object.defineProperty(su,"__esModule",{value:!0});su.CertificateSubjectTokenSupplier=su.InvalidConfigurationError=su.CertificateSourceUnavailableError=su.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var it=Ue(),st=V("fs"),ot=V("crypto"),nu=V("https");su.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";class Ye extends Error{constructor(e){super(e);this.name="CertificateSourceUnavailableError"}}su.CertificateSourceUnavailableError=Ye;class Fe extends Error{constructor(e){super(e);this.name="InvalidConfigurationError"}}su.InvalidConfigurationError=Fe;class iu{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Fe("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Fe("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Fe("Cannot create mTLS Agent with missing certificate or key");return new nu.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:t}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,t),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await it.isValidFile(e))return e;throw new Ye(`Provided certificate config path is invalid: ${e}`)}let t=process.env[su.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(t){if(await it.isValidFile(t))return t;throw new Ye(`Path from environment variable "${su.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${t}`)}let r=it.getWellKnownCertificateConfigFileLocation();if(await it.isValidFile(r))return r;throw new Ye(`Could not find certificate configuration file. Searched override path, the "${su.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,t;try{t=await st.promises.readFile(e,"utf8")}catch(r){throw new Ye(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(t),n=r?.cert_configs?.workload?.cert_path,i=r?.cert_configs?.workload?.key_path;if(!n||!i)throw new Fe(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:n,keyPath:i}}catch(r){if(r instanceof Fe)throw r;throw new Fe(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#r(e,t){let r,n;try{r=await st.promises.readFile(e),new ot.X509Certificate(r)}catch(i){let s=i instanceof Error?i.message:String(i);throw new Ye(`Failed to read certificate file at ${e}: ${s}`)}try{n=await st.promises.readFile(t),ot.createPrivateKey(n)}catch(i){let s=i instanceof Error?i.message:String(i);throw new Ye(`Failed to read private key file at ${t}: ${s}`)}return{cert:r,key:n}}async#n(e){let t=new ot.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([t.raw.toString("base64")]);try{let i=((await st.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((h,m)=>{try{return new ot.X509Certificate(h)}catch(S){let A=S instanceof Error?S.message:String(S);throw new Fe(`Failed to parse certificate at index ${m} in trust chain file ${this.trustChainPath}: ${A}`)}}),s=i.findIndex((h)=>t.raw.equals(h.raw)),u;if(s===-1)u=[t,...i];else if(s===0)u=i;else throw new Fe(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${s}).`);return JSON.stringify(u.map((h)=>h.raw.toString("base64")))}catch(r){if(r instanceof Fe)throw r;let n=r instanceof Error?r.message:String(r);throw new Ye(`Failed to process certificate chain from ${this.trustChainPath}: ${n}`)}}}su.CertificateSubjectTokenSupplier=iu});var ri=w(function(fu){Object.defineProperty(fu,"__esModule",{value:!0});fu.IdentityPoolClient=void 0;var cu=nt(),xt=Ue(),uu=zc(),lu=ru(),qr=au(),hu=Ir(),Fr=ce();class ti extends cu.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let t=xt.originalOrCamelOptions(e),r=t.get("credential_source"),n=t.get("subject_token_supplier");if(!r&&!n)throw Error("A credential source or subject token supplier must be specified.");if(r&&n)throw Error("Only one of credential source or subject token supplier can be specified.");if(n)this.subjectTokenSupplier=n,this.credentialSourceType="programmatic";else{let i=xt.originalOrCamelOptions(r),s=xt.originalOrCamelOptions(i.get("format")),u=s.get("type")||"text",h=s.get("subject_token_field_name");if(u!=="json"&&u!=="text")throw Error(`Invalid credential_source format "${u}"`);if(u==="json"&&!h)throw Error("Missing subject_token_field_name for JSON credential_source format");let m=i.get("file"),S=i.get("url"),A=i.get("certificate"),k=i.get("headers");if(m&&S||S&&A||m&&A)throw Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');else if(m)this.credentialSourceType="file",this.subjectTokenSupplier=new uu.FileSubjectTokenSupplier({filePath:m,formatType:u,subjectTokenFieldName:h});else if(S)this.credentialSourceType="url",this.subjectTokenSupplier=new lu.UrlSubjectTokenSupplier({url:S,formatType:u,subjectTokenFieldName:h,headers:k,additionalGaxiosOptions:ti.RETRY_CONFIG});else if(A){this.credentialSourceType="certificate";let N=new qr.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:A.use_default_certificate_config,certificateConfigLocation:A.certificate_config_location,trustChainPath:A.trust_chain_path});this.subjectTokenSupplier=N}else throw Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof qr.CertificateSubjectTokenSupplier){let t=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new hu.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new Fr.Gaxios({agent:t})}),this.transporter=new Fr.Gaxios({...this.transporter.defaults||{},agent:t})}return e}}fu.IdentityPoolClient=ti});var ni=w(function(yu){Object.defineProperty(yu,"__esModule",{value:!0});yu.AwsRequestSigner=void 0;var at=ce(),Mr=Bt(),pu="AWS4-HMAC-SHA256",lp="aws4_request";class gu{getCredentials;region;crypto;constructor(e,t){this.getCredentials=e,this.region=t,this.crypto=Mr.createCrypto()}async getRequestOptions(e){if(!e.url)throw RangeError('"url" is required in "amzOptions"');let t=typeof e.data==="object"?JSON.stringify(e.data):e.data,r=e.url,n=e.method||"GET",i=e.body||t,s=e.headers,u=await this.getCredentials(),h=new URL(r);if(typeof i!=="string"&&i!==void 0)throw TypeError(`'requestPayload' is expected to be a string if provided. Got: ${i}`);let m=await fp({crypto:this.crypto,host:h.host,canonicalUri:h.pathname,canonicalQuerystring:h.search.slice(1),method:n,region:this.region,securityCredentials:u,requestPayload:i,additionalAmzHeaders:s}),S=at.Gaxios.mergeHeaders(m.amzDate?{"x-amz-date":m.amzDate}:{},{authorization:m.authorizationHeader,host:h.host},s||{});if(u.token)at.Gaxios.mergeHeaders(S,{"x-amz-security-token":u.token});let A={url:r,method:n,headers:S};if(i!==void 0)A.body=i;return A}}yu.AwsRequestSigner=gu;async function zt(e,t,r){return await e.signWithHmacSha256(t,r)}async function hp(e,t,r,n,i){let s=await zt(e,`AWS4${t}`,r),u=await zt(e,s,n),h=await zt(e,u,i);return await zt(e,h,"aws4_request")}async function fp(e){let t=at.Gaxios.mergeHeaders(e.additionalAmzHeaders),r=e.requestPayload||"",n=e.host.split(".")[0],i=new Date,s=i.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),u=i.toISOString().replace(/[-]/g,"").replace(/T.*/,"");if(e.securityCredentials.token)t.set("x-amz-security-token",e.securityCredentials.token);let h=at.Gaxios.mergeHeaders({host:e.host},t.has("date")?{}:{"x-amz-date":s},t),m="",S=[...h.keys()].sort();S.forEach((B)=>{m+=`${B}:${h.get(B)}
17
- `});let A=S.join(";"),k=await e.crypto.sha256DigestHex(r),N=`${e.method.toUpperCase()}
18
- ${e.canonicalUri}
19
- ${e.canonicalQuerystring}
20
- ${m}
21
- ${A}
22
- ${k}`,F=`${u}/${e.region}/${n}/${lp}`,W=`${pu}
23
- ${s}
24
- ${F}
25
- `+await e.crypto.sha256DigestHex(N),R=await hp(e.crypto,e.securityCredentials.secretAccessKey,u,e.region,n),D=await zt(e.crypto,R,W),b=`${pu} Credential=${e.securityCredentials.accessKeyId}/${F}, SignedHeaders=${A}, Signature=${Mr.fromArrayBufferToHex(D)}`;return{amzDate:t.has("date")?void 0:s,authorizationHeader:b,canonicalQuerystring:e.canonicalQuerystring}}});var Tu=w(function(Eu){Object.defineProperty(Eu,"__esModule",{value:!0});Eu.DefaultAwsSecurityCredentialsSupplier=void 0;var ct=Ee();class _u{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let t=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl)t.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));if(!this.regionUrl)throw RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",responseType:"text",headers:t};ct.AuthClient.setMethodName(r,"getAwsRegion");let n=await e.transporter.request(r);return n.data.substr(0,n.data.length-1)}async getAwsSecurityCredentials(e){if(this.#i)return this.#i;let t=new Headers;if(this.imdsV2SessionTokenUrl)t.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(t,e.transporter),n=await this.#r(r,t,e.transporter);return{accessKeyId:n.AccessKeyId,secretAccessKey:n.SecretAccessKey,token:n.Token}}async#e(e){let t={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",responseType:"text",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return ct.AuthClient.setMethodName(t,"#getImdsV2SessionToken"),(await e.request(t)).data}async#t(e,t){if(!this.securityCredentialsUrl)throw Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:e};return ct.AuthClient.setMethodName(r,"#getAwsRoleName"),(await t.request(r)).data}async#r(e,t,r){let n={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:t,responseType:"json"};return ct.AuthClient.setMethodName(n,"#retrieveAwsSecurityCredentials"),(await r.request(n)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#i(){if(process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY)return{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN};return null}}Eu.DefaultAwsSecurityCredentialsSupplier=_u});var ii=w(function(Ou){Object.defineProperty(Ou,"__esModule",{value:!0});Ou.AwsClient=void 0;var Au=ni(),vu=nt(),Su=Tu(),Lr=Ue(),Cu=ce();class Gr extends vu.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let t=Lr.originalOrCamelOptions(e),r=t.get("credential_source"),n=t.get("aws_security_credentials_supplier");if(!r&&!n)throw Error("A credential source or AWS security credentials supplier must be specified.");if(r&&n)throw Error("Only one of credential source or AWS security credentials supplier can be specified.");if(n)this.awsSecurityCredentialsSupplier=n,this.regionalCredVerificationUrl=Gr.#e,this.credentialSourceType="programmatic";else{let i=Lr.originalOrCamelOptions(r);this.environmentId=i.get("environment_id");let s=i.get("region_url"),u=i.get("url"),h=i.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new Su.DefaultAwsSecurityCredentialsSupplier({regionUrl:s,securityCredentialsUrl:u,imdsV2SessionTokenUrl:h}),this.regionalCredVerificationUrl=i.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw Error('No valid AWS "credential_source" provided');else if(parseInt(e[2],10)!==1)throw Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){if(!this.awsRequestSigner)this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new Au.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region);let e=await this.awsRequestSigner.getRequestOptions({...Gr.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),t=[];return Cu.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((n,i)=>t.push({key:i,value:n})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:t}))}}Ou.AwsClient=Gr});var fi=w(function(Nu){Object.defineProperty(Nu,"__esModule",{value:!0});Nu.InvalidSubjectTokenError=Nu.InvalidMessageFieldError=Nu.InvalidCodeFieldError=Nu.InvalidTokenTypeFieldError=Nu.InvalidExpirationTimeFieldError=Nu.InvalidSuccessFieldError=Nu.InvalidVersionFieldError=Nu.ExecutableResponseError=Nu.ExecutableResponse=void 0;var Br="urn:ietf:params:oauth:token-type:saml2",si="urn:ietf:params:oauth:token-type:id_token",oi="urn:ietf:params:oauth:token-type:jwt";class bu{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new ai("Executable response must contain a 'version' field.");if(e.success===void 0)throw new ci("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==Br&&this.tokenType!==si&&this.tokenType!==oi)throw new ui(`Executable response must contain a 'token_type' field when successful and it must be one of ${si}, ${oi}, or ${Br}.`);if(this.tokenType===Br){if(!e.saml_response)throw new Hr(`Executable response must contain a 'saml_response' field when token_type=${Br}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Hr(`Executable response must contain a 'id_token' field when token_type=${si} or ${oi}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new li("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new hi("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1000)}}Nu.ExecutableResponse=bu;class Xe extends Error{constructor(e){super(e);Object.setPrototypeOf(this,new.target.prototype)}}Nu.ExecutableResponseError=Xe;class ai extends Xe{}Nu.InvalidVersionFieldError=ai;class ci extends Xe{}Nu.InvalidSuccessFieldError=ci;class xu extends Xe{}Nu.InvalidExpirationTimeFieldError=xu;class ui extends Xe{}Nu.InvalidTokenTypeFieldError=ui;class li extends Xe{}Nu.InvalidCodeFieldError=li;class hi extends Xe{}Nu.InvalidMessageFieldError=hi;class Hr extends Xe{}Nu.InvalidSubjectTokenError=Hr});var gi=w(function(Du){Object.defineProperty(Du,"__esModule",{value:!0});Du.PluggableAuthHandler=Du.ExecutableError=void 0;var ye=fi(),Iu=V("child_process"),Nt=V("fs");class di extends Error{code;constructor(e,t){super(`The executable failed with exit code: ${t} and error message: ${e}.`);this.code=t,Object.setPrototypeOf(this,new.target.prototype)}}Du.ExecutableError=di;class pi{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw Error("No command provided.");if(this.commandComponents=pi.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((t,r)=>{let n=Iu.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),i="";n.stdout.on("data",(u)=>{i+=u}),n.stderr.on("data",(u)=>{i+=u});let s=setTimeout(()=>(n.removeAllListeners(),n.kill(),r(Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);n.on("close",(u)=>{if(clearTimeout(s),u===0)try{let h=JSON.parse(i),m=new ye.ExecutableResponse(h);return t(m)}catch(h){if(h instanceof ye.ExecutableResponseError)return r(h);return r(new ye.ExecutableResponseError(`The executable returned an invalid response: ${i}`))}else return r(new di(i,u.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Nt.promises.realpath(this.outputFile)}catch{return}if(!(await Nt.promises.lstat(e)).isFile())return;let t=await Nt.promises.readFile(e,{encoding:"utf8"});if(t==="")return;try{let r=JSON.parse(t);if(new ye.ExecutableResponse(r).isValid())return new ye.ExecutableResponse(r);return}catch(r){if(r instanceof ye.ExecutableResponseError)throw r;throw new ye.ExecutableResponseError(`The output file contained an invalid response: ${t}`)}}static parseCommand(e){let t=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!t)throw Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<t.length;r++)if(t[r][0]==='"'&&t[r].slice(-1)==='"')t[r]=t[r].slice(1,-1);return t}}Du.PluggableAuthHandler=pi});var mi=w(function(yi){Object.defineProperty(yi,"__esModule",{value:!0});yi.PluggableAuthClient=yi.ExecutableError=void 0;var Mu=nt(),Lu=fi(),$r=gi(),Ap=gi();Object.defineProperty(yi,"ExecutableError",{enumerable:!0,get:function(){return Ap.ExecutableError}});var vp=30000,ju=5000,qu=120000,Sp="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",Fu=1;class Gu extends Mu.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){super(e);if(!e.credential_source.executable)throw Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=vp;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<ju||this.timeoutMillis>qu)throw Error(`Timeout must be between ${ju} and ${qu} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new $r.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[Sp]!=="1")throw Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e=void 0;if(this.outputFile)e=await this.handler.retrieveCachedResponse();if(!e){let t=new Map;if(t.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),t.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),t.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile)t.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();if(r)t.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r);e=await this.handler.retrieveResponseFromExecutable(t)}if(e.version>Fu)throw Error(`Version of executable is not currently supported, maximum supported version is ${Fu}.`);if(!e.success)throw new $r.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile){if(!e.expirationTime)throw new Lu.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.")}if(e.isExpired())throw Error("Executable response is expired.");return e.subjectToken}}yi.PluggableAuthClient=Gu});var _i=w(function(Wu){Object.defineProperty(Wu,"__esModule",{value:!0});Wu.ExternalAccountClient=void 0;var Hu=nt(),$u=ri(),Ku=ii(),Ju=mi();class Vu{constructor(){throw Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){if(e&&e.type===Hu.EXTERNAL_ACCOUNT_TYPE)if(e.credential_source?.environment_id)return new Ku.AwsClient(e);else if(e.credential_source?.executable)return new Ju.PluggableAuthClient(e);else return new $u.IdentityPoolClient(e);else return null}}Wu.ExternalAccountClient=Vu});var wi=w(function(Zu){Object.defineProperty(Zu,"__esModule",{value:!0});Zu.ExternalAccountAuthorizedUserClient=Zu.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var Jr=Ee(),Kr=zn(),Vr=ce(),Xu=V("stream"),zu=nt();Zu.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var Cp="https://sts.{universeDomain}/v1/oauthtoken";class Ei extends Kr.OAuthClientAuthHandler{#e;constructor(e){super(e);this.#e=e.tokenRefreshEndpoint}async refreshToken(e,t){let r={...Ei.RETRY_CONFIG,url:this.#e,method:"POST",headers:t,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e}),responseType:"json"};Jr.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let n=await this.transporter.request(r),i=n.data;return i.res=n,i}catch(n){if(n instanceof Vr.GaxiosError&&n.response)throw Kr.getErrorFromOAuthErrorResponse(n.response.data,n);throw n}}}class Qu extends Jr.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e);if(e.universe_domain)this.universeDomain=e.universe_domain;this.refreshToken=e.refresh_token;let t={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};if(this.externalAccountAuthorizedUserHandler=new Ei({tokenRefreshEndpoint:e.token_url??Cp.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:t}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!=="number")this.eagerRefreshThresholdMillis=zu.EXPIRATION_TIME_OFFSET;else this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis;this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){if(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))await this.refreshAccessTokenAsync();return{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),t=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(t)}request(e,t){if(t)this.requestAsync(e).then((r)=>t(null,r),(r)=>t(r,r.response));else return this.requestAsync(e)}async requestAsync(e,t=!1){let r;try{let n=await this.getRequestHeaders();e.headers=Vr.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n),r=await this.transporter.request(e)}catch(n){let i=n.response;if(i){let s=i.status,u=i.config.data instanceof Xu.Readable;if(!t&&(s===401||s===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw n}return r}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);if(this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1000,res:e.res},e.refresh_token!==void 0)this.refreshToken=e.refresh_token;return this.cachedAccessToken}isExpired(e){let t=new Date().getTime();return e.expiry_date?t>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}}Zu.ExternalAccountAuthorizedUserClient=Qu});var vi=w(function(sl){Object.defineProperty(sl,"__esModule",{value:!0});sl.GdchClient=sl.GDCH_SERVICE_ACCOUNT_TYPE=void 0;var tl=V("crypto"),rl=V("fs"),nl=V("https"),il=Ze(),kp=3600;sl.GDCH_SERVICE_ACCOUNT_TYPE="gdch_service_account";class Ai extends il.OAuth2Client{projectId;privateKeyId;privateKey;serviceIdentityName;tokenServerUri;caCertPath;apiAudience;lifetime;gdchOptions;caAgentPromise;cachedCaCertPath;lastCaCertReadTime=0;CA_CERT_TTL_MS=300000;constructor(e={}){super(e);this.gdchOptions=e,this.projectId=e.projectId||void 0,this.privateKeyId=e.privateKeyId,this.privateKey=e.privateKey,this.serviceIdentityName=e.serviceIdentityName,this.tokenServerUri=e.tokenServerUri,this.caCertPath=e.caCertPath,this.apiAudience=e.apiAudience,this.lifetime=e.lifetime||kp,this.credentials={refresh_token:"gdch-placeholder",expiry_date:1}}createWithGdchAudience(e){if(!e)throw Error("Audience cannot be null or empty for GDCH service account credentials.");return new Ai({...this.gdchOptions,projectId:this.projectId,privateKeyId:this.privateKeyId,privateKey:this.privateKey,serviceIdentityName:this.serviceIdentityName,tokenServerUri:this.tokenServerUri,caCertPath:this.caCertPath,lifetime:this.lifetime,apiAudience:e})}fromJSON(e){if(!e)throw Error("Must pass in a JSON object containing the GDCH credentials settings.");if(e.type!==sl.GDCH_SERVICE_ACCOUNT_TYPE)throw Error(`The incoming JSON object does not have the "${sl.GDCH_SERVICE_ACCOUNT_TYPE}" type`);if(e.format_version!=="1")throw Error("Only format version 1 is supported.");if(!e.project)throw Error("The incoming JSON object does not contain a project field");if(!e.private_key_id)throw Error("The incoming JSON object does not contain a private_key_id field");if(!e.private_key)throw Error("The incoming JSON object does not contain a private_key field");if(!e.name)throw Error("The incoming JSON object does not contain a name field");if(!e.token_uri)throw Error("The incoming JSON object does not contain a token_uri field");this.projectId=e.project,this.privateKeyId=e.private_key_id,this.privateKey=e.private_key,this.serviceIdentityName=e.name,this.tokenServerUri=e.token_uri,this.caCertPath=e.ca_cert_path,this.gdchOptions={...this.gdchOptions,projectId:e.project,privateKeyId:e.private_key_id,privateKey:e.private_key,serviceIdentityName:e.name,tokenServerUri:e.token_uri,caCertPath:e.ca_cert_path}}async refreshTokenNoCache(){if(!this.apiAudience)throw Error("Audience cannot be null or empty for GDCH service account credentials. Specify the audience by calling createWithGdchAudience.");if(!this.privateKey)throw Error("Private key is not configured for GDCH credentials.");if(!this.privateKeyId)throw Error("Private key ID is not configured for GDCH credentials.");if(!this.projectId)throw Error("Project is not configured for GDCH credentials.");if(!this.serviceIdentityName)throw Error("Service identity name is not configured for GDCH credentials.");if(!this.tokenServerUri)throw Error("Token server URI is not configured for GDCH credentials.");let e=this.createAssertion(),t={audience:this.apiAudience,grant_type:"urn:ietf:params:oauth:token-type:token-exchange",requested_token_type:"urn:ietf:params:oauth:token-type:access_token",subject_token:e,subject_token_type:"urn:k8s:params:oauth:token-type:serviceaccount"},r={url:this.tokenServerUri,method:"POST",headers:{"Content-Type":"application/json"},data:t,responseType:"json",timeout:1e4,retry:!0,retryConfig:{httpMethodsToRetry:["POST"],statusCodesToRetry:[[500,599]],noResponseRetries:3}};if(this.caCertPath)r.agent=await this.getCaAgent();try{let n=await this.transporter.request(r),i=n.data;if(!i.access_token)throw Error("Token response did not contain an access_token.");if(!i.expires_in)throw Error("Token response did not contain an expires_in field.");let s={access_token:i.access_token,token_type:"STS-Bearer",expiry_date:Date.now()+i.expires_in*1000};return this.emit("tokens",s),{res:n,tokens:s}}catch(n){if(n&&n.config&&n.config.data)try{if(typeof n.config.data==="string"){let i=JSON.parse(n.config.data);if(i.subject_token)i.subject_token="***REDACTED***",n.config.data=JSON.stringify(i)}else if(typeof n.config.data==="object"&&n.config.data.subject_token)n.config.data.subject_token="***REDACTED***"}catch{}if(n instanceof Error)n.message=`Error getting access token for GDCH service account: ${n.message}, iss: ${this.serviceIdentityName}`;throw n}}createAssertion(){let e={alg:"ES256",typ:"JWT",kid:this.privateKeyId},t=`system:serviceaccount:${this.projectId}:${this.serviceIdentityName}`,r=Math.floor(Date.now()/1000),n={iss:t,sub:t,iat:r,exp:r+this.lifetime,aud:this.tokenServerUri},i=this.base64UrlEncode(JSON.stringify(e)),s=this.base64UrlEncode(JSON.stringify(n)),u=`${i}.${s}`,h=tl.sign("sha256",Buffer.from(u),{key:this.privateKey,dsaEncoding:"ieee-p1363"}),m=this.base64UrlEncode(h);return`${u}.${m}`}async requestAsync(e,t=!1){if(this.caCertPath&&!e.agent){let r=(e.url||"").toString();if(!r.includes("googleapis.com")&&!r.includes("google.com"))e.agent=await this.getCaAgent()}return super.requestAsync(e,t)}getCaAgent(){if(!this.caCertPath){this.caAgentPromise=void 0,this.cachedCaCertPath=void 0,this.lastCaCertReadTime=0;return}let e=Date.now(),t=e-this.lastCaCertReadTime>this.CA_CERT_TTL_MS;if(this.caAgentPromise&&this.caCertPath===this.cachedCaCertPath&&!t)return this.caAgentPromise;this.cachedCaCertPath=this.caCertPath,this.lastCaCertReadTime=e;let r=this.caCertPath;return this.caAgentPromise=(async()=>{try{let n=await rl.promises.readFile(r);return new nl.Agent({ca:n})}catch(n){if(this.cachedCaCertPath===r)this.caAgentPromise=void 0,this.cachedCaCertPath=void 0,this.lastCaCertReadTime=0;if(n instanceof Error)n.message=`Error reading certificate file from CA cert path, value '${r}': ${n.message}`;throw n}})(),this.caAgentPromise}toJSON(){return{...this,privateKey:this.privateKey?"***REDACTED***":void 0,_clientSecret:this._clientSecret?"***REDACTED***":void 0,apiKey:this.apiKey?"***REDACTED***":void 0,gdchOptions:this.gdchOptions?{...this.gdchOptions,privateKey:this.gdchOptions.privateKey?"***REDACTED***":void 0,clientSecret:this.gdchOptions.clientSecret?"***REDACTED***":void 0,client_secret:this.gdchOptions.client_secret?"***REDACTED***":void 0,apiKey:this.gdchOptions.apiKey?"***REDACTED***":void 0,credentials:this.gdchOptions.credentials?{...this.gdchOptions.credentials,access_token:this.gdchOptions.credentials.access_token?"***REDACTED***":void 0,refresh_token:this.gdchOptions.credentials.refresh_token?"***REDACTED***":void 0}:void 0}:void 0,credentials:{...this.credentials,access_token:this.credentials?.access_token?"***REDACTED***":void 0,refresh_token:this.credentials?.refresh_token?"***REDACTED***":void 0}}}[Symbol.for("nodejs.util.inspect.custom")](){return this.toJSON()}base64UrlEncode(e){return(typeof e==="string"?Buffer.from(e):e).toString("base64url")}}sl.GdchClient=Ai});var _l=w(function(yl){Object.defineProperty(yl,"__esModule",{value:!0});yl.GoogleAuth=yl.GoogleAuthExceptionMessages=void 0;var al=V("child_process"),He=V("fs"),cl=ce(),$e=Gt(),ul=V("os"),ut=V("path"),ll=Bt(),hl=Nn(),fl=Pn(),dl=In(),Ne=Wn(),Wr=Yn(),Pe=Xn(),pl=_i(),Ke=nt(),It=Ee(),Yr=wi(),Dt=vi(),Xr=Ue();yl.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
26
- To learn more about authentication and Google APIs, visit:
27
- https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
28
- To learn more about authentication and Google APIs, visit:
29
- https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
30
- To learn more about Universe Domain retrieval, visit:
31
- https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};class gl{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw RangeError(yl.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);if(e.universeDomain)this.clientOptions.universeDomain=e.universeDomain}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then((t)=>e(null,t),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===yl.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;else throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;else throw Error(yl.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){if(this._cachedProjectId)return this._cachedProjectId;if(!this._findProjectIdPromise)this._findProjectIdPromise=this.findAndCacheProjectId();return this._findProjectIdPromise}async getUniverseDomainFromMetadataServer(){let e;try{e=await $e.universe("universe-domain"),e||=It.DEFAULT_UNIVERSE}catch(t){if(t&&t?.response?.status===404)e=It.DEFAULT_UNIVERSE;else throw t}return e}async getUniverseDomain(){let e=Xr.originalOrCamelOptions(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=It.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},t){let r;if(typeof e==="function")t=e;else r=e;if(t)this.getApplicationDefaultAsync(r).then((n)=>t(null,n.credential,n.projectId),t);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let t;if(t=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),t){if(t instanceof Ne.JWT)t.scopes=this.scopes;else if(t instanceof Ke.BaseExternalAccountClient)t.scopes=this.getAnyScopes();return await this.#t(t)}if(t=await this._tryGetApplicationCredentialsFromWellKnownFile(e),t){if(t instanceof Ne.JWT)t.scopes=this.scopes;else if(t instanceof Ke.BaseExternalAccountClient)t.scopes=this.getAnyScopes();return await this.#t(t)}if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new hl.Compute(e));throw Error(yl.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,t=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();if(t)e.quotaProjectId=t;return this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){if(this.checkIsGCE===void 0)this.checkIsGCE=$e.getGCPResidency()||await $e.isAvailable();return this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let t=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!t||t.length===0)return null;try{return await this._getApplicationCredentialsFromFilePath(t,e)}catch(r){if(r instanceof Error)r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`;throw r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let t=process.env.CLOUDSDK_CONFIG;if(!t)if(this._isWindows()){if(process.env.APPDATA)t=ut.join(process.env.APPDATA,"gcloud")}else{let i=process.env.HOME;if(i)t=ut.join(i,".config","gcloud")}if(!t)return null;let r=ut.join(t,"application_default_credentials.json");if(!He.existsSync(r))return null;return await this._getApplicationCredentialsFromFilePath(r,e)}async _getApplicationCredentialsFromFilePath(e,t={}){if(!e||e.length===0)throw Error("The file path is invalid.");try{if(e=He.realpathSync(e),!He.lstatSync(e).isFile())throw Error()}catch(n){if(n instanceof Error)n.message=`The file at ${e} does not exist, or it is not a file. ${n.message}`;throw n}let r=He.createReadStream(e);return this.fromStream(r,t)}fromImpersonatedJSON(e){if(!e)throw Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==Pe.IMPERSONATED_ACCOUNT_TYPE)throw Error(`The incoming JSON object does not have the "${Pe.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw Error("The incoming JSON object does not contain a service_account_impersonation_url field");let t=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let n=(this.scopes||e.scopes||this.defaultScopes)??[];return new Pe.Impersonated({...e,sourceClient:t,targetPrincipal:r,targetScopes:Array.isArray(n)?n:[n]})}fromJSON(e,t={}){let r,n=Xr.originalOrCamelOptions(t).get("universe_domain");if(e.type===Wr.USER_REFRESH_ACCOUNT_TYPE)r=new Wr.UserRefreshClient(t),r.fromJSON(e);else if(e.type===Pe.IMPERSONATED_ACCOUNT_TYPE)r=this.fromImpersonatedJSON(e);else if(e.type===Ke.EXTERNAL_ACCOUNT_TYPE)r=pl.ExternalAccountClient.fromJSON({...e,...t}),r.scopes=this.getAnyScopes();else if(e.type===Yr.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE)r=new Yr.ExternalAccountAuthorizedUserClient({...e,...t});else if(e.type===Dt.GDCH_SERVICE_ACCOUNT_TYPE)r=new Dt.GdchClient(t),r.fromJSON(e);else t.scopes=this.scopes,r=new Ne.JWT(t),this.setGapicJWTValues(r),r.fromJSON(e);if(n)r.universeDomain=n;return r}_cacheClientFromJSON(e,t){let r=this.fromJSON(e,t);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,t={},r){let n={};if(typeof t==="function")r=t;else n=t;if(r)this.fromStreamAsync(e,n).then((i)=>r(null,i),r);else return this.fromStreamAsync(e,n)}fromStreamAsync(e,t){return new Promise((r,n)=>{if(!e)throw Error("Must pass in a stream containing the Google auth settings.");let i=[];e.setEncoding("utf8").on("error",n).on("data",(s)=>i.push(s)).on("end",()=>{try{try{let s=JSON.parse(i.join("")),u=this._cacheClientFromJSON(s,t);return r(u)}catch(s){if(!this.keyFilename)throw s;let u=new Ne.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=u,this.setGapicJWTValues(u),r(u)}}catch(s){return n(s)}})})}fromAPIKey(e,t={}){return new Ne.JWT({...t,apiKey:e})}_isWindows(){let e=ul.platform();if(e&&e.length>=3){if(e.substring(0,3).toLowerCase()==="win")return!0}return!1}async getDefaultServiceProjectId(){return new Promise((e)=>{al.exec("gcloud config config-helper --format json",(t,r)=>{if(!t&&r)try{let n=JSON.parse(r).configuration.properties.core.project;e(n);return}catch(n){}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let t=await this.getClient();if(t&&t.projectId)return t.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();if(e)return e.projectId;else return null}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==Ke.EXTERNAL_ACCOUNT_TYPE)return null;return await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await $e.project("project-id")}catch(e){return null}}getCredentials(e){if(e)this.getCredentialsAsync().then((t)=>e(null,t),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof Pe.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Ke.BaseExternalAccountClient){let t=e.getServiceAccountEmail();if(t)return{client_email:t,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[t,r]=await Promise.all([$e.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:t,universe_domain:r}}throw Error(yl.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#r();try{let e=await this.#e;if(e instanceof Dt.GdchClient&&!e.apiAudience){let t=this.clientOptions,r=t.apiEndpoint||t.servicePath;if(r){let i=`${r.startsWith("http")?"":"https://"}${r}`.replace(/\/+$/,""),s=e.createWithGdchAudience(i);return this.cachedCredential=s,s}}return e}finally{this.#e=null}}async#r(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);else if(this.keyFilename){let e=ut.resolve(this.keyFilename),t=He.createReadStream(e);return await this.fromStreamAsync(t,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:t}=await this.#t(e);return t}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let t=await this.getClient();if(!("fetchIdToken"in t))throw Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new fl.IdTokenClient({targetAudience:e,idTokenProvider:t})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let t=e.url,n=await(await this.getClient()).getRequestHeaders(t);return e.headers=cl.Gaxios.mergeHeaders(e.headers,n),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return dl.getEnv()}async sign(e,t){let r=await this.getClient(),n=await this.getUniverseDomain();if(t=t||`https://iamcredentials.${n}/v1/projects/-/serviceAccounts/`,r instanceof Pe.Impersonated)return(await r.sign(e)).signedBlob;let i=ll.createCrypto();if(r instanceof Ne.JWT&&r.key)return await i.sign(r.key,e);let s=await this.getCredentials();if(!s.client_email)throw Error("Cannot sign data without `client_email`.");return this.signBlob(i,s.client_email,e,t)}async signBlob(e,t,r,n){let i=new URL(n+`${t}:signBlob`);return(await this.request({method:"POST",url:i.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}}yl.GoogleAuth=gl});var Al=w(function(wl){Object.defineProperty(wl,"__esModule",{value:!0});wl.IAMAuth=void 0;class El{selector;token;constructor(e,t){this.selector=e,this.token=t,this.selector=e,this.token=t}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}}wl.IAMAuth=El});var Rl=w(function(kl){Object.defineProperty(kl,"__esModule",{value:!0});kl.DownscopedClient=kl.EXPIRATION_TIME_OFFSET=kl.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var vl=ce(),Sl=V("stream"),Ut=Ee(),Cl=Ir(),bp="urn:ietf:params:oauth:grant-type:token-exchange",Rp="urn:ietf:params:oauth:token-type:access_token",xp="urn:ietf:params:oauth:token-type:access_token";kl.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;kl.EXPIRATION_TIME_OFFSET=300000;class Ol extends Ut.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,t={accessBoundary:{accessBoundaryRules:[]}}){super(e instanceof Ut.AuthClient?{}:e);if(e instanceof Ut.AuthClient)this.authClient=e,this.credentialAccessBoundary=t;else this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary;if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw Error("At least one access boundary rule needs to be defined.");else if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>kl.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw Error(`The provided access boundary has more than ${kl.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new Cl.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){if(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))await this.refreshAccessTokenAsync();return{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),t=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(t)}request(e,t){if(t)this.requestAsync(e).then((r)=>t(null,r),(r)=>t(r,r.response));else return this.requestAsync(e)}async requestAsync(e,t=!1){let r;try{let n=await this.getRequestHeaders();e.headers=vl.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n),r=await this.transporter.request(e)}catch(n){let i=n.response;if(i){let s=i.status,u=i.config.data instanceof Sl.Readable;if(!t&&(s===401||s===403)&&!u&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw n}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,t={grantType:bp,requestedTokenType:Rp,subjectToken:e,subjectTokenType:xp},r=await this.stsCredential.exchangeToken(t,void 0,this.credentialAccessBoundary),n=this.authClient.credentials?.expiry_date||null,i=r.expires_in?new Date().getTime()+r.expires_in*1000:n;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:i,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let t=new Date().getTime();return e.expiry_date?t>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}}kl.DownscopedClient=Ol});var Dl=w(function(Pl){Object.defineProperty(Pl,"__esModule",{value:!0});Pl.PassThroughClient=void 0;var xl=Ee();class Nl extends xl.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}}Pl.PassThroughClient=Nl});var xc=w(function(O){var Pp=O&&O.__createBinding||(Object.create?function(e,t,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(t,r);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable))i={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,n,i)}:function(e,t,r,n){if(n===void 0)n=r;e[n]=t[r]}),Ip=O&&O.__exportStar||function(e,t){for(var r in e)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r))Pp(t,e,r)};Object.defineProperty(O,"__esModule",{value:!0});O.GoogleAuth=O.auth=O.GDCH_SERVICE_ACCOUNT_TYPE=O.GdchClient=O.PassThroughClient=O.ExternalAccountAuthorizedUserClient=O.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=O.ExecutableError=O.PluggableAuthClient=O.DownscopedClient=O.BaseExternalAccountClient=O.ExternalAccountClient=O.IdentityPoolClient=O.AwsRequestSigner=O.AwsClient=O.UserRefreshClient=O.LoginTicket=O.ClientAuthentication=O.OAuth2Client=O.CodeChallengeMethod=O.Impersonated=O.JWT=O.JWTAccess=O.IdTokenClient=O.IAMAuth=O.GCPEnv=O.Compute=O.DEFAULT_UNIVERSE=O.AuthClient=O.gaxios=O.gcpMetadata=void 0;var zr=_l();Object.defineProperty(O,"GoogleAuth",{enumerable:!0,get:function(){return zr.GoogleAuth}});O.gcpMetadata=Gt();O.gaxios=ce();var Ul=Ee();Object.defineProperty(O,"AuthClient",{enumerable:!0,get:function(){return Ul.AuthClient}});Object.defineProperty(O,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return Ul.DEFAULT_UNIVERSE}});var Dp=Nn();Object.defineProperty(O,"Compute",{enumerable:!0,get:function(){return Dp.Compute}});var Up=In();Object.defineProperty(O,"GCPEnv",{enumerable:!0,get:function(){return Up.GCPEnv}});var jp=Al();Object.defineProperty(O,"IAMAuth",{enumerable:!0,get:function(){return jp.IAMAuth}});var qp=Pn();Object.defineProperty(O,"IdTokenClient",{enumerable:!0,get:function(){return qp.IdTokenClient}});var Fp=Jn();Object.defineProperty(O,"JWTAccess",{enumerable:!0,get:function(){return Fp.JWTAccess}});var Mp=Wn();Object.defineProperty(O,"JWT",{enumerable:!0,get:function(){return Mp.JWT}});var Lp=Xn();Object.defineProperty(O,"Impersonated",{enumerable:!0,get:function(){return Lp.Impersonated}});var Ci=Ze();Object.defineProperty(O,"CodeChallengeMethod",{enumerable:!0,get:function(){return Ci.CodeChallengeMethod}});Object.defineProperty(O,"OAuth2Client",{enumerable:!0,get:function(){return Ci.OAuth2Client}});Object.defineProperty(O,"ClientAuthentication",{enumerable:!0,get:function(){return Ci.ClientAuthentication}});var Gp=xn();Object.defineProperty(O,"LoginTicket",{enumerable:!0,get:function(){return Gp.LoginTicket}});var Bp=Yn();Object.defineProperty(O,"UserRefreshClient",{enumerable:!0,get:function(){return Bp.UserRefreshClient}});var Hp=ii();Object.defineProperty(O,"AwsClient",{enumerable:!0,get:function(){return Hp.AwsClient}});var $p=ni();Object.defineProperty(O,"AwsRequestSigner",{enumerable:!0,get:function(){return $p.AwsRequestSigner}});var Kp=ri();Object.defineProperty(O,"IdentityPoolClient",{enumerable:!0,get:function(){return Kp.IdentityPoolClient}});var Jp=_i();Object.defineProperty(O,"ExternalAccountClient",{enumerable:!0,get:function(){return Jp.ExternalAccountClient}});var Vp=nt();Object.defineProperty(O,"BaseExternalAccountClient",{enumerable:!0,get:function(){return Vp.BaseExternalAccountClient}});var Wp=Rl();Object.defineProperty(O,"DownscopedClient",{enumerable:!0,get:function(){return Wp.DownscopedClient}});var jl=mi();Object.defineProperty(O,"PluggableAuthClient",{enumerable:!0,get:function(){return jl.PluggableAuthClient}});Object.defineProperty(O,"ExecutableError",{enumerable:!0,get:function(){return jl.ExecutableError}});var ql=wi();Object.defineProperty(O,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return ql.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(O,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return ql.ExternalAccountAuthorizedUserClient}});var Yp=Dl();Object.defineProperty(O,"PassThroughClient",{enumerable:!0,get:function(){return Yp.PassThroughClient}});var Fl=vi();Object.defineProperty(O,"GdchClient",{enumerable:!0,get:function(){return Fl.GdchClient}});Object.defineProperty(O,"GDCH_SERVICE_ACCOUNT_TYPE",{enumerable:!0,get:function(){return Fl.GDCH_SERVICE_ACCOUNT_TYPE}});Ip($n(),O);var Xp=new zr.GoogleAuth;O.auth=Xp});
32
- export{Ru,xc};
@@ -1,2 +0,0 @@
1
- import{m,N,_,u,E,L,t,o,G,Z,B,pt,Pe,g,C,oA,sA,RI,Ft,ws,Zr,En,Wn,au,Sr,mn,Vr,Gt,dr,br,Bo}from"./chunk-p1d500sf.js";import{Ur}from"./chunk-7rycq6wb.js";import{ki}from"./chunk-sdp9w627.js";import{Mi}from"./chunk-keetdtxb.js";import{da,Kl}from"./chunk-j9t7tvt5.js";import{Wl}from"./chunk-k7sjpke6.js";import{Ri}from"./chunk-6vkfzzvt.js";import{Mr}from"./chunk-5aqthcm6.js";E();function ke(a,s,v,r,f,c){let K=a.type==="folder",S=s.type==="folder";if(K!==S)return null;let x=S?r:f,P=x.findIndex((i)=>i.id===v),I=x.findIndex((i)=>i.id===s.id);if(P===-1||I===-1)return null;let Q=Math.min(P,I),O=Math.max(P,I),k=x.slice(Q,O+1),l=new Set(c);return k.forEach((i)=>{if(i.id)l.add(i.id)}),l}function Yn({teamId:a,projectId:s,projectName:v,assetId:r,rootFolderId:f,collection:c,onUpdateCollection:K}){let S=Pe(),x=G(),{canEdit:P}=Ft(s),{setFields:I}=Ur(),Q=g.api.files[":fileId"].metadata.$patch,{mutate:O}=B({mutationFn:async(e)=>{if(!(await Q(e)).ok)throw Error("Failed to patch metadata");return null}}),{data:k}=Z({queryKey:["fields",s],queryFn:async()=>{let e=await g.api.projects[":projectId"].fields.$get({param:{projectId:s}});if(!e.ok)throw Error("Failed to fetch fields");return await e.json()},enabled:!!s});m(()=>{if(k)I(k,s)},[k,s,I]);let l=r==="recently-deleted",i=r==="recents",[U,M]=u(null),[p,A]=u(new Set),[W,T]=u(null),[Me,Ae]=u(240),[Le,Re]=u(360),{isChatbotOpen:H}=dr(),{members:De,fetchMembers:ne}=Vr(),{metadata:ie,fetchMetadata:re,setMetadata:$e}=br(),ae=Boolean(ie["appearance.hideAgent"]);m(()=>{if(a)ne(a),re(a)},[a,ne,re]);let V=N(()=>c?.filter?.searchFilter?.conditions||[],[c]),[R,J]=u(V);m(()=>{J(V)},[V]);let le=`project:${s}:sort`,D=ie[le]||{field:"custom",order:"asc"},je=(e)=>{if(e)$e(a,le,e)},F=!!c,z=R.length>0||F,{fileListLeftSidebarCollapsed:de,setFileListLeftSidebarCollapsed:qe,fileListRightSidebarCollapsed:fe,setFileListRightSidebarCollapsed:Ee,viewModes:Te}=Gt(),ce=Te[s]??"card",ze=_(null),{data:j}=l||i?{data:void 0}:Z({queryKey:["folders",r],queryFn:async()=>{let e=await g.api.folders[":folderId"].$get({param:{folderId:r}});if(!e.ok)throw Error("failed to fetch folder");return await e.json()}}),{setProjectState:ue,clearProjectState:ge}=mn();m(()=>(ue({teamId:a,projectId:s,projectName:v,rootFolderId:f,ancestorFolders:j?.ancestorFolders??[],currentAsset:l?{name:oA(),type:"folder"}:i?{name:sA(),type:"folder"}:F?{id:c.id,name:c.name,type:"folder"}:{id:j?.id||r,name:j?.name,type:"folder"},isRootFolder:!l&&!i&&!F&&r===f,onFolderClick:(e)=>{S({to:"/projects/$projectId/folders/$folderId",params:{projectId:s,folderId:e}})}}),()=>ge()),[a,s,v,j,l,i,r,f,ue,ge,S]);let{data:X,fetchNextPage:pe,hasNextPage:me,isFetchingNextPage:he,isLoading:Ke}=pt({queryKey:l?["projects",s,"recently-deleted","folder"]:i?["projects",s,"recents","folder"]:["search",a,r,"folder",R,D,F],queryFn:async({pageParam:e})=>{if(l||F||i){if(l){let d=await g.api.projects[":projectId"]["recently-deleted"].$get({param:{projectId:s},query:{assetType:"folder",after:e}});if(!d.ok)throw Error("failed to fetch recently deleted folders");return await d.json()}return{data:[],pageInfo:{total:0}}}if(z)return{data:[],pageInfo:{total:0}};let n=await g.api.folders[":folderId"].search.$post({param:{folderId:r},json:{assetType:"folder",after:e,recursively:!1,sort:D,conditions:[]}});if(!n.ok)throw Error("failed to search folders");return await n.json()},enabled:!z&&!i,initialPageParam:"",getNextPageParam:(e)=>e.pageInfo?.cursor||void 0}),{data:Y,fetchNextPage:ye,hasNextPage:Se,isFetchingNextPage:Fe,isLoading:Qe}=pt({queryKey:l?["projects",s,"recently-deleted","file"]:i?["projects",s,"recents","file"]:["search",a,r,"file",R,D,F],queryFn:async({pageParam:e})=>{if(l){let d=await g.api.projects[":projectId"]["recently-deleted"].$get({param:{projectId:s},query:{assetType:"file",after:e}});if(!d.ok)throw Error("failed to fetch recently deleted files");return await d.json()}if(i){let d=await g.api.projects[":projectId"].recents.$get({param:{projectId:s},query:{after:e,first:"20"}});if(!d.ok)throw Error("failed to fetch recent files");return await d.json()}let n=await g.api.folders[":folderId"].search.$post({param:{folderId:r},json:{assetType:"file",after:e,recursively:z||F,conditions:R,sort:D}});if(!n.ok)throw Error("failed to search files");return await n.json()},initialPageParam:"",getNextPageParam:(e)=>e.pageInfo?.cursor||void 0}),b=X?.pages.flatMap((e)=>e.data??[])??[],h=Y?.pages.flatMap((e)=>e.data??[])??[],we=(!z&&!i?Ke:!1)||Qe,xe=X?.pages[0]?.pageInfo?.total,Ie=Y?.pages[0]?.pageInfo?.total,be=X?.pages[0]?.pageInfo?.totalSize,ve=Y?.pages[0]?.pageInfo?.totalSize,ee=()=>{A(new Set),M(null),T(null)},{dragState:q,handleDragStart:Oe,handleDragEnd:Ue}=Kl({teamId:a,projectId:s,assetId:r,folders:b,files:h,selectedIds:p,onClearSelection:ee}),te=N(()=>{if(p.size!==1)return null;let e=Array.from(p)[0];return h.find((d)=>d.id===e)||null},[p,h]),Ce=(e)=>{if(l)return;if(e.type==="folder")J([]),S({to:"/projects/$projectId/folders/$folderId",params:{projectId:s,folderId:e.id}});else S({to:"/projects/$projectId/files/$fileId",params:{projectId:s,fileId:e.versionStack?e.versionStack.id:e.id},search:{version:void 0}})},Ne=(e,n)=>{let d=n.metaKey||n.ctrlKey;if(n.shiftKey&&W){let oe=[...b,...h].find((y)=>y.id===W);if(oe){let y=ke(oe,e,W,b,h,p);if(y){A(y),M(e);return}}}if(d){let w=new Set(p);if(w.has(e.id)){if(w.delete(e.id),A(w),U?.id===e.id){let y=[...b,...h].find((_e)=>w.has(_e.id));M(y||null),T(y?y.id:null)}}else w.add(e.id),A(w),T(e.id),M(e);return}A(new Set([e.id])),T(e.id),M(e)},se=(e,n,d)=>{O({param:{fileId:e},json:[{key:n,value:d}]},{onSuccess:()=>{x.invalidateQueries({queryKey:["folders",r,"children",{assetType:"file"}]}),x.invalidateQueries({queryKey:["search",a,r]})}})};if(Bo())return t(Wl,{teamId:a,projectId:s,assetId:r,folders:b,files:h,totalFolders:xe,totalFiles:Ie,totalFoldersSize:be,totalFilesSize:ve,selectedItem:U,selectedIds:p,onItemSelect:Ne,onItemDoubleClick:Ce,onSaveField:se,onClearSelection:ee,fetchNextFoldersPage:pe,hasNextFoldersPage:me||!1,isFetchingNextFoldersPage:he,fetchNextFilesPage:ye,hasNextFilesPage:Se||!1,isFetchingNextFilesPage:Fe,isRecentlyDeleted:l,isRecents:i,isLoading:we,rootFolderId:f});return o(Wn,{modifiers:[da.configure({anchor:{x:0,y:0}})],plugins:(e)=>e.map((n)=>{if(n===ws)return ws.configure({dropAnimation:null});if(typeof n==="object"&&n!==null&&"plugin"in n&&n.plugin===ws)return ws.configure({dropAnimation:null});return n}),sensors:l||i||!P?[]:[En.configure({activationConstraints:[new Zr.Distance({value:10})]})],onDragStart:Oe,onDragEnd:Ue,children:[t("div",{className:"flex flex-1 flex-col bg-background min-h-0",children:o("div",{ref:ze,className:"flex flex-1 overflow-hidden relative",children:[!de&&t("div",{className:"md:hidden fixed inset-0 bg-black/50 z-40",onClick:()=>qe(!0)}),(!fe||H)&&t("div",{className:"md:hidden fixed inset-0 bg-black/50 z-40",onClick:()=>{Ee(!0),dr.getState().setIsChatbotOpen(!1)}}),!de&&o(L,{children:[t("div",{className:"bg-background",style:{width:Me},children:t(Sr,{teamId:a,projectId:s,projectName:v,rootFolderId:f,dragState:q,ancestorFolders:j?.ancestorFolders??[]})}),t(Mr,{onResize:(e)=>{Ae((n)=>Math.max(180,Math.min(400,n+e)))},className:"hidden md:block"})]}),t(ki,{teamId:a,projectId:s,assetId:r,folders:b,files:h,totalFolders:xe,totalFiles:Ie,totalFoldersSize:be,totalFilesSize:ve,selectedItem:U,selectedIds:p,onItemSelect:Ne,onItemDoubleClick:Ce,onSaveField:se,displayStyle:ce,onClearSelection:ee,fetchNextFoldersPage:pe,hasNextFoldersPage:me||!1,isFetchingNextFoldersPage:he,fetchNextFilesPage:ye,hasNextFilesPage:Se||!1,isFetchingNextFilesPage:Fe,isRecentlyDeleted:l,isRecents:i,isLoading:we,filterConditions:R,onFilterChange:J,sort:D,onSortChange:je,dragState:q,collection:c,onUpdateCollection:K,rootFolderId:f}),(!fe||H&&!ae)&&o(L,{children:[t(Mr,{onResize:(e)=>{Re((n)=>Math.max(240,Math.min(600,n-e)))},className:"hidden md:block"}),t("div",{style:{width:Le},className:"bg-background flex flex-col flex-shrink-0",children:H&&!ae?t(Mi,{projectId:s,contextAssetId:r}):te?t(Ri,{teamId:a,projectId:s,file:te,onSaveField:(e,n)=>se(te.id,e,n),members:De,hideAnnotationControl:!0}):t("div",{className:"flex h-full items-center justify-center p-4 text-center text-sm text-muted-foreground",children:RI()})})]})]})}),t(au,{children:q?.isActive?t("div",{className:C("flex items-center gap-2 rounded-md bg-popover px-3 py-2 text-sm font-medium text-popover-foreground shadow-md ring-1 ring-border cursor-grabbing",ce==="list"&&"w-30 h-[40px] px-0 flex-none overflow-hidden justify-center"),style:{transform:"translate(0px, 0px)"},children:o("span",{children:["Moving ",q.itemCount," item",q.itemCount!==1?"s":""]})}):null})]})}
2
- export{Yn};