@browserless.io/browserless 2.34.0 → 2.36.0

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 (451) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/build/limiter.js +1 -1
  3. package/build/routes/chrome/http/content.post.body.json +90 -1
  4. package/build/routes/chrome/http/pdf.post.body.json +90 -1
  5. package/build/routes/chrome/http/scrape.post.body.json +90 -1
  6. package/build/routes/chrome/http/scrape.post.response.json +21 -22
  7. package/build/routes/chrome/http/screenshot.post.body.json +90 -1
  8. package/build/routes/chromium/http/content.post.body.json +90 -1
  9. package/build/routes/chromium/http/pdf.post.body.json +90 -1
  10. package/build/routes/chromium/http/scrape.post.body.json +90 -1
  11. package/build/routes/chromium/http/scrape.post.response.json +21 -22
  12. package/build/routes/chromium/http/screenshot.post.body.json +90 -1
  13. package/build/routes/chromium/tests/scrape.spec.js +41 -0
  14. package/build/routes/edge/http/content.post.body.json +90 -1
  15. package/build/routes/edge/http/pdf.post.body.json +90 -1
  16. package/build/routes/edge/http/scrape.post.body.json +90 -1
  17. package/build/routes/edge/http/scrape.post.response.json +21 -22
  18. package/build/routes/edge/http/screenshot.post.body.json +90 -1
  19. package/build/sdk-utils.js +1 -1
  20. package/build/shared/scrape.http.js +13 -3
  21. package/docker/base/Dockerfile +8 -8
  22. package/docker/chrome/Dockerfile +2 -2
  23. package/docker/chromium/Dockerfile +2 -2
  24. package/docker/edge/Dockerfile +2 -2
  25. package/docker/firefox/Dockerfile +2 -2
  26. package/docker/multi/Dockerfile +2 -2
  27. package/docker/sdk/Dockerfile +1 -1
  28. package/docker/webkit/Dockerfile +2 -2
  29. package/extensions/ublocklite/README.md +1 -1
  30. package/extensions/ublocklite/_locales/br_FR/messages.json +1 -1
  31. package/extensions/ublocklite/_locales/bs/messages.json +58 -58
  32. package/extensions/ublocklite/_locales/he/messages.json +2 -2
  33. package/extensions/ublocklite/_locales/hu/messages.json +1 -1
  34. package/extensions/ublocklite/_locales/pt_BR/messages.json +1 -1
  35. package/extensions/ublocklite/_locales/pt_PT/messages.json +1 -1
  36. package/extensions/ublocklite/_locales/ro/messages.json +1 -1
  37. package/extensions/ublocklite/_locales/sk/messages.json +6 -6
  38. package/extensions/ublocklite/_locales/sq/messages.json +17 -17
  39. package/extensions/ublocklite/_locales/sr/messages.json +28 -28
  40. package/extensions/ublocklite/_locales/th/messages.json +1 -1
  41. package/extensions/ublocklite/_locales/tr/messages.json +1 -1
  42. package/extensions/ublocklite/_locales/vi/messages.json +1 -1
  43. package/extensions/ublocklite/css/common.css +5 -3
  44. package/extensions/ublocklite/css/default.css +10 -0
  45. package/extensions/ublocklite/css/unpicker-ui.css +1 -0
  46. package/extensions/ublocklite/js/background.js +5 -3
  47. package/extensions/ublocklite/js/dnr-parser.js +1 -1
  48. package/extensions/ublocklite/js/fetch.js +1 -1
  49. package/extensions/ublocklite/js/filter-lists.js +1 -4
  50. package/extensions/ublocklite/js/filter-manager.js +45 -9
  51. package/extensions/ublocklite/js/popup.js +2 -2
  52. package/extensions/ublocklite/js/ruleset-manager.js +10 -126
  53. package/extensions/ublocklite/js/rw-dnr-editor.js +8 -4
  54. package/extensions/ublocklite/js/scripting/css-procedural.js +2 -0
  55. package/extensions/ublocklite/js/scripting/css-specific.js +2 -0
  56. package/extensions/ublocklite/js/scripting/tool-overlay.js +1 -0
  57. package/extensions/ublocklite/js/scripting-manager.js +2 -2
  58. package/extensions/ublocklite/js/settings.js +2 -1
  59. package/extensions/ublocklite/js/static-filtering-parser.js +25 -18
  60. package/extensions/ublocklite/js/ubo-parser.js +181 -65
  61. package/extensions/ublocklite/manifest.json +4 -4
  62. package/extensions/ublocklite/rulesets/generic-details.json +7 -17
  63. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +25 -4
  64. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +615 -1
  65. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +21 -8
  66. package/extensions/ublocklite/rulesets/main/annoyances-others.json +5 -2
  67. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +22 -2
  68. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +1 -1
  69. package/extensions/ublocklite/rulesets/main/chn-0.json +98 -29
  70. package/extensions/ublocklite/rulesets/main/cze-0.json +6 -1
  71. package/extensions/ublocklite/rulesets/main/deu-0.json +15 -11
  72. package/extensions/ublocklite/rulesets/main/dpollock-0.json +4 -0
  73. package/extensions/ublocklite/rulesets/main/easylist.json +146 -98
  74. package/extensions/ublocklite/rulesets/main/easyprivacy.json +149 -32
  75. package/extensions/ublocklite/rulesets/main/est-0.json +1 -1
  76. package/extensions/ublocklite/rulesets/main/fin-0.json +9 -0
  77. package/extensions/ublocklite/rulesets/main/fra-0.json +49 -9
  78. package/extensions/ublocklite/rulesets/main/hun-0.json +4 -1
  79. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  80. package/extensions/ublocklite/rulesets/main/ind-0.json +101 -155
  81. package/extensions/ublocklite/rulesets/main/irn-0.json +34 -11
  82. package/extensions/ublocklite/rulesets/main/isr-0.json +20 -2
  83. package/extensions/ublocklite/rulesets/main/ita-0.json +3 -1
  84. package/extensions/ublocklite/rulesets/main/jpn-1.json +69 -22
  85. package/extensions/ublocklite/rulesets/main/kor-1.json +39 -5
  86. package/extensions/ublocklite/rulesets/main/ltu-0.json +3 -1
  87. package/extensions/ublocklite/rulesets/main/lva-0.json +2 -1
  88. package/extensions/ublocklite/rulesets/main/nld-0.json +6 -1
  89. package/extensions/ublocklite/rulesets/main/nor-0.json +13 -4
  90. package/extensions/ublocklite/rulesets/main/pgl.json +8 -11
  91. package/extensions/ublocklite/rulesets/main/pol-0.json +13 -2
  92. package/extensions/ublocklite/rulesets/main/rou-1.json +17 -1
  93. package/extensions/ublocklite/rulesets/main/rus-0.json +104 -27
  94. package/extensions/ublocklite/rulesets/main/rus-1.json +114 -4
  95. package/extensions/ublocklite/rulesets/main/spa-1.json +43 -15
  96. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +15832 -9032
  97. package/extensions/ublocklite/rulesets/main/swe-1.json +89 -52
  98. package/extensions/ublocklite/rulesets/main/tha-0.json +7 -1
  99. package/extensions/ublocklite/rulesets/main/tur-0.json +54 -6
  100. package/extensions/ublocklite/rulesets/main/ublock-badware.json +79 -106
  101. package/extensions/ublocklite/rulesets/main/ublock-filters.json +794 -111
  102. package/extensions/ublocklite/rulesets/main/ubol-tests.json +60 -0
  103. package/extensions/ublocklite/rulesets/main/ukr-0.json +20 -1
  104. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +631 -676
  105. package/extensions/ublocklite/rulesets/main/vie-1.json +74 -59
  106. package/extensions/ublocklite/rulesets/regex/chn-0.json +8 -3
  107. package/extensions/ublocklite/rulesets/regex/deu-0.json +0 -1
  108. package/extensions/ublocklite/rulesets/regex/easylist.json +0 -2
  109. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  110. package/extensions/ublocklite/rulesets/regex/kor-1.json +1 -0
  111. package/extensions/ublocklite/rulesets/regex/pol-0.json +1 -0
  112. package/extensions/ublocklite/rulesets/regex/rus-0.json +1 -0
  113. package/extensions/ublocklite/rulesets/regex/rus-1.json +24 -0
  114. package/extensions/ublocklite/rulesets/regex/tur-0.json +2 -1
  115. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +10 -8
  116. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +28 -12
  117. package/extensions/ublocklite/rulesets/ruleset-details.json +252 -472
  118. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  119. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
  120. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +1 -1
  121. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +1 -1
  122. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +3 -3
  123. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
  124. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  125. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +1 -1
  126. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +1 -1
  127. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
  128. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +1 -1
  129. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
  130. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +3 -3
  131. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  132. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  134. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +1 -1
  135. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +2 -2
  136. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +2 -9
  137. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +2 -13
  138. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
  139. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -0
  140. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +0 -2
  141. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  142. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-notifications.js +3 -3
  144. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +3 -3
  145. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  146. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  147. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  148. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  149. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  150. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +3 -3
  151. package/extensions/ublocklite/rulesets/scripting/procedural/idn-0.js +3 -3
  152. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  153. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  154. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  155. package/extensions/ublocklite/rulesets/scripting/procedural/nld-0.js +3 -3
  156. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  157. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  158. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  159. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  160. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  161. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +3 -3
  162. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  163. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +2 -2
  164. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-on-property-read.js +2 -2
  165. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +1 -1
  167. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie.js +2 -2
  168. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.trusted-replace-node-text.js +450 -0
  169. package/extensions/ublocklite/rulesets/scripting/scriptlet/{jpn-1.abort-on-property-write.js → adguard-mobile.trusted-set-attr.js} +107 -41
  170. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +407 -0
  171. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  172. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  173. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  174. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  176. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  177. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  178. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +1 -1
  179. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +1 -1
  180. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  181. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
  182. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +9 -2
  183. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +2 -2
  184. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +2 -2
  185. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-xhr.js +2 -2
  186. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-cookie.js +2 -2
  187. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  188. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-cookie.js +2 -2
  189. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +1 -1
  190. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +427 -0
  191. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +2 -2
  192. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +2 -2
  193. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +2 -2
  194. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +1 -1
  195. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +9 -2
  196. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
  197. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +1 -1
  198. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
  199. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.m3u-prune.js → chn-0.spoof-css.js} +109 -148
  200. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +1 -1
  201. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +7 -0
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +2 -2
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.adjust-setTimeout.js +2 -2
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +7 -0
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-constant.js +1 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +7 -0
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +7 -0
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +1 -1
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.remove-node-text.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-constant.js +2 -2
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-session-storage-item.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +7 -0
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -0
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +1 -1
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-cookie.js +442 -0
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/{ublock-filters.evaldata-prune.js → kor-1.json-prune-xhr-response.js} +227 -198
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune.js +2 -2
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -0
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +2 -2
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +7 -0
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +7 -0
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +2 -2
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.remove-node-text.js +1 -1
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +2 -2
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +10 -3
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +2 -2
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-xhr.js +1 -1
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-cookie.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-local-storage-item.js +2 -2
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.abort-on-property-read.js +3 -3
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +1 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune.js +2 -2
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +7 -0
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.remove-cookie.js +4 -4
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +2 -2
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setInterval.js +1 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +1 -1
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +9 -2
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +2 -2
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +2 -2
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +1 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +2 -2
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +2 -2
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +2 -2
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +1 -1
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +2 -2
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setInterval.js +2 -2
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +7 -0
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-node-text.js +2 -2
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-cookie.js +2 -2
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +498 -0
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +450 -0
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +3 -3
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +3 -3
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +3 -3
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +3 -3
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.disable-newtab-links.js +1 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +927 -0
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +851 -0
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +3 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.m3u-prune.js +2 -2
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +3 -3
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +2 -2
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +10 -3
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +2 -2
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +3 -3
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +3 -3
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +2 -2
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-attr.js +2 -2
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +1 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +1 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -0
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-xhr.js +1 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +2 -2
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-xhr-response.js +1 -1
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +3 -3
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +2 -2
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +1 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.xml-prune.js +2 -2
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +7 -0
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.json-prune.js +1 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +7 -0
  325. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  327. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  328. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  329. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  330. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  331. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  332. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  333. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  334. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  335. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  336. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  337. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  338. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  339. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  340. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  341. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  342. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  343. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  344. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  345. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  346. package/extensions/ublocklite/rulesets/scripting/specific/pol-0.js +3 -3
  347. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  348. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  349. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  350. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  351. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  352. package/extensions/ublocklite/rulesets/scripting/specific/tha-0.js +3 -3
  353. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  354. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  355. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  356. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  357. package/extensions/ublocklite/rulesets/scriptlet-details.json +301 -173
  358. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +11 -1
  359. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  360. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +398 -791
  361. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +4 -0
  362. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  363. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +76 -74
  364. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +429 -49
  365. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +2 -0
  366. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +185 -176
  367. package/extensions/ublocklite/rulesets/strictblock/kor-1.json +6 -1
  368. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  369. package/extensions/ublocklite/rulesets/strictblock/pgl.json +8 -11
  370. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +2 -0
  371. package/extensions/ublocklite/rulesets/strictblock/rus-1.json +1 -0
  372. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -2
  373. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +15832 -9032
  374. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +2 -0
  375. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +4 -0
  376. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +636 -631
  377. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +3 -2
  378. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +631 -676
  379. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +7 -8
  380. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +30 -0
  381. package/extensions/ublocklite/ublock.zip +0 -0
  382. package/package.json +23 -21
  383. package/scripts/build-open-api.js +15 -1
  384. package/scripts/install-adblock.js +25 -4
  385. package/scripts/start.sh +1 -1
  386. package/scripts/test.sh +2 -2
  387. package/src/limiter.ts +1 -1
  388. package/src/routes/chromium/tests/scrape.spec.ts +48 -0
  389. package/src/sdk-utils.ts +1 -1
  390. package/src/shared/scrape.http.ts +17 -5
  391. package/static/docs/swagger.json +330 -102
  392. package/static/docs/swagger.min.json +329 -101
  393. package/static/function/client.js +273 -171
  394. package/static/function/index.html +273 -171
  395. package/extensions/ublocklite/rulesets/modify-headers/annoyances-overlays.json +0 -108
  396. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +0 -316
  397. package/extensions/ublocklite/rulesets/modify-headers/cze-0.json +0 -25
  398. package/extensions/ublocklite/rulesets/modify-headers/deu-0.json +0 -24
  399. package/extensions/ublocklite/rulesets/modify-headers/easylist.json +0 -14
  400. package/extensions/ublocklite/rulesets/modify-headers/easyprivacy.json +0 -48
  401. package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +0 -215
  402. package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +0 -45
  403. package/extensions/ublocklite/rulesets/modify-headers/isr-0.json +0 -50
  404. package/extensions/ublocklite/rulesets/modify-headers/rus-0.json +0 -41
  405. package/extensions/ublocklite/rulesets/modify-headers/rus-1.json +0 -22
  406. package/extensions/ublocklite/rulesets/modify-headers/swe-1.json +0 -46
  407. package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +0 -53
  408. package/extensions/ublocklite/rulesets/modify-headers/ubol-tests.json +0 -25
  409. package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +0 -162
  410. package/extensions/ublocklite/rulesets/redirect/adguard-mobile.json +0 -20
  411. package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +0 -15
  412. package/extensions/ublocklite/rulesets/redirect/chn-0.json +0 -40
  413. package/extensions/ublocklite/rulesets/redirect/cze-0.json +0 -76
  414. package/extensions/ublocklite/rulesets/redirect/deu-0.json +0 -79
  415. package/extensions/ublocklite/rulesets/redirect/easylist.json +0 -103
  416. package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +0 -137
  417. package/extensions/ublocklite/rulesets/redirect/fin-0.json +0 -121
  418. package/extensions/ublocklite/rulesets/redirect/fra-0.json +0 -35
  419. package/extensions/ublocklite/rulesets/redirect/hun-0.json +0 -38
  420. package/extensions/ublocklite/rulesets/redirect/irn-0.json +0 -73
  421. package/extensions/ublocklite/rulesets/redirect/isr-0.json +0 -17
  422. package/extensions/ublocklite/rulesets/redirect/jpn-1.json +0 -30
  423. package/extensions/ublocklite/rulesets/redirect/kor-1.json +0 -25
  424. package/extensions/ublocklite/rulesets/redirect/ltu-0.json +0 -33
  425. package/extensions/ublocklite/rulesets/redirect/nld-0.json +0 -79
  426. package/extensions/ublocklite/rulesets/redirect/nor-0.json +0 -132
  427. package/extensions/ublocklite/rulesets/redirect/pol-0.json +0 -15
  428. package/extensions/ublocklite/rulesets/redirect/rou-1.json +0 -53
  429. package/extensions/ublocklite/rulesets/redirect/rus-0.json +0 -21
  430. package/extensions/ublocklite/rulesets/redirect/rus-1.json +0 -118
  431. package/extensions/ublocklite/rulesets/redirect/spa-1.json +0 -27
  432. package/extensions/ublocklite/rulesets/redirect/swe-1.json +0 -14
  433. package/extensions/ublocklite/rulesets/redirect/tha-0.json +0 -78
  434. package/extensions/ublocklite/rulesets/redirect/tur-0.json +0 -24
  435. package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +0 -18
  436. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +0 -556
  437. package/extensions/ublocklite/rulesets/redirect/ubol-tests.json +0 -22
  438. package/extensions/ublocklite/rulesets/redirect/ukr-0.json +0 -18
  439. package/extensions/ublocklite/rulesets/redirect/vie-1.json +0 -85
  440. package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +0 -612
  441. package/extensions/ublocklite/rulesets/removeparam/annoyances-overlays.json +0 -27
  442. package/extensions/ublocklite/rulesets/removeparam/chn-0.json +0 -48
  443. package/extensions/ublocklite/rulesets/removeparam/est-0.json +0 -26
  444. package/extensions/ublocklite/rulesets/removeparam/fin-0.json +0 -52
  445. package/extensions/ublocklite/rulesets/removeparam/irn-0.json +0 -18
  446. package/extensions/ublocklite/rulesets/removeparam/kor-1.json +0 -26
  447. package/extensions/ublocklite/rulesets/removeparam/rus-0.json +0 -19
  448. package/extensions/ublocklite/rulesets/removeparam/rus-1.json +0 -98
  449. package/extensions/ublocklite/rulesets/removeparam/swe-1.json +0 -125
  450. package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +0 -63
  451. package/extensions/ublocklite/rulesets/removeparam/ukr-0.json +0 -49
@@ -1727,7 +1727,7 @@
1727
1727
  function numberIsNaN(obj) {
1728
1728
  return obj !== obj;
1729
1729
  }
1730
- const hexSliceLookupTable = function() {
1730
+ const hexSliceLookupTable = (function() {
1731
1731
  const alphabet = "0123456789abcdef";
1732
1732
  const table = new Array(256);
1733
1733
  for (let i = 0; i < 16; ++i) {
@@ -1737,7 +1737,7 @@
1737
1737
  }
1738
1738
  }
1739
1739
  return table;
1740
- }();
1740
+ })();
1741
1741
  function defineBigIntMethod(fn) {
1742
1742
  return typeof BigInt === "undefined" ? BufferBigIntNotDefined : fn;
1743
1743
  }
@@ -2540,7 +2540,7 @@
2540
2540
  0 <= index && arr.splice(index, 1);
2541
2541
  }
2542
2542
  }
2543
- var Subscription = function() {
2543
+ var Subscription = (function() {
2544
2544
  function Subscription2(initialTeardown) {
2545
2545
  this.initialTeardown = initialTeardown;
2546
2546
  this.closed = false;
@@ -2653,13 +2653,13 @@
2653
2653
  teardown._removeParent(this);
2654
2654
  }
2655
2655
  };
2656
- Subscription2.EMPTY = function() {
2656
+ Subscription2.EMPTY = (function() {
2657
2657
  var empty = new Subscription2();
2658
2658
  empty.closed = true;
2659
2659
  return empty;
2660
- }();
2660
+ })();
2661
2661
  return Subscription2;
2662
- }();
2662
+ })();
2663
2663
  var EMPTY_SUBSCRIPTION = Subscription.EMPTY;
2664
2664
  function isSubscription(value) {
2665
2665
  return value instanceof Subscription || value && "closed" in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe);
@@ -2708,9 +2708,9 @@
2708
2708
  }
2709
2709
  function noop() {
2710
2710
  }
2711
- var COMPLETE_NOTIFICATION = function() {
2711
+ var COMPLETE_NOTIFICATION = (function() {
2712
2712
  return createNotification("C", void 0, void 0);
2713
- }();
2713
+ })();
2714
2714
  function errorNotification(error) {
2715
2715
  return createNotification("E", void 0, error);
2716
2716
  }
@@ -2749,7 +2749,7 @@
2749
2749
  context.error = err;
2750
2750
  }
2751
2751
  }
2752
- var Subscriber = function(_super) {
2752
+ var Subscriber = (function(_super) {
2753
2753
  __extends(Subscriber2, _super);
2754
2754
  function Subscriber2(destination) {
2755
2755
  var _this = _super.call(this) || this;
@@ -2815,12 +2815,12 @@
2815
2815
  }
2816
2816
  };
2817
2817
  return Subscriber2;
2818
- }(Subscription);
2818
+ })(Subscription);
2819
2819
  var _bind = Function.prototype.bind;
2820
2820
  function bind(fn, thisArg) {
2821
2821
  return _bind.call(fn, thisArg);
2822
2822
  }
2823
- var ConsumerObserver = function() {
2823
+ var ConsumerObserver = (function() {
2824
2824
  function ConsumerObserver2(partialObserver) {
2825
2825
  this.partialObserver = partialObserver;
2826
2826
  }
@@ -2857,8 +2857,8 @@
2857
2857
  }
2858
2858
  };
2859
2859
  return ConsumerObserver2;
2860
- }();
2861
- var SafeSubscriber = function(_super) {
2860
+ })();
2861
+ var SafeSubscriber = (function(_super) {
2862
2862
  __extends(SafeSubscriber2, _super);
2863
2863
  function SafeSubscriber2(observerOrNext, error, complete) {
2864
2864
  var _this = _super.call(this) || this;
@@ -2889,7 +2889,7 @@
2889
2889
  return _this;
2890
2890
  }
2891
2891
  return SafeSubscriber2;
2892
- }(Subscriber);
2892
+ })(Subscriber);
2893
2893
  function handleUnhandledError(error) {
2894
2894
  if (config.useDeprecatedSynchronousErrorHandling) {
2895
2895
  captureError(error);
@@ -2912,9 +2912,9 @@
2912
2912
  error: defaultErrorHandler,
2913
2913
  complete: noop
2914
2914
  };
2915
- var observable = function() {
2915
+ var observable = (function() {
2916
2916
  return typeof Symbol === "function" && Symbol.observable || "@@observable";
2917
- }();
2917
+ })();
2918
2918
  function identity(x) {
2919
2919
  return x;
2920
2920
  }
@@ -2938,7 +2938,7 @@
2938
2938
  }, input);
2939
2939
  };
2940
2940
  }
2941
- var Observable = function() {
2941
+ var Observable = (function() {
2942
2942
  function Observable2(subscribe) {
2943
2943
  if (subscribe) {
2944
2944
  this._subscribe = subscribe;
@@ -3017,7 +3017,7 @@
3017
3017
  return new Observable2(subscribe);
3018
3018
  };
3019
3019
  return Observable2;
3020
- }();
3020
+ })();
3021
3021
  function getPromiseCtor(promiseCtor) {
3022
3022
  var _a;
3023
3023
  return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
@@ -3048,7 +3048,7 @@
3048
3048
  function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
3049
3049
  return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
3050
3050
  }
3051
- var OperatorSubscriber = function(_super) {
3051
+ var OperatorSubscriber = (function(_super) {
3052
3052
  __extends(OperatorSubscriber2, _super);
3053
3053
  function OperatorSubscriber2(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
3054
3054
  var _this = _super.call(this, destination) || this;
@@ -3090,7 +3090,7 @@
3090
3090
  }
3091
3091
  };
3092
3092
  return OperatorSubscriber2;
3093
- }(Subscriber);
3093
+ })(Subscriber);
3094
3094
  var ObjectUnsubscribedError = createErrorClass(function(_super) {
3095
3095
  return function ObjectUnsubscribedErrorImpl() {
3096
3096
  _super(this);
@@ -3098,7 +3098,7 @@
3098
3098
  this.message = "object unsubscribed";
3099
3099
  };
3100
3100
  });
3101
- var Subject = function(_super) {
3101
+ var Subject = (function(_super) {
3102
3102
  __extends(Subject2, _super);
3103
3103
  function Subject2() {
3104
3104
  var _this = _super.call(this) || this;
@@ -3224,8 +3224,8 @@
3224
3224
  return new AnonymousSubject(destination, source2);
3225
3225
  };
3226
3226
  return Subject2;
3227
- }(Observable);
3228
- var AnonymousSubject = function(_super) {
3227
+ })(Observable);
3228
+ var AnonymousSubject = (function(_super) {
3229
3229
  __extends(AnonymousSubject2, _super);
3230
3230
  function AnonymousSubject2(destination, source2) {
3231
3231
  var _this = _super.call(this) || this;
@@ -3250,14 +3250,14 @@
3250
3250
  return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
3251
3251
  };
3252
3252
  return AnonymousSubject2;
3253
- }(Subject);
3253
+ })(Subject);
3254
3254
  var dateTimestampProvider = {
3255
3255
  now: function() {
3256
3256
  return (dateTimestampProvider.delegate || Date).now();
3257
3257
  },
3258
3258
  delegate: void 0
3259
3259
  };
3260
- var ReplaySubject = function(_super) {
3260
+ var ReplaySubject = (function(_super) {
3261
3261
  __extends(ReplaySubject2, _super);
3262
3262
  function ReplaySubject2(_bufferSize, _windowTime, _timestampProvider) {
3263
3263
  if (_bufferSize === void 0) {
@@ -3315,8 +3315,8 @@
3315
3315
  }
3316
3316
  };
3317
3317
  return ReplaySubject2;
3318
- }(Subject);
3319
- var Action = function(_super) {
3318
+ })(Subject);
3319
+ var Action = (function(_super) {
3320
3320
  __extends(Action2, _super);
3321
3321
  function Action2(scheduler, work) {
3322
3322
  return _super.call(this) || this;
@@ -3328,7 +3328,7 @@
3328
3328
  return this;
3329
3329
  };
3330
3330
  return Action2;
3331
- }(Subscription);
3331
+ })(Subscription);
3332
3332
  var intervalProvider = {
3333
3333
  setInterval: function(handler, timeout2) {
3334
3334
  var args = [];
@@ -3347,7 +3347,7 @@
3347
3347
  },
3348
3348
  delegate: void 0
3349
3349
  };
3350
- var AsyncAction = function(_super) {
3350
+ var AsyncAction = (function(_super) {
3351
3351
  __extends(AsyncAction2, _super);
3352
3352
  function AsyncAction2(scheduler, work) {
3353
3353
  var _this = _super.call(this, scheduler, work) || this;
@@ -3434,8 +3434,8 @@
3434
3434
  }
3435
3435
  };
3436
3436
  return AsyncAction2;
3437
- }(Action);
3438
- var Scheduler = function() {
3437
+ })(Action);
3438
+ var Scheduler = (function() {
3439
3439
  function Scheduler2(schedulerActionCtor, now) {
3440
3440
  if (now === void 0) {
3441
3441
  now = Scheduler2.now;
@@ -3451,8 +3451,8 @@
3451
3451
  };
3452
3452
  Scheduler2.now = dateTimestampProvider.now;
3453
3453
  return Scheduler2;
3454
- }();
3455
- var AsyncScheduler = function(_super) {
3454
+ })();
3455
+ var AsyncScheduler = (function(_super) {
3456
3456
  __extends(AsyncScheduler2, _super);
3457
3457
  function AsyncScheduler2(SchedulerAction, now) {
3458
3458
  if (now === void 0) {
@@ -3485,7 +3485,7 @@
3485
3485
  }
3486
3486
  };
3487
3487
  return AsyncScheduler2;
3488
- }(Scheduler);
3488
+ })(Scheduler);
3489
3489
  var asyncScheduler = new AsyncScheduler(AsyncAction);
3490
3490
  var async = asyncScheduler;
3491
3491
  var EMPTY = new Observable(function(subscriber) {
@@ -3503,9 +3503,9 @@
3503
3503
  function popNumber(args, defaultValue) {
3504
3504
  return typeof last(args) === "number" ? args.pop() : defaultValue;
3505
3505
  }
3506
- var isArrayLike = function(x) {
3506
+ var isArrayLike = (function(x) {
3507
3507
  return x && typeof x.length === "number" && typeof x !== "function";
3508
- };
3508
+ });
3509
3509
  function isPromise(value) {
3510
3510
  return isFunction(value === null || value === void 0 ? void 0 : value.then);
3511
3511
  }
@@ -4422,7 +4422,7 @@
4422
4422
  // node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
4423
4423
  init_dirname();
4424
4424
  init_buffer2();
4425
- var packageVersion = "24.16.1";
4425
+ var packageVersion = "24.22.0";
4426
4426
 
4427
4427
  // node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
4428
4428
  init_dirname();
@@ -4564,6 +4564,8 @@
4564
4564
  };
4565
4565
  var TargetCloseError = class extends ProtocolError {
4566
4566
  };
4567
+ var ConnectionClosedError = class extends ProtocolError {
4568
+ };
4567
4569
 
4568
4570
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js
4569
4571
  init_dirname();
@@ -4911,7 +4913,7 @@
4911
4913
  Symbol.asyncDispose ??= Symbol("asyncDispose");
4912
4914
  var disposeSymbol = Symbol.dispose;
4913
4915
  var asyncDisposeSymbol = Symbol.asyncDispose;
4914
- var DisposableStack = class _DisposableStack {
4916
+ var DisposableStackPolyfill = class _DisposableStackPolyfill {
4915
4917
  #disposed = false;
4916
4918
  #stack = [];
4917
4919
  /**
@@ -5004,7 +5006,7 @@
5004
5006
  if (this.#disposed) {
5005
5007
  throw new ReferenceError("A disposed stack can not use anything new");
5006
5008
  }
5007
- const stack = new _DisposableStack();
5009
+ const stack = new _DisposableStackPolyfill();
5008
5010
  stack.#stack = this.#stack;
5009
5011
  this.#stack = [];
5010
5012
  this.#disposed = true;
@@ -5030,11 +5032,11 @@
5030
5032
  throw errors[0];
5031
5033
  } else if (errors.length > 1) {
5032
5034
  let suppressed = null;
5033
- for (const error of errors.reverse()) {
5035
+ for (const error of errors) {
5034
5036
  if (suppressed === null) {
5035
5037
  suppressed = error;
5036
5038
  } else {
5037
- suppressed = new SuppressedError2(error, suppressed);
5039
+ suppressed = new SuppressedErrorPolyfill(error, suppressed);
5038
5040
  }
5039
5041
  }
5040
5042
  throw suppressed;
@@ -5042,7 +5044,8 @@
5042
5044
  }
5043
5045
  [Symbol.toStringTag] = "DisposableStack";
5044
5046
  };
5045
- var AsyncDisposableStack = class _AsyncDisposableStack {
5047
+ var DisposableStack = globalThis.DisposableStack ?? DisposableStackPolyfill;
5048
+ var AsyncDisposableStackPolyfill = class _AsyncDisposableStackPolyfill {
5046
5049
  #disposed = false;
5047
5050
  #stack = [];
5048
5051
  /**
@@ -5054,7 +5057,7 @@
5054
5057
  /**
5055
5058
  * Alias for `[Symbol.asyncDispose]()`.
5056
5059
  */
5057
- async dispose() {
5060
+ async disposeAsync() {
5058
5061
  await this[asyncDisposeSymbol]();
5059
5062
  }
5060
5063
  /**
@@ -5145,7 +5148,7 @@
5145
5148
  if (this.#disposed) {
5146
5149
  throw new ReferenceError("A disposed stack can not use anything new");
5147
5150
  }
5148
- const stack = new _AsyncDisposableStack();
5151
+ const stack = new _AsyncDisposableStackPolyfill();
5149
5152
  stack.#stack = this.#stack;
5150
5153
  this.#stack = [];
5151
5154
  this.#disposed = true;
@@ -5171,11 +5174,11 @@
5171
5174
  throw errors[0];
5172
5175
  } else if (errors.length > 1) {
5173
5176
  let suppressed = null;
5174
- for (const error of errors.reverse()) {
5177
+ for (const error of errors) {
5175
5178
  if (suppressed === null) {
5176
5179
  suppressed = error;
5177
5180
  } else {
5178
- suppressed = new SuppressedError2(error, suppressed);
5181
+ suppressed = new SuppressedErrorPolyfill(error, suppressed);
5179
5182
  }
5180
5183
  }
5181
5184
  throw suppressed;
@@ -5183,7 +5186,8 @@
5183
5186
  }
5184
5187
  [Symbol.toStringTag] = "AsyncDisposableStack";
5185
5188
  };
5186
- var SuppressedError2 = class extends Error {
5189
+ var AsyncDisposableStack = globalThis.AsyncDisposableStack ?? AsyncDisposableStackPolyfill;
5190
+ var SuppressedErrorPolyfill = class extends Error {
5187
5191
  #error;
5188
5192
  #suppressed;
5189
5193
  constructor(error, suppressed, message = "An error was suppressed during disposal") {
@@ -5206,6 +5210,7 @@
5206
5210
  return this.#suppressed;
5207
5211
  }
5208
5212
  };
5213
+ var SuppressedError2 = globalThis.SuppressedError ?? SuppressedErrorPolyfill;
5209
5214
 
5210
5215
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js
5211
5216
  var EventEmitter = class {
@@ -5424,6 +5429,19 @@
5424
5429
  async deleteCookie(...cookies) {
5425
5430
  return await this.defaultBrowserContext().deleteCookie(...cookies);
5426
5431
  }
5432
+ /**
5433
+ * Deletes cookies matching the provided filters from the default
5434
+ * {@link BrowserContext}.
5435
+ *
5436
+ * @remarks
5437
+ *
5438
+ * Shortcut for
5439
+ * {@link BrowserContext.deleteMatchingCookies |
5440
+ * browser.defaultBrowserContext().deleteMatchingCookies()}.
5441
+ */
5442
+ async deleteMatchingCookies(...filters) {
5443
+ return await this.defaultBrowserContext().deleteMatchingCookies(...filters);
5444
+ }
5427
5445
  /**
5428
5446
  * Whether Puppeteer is connected to this {@link Browser | browser}.
5429
5447
  *
@@ -5674,8 +5692,9 @@
5674
5692
  ), from(this.targets())).pipe(filterAsync(predicate), raceWith(timeout(ms))));
5675
5693
  }
5676
5694
  /**
5677
- * Removes cookie in the browser context
5678
- * @param cookies - {@link Cookie | cookie} to remove
5695
+ * Removes cookie in this browser context.
5696
+ *
5697
+ * @param cookies - Complete {@link Cookie | cookie} object to be removed.
5679
5698
  */
5680
5699
  async deleteCookie(...cookies) {
5681
5700
  return await this.setCookie(...cookies.map((cookie) => {
@@ -5685,6 +5704,49 @@
5685
5704
  };
5686
5705
  }));
5687
5706
  }
5707
+ /**
5708
+ * Deletes cookies matching the provided filters in this browser context.
5709
+ *
5710
+ * @param filters - {@link DeleteCookiesRequest}
5711
+ */
5712
+ async deleteMatchingCookies(...filters) {
5713
+ const cookies = await this.cookies();
5714
+ const cookiesToDelete = cookies.filter((cookie) => {
5715
+ return filters.some((filter2) => {
5716
+ if (filter2.name === cookie.name) {
5717
+ if (filter2.domain !== void 0 && filter2.domain === cookie.domain) {
5718
+ return true;
5719
+ }
5720
+ if (filter2.path !== void 0 && filter2.path === cookie.path) {
5721
+ return true;
5722
+ }
5723
+ if (filter2.partitionKey !== void 0 && cookie.partitionKey !== void 0) {
5724
+ if (typeof cookie.partitionKey !== "object") {
5725
+ throw new Error("Unexpected string partition key");
5726
+ }
5727
+ if (typeof filter2.partitionKey === "string") {
5728
+ if (filter2.partitionKey === cookie.partitionKey?.sourceOrigin) {
5729
+ return true;
5730
+ }
5731
+ } else {
5732
+ if (filter2.partitionKey.sourceOrigin === cookie.partitionKey?.sourceOrigin) {
5733
+ return true;
5734
+ }
5735
+ }
5736
+ }
5737
+ if (filter2.url !== void 0) {
5738
+ const url = new URL(filter2.url);
5739
+ if (url.hostname === cookie.domain && url.pathname === cookie.path) {
5740
+ return true;
5741
+ }
5742
+ }
5743
+ return true;
5744
+ }
5745
+ return false;
5746
+ });
5747
+ });
5748
+ await this.deleteCookie(...cookiesToDelete);
5749
+ }
5688
5750
  /**
5689
5751
  * Whether this {@link BrowserContext | browser context} is closed.
5690
5752
  */
@@ -5779,7 +5841,7 @@
5779
5841
  }
5780
5842
  return value;
5781
5843
  };
5782
- var __disposeResources = /* @__PURE__ */ function(SuppressedError3) {
5844
+ var __disposeResources = /* @__PURE__ */ (function(SuppressedError3) {
5783
5845
  return function(env) {
5784
5846
  function fail(e) {
5785
5847
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -5806,7 +5868,7 @@
5806
5868
  }
5807
5869
  return next();
5808
5870
  };
5809
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
5871
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
5810
5872
  var e = new Error(message);
5811
5873
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
5812
5874
  });
@@ -5940,7 +6002,7 @@
5940
6002
  }
5941
6003
  return value;
5942
6004
  };
5943
- var __disposeResources2 = /* @__PURE__ */ function(SuppressedError3) {
6005
+ var __disposeResources2 = /* @__PURE__ */ (function(SuppressedError3) {
5944
6006
  return function(env) {
5945
6007
  function fail(e) {
5946
6008
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -5967,7 +6029,7 @@
5967
6029
  }
5968
6030
  return next();
5969
6031
  };
5970
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
6032
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
5971
6033
  var e = new Error(message);
5972
6034
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
5973
6035
  });
@@ -6505,12 +6567,15 @@
6505
6567
  static create(pageOrFrame, selector) {
6506
6568
  return new _NodeLocator(pageOrFrame, selector).setTimeout("getDefaultTimeout" in pageOrFrame ? pageOrFrame.getDefaultTimeout() : pageOrFrame.page().getDefaultTimeout());
6507
6569
  }
6570
+ static createFromHandle(pageOrFrame, handle) {
6571
+ return new _NodeLocator(pageOrFrame, handle).setTimeout("getDefaultTimeout" in pageOrFrame ? pageOrFrame.getDefaultTimeout() : pageOrFrame.page().getDefaultTimeout());
6572
+ }
6508
6573
  #pageOrFrame;
6509
- #selector;
6510
- constructor(pageOrFrame, selector) {
6574
+ #selectorOrHandle;
6575
+ constructor(pageOrFrame, selectorOrHandle) {
6511
6576
  super();
6512
6577
  this.#pageOrFrame = pageOrFrame;
6513
- this.#selector = selector;
6578
+ this.#selectorOrHandle = selectorOrHandle;
6514
6579
  }
6515
6580
  /**
6516
6581
  * Waits for the element to become visible or hidden. visibility === 'visible'
@@ -6536,16 +6601,24 @@
6536
6601
  })().pipe(first(identity), retry({ delay: RETRY_DELAY }), ignoreElements());
6537
6602
  };
6538
6603
  _clone() {
6539
- return new _NodeLocator(this.#pageOrFrame, this.#selector).copyOptions(this);
6604
+ return new _NodeLocator(
6605
+ this.#pageOrFrame,
6606
+ // @ts-expect-error TSC does cannot parse private overloads.
6607
+ this.#selectorOrHandle
6608
+ ).copyOptions(this);
6540
6609
  }
6541
6610
  _wait(options) {
6542
6611
  const signal = options?.signal;
6543
6612
  return defer(() => {
6544
- return from(this.#pageOrFrame.waitForSelector(this.#selector, {
6545
- visible: false,
6546
- timeout: this._timeout,
6547
- signal
6548
- }));
6613
+ if (typeof this.#selectorOrHandle === "string") {
6614
+ return from(this.#pageOrFrame.waitForSelector(this.#selectorOrHandle, {
6615
+ visible: false,
6616
+ timeout: this._timeout,
6617
+ signal
6618
+ }));
6619
+ } else {
6620
+ return of(this.#selectorOrHandle);
6621
+ }
6549
6622
  }).pipe(filter((value) => {
6550
6623
  return value !== null;
6551
6624
  }), throwIfEmpty(), this.operators.conditions([this.#waitForVisibilityIfNeeded], signal));
@@ -6649,7 +6722,7 @@
6649
6722
  }
6650
6723
  return value;
6651
6724
  };
6652
- var __disposeResources3 = /* @__PURE__ */ function(SuppressedError3) {
6725
+ var __disposeResources3 = /* @__PURE__ */ (function(SuppressedError3) {
6653
6726
  return function(env) {
6654
6727
  function fail(e) {
6655
6728
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -6676,7 +6749,7 @@
6676
6749
  }
6677
6750
  return next();
6678
6751
  };
6679
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
6752
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
6680
6753
  var e = new Error(message);
6681
6754
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
6682
6755
  });
@@ -6786,11 +6859,11 @@
6786
6859
  get accessibility() {
6787
6860
  return this.mainFrame().accessibility;
6788
6861
  }
6789
- locator(selectorOrFunc) {
6790
- if (typeof selectorOrFunc === "string") {
6791
- return NodeLocator.create(this, selectorOrFunc);
6862
+ locator(input) {
6863
+ if (typeof input === "string") {
6864
+ return NodeLocator.create(this, input);
6792
6865
  } else {
6793
- return FunctionLocator.create(this, selectorOrFunc);
6866
+ return FunctionLocator.create(this, input);
6794
6867
  }
6795
6868
  }
6796
6869
  /**
@@ -7315,7 +7388,7 @@
7315
7388
  *
7316
7389
  * @remarks
7317
7390
  * This method is a shortcut for calling two methods:
7318
- * {@link Page.setUserAgent} and {@link Page.setViewport}.
7391
+ * {@link Page.(setUserAgent:2) } and {@link Page.setViewport}.
7319
7392
  *
7320
7393
  * This method will resize the page. A lot of websites don't expect phones to
7321
7394
  * change size, so you should emulate before navigating to the page.
@@ -7338,7 +7411,7 @@
7338
7411
  */
7339
7412
  async emulate(device) {
7340
7413
  await Promise.all([
7341
- this.setUserAgent(device.userAgent),
7414
+ this.setUserAgent({ userAgent: device.userAgent }),
7342
7415
  this.setViewport(device.viewport)
7343
7416
  ]);
7344
7417
  }
@@ -8233,7 +8306,7 @@
8233
8306
  }
8234
8307
  return value;
8235
8308
  };
8236
- var __disposeResources4 = /* @__PURE__ */ function(SuppressedError3) {
8309
+ var __disposeResources4 = /* @__PURE__ */ (function(SuppressedError3) {
8237
8310
  return function(env) {
8238
8311
  function fail(e) {
8239
8312
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -8260,7 +8333,7 @@
8260
8333
  }
8261
8334
  return next();
8262
8335
  };
8263
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8336
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8264
8337
  var e = new Error(message);
8265
8338
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
8266
8339
  });
@@ -8403,7 +8476,7 @@
8403
8476
  }
8404
8477
  return value;
8405
8478
  };
8406
- var __disposeResources5 = /* @__PURE__ */ function(SuppressedError3) {
8479
+ var __disposeResources5 = /* @__PURE__ */ (function(SuppressedError3) {
8407
8480
  return function(env) {
8408
8481
  function fail(e) {
8409
8482
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -8430,7 +8503,7 @@
8430
8503
  }
8431
8504
  return next();
8432
8505
  };
8433
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8506
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
8434
8507
  var e = new Error(message);
8435
8508
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
8436
8509
  });
@@ -8831,7 +8904,7 @@
8831
8904
  */
8832
8905
  _rawSend(callbacks, method, params, sessionId, options) {
8833
8906
  if (this.#closed) {
8834
- return Promise.reject(new Error("Protocol error: Connection closed."));
8907
+ return Promise.reject(new ConnectionClosedError("Connection closed."));
8835
8908
  }
8836
8909
  return callbacks.create(method, options?.timeout ?? this.#timeout, (id) => {
8837
8910
  const stringifiedMessage = JSON.stringify({
@@ -9803,10 +9876,39 @@
9803
9876
  init_dirname();
9804
9877
  init_buffer2();
9805
9878
 
9806
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/AriaQueryHandler.js
9879
+ // node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js
9807
9880
  init_dirname();
9808
9881
  init_buffer2();
9809
9882
 
9883
+ // node_modules/puppeteer-core/lib/esm/puppeteer/util/AsyncIterableUtil.js
9884
+ init_dirname();
9885
+ init_buffer2();
9886
+ var AsyncIterableUtil = class {
9887
+ static async *map(iterable, map2) {
9888
+ for await (const value of iterable) {
9889
+ yield await map2(value);
9890
+ }
9891
+ }
9892
+ static async *flatMap(iterable, map2) {
9893
+ for await (const value of iterable) {
9894
+ yield* map2(value);
9895
+ }
9896
+ }
9897
+ static async collect(iterable) {
9898
+ const result = [];
9899
+ for await (const value of iterable) {
9900
+ result.push(value);
9901
+ }
9902
+ return result;
9903
+ }
9904
+ static async first(iterable) {
9905
+ for await (const value of iterable) {
9906
+ return value;
9907
+ }
9908
+ return;
9909
+ }
9910
+ };
9911
+
9810
9912
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js
9811
9913
  init_dirname();
9812
9914
  init_buffer2();
@@ -9834,7 +9936,7 @@
9834
9936
  try {
9835
9937
  new Function(`(${value})`);
9836
9938
  } catch (err) {
9837
- if (err.message.includes(`Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive`)) {
9939
+ if (err.message.includes(`Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive`) || err.message.includes("Evaluating a string as JavaScript violates the following Content Security Policy")) {
9838
9940
  return value;
9839
9941
  }
9840
9942
  let prefix = "function ";
@@ -9895,7 +9997,7 @@
9895
9997
  }
9896
9998
  return value;
9897
9999
  };
9898
- var __disposeResources6 = /* @__PURE__ */ function(SuppressedError3) {
10000
+ var __disposeResources6 = /* @__PURE__ */ (function(SuppressedError3) {
9899
10001
  return function(env) {
9900
10002
  function fail(e) {
9901
10003
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -9922,7 +10024,7 @@
9922
10024
  }
9923
10025
  return next();
9924
10026
  };
9925
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10027
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
9926
10028
  var e = new Error(message);
9927
10029
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
9928
10030
  });
@@ -9977,9 +10079,9 @@
9977
10079
  const env_3 = { stack: [], error: void 0, hasError: false };
9978
10080
  try {
9979
10081
  const generatorHandle = __addDisposableResource6(env_3, await handle.evaluateHandle((iterable) => {
9980
- return async function* () {
10082
+ return (async function* () {
9981
10083
  yield* iterable;
9982
- }();
10084
+ })();
9983
10085
  }), false);
9984
10086
  yield* transposeIteratorHandle(generatorHandle);
9985
10087
  } catch (e_3) {
@@ -10034,7 +10136,7 @@
10034
10136
  }
10035
10137
  return value;
10036
10138
  };
10037
- var __disposeResources7 = /* @__PURE__ */ function(SuppressedError3) {
10139
+ var __disposeResources7 = /* @__PURE__ */ (function(SuppressedError3) {
10038
10140
  return function(env) {
10039
10141
  function fail(e) {
10040
10142
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -10061,7 +10163,7 @@
10061
10163
  }
10062
10164
  return next();
10063
10165
  };
10064
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10166
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10065
10167
  var e = new Error(message);
10066
10168
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
10067
10169
  });
@@ -10202,8 +10304,9 @@
10202
10304
  if (error.name === "AbortError") {
10203
10305
  throw error;
10204
10306
  }
10205
- error.message = `Waiting for selector \`${selector}\` failed: ${error.message}`;
10206
- throw error;
10307
+ const waitForSelectorError = new (error instanceof TimeoutError ? TimeoutError : Error)(`Waiting for selector \`${selector}\` failed`);
10308
+ waitForSelectorError.cause = error;
10309
+ throw waitForSelectorError;
10207
10310
  }
10208
10311
  } catch (e_4) {
10209
10312
  env_3.error = e_4;
@@ -10214,36 +10317,7 @@
10214
10317
  }
10215
10318
  };
10216
10319
 
10217
- // node_modules/puppeteer-core/lib/esm/puppeteer/util/AsyncIterableUtil.js
10218
- init_dirname();
10219
- init_buffer2();
10220
- var AsyncIterableUtil = class {
10221
- static async *map(iterable, map2) {
10222
- for await (const value of iterable) {
10223
- yield await map2(value);
10224
- }
10225
- }
10226
- static async *flatMap(iterable, map2) {
10227
- for await (const value of iterable) {
10228
- yield* map2(value);
10229
- }
10230
- }
10231
- static async collect(iterable) {
10232
- const result = [];
10233
- for await (const value of iterable) {
10234
- result.push(value);
10235
- }
10236
- return result;
10237
- }
10238
- static async first(iterable) {
10239
- for await (const value of iterable) {
10240
- return value;
10241
- }
10242
- return;
10243
- }
10244
- };
10245
-
10246
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/AriaQueryHandler.js
10320
+ // node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js
10247
10321
  var isKnownAttribute = (attribute) => {
10248
10322
  return ["name", "role"].includes(attribute);
10249
10323
  };
@@ -10299,7 +10373,7 @@
10299
10373
  // node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js
10300
10374
  init_dirname();
10301
10375
  init_buffer2();
10302
- var source = '"use strict";var g=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},J=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of B(e))!Y.call(t,n)&&n!==r&&g(t,n,{get:()=>e[n],enumerable:!(o=X(e,n))||o.enumerable});return t};var z=t=>J(g({},"__esModule",{value:!0}),t);var pe={};l(pe,{default:()=>he});module.exports=z(pe);var N=class extends Error{constructor(e,r){super(e,r),this.name=this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},p=class extends N{};var c=class t{static create(e){return new t(e)}static async race(e){let r=new Set;try{let o=e.map(n=>n instanceof t?(n.#n&&r.add(n),n.valueOrThrow()):n);return await Promise.race(o)}finally{for(let o of r)o.reject(new Error("Timeout cleared"))}}#e=!1;#r=!1;#o;#t;#a=new Promise(e=>{this.#t=e});#n;#i;constructor(e){e&&e.timeout>0&&(this.#i=new p(e.message),this.#n=setTimeout(()=>{this.reject(this.#i)},e.timeout))}#l(e){clearTimeout(this.#n),this.#o=e,this.#t()}resolve(e){this.#r||this.#e||(this.#e=!0,this.#l(e))}reject(e){this.#r||this.#e||(this.#r=!0,this.#l(e))}resolved(){return this.#e}finished(){return this.#e||this.#r}value(){return this.#o}#s;valueOrThrow(){return this.#s||(this.#s=(async()=>{if(await this.#a,this.#r)throw this.#o;return this.#o})()),this.#s}};var L=new Map,F=t=>{let e=L.get(t);return e||(e=new Function(`return ${t}`)(),L.set(t,e),e)};var x={};l(x,{ariaQuerySelector:()=>G,ariaQuerySelectorAll:()=>b});var G=(t,e)=>globalThis.__ariaQuerySelector(t,e),b=async function*(t,e){yield*await globalThis.__ariaQuerySelectorAll(t,e)};var E={};l(E,{cssQuerySelector:()=>K,cssQuerySelectorAll:()=>Z});var K=(t,e)=>t.querySelector(e),Z=function(t,e){return t.querySelectorAll(e)};var A={};l(A,{customQuerySelectors:()=>P});var v=class{#e=new Map;register(e,r){if(!r.queryOne&&r.queryAll){let o=r.queryAll;r.queryOne=(n,i)=>{for(let s of o(n,i))return s;return null}}else if(r.queryOne&&!r.queryAll){let o=r.queryOne;r.queryAll=(n,i)=>{let s=o(n,i);return s?[s]:[]}}else if(!r.queryOne||!r.queryAll)throw new Error("At least one query method must be defined.");this.#e.set(e,{querySelector:r.queryOne,querySelectorAll:r.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},P=new v;var R={};l(R,{pierceQuerySelector:()=>ee,pierceQuerySelectorAll:()=>te});var ee=(t,e)=>{let r=null,o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&!r&&s.matches(e)&&(r=s)}while(!r&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r},te=(t,e)=>{let r=[],o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&s.matches(e)&&r.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r};var u=(t,e)=>{if(!t)throw new Error(e)};var y=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=new MutationObserver(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())}),this.#o.observe(this.#r,{childList:!0,subtree:!0,attributes:!0})}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(this.#o.disconnect(),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}},w=class{#e;#r;constructor(e){this.#e=e}async start(){let e=this.#r=c.create(),r=await this.#e();if(r){e.resolve(r);return}let o=async()=>{if(e.finished())return;let n=await this.#e();if(!n){window.requestAnimationFrame(o);return}e.resolve(n),await this.stop()};window.requestAnimationFrame(o)}async stop(){u(this.#r,"Polling never started."),this.#r.finished()||this.#r.reject(new Error("Polling stopped"))}result(){return u(this.#r,"Polling never started."),this.#r.valueOrThrow()}},S=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=setInterval(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())},this.#r)}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(clearInterval(this.#o),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}};var _={};l(_,{PCombinator:()=>H,pQuerySelector:()=>fe,pQuerySelectorAll:()=>$});var a=class{static async*map(e,r){for await(let o of e)yield await r(o)}static async*flatMap(e,r){for await(let o of e)yield*r(o)}static async collect(e){let r=[];for await(let o of e)r.push(o);return r}static async first(e){for await(let r of e)return r}};var C={};l(C,{textQuerySelectorAll:()=>m});var re=new Set(["checkbox","image","radio"]),oe=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!re.has(t.type),ne=new Set(["SCRIPT","STYLE"]),f=t=>!ne.has(t.nodeName)&&!document.head?.contains(t),I=new WeakMap,j=t=>{for(;t;)I.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},W=new WeakSet,se=new MutationObserver(t=>{for(let e of t)j(e.target)}),d=t=>{let e=I.get(t);if(e||(e={full:"",immediate:[]},!f(t)))return e;let r="";if(oe(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener("input",o=>{j(o.target)},{once:!0,capture:!0});else{for(let o=t.firstChild;o;o=o.nextSibling){if(o.nodeType===Node.TEXT_NODE){e.full+=o.nodeValue??"",r+=o.nodeValue??"";continue}r&&e.immediate.push(r),r="",o.nodeType===Node.ELEMENT_NODE&&(e.full+=d(o).full)}r&&e.immediate.push(r),t instanceof Element&&t.shadowRoot&&(e.full+=d(t.shadowRoot).full),W.has(t)||(se.observe(t,{childList:!0,characterData:!0,subtree:!0}),W.add(t))}return I.set(t,e),e};var m=function*(t,e){let r=!1;for(let o of t.childNodes)if(o instanceof Element&&f(o)){let n;o.shadowRoot?n=m(o.shadowRoot,e):n=m(o,e);for(let i of n)yield i,r=!0}r||t instanceof Element&&f(t)&&d(t).full.includes(e)&&(yield t)};var k={};l(k,{checkVisibility:()=>le,pierce:()=>T,pierceAll:()=>O});var ie=["hidden","collapse"],le=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let r=t.nodeType===Node.TEXT_NODE?t.parentElement:t,o=window.getComputedStyle(r),n=o&&!ie.includes(o.visibility)&&!ae(r);return e===n?t:!1};function ae(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var ce=t=>"shadowRoot"in t&&t.shadowRoot instanceof ShadowRoot;function*T(t){ce(t)?yield t.shadowRoot:yield t}function*O(t){t=T(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let r of e){let o;for(;o=r.nextNode();)o.shadowRoot&&(yield o.shadowRoot,e.push(document.createTreeWalker(o.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var Q={};l(Q,{xpathQuerySelectorAll:()=>q});var q=function*(t,e,r=-1){let n=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),i=[],s;for(;(s=n.iterateNext())&&(i.push(s),!(r&&i.length===r)););for(let h=0;h<i.length;h++)s=i[h],yield s,delete i[h]};var ue=/[-\\w\\P{ASCII}*]/u,H=(r=>(r.Descendent=">>>",r.Child=">>>>",r))(H||{}),V=t=>"querySelectorAll"in t,M=class{#e;#r=[];#o=void 0;elements;constructor(e,r){this.elements=[e],this.#e=r,this.#t()}async run(){if(typeof this.#o=="string")switch(this.#o.trimStart()){case":scope":this.#t();break}for(;this.#o!==void 0;this.#t()){let e=this.#o;typeof e=="string"?e[0]&&ue.test(e[0])?this.elements=a.flatMap(this.elements,async function*(r){V(r)&&(yield*r.querySelectorAll(e))}):this.elements=a.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!V(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let n of r.parentElement.children)if(++o,n===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=a.flatMap(this.elements,async function*(r){switch(e.name){case"text":yield*m(r,e.value);break;case"xpath":yield*q(r,e.value);break;case"aria":yield*b(r,e.value);break;default:let o=P.get(e.name);if(!o)throw new Error(`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#t(){if(this.#r.length!==0){this.#o=this.#r.shift();return}if(this.#e.length===0){this.#o=void 0;return}let e=this.#e.shift();switch(e){case">>>>":{this.elements=a.flatMap(this.elements,T),this.#t();break}case">>>":{this.elements=a.flatMap(this.elements,O),this.#t();break}default:this.#r=e,this.#t();break}}},D=class{#e=new WeakMap;calculate(e,r=[]){if(e===null)return r;e instanceof ShadowRoot&&(e=e.host);let o=this.#e.get(e);if(o)return[...o,...r];let n=0;for(let s=e.previousSibling;s;s=s.previousSibling)++n;let i=this.calculate(e.parentNode,[n]);return this.#e.set(e,i),[...i,...r]}},U=(t,e)=>{if(t.length+e.length===0)return 0;let[r=-1,...o]=t,[n=-1,...i]=e;return r===n?U(o,i):r<n?-1:1},de=async function*(t){let e=new Set;for await(let o of t)e.add(o);let r=new D;yield*[...e.values()].map(o=>[o,r.calculate(o)]).sort(([,o],[,n])=>U(o,n)).map(([o])=>o)},$=function(t,e){let r=JSON.parse(e);if(r.some(o=>{let n=0;return o.some(i=>(typeof i=="string"?++n:n=0,n>1))}))throw new Error("Multiple deep combinators found in sequence.");return de(a.flatMap(r,o=>{let n=new M(t,o);return n.run(),n.elements}))},fe=async function(t,e){for await(let r of $(t,e))return r;return null};var me=Object.freeze({...x,...A,...R,..._,...C,...k,...Q,...E,Deferred:c,createFunction:F,createTextContent:d,IntervalPoller:S,isSuitableNodeForTextMatching:f,MutationPoller:y,RAFPoller:w}),he=me;\n';
10376
+ var source = '"use strict";var g=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},Y=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of B(e))!J.call(t,n)&&n!==r&&g(t,n,{get:()=>e[n],enumerable:!(o=X(e,n))||o.enumerable});return t};var z=t=>Y(g({},"__esModule",{value:!0}),t);var pe={};l(pe,{default:()=>he});module.exports=z(pe);var N=class extends Error{constructor(e,r){super(e,r),this.name=this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},p=class extends N{};var c=class t{static create(e){return new t(e)}static async race(e){let r=new Set;try{let o=e.map(n=>n instanceof t?(n.#n&&r.add(n),n.valueOrThrow()):n);return await Promise.race(o)}finally{for(let o of r)o.reject(new Error("Timeout cleared"))}}#e=!1;#r=!1;#o;#t;#a=new Promise(e=>{this.#t=e});#n;#i;constructor(e){e&&e.timeout>0&&(this.#i=new p(e.message),this.#n=setTimeout(()=>{this.reject(this.#i)},e.timeout))}#l(e){clearTimeout(this.#n),this.#o=e,this.#t()}resolve(e){this.#r||this.#e||(this.#e=!0,this.#l(e))}reject(e){this.#r||this.#e||(this.#r=!0,this.#l(e))}resolved(){return this.#e}finished(){return this.#e||this.#r}value(){return this.#o}#s;valueOrThrow(){return this.#s||(this.#s=(async()=>{if(await this.#a,this.#r)throw this.#o;return this.#o})()),this.#s}};var L=new Map,F=t=>{let e=L.get(t);return e||(e=new Function(`return ${t}`)(),L.set(t,e),e)};var b={};l(b,{ariaQuerySelector:()=>G,ariaQuerySelectorAll:()=>x});var G=(t,e)=>globalThis.__ariaQuerySelector(t,e),x=async function*(t,e){yield*await globalThis.__ariaQuerySelectorAll(t,e)};var E={};l(E,{cssQuerySelector:()=>K,cssQuerySelectorAll:()=>Z});var K=(t,e)=>t.querySelector(e),Z=function(t,e){return t.querySelectorAll(e)};var A={};l(A,{customQuerySelectors:()=>P});var v=class{#e=new Map;register(e,r){if(!r.queryOne&&r.queryAll){let o=r.queryAll;r.queryOne=(n,i)=>{for(let s of o(n,i))return s;return null}}else if(r.queryOne&&!r.queryAll){let o=r.queryOne;r.queryAll=(n,i)=>{let s=o(n,i);return s?[s]:[]}}else if(!r.queryOne||!r.queryAll)throw new Error("At least one query method must be defined.");this.#e.set(e,{querySelector:r.queryOne,querySelectorAll:r.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},P=new v;var R={};l(R,{pierceQuerySelector:()=>ee,pierceQuerySelectorAll:()=>te});var ee=(t,e)=>{let r=null,o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&!r&&s.matches(e)&&(r=s)}while(!r&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r},te=(t,e)=>{let r=[],o=n=>{let i=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&o(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==n&&s.matches(e)&&r.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r};var u=(t,e)=>{if(!t)throw new Error(e)};var y=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=new MutationObserver(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())}),this.#o.observe(this.#r,{childList:!0,subtree:!0,attributes:!0})}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(this.#o.disconnect(),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}},w=class{#e;#r;constructor(e){this.#e=e}async start(){let e=this.#r=c.create(),r=await this.#e();if(r){e.resolve(r);return}let o=async()=>{if(e.finished())return;let n=await this.#e();if(!n){window.requestAnimationFrame(o);return}e.resolve(n),await this.stop()};window.requestAnimationFrame(o)}async stop(){u(this.#r,"Polling never started."),this.#r.finished()||this.#r.reject(new Error("Polling stopped"))}result(){return u(this.#r,"Polling never started."),this.#r.valueOrThrow()}},S=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=setInterval(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())},this.#r)}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(clearInterval(this.#o),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}};var _={};l(_,{PCombinator:()=>H,pQuerySelector:()=>fe,pQuerySelectorAll:()=>$});var a=class{static async*map(e,r){for await(let o of e)yield await r(o)}static async*flatMap(e,r){for await(let o of e)yield*r(o)}static async collect(e){let r=[];for await(let o of e)r.push(o);return r}static async first(e){for await(let r of e)return r}};var C={};l(C,{textQuerySelectorAll:()=>m});var re=new Set(["checkbox","image","radio"]),oe=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!re.has(t.type),ne=new Set(["SCRIPT","STYLE"]),f=t=>!ne.has(t.nodeName)&&!document.head?.contains(t),I=new WeakMap,W=t=>{for(;t;)I.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},j=new WeakSet,se=new MutationObserver(t=>{for(let e of t)W(e.target)}),d=t=>{let e=I.get(t);if(e||(e={full:"",immediate:[]},!f(t)))return e;let r="";if(oe(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener("input",o=>{W(o.target)},{once:!0,capture:!0});else{for(let o=t.firstChild;o;o=o.nextSibling){if(o.nodeType===Node.TEXT_NODE){e.full+=o.nodeValue??"",r+=o.nodeValue??"";continue}r&&e.immediate.push(r),r="",o.nodeType===Node.ELEMENT_NODE&&(e.full+=d(o).full)}r&&e.immediate.push(r),t instanceof Element&&t.shadowRoot&&(e.full+=d(t.shadowRoot).full),j.has(t)||(se.observe(t,{childList:!0,characterData:!0,subtree:!0}),j.add(t))}return I.set(t,e),e};var m=function*(t,e){let r=!1;for(let o of t.childNodes)if(o instanceof Element&&f(o)){let n;o.shadowRoot?n=m(o.shadowRoot,e):n=m(o,e);for(let i of n)yield i,r=!0}r||t instanceof Element&&f(t)&&d(t).full.includes(e)&&(yield t)};var k={};l(k,{checkVisibility:()=>le,pierce:()=>T,pierceAll:()=>O});var ie=["hidden","collapse"],le=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let r=t.nodeType===Node.TEXT_NODE?t.parentElement:t,o=window.getComputedStyle(r),n=o&&!ie.includes(o.visibility)&&!ae(r);return e===n?t:!1};function ae(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var ce=t=>"shadowRoot"in t&&t.shadowRoot instanceof ShadowRoot;function*T(t){ce(t)?yield t.shadowRoot:yield t}function*O(t){t=T(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let r of e){let o;for(;o=r.nextNode();)o.shadowRoot&&(yield o.shadowRoot,e.push(document.createTreeWalker(o.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var Q={};l(Q,{xpathQuerySelectorAll:()=>q});var q=function*(t,e,r=-1){let n=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),i=[],s;for(;(s=n.iterateNext())&&(i.push(s),!(r&&i.length===r)););for(let h=0;h<i.length;h++)s=i[h],yield s,delete i[h]};var ue=/[-\\w\\P{ASCII}*]/u,H=(r=>(r.Descendent=">>>",r.Child=">>>>",r))(H||{}),V=t=>"querySelectorAll"in t,M=class{#e;#r=[];#o=void 0;elements;constructor(e,r){this.elements=[e],this.#e=r,this.#t()}async run(){if(typeof this.#o=="string")switch(this.#o.trimStart()){case":scope":this.#t();break}for(;this.#o!==void 0;this.#t()){let e=this.#o;typeof e=="string"?e[0]&&ue.test(e[0])?this.elements=a.flatMap(this.elements,async function*(r){V(r)&&(yield*r.querySelectorAll(e))}):this.elements=a.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!V(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let n of r.parentElement.children)if(++o,n===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=a.flatMap(this.elements,async function*(r){switch(e.name){case"text":yield*m(r,e.value);break;case"xpath":yield*q(r,e.value);break;case"aria":yield*x(r,e.value);break;default:let o=P.get(e.name);if(!o)throw new Error(`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#t(){if(this.#r.length!==0){this.#o=this.#r.shift();return}if(this.#e.length===0){this.#o=void 0;return}let e=this.#e.shift();switch(e){case">>>>":{this.elements=a.flatMap(this.elements,T),this.#t();break}case">>>":{this.elements=a.flatMap(this.elements,O),this.#t();break}default:this.#r=e,this.#t();break}}},D=class{#e=new WeakMap;calculate(e,r=[]){if(e===null)return r;e instanceof ShadowRoot&&(e=e.host);let o=this.#e.get(e);if(o)return[...o,...r];let n=0;for(let s=e.previousSibling;s;s=s.previousSibling)++n;let i=this.calculate(e.parentNode,[n]);return this.#e.set(e,i),[...i,...r]}},U=(t,e)=>{if(t.length+e.length===0)return 0;let[r=-1,...o]=t,[n=-1,...i]=e;return r===n?U(o,i):r<n?-1:1},de=async function*(t){let e=new Set;for await(let o of t)e.add(o);let r=new D;yield*[...e.values()].map(o=>[o,r.calculate(o)]).sort(([,o],[,n])=>U(o,n)).map(([o])=>o)},$=function(t,e){let r=JSON.parse(e);if(r.some(o=>{let n=0;return o.some(i=>(typeof i=="string"?++n:n=0,n>1))}))throw new Error("Multiple deep combinators found in sequence.");return de(a.flatMap(r,o=>{let n=new M(t,o);return n.run(),n.elements}))},fe=async function(t,e){for await(let r of $(t,e))return r;return null};var me=Object.freeze({...b,...A,...R,..._,...C,...k,...Q,...E,Deferred:c,createFunction:F,createTextContent:d,IntervalPoller:S,isSuitableNodeForTextMatching:f,MutationPoller:y,RAFPoller:w}),he=me;\n';
10303
10377
 
10304
10378
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js
10305
10379
  var ScriptInjector = class {
@@ -10861,7 +10935,7 @@
10861
10935
  }
10862
10936
  return value;
10863
10937
  };
10864
- var __disposeResources8 = /* @__PURE__ */ function(SuppressedError3) {
10938
+ var __disposeResources8 = /* @__PURE__ */ (function(SuppressedError3) {
10865
10939
  return function(env) {
10866
10940
  function fail(e) {
10867
10941
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -10888,7 +10962,7 @@
10888
10962
  }
10889
10963
  return next();
10890
10964
  };
10891
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10965
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
10892
10966
  var e = new Error(message);
10893
10967
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
10894
10968
  });
@@ -11073,11 +11147,11 @@
11073
11147
  /**
11074
11148
  * @internal
11075
11149
  */
11076
- locator(selectorOrFunc) {
11077
- if (typeof selectorOrFunc === "string") {
11078
- return NodeLocator.create(this, selectorOrFunc);
11150
+ locator(input) {
11151
+ if (typeof input === "string") {
11152
+ return NodeLocator.create(this, input);
11079
11153
  } else {
11080
- return FunctionLocator.create(this, selectorOrFunc);
11154
+ return FunctionLocator.create(this, input);
11081
11155
  }
11082
11156
  }
11083
11157
  /**
@@ -11887,7 +11961,7 @@
11887
11961
  }
11888
11962
  return value;
11889
11963
  };
11890
- var __disposeResources9 = /* @__PURE__ */ function(SuppressedError3) {
11964
+ var __disposeResources9 = /* @__PURE__ */ (function(SuppressedError3) {
11891
11965
  return function(env) {
11892
11966
  function fail(e) {
11893
11967
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -11914,7 +11988,7 @@
11914
11988
  }
11915
11989
  return next();
11916
11990
  };
11917
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
11991
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
11918
11992
  var e = new Error(message);
11919
11993
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
11920
11994
  });
@@ -11992,6 +12066,7 @@
11992
12066
  let _screenshot_decorators;
11993
12067
  let _isIntersectingViewport_decorators;
11994
12068
  let _scrollIntoView_decorators;
12069
+ let _asLocator_decorators;
11995
12070
  return class ElementHandle2 extends _classSuper {
11996
12071
  static {
11997
12072
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
@@ -12026,6 +12101,7 @@
12026
12101
  _screenshot_decorators = [throwIfDisposed(), bindIsolatedHandle];
12027
12102
  _isIntersectingViewport_decorators = [throwIfDisposed(), bindIsolatedHandle];
12028
12103
  _scrollIntoView_decorators = [throwIfDisposed(), bindIsolatedHandle];
12104
+ _asLocator_decorators = [throwIfDisposed()];
12029
12105
  __esDecorate5(this, null, _getProperty_decorators, { kind: "method", name: "getProperty", static: false, private: false, access: { has: (obj) => "getProperty" in obj, get: (obj) => obj.getProperty }, metadata: _metadata }, null, _instanceExtraInitializers);
12030
12106
  __esDecorate5(this, null, _getProperties_decorators, { kind: "method", name: "getProperties", static: false, private: false, access: { has: (obj) => "getProperties" in obj, get: (obj) => obj.getProperties }, metadata: _metadata }, null, _instanceExtraInitializers);
12031
12107
  __esDecorate5(this, null, _jsonValue_decorators, { kind: "method", name: "jsonValue", static: false, private: false, access: { has: (obj) => "jsonValue" in obj, get: (obj) => obj.jsonValue }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -12059,6 +12135,7 @@
12059
12135
  __esDecorate5(this, null, _screenshot_decorators, { kind: "method", name: "screenshot", static: false, private: false, access: { has: (obj) => "screenshot" in obj, get: (obj) => obj.screenshot }, metadata: _metadata }, null, _instanceExtraInitializers);
12060
12136
  __esDecorate5(this, null, _isIntersectingViewport_decorators, { kind: "method", name: "isIntersectingViewport", static: false, private: false, access: { has: (obj) => "isIntersectingViewport" in obj, get: (obj) => obj.isIntersectingViewport }, metadata: _metadata }, null, _instanceExtraInitializers);
12061
12137
  __esDecorate5(this, null, _scrollIntoView_decorators, { kind: "method", name: "scrollIntoView", static: false, private: false, access: { has: (obj) => "scrollIntoView" in obj, get: (obj) => obj.scrollIntoView }, metadata: _metadata }, null, _instanceExtraInitializers);
12138
+ __esDecorate5(this, null, _asLocator_decorators, { kind: "method", name: "asLocator", static: false, private: false, access: { has: (obj) => "asLocator" in obj, get: (obj) => obj.asLocator }, metadata: _metadata }, null, _instanceExtraInitializers);
12062
12139
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
12063
12140
  }
12064
12141
  /**
@@ -13093,6 +13170,14 @@
13093
13170
  });
13094
13171
  });
13095
13172
  }
13173
+ /**
13174
+ * Creates a locator based on an ElementHandle. This would not allow
13175
+ * refreshing the element handle if it is stale but it allows re-using other
13176
+ * locator pre-conditions.
13177
+ */
13178
+ asLocator() {
13179
+ return NodeLocator.createFromHandle(this.frame, this);
13180
+ }
13096
13181
  /**
13097
13182
  * Returns true if an element is an SVGElement (included svg, path, rect
13098
13183
  * etc.).
@@ -13560,7 +13645,7 @@
13560
13645
  }
13561
13646
  return value;
13562
13647
  };
13563
- var __disposeResources10 = /* @__PURE__ */ function(SuppressedError3) {
13648
+ var __disposeResources10 = /* @__PURE__ */ (function(SuppressedError3) {
13564
13649
  return function(env) {
13565
13650
  function fail(e) {
13566
13651
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -13587,17 +13672,17 @@
13587
13672
  }
13588
13673
  return next();
13589
13674
  };
13590
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
13675
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
13591
13676
  var e = new Error(message);
13592
13677
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
13593
13678
  });
13594
13679
  var ariaQuerySelectorBinding = new Binding("__ariaQuerySelector", ARIAQueryHandler.queryOne, "");
13595
- var ariaQuerySelectorAllBinding = new Binding("__ariaQuerySelectorAll", async (element, selector) => {
13680
+ var ariaQuerySelectorAllBinding = new Binding("__ariaQuerySelectorAll", (async (element, selector) => {
13596
13681
  const results = ARIAQueryHandler.queryAll(element, selector);
13597
13682
  return await element.realm.evaluateHandle((...elements) => {
13598
13683
  return elements;
13599
13684
  }, ...await AsyncIterableUtil.collect(results));
13600
- }, "");
13685
+ }), "");
13601
13686
  var ExecutionContext = class extends EventEmitter {
13602
13687
  #client;
13603
13688
  #world;
@@ -13981,7 +14066,7 @@ ${sourceUrlComment}
13981
14066
  }
13982
14067
  return value;
13983
14068
  };
13984
- var __disposeResources11 = /* @__PURE__ */ function(SuppressedError3) {
14069
+ var __disposeResources11 = /* @__PURE__ */ (function(SuppressedError3) {
13985
14070
  return function(env) {
13986
14071
  function fail(e) {
13987
14072
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -14008,7 +14093,7 @@ ${sourceUrlComment}
14008
14093
  }
14009
14094
  return next();
14010
14095
  };
14011
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
14096
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
14012
14097
  var e = new Error(message);
14013
14098
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
14014
14099
  });
@@ -14122,9 +14207,6 @@ ${sourceUrlComment}
14122
14207
  }
14123
14208
  const interestingNodes = /* @__PURE__ */ new Set();
14124
14209
  this.collectInterestingNodes(interestingNodes, defaultRoot, false);
14125
- if (!interestingNodes.has(needle)) {
14126
- return null;
14127
- }
14128
14210
  return this.serializeTree(needle, interestingNodes)[0] ?? null;
14129
14211
  }
14130
14212
  serializeTree(node, interestingNodes) {
@@ -14171,7 +14253,6 @@ ${sourceUrlComment}
14171
14253
  #name;
14172
14254
  #role;
14173
14255
  #ignored;
14174
- #cachedHasFocusableChild;
14175
14256
  #realm;
14176
14257
  constructor(realm, payload) {
14177
14258
  this.payload = payload;
@@ -14205,18 +14286,6 @@ ${sourceUrlComment}
14205
14286
  const role = this.#role;
14206
14287
  return role === "LineBreak" || role === "text" || role === "InlineTextBox" || role === "StaticText";
14207
14288
  }
14208
- #hasFocusableChild() {
14209
- if (this.#cachedHasFocusableChild === void 0) {
14210
- this.#cachedHasFocusableChild = false;
14211
- for (const child of this.children) {
14212
- if (child.#focusable || child.#hasFocusableChild()) {
14213
- this.#cachedHasFocusableChild = true;
14214
- break;
14215
- }
14216
- }
14217
- }
14218
- return this.#cachedHasFocusableChild;
14219
- }
14220
14289
  find(predicate) {
14221
14290
  if (predicate(this)) {
14222
14291
  return this;
@@ -14250,12 +14319,6 @@ ${sourceUrlComment}
14250
14319
  default:
14251
14320
  break;
14252
14321
  }
14253
- if (this.#hasFocusableChild()) {
14254
- return false;
14255
- }
14256
- if (this.#focusable && this.#name) {
14257
- return true;
14258
- }
14259
14322
  if (this.#role === "heading" && this.#name) {
14260
14323
  return true;
14261
14324
  }
@@ -14322,10 +14385,21 @@ ${sourceUrlComment}
14322
14385
  const node = {
14323
14386
  role: this.#role,
14324
14387
  elementHandle: async () => {
14325
- if (!this.payload.backendDOMNodeId) {
14326
- return null;
14388
+ const env_2 = { stack: [], error: void 0, hasError: false };
14389
+ try {
14390
+ if (!this.payload.backendDOMNodeId) {
14391
+ return null;
14392
+ }
14393
+ const handle = __addDisposableResource11(env_2, await this.#realm.adoptBackendNode(this.payload.backendDOMNodeId), false);
14394
+ return await handle.evaluateHandle((node2) => {
14395
+ return node2.nodeType === Node.TEXT_NODE ? node2.parentElement : node2;
14396
+ });
14397
+ } catch (e_2) {
14398
+ env_2.error = e_2;
14399
+ env_2.hasError = true;
14400
+ } finally {
14401
+ __disposeResources11(env_2);
14327
14402
  }
14328
- return await this.#realm.adoptBackendNode(this.payload.backendDOMNodeId);
14329
14403
  }
14330
14404
  };
14331
14405
  const userStringProperties = [
@@ -14459,6 +14533,7 @@ ${sourceUrlComment}
14459
14533
  #fn;
14460
14534
  #args;
14461
14535
  #timeout;
14536
+ #genericError = new Error("Waiting failed");
14462
14537
  #timeoutError;
14463
14538
  #result = Deferred.create();
14464
14539
  #poller;
@@ -14547,7 +14622,8 @@ ${sourceUrlComment}
14547
14622
  }
14548
14623
  const badError = this.getBadError(error);
14549
14624
  if (badError) {
14550
- await this.terminate(badError);
14625
+ this.#genericError.cause = badError;
14626
+ await this.terminate(this.#genericError);
14551
14627
  }
14552
14628
  }
14553
14629
  }
@@ -14810,6 +14886,7 @@ ${sourceUrlComment}
14810
14886
  #sameDocumentNavigationDeferred = Deferred.create();
14811
14887
  #lifecycleDeferred = Deferred.create();
14812
14888
  #newDocumentNavigationDeferred = Deferred.create();
14889
+ #error = new Error("LifecycleWatcher terminated");
14813
14890
  #hasSameDocumentNavigation;
14814
14891
  #swapped;
14815
14892
  #navigationResponseReceived;
@@ -14826,6 +14903,9 @@ ${sourceUrlComment}
14826
14903
  return protocolEvent;
14827
14904
  });
14828
14905
  signal?.addEventListener("abort", () => {
14906
+ if (signal.reason instanceof Error) {
14907
+ signal.reason.cause = this.#error;
14908
+ }
14829
14909
  this.#terminationDeferred.reject(signal.reason);
14830
14910
  });
14831
14911
  this.#frame = frame;
@@ -14873,7 +14953,8 @@ ${sourceUrlComment}
14873
14953
  }
14874
14954
  #onFrameDetached(frame) {
14875
14955
  if (this.#frame === frame) {
14876
- this.#terminationDeferred.resolve(new Error("Navigating frame was detached"));
14956
+ this.#error.message = "Navigating frame was detached";
14957
+ this.#terminationDeferred.resolve(this.#error);
14877
14958
  return;
14878
14959
  }
14879
14960
  this.#checkLifecycleComplete();
@@ -14935,7 +15016,8 @@ ${sourceUrlComment}
14935
15016
  }
14936
15017
  dispose() {
14937
15018
  this.#subscriptions.dispose();
14938
- this.#terminationDeferred.resolve(new Error("LifecycleWatcher disposed"));
15019
+ this.#error.cause = new Error("LifecycleWatcher disposed");
15020
+ this.#terminationDeferred.resolve(this.#error);
14939
15021
  }
14940
15022
  };
14941
15023
 
@@ -16264,11 +16346,12 @@ ${sourceUrlComment}
16264
16346
  #credentials = null;
16265
16347
  #attemptedAuthentications = /* @__PURE__ */ new Set();
16266
16348
  #userRequestInterceptionEnabled = false;
16267
- #protocolRequestInterceptionEnabled = false;
16349
+ #protocolRequestInterceptionEnabled;
16268
16350
  #userCacheDisabled;
16269
16351
  #emulatedNetworkConditions;
16270
16352
  #userAgent;
16271
16353
  #userAgentMetadata;
16354
+ #platform;
16272
16355
  #handlers = [
16273
16356
  ["Fetch.requestPaused", this.#onRequestPaused],
16274
16357
  ["Fetch.authRequired", this.#onAuthRequired],
@@ -16376,7 +16459,7 @@ ${sourceUrlComment}
16376
16459
  async emulateNetworkConditions(networkConditions) {
16377
16460
  if (!this.#emulatedNetworkConditions) {
16378
16461
  this.#emulatedNetworkConditions = {
16379
- offline: false,
16462
+ offline: networkConditions?.offline ?? false,
16380
16463
  upload: -1,
16381
16464
  download: -1,
16382
16465
  latency: 0
@@ -16385,6 +16468,7 @@ ${sourceUrlComment}
16385
16468
  this.#emulatedNetworkConditions.upload = networkConditions ? networkConditions.upload : -1;
16386
16469
  this.#emulatedNetworkConditions.download = networkConditions ? networkConditions.download : -1;
16387
16470
  this.#emulatedNetworkConditions.latency = networkConditions ? networkConditions.latency : 0;
16471
+ this.#emulatedNetworkConditions.offline = networkConditions?.offline ?? false;
16388
16472
  await this.#applyToAllClients(this.#applyNetworkConditions.bind(this));
16389
16473
  }
16390
16474
  async #applyToAllClients(fn) {
@@ -16410,9 +16494,10 @@ ${sourceUrlComment}
16410
16494
  throw error;
16411
16495
  }
16412
16496
  }
16413
- async setUserAgent(userAgent, userAgentMetadata) {
16497
+ async setUserAgent(userAgent, userAgentMetadata, platform) {
16414
16498
  this.#userAgent = userAgent;
16415
16499
  this.#userAgentMetadata = userAgentMetadata;
16500
+ this.#platform = platform;
16416
16501
  await this.#applyToAllClients(this.#applyUserAgent.bind(this));
16417
16502
  }
16418
16503
  async #applyUserAgent(client) {
@@ -16422,7 +16507,8 @@ ${sourceUrlComment}
16422
16507
  try {
16423
16508
  await client.send("Network.setUserAgentOverride", {
16424
16509
  userAgent: this.#userAgent,
16425
- userAgentMetadata: this.#userAgentMetadata
16510
+ userAgentMetadata: this.#userAgentMetadata,
16511
+ platform: this.#platform
16426
16512
  });
16427
16513
  } catch (error) {
16428
16514
  if (this.#canIgnoreError(error)) {
@@ -16445,6 +16531,9 @@ ${sourceUrlComment}
16445
16531
  await this.#applyToAllClients(this.#applyProtocolRequestInterception.bind(this));
16446
16532
  }
16447
16533
  async #applyProtocolRequestInterception(client) {
16534
+ if (this.#protocolRequestInterceptionEnabled === void 0) {
16535
+ return;
16536
+ }
16448
16537
  if (this.#userCacheDisabled === void 0) {
16449
16538
  this.#userCacheDisabled = false;
16450
16539
  }
@@ -18351,7 +18440,7 @@ ${sourceUrlComment}
18351
18440
  }
18352
18441
  return value;
18353
18442
  };
18354
- var __disposeResources12 = /* @__PURE__ */ function(SuppressedError3) {
18443
+ var __disposeResources12 = /* @__PURE__ */ (function(SuppressedError3) {
18355
18444
  return function(env) {
18356
18445
  function fail(e) {
18357
18446
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -18378,7 +18467,7 @@ ${sourceUrlComment}
18378
18467
  }
18379
18468
  return next();
18380
18469
  };
18381
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
18470
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
18382
18471
  var e = new Error(message);
18383
18472
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
18384
18473
  });
@@ -18585,6 +18674,14 @@ ${sourceUrlComment}
18585
18674
  }
18586
18675
  }
18587
18676
  }
18677
+ async resize(params) {
18678
+ const { windowId } = await this.#primaryTargetClient.send("Browser.getWindowForTarget");
18679
+ await this.#primaryTargetClient.send("Browser.setContentsSize", {
18680
+ windowId,
18681
+ width: params.contentWidth,
18682
+ height: params.contentHeight
18683
+ });
18684
+ }
18588
18685
  async #onFileChooser(event) {
18589
18686
  const env_1 = { stack: [], error: void 0, hasError: false };
18590
18687
  try {
@@ -18841,8 +18938,13 @@ ${sourceUrlComment}
18841
18938
  async setExtraHTTPHeaders(headers) {
18842
18939
  return await this.#frameManager.networkManager.setExtraHTTPHeaders(headers);
18843
18940
  }
18844
- async setUserAgent(userAgent, userAgentMetadata) {
18845
- return await this.#frameManager.networkManager.setUserAgent(userAgent, userAgentMetadata);
18941
+ async setUserAgent(userAgentOrOptions, userAgentMetadata) {
18942
+ if (typeof userAgentOrOptions === "string") {
18943
+ return await this.#frameManager.networkManager.setUserAgent(userAgentOrOptions, userAgentMetadata);
18944
+ } else {
18945
+ const userAgent = userAgentOrOptions.userAgent ?? await this.browser().userAgent();
18946
+ return await this.#frameManager.networkManager.setUserAgent(userAgent, userAgentOrOptions.userAgentMetadata, userAgentOrOptions.platform);
18947
+ }
18846
18948
  }
18847
18949
  async metrics() {
18848
18950
  const response = await this.#primaryTargetClient.send("Performance.getMetrics");
@@ -18950,7 +19052,7 @@ ${sourceUrlComment}
18950
19052
  const history = await this.#primaryTargetClient.send("Page.getNavigationHistory");
18951
19053
  const entry = history.entries[history.currentIndex + delta];
18952
19054
  if (!entry) {
18953
- return null;
19055
+ throw new Error("History entry to navigate to not found.");
18954
19056
  }
18955
19057
  const result = await Promise.all([
18956
19058
  this.waitForNavigation(options),
@@ -19093,7 +19195,7 @@ ${sourceUrlComment}
19093
19195
  try {
19094
19196
  const _guard = __addDisposableResource12(env_3, await this.browserContext().waitForScreenshotOperations(), false);
19095
19197
  const connection = this.#primaryTargetClient.connection();
19096
- assert(connection, "Protocol error: Connection closed. Most likely the page has been closed.");
19198
+ assert(connection, "Connection closed. Most likely the page has been closed.");
19097
19199
  const runBeforeUnload = !!options.runBeforeUnload;
19098
19200
  if (runBeforeUnload) {
19099
19201
  await this.#primaryTargetClient.send("Page.close");
@@ -19212,7 +19314,7 @@ ${sourceUrlComment}
19212
19314
  }
19213
19315
  return value;
19214
19316
  };
19215
- var __disposeResources13 = /* @__PURE__ */ function(SuppressedError3) {
19317
+ var __disposeResources13 = /* @__PURE__ */ (function(SuppressedError3) {
19216
19318
  return function(env) {
19217
19319
  function fail(e) {
19218
19320
  env.error = env.hasError ? new SuppressedError3(e, env.error, "An error was suppressed during disposal.") : e;
@@ -19239,7 +19341,7 @@ ${sourceUrlComment}
19239
19341
  }
19240
19342
  return next();
19241
19343
  };
19242
- }(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
19344
+ })(typeof SuppressedError === "function" ? SuppressedError : function(error, suppressed, message) {
19243
19345
  var e = new Error(message);
19244
19346
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
19245
19347
  });
@@ -20158,7 +20260,7 @@ puppeteer-core/lib/esm/puppeteer/common/Debug.js:
20158
20260
  puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js:
20159
20261
  puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js:
20160
20262
  puppeteer-core/lib/esm/puppeteer/common/FileChooser.js:
20161
- puppeteer-core/lib/esm/puppeteer/cdp/AriaQueryHandler.js:
20263
+ puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js:
20162
20264
  puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js:
20163
20265
  puppeteer-core/lib/esm/puppeteer/cdp/BrowserConnector.js:
20164
20266
  (**